fbpx
维基百科

系统调用

電腦中,系统调用(英語:system call),指運行在使用者空間程序操作系统内核請求需要更高權限運行的服務。系統調用提供用戶程序與操作系统之間的接口。大多數系統交互式操作需求在內核態執行。如设备IO操作或者进程间通信。

系统调用(system calls), Linux内核, GNU C函式庫(glibc).

用户空间(用户态)和内核空间(内核态) 编辑

操作系统的进程空间可分为用户空间内核空间,它们需要不同的执行权限。其中系统调用运行在内核空间

库函数 编辑

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

典型实现(Linux) 编辑

Linux 在x86上的系统调用通过 int 80h 实现,用系统调用号来区分入口函数。操作系统实现系统调用的基本过程是:

  1. 应用程序调用库函数(API);
  2. API 将系统调用号存入 EAX,然后通过中断调用使系统进入内核态;
  3. 内核中的中断处理函数根据系统调用号,调用对应的内核函数(系统调用);
  4. 系统调用完成相应功能,将返回值存入 EAX,返回到中断处理函数;
  5. 中断处理函数返回到 API 中;
  6. API 将 EAX 返回给应用程序。

应用程序调用系统调用的过程是:

  1. 把系统调用的编号存入 EAX;
  2. 把函数参数存入其它通用寄存器;
  3. 触发 0x80 号中断(int 0x80)。

系统调用, 此條目没有列出任何参考或来源, 2021年1月21日, 維基百科所有的內容都應該可供查證, 请协助補充可靠来源以改善这篇条目, 无法查证的內容可能會因為異議提出而被移除, 此為電腦用詞, 關於娛樂節目用詞参见, call, 在電腦中, 英語, system, call, 指運行在使用者空間的程序向操作系统内核請求需要更高權限運行的服務, 系統調用提供用戶程序與操作系统之間的接口, 大多數系統交互式操作需求在內核態執行, 如设备io操作或者进程间通信, system, calls, linux内核, c函. 此條目没有列出任何参考或来源 2021年1月21日 維基百科所有的內容都應該可供查證 请协助補充可靠来源以改善这篇条目 无法查证的內容可能會因為異議提出而被移除 此為電腦用詞 關於娛樂節目用詞参见 call in 在電腦中 系统调用 英語 system call 指運行在使用者空間的程序向操作系统内核請求需要更高權限運行的服務 系統調用提供用戶程序與操作系统之間的接口 大多數系統交互式操作需求在內核態執行 如设备IO操作或者进程间通信 系统调用 system calls Linux内核 GNU C函式庫 glibc 用户空间 用户态 和内核空间 内核态 编辑操作系统的进程空间可分为用户空间和内核空间 它们需要不同的执行权限 其中系统调用运行在内核空间 库函数 编辑系统调用和普通库函数调用非常相似 只是系统调用由操作系统内核提供 运行于内核核心态 而普通的库函数调用由函数库或用户自己提供 运行于用户态 典型实现 Linux 编辑Linux 在x86上的系统调用通过 int 80h 实现 用系统调用号来区分入口函数 操作系统实现系统调用的基本过程是 应用程序调用库函数 API API 将系统调用号存入 EAX 然后通过中断调用使系统进入内核态 内核中的中断处理函数根据系统调用号 调用对应的内核函数 系统调用 系统调用完成相应功能 将返回值存入 EAX 返回到中断处理函数 中断处理函数返回到 API 中 API 将 EAX 返回给应用程序 应用程序调用系统调用的过程是 把系统调用的编号存入 EAX 把函数参数存入其它通用寄存器 触发 0x80 号中断 int 0x80 取自 https zh wikipedia org w index php title 系统调用 amp oldid 68949390, 维基百科,wiki,书籍,书籍,图书馆,

文章

,阅读,下载,免费,免费下载,mp3,视频,mp4,3gp, jpg,jpeg,gif,png,图片,音乐,歌曲,电影,书籍,游戏,游戏。