zoukankan      html  css  js  c++  java
  • Linux系统调用及用户编程接口(API)

    系统调用

    所谓系统调用是指操作系统提供给用户程序调用的一组“特殊”接口,用户程序能够通过这组“特殊”接口来获得操作系统内核提供的服务。比如用户能够通过进程控制相关的系统调用来创建进程、实现进程调度、进程管理等。

    为什么用户程序不能直接訪问系统内核提供的服务呢?这是因为在Linux中,为了更好地保护内核空间,将程序的执行空间分为内核空间和用户空间(也就是常称的内核态和用户态),它们分别执行在不同的级别上,在逻辑上是相互隔离的。

    因此。用户进程在通常情况下不同意訪问内核数据,也无法使用内核函数。它们仅仅能在用户空间操作用户数据。调用用户空间的函数。

    可是。在有些情况下,用户空间的进程须要获得一定的系统服务(调用内核空间程序),这时操作系统就必须利用系统提供给用户的“特殊接口”——系统调用规定用户进程进入内核空间的详细位置。进行系统调用时。程序执行空间须要从用户空间进入内核空间。处理完后再返回到用户空间。 
    前面讲到的系统调用并非直接与程序猿进行交互的。它不过一个通过软中断机制向内核提交请求,以获取内核服务的接口。

    在实际使用中程序猿调用的一般是用户编程接口——API

    系统命令相对API更高了一层,它实际上一个可运行程序,它的内部引用了用户编程接口(API)来实现对应的功能。



  • 相关阅读:
    从习总书记讲话学习表达
    Struts——(四)异常处理机制
    Struts框架——(三)动态ActionForm
    Struts框架——(二)Struts原理with登录实例
    Serializable接口和transient关键字
    转发(forward)和重定向(sendRedirect)
    Struts框架——(一)用Servlet + JSP演示Struts基本原理
    Cookie & Session
    Servlet
    SSH框架
  • 原文地址:https://www.cnblogs.com/blfbuaa/p/6781448.html
Copyright © 2011-2022 走看看