【Linux】冯诺依曼---操作系统
快速了解冯诺依曼体系、内存与CPU、操作系统(OS)、OS的作用、OS的管理方法
上期回顾【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知道
openEuler 是由开放原子开源基金会孵化的全场景开源操作系统项目,面向数字基础设施四大核心场景(服务器、云计算、边缘计算、嵌入式),全面支持 ARM、x86、RISC-V、loongArch、PowerPC、SW-64 等多样性计算架构
更多推荐





所有评论(0)