上期回顾【Linux】掌握权限从这开始

其他篇章【Linux专栏】

1. 冯诺依曼体系结构

我们所认识的计算机,都是由一个个的硬件在组成的

  • 输⼊单元: 包括键盘, ⿏标,扫描仪, 写板等
  • 中央处理器(CPU): 含有运算器和控制器等
  • 输出单元: 显⽰器,打印机等
    (说明:这里的输入、输出单元都是外设

在这里插入图片描述

关于冯诺依曼,必须强调⼏点:

  • 这里的存储器指的是内存
  • 不考虑缓存情况,这里的CPU能且只能对内存进⾏读写,不能访问外设(输⼊或输出设备)(数据层面)
  • 外设(输入或输出设备)要输⼊或者输出数据,也只能写入内存或者从内存中读取。
  • 一句话,所有设备都只能直接和内存打交道。

原因: 如果CPU直接和外设打交道,读取数据、处理数据的速度极慢,系统的性能就会很慢,而内存的存在就应当于是给CP搭建的临时工作台,内存的速度和CPU速度相近,从而大大提高效率

在这里插入图片描述

2. 操作系统(Operator System)- - - OS

任何计算机系统都包含⼀个基本的程序集合,称为操作系统(OS)。笼统的理解,操作系统包括:

  • 内核(进程管理,内存管理,⽂件管理,驱动管理)
  • 其他程序(例如函数库,shell程序等等)

2.1 OS的作用

操作系统是硬件与用户/软件之间的中间层,负责调度资源、提供环境、保证稳定安全

1.管理硬件

  • 统一管理 CPU、内存、硬盘、显卡、键盘鼠标等
  • 不让硬件冲突,不让某个设备独占资源
  • 屏蔽底层复杂细节,让软件不用关心具体硬件型号

2. 管理软件与进程

  • 给每个程序分配内存、CPU 时间
  • 防止程序互相干扰、崩溃互相影响
  • 实现多任务、多窗口同时运行

3. 提供用户接口

  • 给普通人:桌面、图标、鼠标点按操作
  • 给程序员:系统调用、API,方便写软件
  • 不用直接操作硬件指令,降低使用门槛

4. 文件与资源管理

  • 统一管理文件、目录、权限
  • 控制谁能读、谁能改,保证安全

在这里插入图片描述

2.2 设计OS的目的

  • 对下,与硬件交互,管理所有的软硬件资源 (CPU,内存,硬盘…)- - ->手段
  • 对上,为用户程序(应⽤程序)提供⼀个良好的执⾏环境- - - - - - ->目的

在这里插入图片描述

注:
1.访问操作系统,必须使用系统调用- - - 其实就是函数,只不过是系统提供的
2.我们的程序,只要你判断出他访问了硬件,那么他必须贯穿整个软硬件体系结构

2.3 如何理解"管理"?

举例 : 把计算机想象成一家公司

  • CPU = 员工
  • 内存 = 办公桌
  • 硬盘 = 档案室
  • 各种软件(QQ、浏览器…) = 来办事的客户
  • 外设(键盘、鼠标、打印机) = 工具、设备
  • 操作系统 = 总经理

总经理(OS)不亲自干活,但管所有事

2.4 系统调用和库函数

库函数必须通过系统调用接口才能找到OS,所以库函数和系统调用是上下层的关系,库函数是基于系统调用之上的二级开发!!

举例:打王者的时候,我想玩武则天这个英雄,但是我的号没有,我朋友的账号有,我要想玩这个英雄,我就得借我朋友的号,号是他的,是不是得他同意才行。

所以同理我们要想调用库函数让某些东西输出在屏幕上,就得先让OS知道

Logo

openEuler 是由开放原子开源基金会孵化的全场景开源操作系统项目,面向数字基础设施四大核心场景(服务器、云计算、边缘计算、嵌入式),全面支持 ARM、x86、RISC-V、loongArch、PowerPC、SW-64 等多样性计算架构

更多推荐