Unix和Windows系统调用


进程与操作系统的接口由系统调用提供。通常,系统调用以汇编语言指令的形式提供。它们也包含在汇编级程序员使用的手册中。

Unix系统调用

Unix中的系统调用用于文件系统控制、进程控制、进程间通信等。只有通过这些系统调用才能访问Unix内核。通常,系统调用类似于函数调用,唯一的区别是它们移除了用户进程的控制权。

目前Unix接口中大约有80个系统调用。一些重要系统调用的详细信息如下:

系统调用描述
access()检查调用进程是否具有访问所需文件的权限
chdir()chdir命令更改系统的当前目录
chmod()可以使用此命令更改文件的模式
chown()更改特定文件的拥有者
kill()此系统调用向一个或多个进程发送kill信号
link()使用link系统调用将新的文件名链接到现有文件。
open()打开一个文件以进行读取或写入操作
pause()pause调用挂起文件,直到发生特定信号。
stime()此系统调用设置正确的时间。
times()获取父进程和子进程的时间
alarm()alarm系统调用设置进程的闹钟
fork()使用此命令创建一个新进程
chroot()更改文件的根目录。
exit()exit系统调用用于退出进程。

Windows系统调用

Windows中的系统调用用于文件系统控制、进程控制、进程间通信、主内存管理、I/O设备处理、安全等。程序使用系统调用与Windows操作系统交互。由于系统调用是访问内核的唯一方式,因此所有需要资源的程序都必须使用系统调用。

一些重要的Windows系统调用的详细信息如下:

系统调用描述
CreateProcess()使用此命令创建一个新进程
ExitProcess()此系统调用用于退出进程。
CreateFile()使用此系统调用创建或打开文件。
ReadFile()使用此系统调用从文件读取数据。
WriteFile()使用此系统调用将数据写入文件。
CloseHandle()此系统调用关闭当前正在使用的文件。
SetTimer()此系统调用设置进程的闹钟或计时器
CreatePipe()使用此系统调用创建管道
SetFileSecurity()此系统调用设置特定进程的安全设置
SetConsoleMode()分别设置控制台的输入模式或输出模式的
输入缓冲区或输出屏幕缓冲区。
ReadConsole()从控制台输入缓冲区读取字符。
WriteConsole()将字符写入控制台输出缓冲区。

更新于:2020年6月22日

22K+ 浏览量

开启你的职业生涯

通过完成课程获得认证

开始学习
广告