简单理解操作系统结构

1.冯诺依曼体系理解

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

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

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

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

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

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

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

2. 操作系统 结构

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

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

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

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

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

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

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

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

相关推荐
学长毕设5 小时前
基于SpringBoot的实验室资产管理系统
java·spring boot·后端
HideF5 小时前
Linux
linux·服务器·网络
C^h5 小时前
c++ string
开发语言·c++
听风说ml5 小时前
socket编程 【C语言】
c语言·udp·tcp·socket编程
raindayinrain5 小时前
c++高性能--原子操作,无锁编程,操作顺序
开发语言·c++·性能优化
学逆向的5 小时前
C++ 合并命名空间
开发语言·c++·网络安全
Zhao-Jichao5 小时前
VS2026 打包 C++ 程序生成 EXE,借助 Installer Project 扩展工具
开发语言·c++
zzu123zsw6 小时前
从臃肿的模板调用到声明式契约:深入 UniHttp 动态代理与多渠道生命周期扩展
java·spring boot·microsoft·unihttp
学逆向的6 小时前
C 局部静态变量
c语言·开发语言·网络安全
小徐不徐说7 小时前
C++ 接口与插件设计:从工厂注册到 Qt 动态插件
数据库·c++·qt·系统架构·程序设计