当前位置: 首页 > news >正文

理解操作系统(Linux)

操作系统是一款对软硬件资源进行管理的软件!

操作系统为什么要对软硬件资源进行管理呢?

操作系统通过合理的管理软硬件资源的手段,为用户提供良好的(稳定的、高效的、安全的)执行环境。

操作系统是如何进行管理的呢?

那么首先就要来聊聊什么是管理,管理的本质是什么。

假设我们是一所大学的学生,在大学管理学生的无疑就是校长了,那么实际中校长能和学生见几次面呢?答案是非常少,所以校长是如何对学生进行管理的呢?校长通过对各学院的老师下达指令,老师对班长下达指令收集学生的各种信息,然后此时校长就掌握了全校学生的信息(姓名、性别、籍贯、学习成绩等等),然后校长通过对信息进行分析,做出决策,下达指令。

所以,管理的本质是对数据做决策!

计算机是人造的一个世界,计算机里的种种现象在人类社会中一定能够找到。操作系统亦是如此,操作系统也是对软硬件资源的相关数据做决策然后进行管理的!

具体是怎样的呢?

大学中的校长、老师、学生正好匹配上计算机中的操作系统、驱动程序、外设。

操作系统通过驱动程序获取外设数据,然后对外设进行管理。

操作系统收集外设的状态、输入、输出等信息,然后抽象成结构体,以某种数据结构存储,然后操作系统通过该结构查看外设的信息,然后对数据做出决策,进行管理。

操作系统是非常脆弱的,所以为了保护自己,操作系统不相信任何人,仅对外提供一些接口,让用户只能够使用这些接口。因为如果操作系统完全暴露给用户,那么用户中总有坏人会将操作系统给搞坏。

看下图就能够清晰的认识到操作系统的定位以及用户是如何执行程序、操作计算机的。

image-20221222220038356

用户任何想访问硬件的操作,都必须经过上图的流程。操作系统为了安全暴露给用户有限的接口,操作系统从这有限的接口获取到用户想进行的操作(非法驳回),然后操作系统调用相应的驱动程序,去操作硬件,并通过驱动获取的硬件返回的数据,再通过接口返回给用户想要的数据。

相关文章:

  • django logging的StreamHandler的一个小用法
  • IJCAI-2022 多级发射方法的脉冲神经网络
  • Spring中自定义事件监听
  • 工具(二):Nginx 扩展 OpenResty
  • css:隐藏input file标签并触发点击上传文件事件
  • EMQX Cloud 自定义函数实现多种 IoT 数据形式的灵活转化
  • 黑盒测试用例设计 - 场景法
  • 51单片机实训day2——创建Proteus工程以及Proteus基本控件的使用|单片机最小系统电路设计:电源配置 复位电路 晶振电路
  • 《Python多人游戏项目实战》第五节 断线重连
  • Oracle --- 序列
  • pdf文档页码怎么添加?分享这几个pdf加页码方法给你
  • Java 线程的六种状态及其简易转换
  • 【Python】用python将html转化为pdf
  • ddim原理及代码(Denoising diffusion implicit models)
  • 艾美捷脂质过氧化检测试剂盒参数说明和文献参考
  • Moonbeam Illuminate/22|各类圆桌讨论文字节选
  • MacOS系统安装Qt教程
  • day 8 模拟和高精度
  • Go语言常用条件判断空值逻辑
  • Kafka Producer Retries Idempotence 原理