操作系统总结一

2019-07-14 11:16发布

PCB是操作系统感知进程存在的唯一标志。 进程与PCB一一对应,所有PCB被操作系统放在内存的固定区域形成进程表。 进程表大小固定,这就是操作系统并发度,最多有多少个进程可以执行。



挂起与激活,挂起与阻塞: 当操作系统负载调节时,先将一部分就绪的进程挂起,将其状态信息放到磁盘上,激活时再拿回来。在调节,需要将一部分阻塞态的进程变成阻塞挂起,进一步减轻负载,在激活前等待的事件发生了,阻塞挂起的进程直接加入就绪挂起,有时可能出现让一个正在运行的进程刚好下cpu时直接送入就绪挂起的队列。
为什么要引入线程的概念? 打个比方:假如我是一个工匠,现在在做一个物件,这个是CPU操作,我可能会需要锤子,螺丝钉,螺丝刀,焊铁等,我有一个小副手,在我需要某样工具时,我会告诉他去工具箱里找然后走过来递给我,这个就是I/O操作,这样在I/O操作的过程中我无法进行CPU操作(因为工具或者材料没来),那现在可以让副手把我常用的锤子螺丝等工具材料先放在我手边的桌子上,这就是缓存区,这样我大部分时候不需要等待I/O操作这个过程,但还是有需要小副手去拿工具的时候,这样就引入了线程的概念——即在我需要某样特殊材料时,我给小副手说一句话告诉他我需要什么,然后我在正在做的物件(例如在物件某个接口处需要螺丝钉)上用粉笔画个记号,然后我继续去进行制作这个物件的其他工作(例如焊铁),等到小副手把螺丝钉送来,我找到之前做标记的机房把螺丝钉装上,在这个过程中,(因为存取文件和CPU处理是在不同系统资源上进行的),让CPU和磁盘同时工作谁也不要等待谁,就需要把进程分割出两个线程进行分别运行不同的操作