(操作系统)系统调用

  • 系统调用知识一般在操作系统编程或系统编程的课程中讨论;

0. 基本介绍

操作系统本质上是一个系统程序,即为别的程序提供服务的程序。操作系统是以系统调用(system call)的方式提供服务的。

  • 系统调用就是操作系统提供的应用程序接口(Application Programming Interface,API),
    • 用户程序即可通过调用这些 API 获得操作系统的服务;

例如,如果用户程序需要进行读磁盘内容的操作,在 C 程序代码中可使用如下的语句:

result = read(fd, buffer, nbytes);

该 read 函数是 C 语言提供的库函数,而这个库函数本身则是调用的操作系统的 read 系统调用。这里有两个 read:

  • 一个是 C 语言提供的 read 库函数;
  • 另一个是 read 系统调用,由操作系统提供;

    编译器在看到上述语句后,将 read 库函数扩展为 read 系统调用;

1. 分类

  • 进程控制类;
  • 文件管理类;
  • 设备管理类;
  • 内存管理类;
  • 信息维护类;
  • 通信类;

3. 系统调用的三个阶段

  • 参数准备阶段;

    在参数准备阶段,需要使用系统调用的程序将系统调用所需要的参数,上例中的 fd、buffer、nbytes,压入栈中,然后调用 read 库函数;

  • 系统调用识别阶段;

  • 系统调用执行阶段;
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

五道口纳什

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值