zoukankan      html  css  js  c++  java
  • (操作系统)系统调用

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

    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 库函数;

    • 系统调用识别阶段;

    • 系统调用执行阶段;
  • 相关阅读:
    rails学习笔记(6)
    流程图好工具推荐JUDE
    流程图好工具推荐JUDE
    rails学习笔记(5)
    [转载 js]JsDoc Toolkit:Javascript文档利器
    ruby学习笔记(7)
    end_form_tag 已经在rails2.x中去掉了
    [转载 js]JsDoc Toolkit:Javascript文档利器
    rails学习笔记(5)
    ios 防止按钮快速点击造成多次响应的避免方法。
  • 原文地址:https://www.cnblogs.com/mtcnn/p/9422062.html
Copyright © 2011-2022 走看看