简单理解操作系统结构

1.冯诺依曼体系理解

这个结构体系主要是用来描述 电脑硬件的之间的关系

输入设备 很明显就是 键盘 鼠标等把数据写入计算机的东西

存储器可以通俗理解为 内存 硬件不直接和软件打交道 而是和内存打交道

输出设备 有显示屏 打印机等一些设备 把数据给显示出来的

整一个体系体现木桶效应 运行速度取决于最短的那一个

比如这里 输入设备先把数据存入存储器里 当输出设备要用的时候就直接从内存里拿 即可 比输入设备与CPU再与输出设备的效率高的多 同时也不那么会拖CPU的后腿 达到相对好一点的传输速度

理解这个之后 我们知道路怎么修的 人就得怎么走 意思就是 硬件是这么安排的 那么也就在一定程度上决定了软件的运行方式

2. 操作系统 结构

普通人接触的一般都是 广义上的操作系统

那么为什么要有操作系统呢? 它的存在是为了 对上服务 客户 对下与硬件打交道

操作系统想要对硬件进行管理 首先要把硬件的信息描述出来 然后通过结构图体现出来 最后再进行 用数据结构组织起来 比如链表 因此最后就可以把对硬件的管理 转化为对数据结构的增删改查

从实际问题的管理 转化为对数据的管理 这个过程可以称之为数学建模

理解了操作系统对下的管理 再来;理解操作系统 对上的服务

很明显 用户有时候想对内存 进程 文件 驱动(与硬件有关的数据结构)进行管理

直接让用户访问系统文件肯定是不安全的 同时也是复杂的 所以为了让用户可以对硬件进行管理 或者是其他操作 这时候就出现了 系统调用这一说法 系统调用会提供函数接口来给用户 进行对下管理

此时 就衍生出来了 库函数 各种接口之类的东西 方便对普通人提供简单操作实现 对下实现管理

相关推荐
mister_guo1 小时前
Java线程池参数应该如何设置(ThreadPoolExecutor)
java
余额瞒着我当琳1 小时前
C++模板初阶与STL初探
android·java·c++
SomeB1oody1 小时前
【RustyML入门】2.9. MeanShift
开发语言·后端·机器学习·rust·教程
淡海水1 小时前
15-02-YooAsset面试篇-Unity架构设计与源码
java·unity·面试·c#·游戏引擎·yooasset
萧瑟其中~1 小时前
多线程锁详解:互斥锁·自旋锁·读写锁(CAS + futex 原理)
开发语言·c++
weixin_BYSJ19872 小时前
springboot酒店管理系统--附源码27436
java·spring boot·python·随机森林·贪心算法·eclipse·django
2401_894915532 小时前
GEO 源码部署如何实现精准地域分发?核心配置参数深度讲解
java·运维·服务器·后端·开源
Zguigo2 小时前
第25-26讲:计算机操作系统存储管理——分页机制、页表与快表(TLB)
linux·windows·笔记
初级代码游戏2 小时前
iOS开发 Swift 速记7:结构体和类
开发语言·ios·swift