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

     

  • 相关阅读:
    Centos7使用systemd 管理elasticsearch,创建elasticsearch服务
    nginx日志切割的2种方法
    sudo linux
    redis 重启不了
    类与对象
    用Python写一个小的购物车
    包的使用
    Python模块简介
    zookeeper & Dubbo
    迭代器 & 生成器
  • 原文地址:https://www.cnblogs.com/stellar/p/8391332.html
Copyright © 2011-2022 走看看