系统架构设计师(十二)——操作系统

操作系统,在系统架构师考试里,占比不会很多一般也就是前趋和存储地址、地址偏移几个方面。

但是我们还是从基础的开始说吧,也许通过这用方式,能够重新认识到一些不一样的世界。

操作系统

操作系统我们一般以资源管理的方式去理解,本质来说其实就是计算机资源管理和程序的执行控制。

计算机分软硬件,操作系统是最基本的系统软件,即管理软硬件资源,又进行控制程序(我怎么感觉又把上面的东东,说了一遍。)

操作系统分类

一般我们按照模式划分为:批处理操作系统、分时操作系统、实时操作系统、网络操作系统、分布式操作系统、嵌入式操作系统、微内核操作系统……

他提供计算机与人之间的一种接口,比如命令、菜单、窗口……,也为程序提供接口——API。

操作系统主要进行进程管理、存储管理、设备管理、文件管理、作业管理方面的工作。

进程管理

说到操作系统,第一印象就是和进程相关,比如经常看到的万能按键Ctrl+Alt+Del

系统架构设计师(十二)——操作系统

尤其是任务管理器中的进程管理,更是一个特点鲜明

1、资源共享,系统中的资源不是某一程序专用,而是共同使用,比如cpu、内存、磁盘、网络……。

2、并发/并行执行,如多处理器系统,在每一个处理器上运行的进程,时间是重叠的,但在单处理器上,进程只是交替运行,说白了就是插空。

结合资源共享,理解并不难,两者相辅相成。

刚刚提到了进程的交替运行,我们可以联想出,进程会有状态:

就绪状态、执行状态和阻塞状态。

就绪状态:万事俱备,只欠CPU,明白了吧?

执行状态:CPU给你,运行ing,但在处理器中只有一个进程能处于执行状态,多处理器就可以有多个。

阻塞状态:或者叫等待、睡眠,意思是一样的,需要的资源没有准备好,或者其他人已经在用了,我们要等,简单不。等的人多了,就要排队,就是阻塞队列。

当然这三个状态中,进程只能处于某一个状态。

那么当系统出现某些情况后,三种状态不能满足需要时,我们需要一种特殊状态——挂起状态,这种状态在很多系统中已经有了,那么引起挂起状态的原因一般为:

1、对换需求,当进程处于一种有别于阻塞的状态,也就是说,完事具备,你也不能就绪,还需要等待某些事件发生的时候,进程无法进入就绪队列,这个时候需要挂起;

2、用户请求,进程运行中,用户希望进程暂停,并保持当前静止状态,需要挂起;

3、父进程请求,同上,由父进程发起的,需要挂起;

4、负载调节,系统资源不够运行所有的进程,需要将某些低等级进程暂停,需要刮起;

5、系统需要,房主都让你暂停了,你还想啥啊,需要刮起。

看完后,是不是很悲催,谁都能挂起你,so,挂起有三个属性:

1、就绪能挂起,叫挂起就绪;阻塞能挂起,叫挂起阻塞,同时,挂起后,你不能被调度,只能等着解挂,也就是恢复

2、挂起阻塞的进程,阻塞条件和挂起条件没有关系,也就是说,完事具备,你,继续挂起,只是变为挂起就绪。

3、主动挂起,被自己、用户或系统挂起的,目的在于阻止运行的,只能用显示方式激活/恢复

说到这里,又TMD出现一个新的东东,进程互斥与同步进程互斥,互斥好理解,概念不说了,整体说一下就好,互斥就是资源竞争,同步是进程协作,

互斥,我要苹果,你也要苹果

同步,我拍一,你拍二,我拍三,你拍四

明白?

继续,刚刚提到了资源,有些资源一次只能被一个进程使用,我们叫他——临界资源,For example,一个板栗:打印机,程序中的某个数据……

并发执行中,可以共享资源,没错,但临界资源的访问,必须互斥,比如,你不想打印的时候,你的打印材料中出现另外一个人的东西,或者材料的正面是你的,反面是别人的。临界资源的那段程序也是一样。那么为此,需要一个专门的同步机制进行协调:

1、空闲让进,不解释,多直白

2、忙则等待,一样直白

3、有限等待,结合上面,不要傻等

4、让权等待,通过权值,决定谁进入,谁等待

ok,这一部分,我该觉,~~~~~~~~~~~~~~~~~真没什么用,能考上面呢???

下一部分学习前趋图等内容,这个是个考点,至少能作为考试题目出,不像上面讲的,叽里呱啦的半天,没毛关系。

明儿~见,也可能后儿,或者大后儿,不管了,反正有时间会见的


分享到:


相關文章: