什么是系统调用
系统调用是一种编程方式,计算机程序通过这种方式向执行它的操作系统内核请求服务。系统调用是程序与操作系统交互的一种方式。计算机程序在请求操作系统内核时进行系统调用。系统调用通过应用程序接口(API)向用户程序提供操作系统的服务。系统调用是进入内核系统的唯一入口点,并且在内核模式下执行。
系统调用提供的服务:
- 进程创建与管理
- 内存管理
- 文件访问、目录及文件系统管理
- 设备操作(输入/输出)
- 保护
- 网络连接
系统调用举例:
操作 | Windows | Unix |
进程控制 | CreateProcess() ExitProcess() WaitForSingleObject() | Fork() Exit() Wait() |
文件操作 | CreateFile() ReadFile() WriteFile() | Open() Read() Write() Close() |
设备管理 | SetConsoleMode() ReadConsole() WriteConsole() | Ioctl() Read() Write() |
信息维护 | GetCurrentProcessID() SetTimer() Sleep() | Getpid() Alarm() Sleep() |
通信 | CreatePipe() CreateFileMapping() MapViewOfFile() | Pipe() Shmget() Mmap() |
保护 | SetFileSecurity() InitializeSecurityDescriptor() SetSecurityDescriptorgroup() | Chmod() Umask() Chown() |