当前位置: 首页 > 编程笔记 >

Unix和Windows中的系统调用

魏泰
2023-03-14
本文向大家介绍Unix和Windows中的系统调用,包括了Unix和Windows中的系统调用的使用技巧和注意事项,需要的朋友参考一下

进程和操作系统之间的接口由系统调用提供。通常,系统调用可用作汇编语言说明。它们也包含在汇编级程序员使用的手册中。

Unix系统调用

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

当前,Unix接口中大约有80个系统调用。一些重要的细节如下:

系统调用 描述
访问() 这将检查调用进程是否有权访问所需文件
chdir() chdir命令更改系统的当前目录
chmod() 可以使用此命令更改文件的模式
chown() 这会更改特定文件的所有权
杀() 此系统调用将杀死信号发送到一个或多个进程
链接() 使用链接系统调用将新文件名链接到现有文件。
打开() 这将为读取或写入过程打开一个文件
暂停() 暂停调用会暂停文件,直到出现特定信号为止。
stime() 此系统调用设置正确的时间。
times() 获取父子进程时间
报警() 报警系统调用设置进程的闹钟
叉子() 使用此命令创建一个新进程
chroot() 这将更改文件的根目录。
出口() 退出系统调用用于退出进程。

Windows系统调用

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

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

系统调用 描述
CreateProcess() 使用此命令创建一个新进程
ExitProcess() 该系统调用用于退出进程。
CreateFile() 使用此系统调用创建或打开文件。
ReadFile() 使用此系统调用从文件中读取数据。
WriteFile() 使用此系统调用将数据写入文件。
CloseHandle() 该系统调用将关闭当前正在使用的文件。
SetTimer() 该系统调用设置警报或进程计时器
CreatePipe() 使用此系统调用创建管道
SetFileSecurity() 该系统调用为特定进程设置安全性
SetConsoleMode() 这将分别设置控制台的
 输入缓冲区或输出屏幕缓冲区的输入模式或输出模式。
ReadConsole() 这将从控制台输入缓冲区读取字符。
WriteConsole() 这会将字符写入控制台输出缓冲区。
 类似资料:
  • 问题内容: 最近,我在* NIX操作系统中使用了很多汇编语言。我想知道Windows域。 Linux中的调用约定: 而已。这就是我们应该如何在Linux中进行系统调用。 linux中所有系统调用的参考: 关于哪个$ SYS_Call_NUM和哪个参数,我们可以使用此引用:http ://docs.cs.up.ac.za/programming/asm/derick_tut/syscalls.htm

  • 问题内容: 我想要在Linux和Windows上构建的相同Makefile。我在Linux上使用默认的 GNU make, 在Windows上使用 mingw32-make (也为 GNU make )。 我希望Makefile能够检测它是否在Windows或Linux上运行。 例如,Windows上的命令如下所示: 但是在Linux上: 另外,我想在Windows()和Linux()上使用不同的

  • 本文向大家介绍在i386和x86-64上UNIX和Linux系统调用的调用约定是什么,包括了在i386和x86-64上UNIX和Linux系统调用的调用约定是什么的使用技巧和注意事项,需要的朋友参考一下 系统调用是应用程序和Linux内核之间的基本接口。当Unix / Linux程序执行文件I / O,网络数据传输或调用某个与低级指令直接或间接交互的进程时,就会涉及系统调用。进行这些调用通常涉及使

  • 问题内容: 有人可以指出UNIX系统与UNIX系统之间的区别是什么。根据python文档中的定义: 返回路径的最后修改时间。返回值是一个数字,给出自纪元以来的秒数(请参见时间模块)。如果文件不存在或不可访问,请引发os.error。 返回系统的ctime,在某些系统(如Unix)上,它是最后一次更改的时间,而在其他系统(如Windows)上,它是路径的创建时间。返回值是一个数字,给出自纪元以来的秒

  • 我最近看到了以下帖子: 内存分配器的级别不低于malloc。(默认分配器通常直接或间接调用malloc) 分配器只允许您指定不同的分配策略。例如,您可以使用一个分配器,它调用malloc一次来检索一个大内存池,然后对于后续的分配请求,它只返回这个内存池的一小部分。 或者,您可以将其用作钩子,允许您在每次分配或释放内存时执行一些额外的任务。 关于你的第二个问题,malloc是您可以在不失去可移植性的

  • Linux 操作系统是UNIX 操作系统的一个克隆版本。UNIX 操作系统是美国贝尔实验室的Ken.Thompson和Dennis Ritchie 于1969 年夏在DEC PDP-7 小型计算机上开发的一个分时操作系统。当时Ken Thompson 为了能在闲置不用的PDP-7 计算机上运行他非常喜欢的星际旅行(Space travel)游戏,在1969 年夏天乘他夫人回家乡加利福尼亚渡假期间,