操作系统——进程深度理解

目录

一、操作系统

1、概念

2、操作系统的结构

3、操作系统的理解

二、进程


一、操作系统

1、概念

操作系统是一个软件,一款进行软硬件资源管理的软件
电脑开机的时间,就是把操作系统加载到内存并运行的过程。

对操作系统广义的认识:内核+外壳周边程序
侠义的认识:仅仅内核

2、操作系统的结构

操作系统四大核心工作:进程管理、内存管理、文件系统、驱动管理

驱动管理:

因为操作系统要管理硬件,这就需要二者匹配
如果不匹配,要么改操作系统,要么改硬件
这就很蛋疼
因此,在硬件和操作系统之间有设计了一层驱动层
作用是给操作系统提供硬件对应的通信接口,以匹配硬件与操作系统
一个硬件对应一个通信接口,而驱动程序是由厂商自定义提供的

每当新的硬件设备连接到计算机,都需要安装驱动程序,否则操作系统就无法对该硬件进行管理
例如我们每一次插入一个U盘,都会显示如下,这就是驱动程序的安装

所以,为什么要有操作系统?
对软硬件进行管理(手段),为用户提供一个良好(安全、稳定、高效)的运行环境(目的)
如果没有操作系统,就需要用户自己去底层管理软硬件的资源调配,那是不现实的。

3、操作系统的理解

我们下面从管理的角度进行理解

一个管理者是如何管理被管理者的?
例如校长对学生是如何管理的?
本质是对学生的数据进行管理的
因此,重要的是拿到数据。

任何管理:先描述,再组织
对任何对象的管理都遵循先描述,再组织的原则
例如我们写c++程序,一般第一步做的就是定义类,这其实就是描述对象
然后再对该对象进行相应的功能管理完善,即组织

依这个原则,我们就可以理解操作系统是如何对硬件进行管理:
当识别到一个新的硬件设备时,
先描述基本属性,例如说一个驱动类型的结构体
每一个设备都是一个结构体对象,但是各个设备的属性各异,数据也就各异
如厂商、类型、状态等。
而管理的本质是对数据的管理。
这样,我们就获取了各个硬件的结构体对象
之后,我们就可以使用合适的数据结构,例如数组、链表、二叉树等
对各个硬件的结构体对象进行组织管理
操作系统本质是一个软件,是用编程语言写的
所以,操作系统内部对硬件的管理,就变成了对硬件创建对应的结构体对象的管理
这个过程实际上也就是面向对象的过程
这就是先描述,再组织
大体的思路过程是这样的:
把特定对象的管理,编程特定数据的增删查改
至于具体的如何实现,我们不需要关心
因此,我们也可以预测:
操作系统内部将会存在大量的结构体
同时,操作系统大部分的工作,就是对这部分结构的组织和管理。

用户不能绕过操作系统这一层,直接访问底层硬件
因为,用户对底层的访问可能会改变底层数据
这样就会影响操作系统的对底层硬件的管理,有安全隐患
甚至可能导致操作系统的运行崩溃
这类似于用户和银行的关系
银行对用户是一个黑箱子的状态,对用户开放的,只有一个银行窗口
因为银行不可能对用户开放。

总结

因此,我们对整个操作系统的架构进行总结如下:
1、硬件底层不能对用户开放,但是用户使用计算机必然要使用到底层
怎么办?
因此,操作系统必须对用户提供系统调用接口

2、但是,我用户不懂什么操作系统,更不懂什么接口,我只懂双击666,那里亮了点那里。
怎么办?
因此,操作系统再系统调用的基础上,还需要对上提供专门针对用户的接口

因此,总的操作系统的整体构架如下:


二、进程

  • 19
    点赞
  • 12
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

二十5画生

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值