操作系统之系统调用

529 阅读1分钟

系统调用(system call)

操作系统的主要功能是为管理硬件资源和为应用程序开发人员提供良好的环境来使应用程序具有更好的兼容性。

在现代操作系统里,运行着许多的进程,系统资源可能被多个进程所访问,如果不加以保护,那么应用程序之间可能产生冲突,对于恶意的应用程序甚至导致系统崩溃。

因此,基于安全考虑,我们让操作系统来管理各种资源,而不让用户自行操作,那如果用户想用这些资源怎么做呢?那就得通过系统调用。

即,系统调用提供用户程序与操作系统之间的接口。

用户想要访问资源时,得通过系统调用,然后进行内核,才能访问相应的资源,这些系统调用都是已经预定义好的程序,可以很方便的让用户程序使用。

这与普通库函数有啥区别?

系统调用和普通库函数调用非常相似,只是系统调用由操作系统内核提供,运行于内核核心态,而普通的库函数调用由函数库或用户自己提供,运行于用户态。