系统调用

Posted shengulong

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了系统调用相关的知识,希望对你有一定的参考价值。

  1. 计算机系统的各种硬件资源是有限的,在现代多任务操作系统上同时运行的多个进程都需要访问这些资源,进程是不允许直接操作这些资源的,所有对这些资源的访问都必须有操作系统控制。也就是说操作系统是使用这些资源的唯一入口,而这个入口就是操作系统提供的系统调用(System Call)。在linux中系统调用是用户空间访问内核的唯一手段。
  2. 一般情况下程序猿通过API,而不是直接通过系统调用来编程。在Unix世界,最流行的API是基于POSIX标准的。
  3. 操作系统一般是通过中断从用户态切换到内核态。中断就是一个硬件或软件请求,要求CPU暂停当前的工作,去处理更重要的事情。比如,在x86机器上可以通过int指令进行软件中断,而在磁盘完成读写操作后会向CPU发起硬件中断。

  4. linux内核中设置了一组用于实现系统功能的子程序,称为系统调用。系统调用和普通库函数调用非常相似,只是系统调用由操作系统核心提供,运行于内核态,而普通的函数调用由函数库或用户自己提供,运行于用户态

内核Linux系统调用的列表

  1. 进程控制
  2. 文件系统控制
  3. 系统控制
  4. 内存管理
  5. 网络管理
  6. socket控制
  7. 用户管理
  8. 进程间通信

来源:https://blog.csdn.net/gatieme/article/details/50779184

以上是关于系统调用的主要内容,如果未能解决你的问题,请参考以下文章

Linux 内核进程管理 ( 系统调用简介 | 进程相关系统调用源码 )

系统调用的理解

系统调用与函数调用

深入理解系统调用

深入理解系统调用

深入理解系统调用