zoukankan      html  css  js  c++  java
  • UNIX体系架构

    unix体系架构

    内核态(内核)
    内核从本质上看是一种软件——控制计算机的硬件资源,并提供上层应用程序运行的环境

    用户态(用户空间)
    上层应用程序的活动空间,依托内核提供的资源,包括CPU资源、存储资源、I/O资源等
    为了使上层应用能够访问到这些资源,内核必须为上层应用提供访问的接口:即系统调用。

    系统调用:是操作系统的最小功能单位

    库函数:对系统调用的封装,将简单的业务逻辑接口呈现给用户,方便用户调用

    Shell:通常充当着一种“胶水”的角色,来连接各个小功能程序

    打个比方:系统调用比作“笔画”,库函数比作“偏旁”,上层应用比作“汉字”


    特权
    为了减少有限资源的访问和使用冲突,Unix/Linux的设计哲学之一就是:
    对不同的操作赋予不同的执行等级,就是所谓特权的概念
    Intel的X86架构的CPU提供了0到3四个特权级,Linux操作系统中主要采用了0和3两个特权级,分别对应的就是内核态和用户态

    从用户态切换到内核态:
    malloc(),调用的是sbrk()系统调用来分配内存,当malloc调用sbrk()的时候就涉及一次从用户态到内核态的切换,
    printf(),调用的是wirte()系统调用来输出字符串

    https://www.cnblogs.com/bakari/p/5520860.html

     

  • 相关阅读:
    Shell脚本sed命令
    Shell脚本常用unix命令
    Shell的case语句
    3.5.2 数值之间的转换
    3.5.1 数学函数与常量
    3.5 运算符
    3.4.2 常量
    3.4.1 变量初始化
    3.4 变量
    Python异常捕捉的一个小问题
  • 原文地址:https://www.cnblogs.com/stellar/p/8391332.html
Copyright © 2011-2022 走看看