ICode9

精准搜索请尝试: 精确搜索
首页 > 其他分享> 文章详细

计算机操作系统秋招学习第一轮(三)

2022-08-15 01:33:25  阅读:149  来源: 互联网

标签:第一轮 操作系统 状态 阻塞 进程 秋招 CPU 运行


主要参考书籍:《CSAPP》、《图解操作系统》、《MOS现代操作系统》

本篇着重学习线程与进程

进程

小林coding对进程的解释:代码以二进制的文件形式存储到内存当中,CPU读取并执行其中的每一条指令,其中CPU正在运行的每一条指令就是进程

CSAPP中对进程的解释:进程的经典定义是一个执行中的程序实例 , 系统中每个程序都运行在进程的上下文(context)中。
上下文是指程序运行时的环境:包括存在内存中的代码和数据、它的栈、寄存器、环境变量、程序计数器等等。

MOS中对进程的解释:MOS对进程的由来和定义以及概念讲解得很详细。容易理解,但也导致难以记忆。进程是人类抽象出来的。它与程序有细微的区别。

用简单的公式去记忆进程: 代码(运行中)+ 上下文(环境) = 进程

进程模型

我们经常也把进程模型简称为进程。

比较底层的东西:进程的实现

这里应该拓展出来为操作系统中进程模型的实现

进程的特点(有什么状态)

在我们初步知道进程是什么之后(也许,毕竟概念真的很难记,而且这东西很抽象),我们需要进一步地知道进程在做些什么,他有什么样的特点。

在《MOS》中先提到了如何控制进程,然后才提到进程的状态
而在《图解系统》中则先提到进程的状态

因为进程是并发的<单核中>(不是并行)

进程的运作规律

运行 -- 暂停 -- 运行

进程三大基本状态

如果没有状态没法控制的,而且有一个物理原因(只有一个核,一个核同时只能跑一个进程 ),必须要切换才能完成多进程工作

运行态

运行态就是:该时刻进程实际占用CPU

就绪态

就绪态就是:进程所有条件都准备好,随时等待CPU可用就马上进入占用

阻塞态

阻塞态就是:因为某些条件还没准备好,等待外部事件发生使条件准备好。

状态的轮转关系

使用进程模型使得我们易于想象系统内部的操作状况。一些进程正在运行执行用户键入命令所对应的程序。另一些进程是系统的一部分,它们的任务是完成下列一些工作:比如,执行文件服务请求、管理磁盘驱动器和磁带机的运行细节等。当发生一个磁盘中断时,系统会做出决定,停止运行当前进程,转而运行磁盘进程,该进程在此之前因等待中断而处于阻塞态。这样,我们就可以不再考虑中断,而只是考虑用户进程、磁盘进程、终端进程等。这些进程在等待时总是处于阻塞状态。在已经读入磁盘或键入字符后,等待它们的进程就被解除阻塞,并成为可调度运行的进程。 ------------------

也许我们一直觉得操作系统深不可测,无法知道内部如何运转,但在理解了进程模型之后,一切变得明朗起来。

进程完整状态流转

事实上,进程还存在更加完整、完善的状态流转(补充了解)

创建状态
结束状态

完整状态变迁图:

其实图中也还不算完全完善,不过基本已经齐全(比如从运行态到就绪态还可能是被抢占) 这取决于操作系统的调度机制

挂起状态

起因:如果有大量的阻塞态的进程在等待,每个进程有自己的信息(占着系统的内存甚至是缓存),但内存终归是有限的,我们只能退而求其次,将进程的信息存到外存当中(外部存储--硬盘)。

这时,进程不占据实际的物理内存空间。 我们称之为挂起状态。

阻塞挂起状态
就绪挂起状态

好耶! 又有新图

进程的层次结构

我们都知道进程有着父子之类的亲密关系
但更进一步的是我们即便知道了,很多题目我们依然做不出来,因为不清楚细节

比如说:

父进程创建了子进程后,子进程是否拥有新的内存页表,会否引发CPU中断(记不太清那些题目了)...
可以专门收集一下。

习题:《现代操作系统》 第二章的全部习题
用A4纸写下答案 若有编程题便用编程实现并记录

可以结合第十章的LInux的进程一起学习

标签:第一轮,操作系统,状态,阻塞,进程,秋招,CPU,运行
来源: https://www.cnblogs.com/black-worrior-2000/p/16586847.html

本站声明: 1. iCode9 技术分享网(下文简称本站)提供的所有内容,仅供技术学习、探讨和分享;
2. 关于本站的所有留言、评论、转载及引用,纯属内容发起人的个人观点,与本站观点和立场无关;
3. 关于本站的所有言论和文字,纯属内容发起人的个人观点,与本站观点和立场无关;
4. 本站文章均是网友提供,不完全保证技术分享内容的完整性、准确性、时效性、风险性和版权归属;如您发现该文章侵犯了您的权益,可联系我们第一时间进行删除;
5. 本站为非盈利性的个人网站,所有内容不会用来进行牟利,也不会利用任何形式的广告来间接获益,纯粹是为了广大技术爱好者提供技术内容和技术思想的分享性交流网站。

专注分享技术,共同学习,共同进步。侵权联系[81616952@qq.com]

Copyright (C)ICode9.com, All Rights Reserved.

ICode9版权所有