3-1 进程概念 process

1.顺序执行

①顺序环境计算机只有一个程序在运行,改程序独占系统中所有资源,其执行不收外界影响。

②顺序执行的特征:

顺序性:按程序结构所指定的次序

封闭性:独占系统资源

可再现性:初始条件相同则结果相同

2.并发环境

①一定时间内物理机器上有两个或两个以上的程序同处于开始运行但尚未结束的状态,且次序不是事先确定的。

②并发执行的特征:

间断性:一个程序可能走到中途停下来,失去原有的时序关系。

失去封闭性:共享资源,受其他程序的控制逻辑的影响。

失去可再现性:外界环境在程序的两次执行期间发生变化,失去原有的可重复性。

3.进程概念

为描述程序在并发执行时对系统资源的共享,描述程序执行时动态特征,提出进程的概念。

关于进程的其他理解和说明:

①process – a program in execution 在执行中的程序

②一个具有一定独立功能的程序在一个数据集上的一次动态执行过程。

②程序是被动静态的实体,进程是动态的实体。

③引入多进程,提高了对硬件资源的李永利,但又带来了额外的空间和时间开销,增加了OS的复杂性。

4.一个进程包括:

①program code 程序代码

②current activity 当前活动

③related data 相关数据  如:

stack 栈 存储临时数据、函数参数、返回地址、局部变量

heap 堆  存储动态内存

data section 存储数据段 如全局变量

5.进程和程序

①进程是动态的,程序是静态的。

②进程是暂时的,程序是永久的。

③进程和程序的组成不同。

④对应关系:多次执行,一个程序可以对于多个进程;通过调用关系,一个进程可包含多个程序。

6.进程的特征

①结构特征:进程实体=程序段+相关数据段+PCB。

②动态性:进程实质是进程实体的动态执行过程(基本特征)。

③并发性:多个进程实体同时存在于内存中,且能在一段时间内同时运行(最主要特征)。

④独立性:进程实体能独立运行,独立分配资源和独立接受调度的基本单元。

⑤异步性:进程按各自独立的不可预知的速度向前推进。

7.进程意味着:

①处于某一种状态(运行、就绪、等待)

②进程控制卡PCB(数据结构)

③进程的执行程序(一个可执行文件)

④进程位于某个队列(就绪、等待某事件队列)

⑤占用某些系统资源(内存,打开某些文件,处理机,外设)

3-2 进程状态

1.进程的各种状态:

新建new:创建进程

就绪ready:进程等待分配处理器

运行running:指令在执行

等待 waiting:进程等待某些事件发生

终止terminated:执行完毕:

2.进程状态变迁

①创建状态(新new)

OS已完成创建一进程所必要的工作,已构造了进程标记符,创建了管理进程所需的表格,但还没有允许执行进程,因为资源有限。

②就绪状态(ready)

存在于处理机调度队列中的那些进程,已准备就绪,一旦得到CPU就可以了运行(多个进程处于此状态)

③运行状态(running)

得到CPU控制权,程序正在运行(系统中总只有一个处于此状态)

④等待状态(waiting)

进程正的等待某个事件的发生(如等待I/O的完成)二暂停执行。即使给它CPU时间也无法执行。

⑤终止状态(terminated)

不再具有执行资格,表格和其他信息暂由辅助程序保留,当数据不再需要时,进程被删除。

总结:进程的状态不是固定不变的,而是在不断变化。

3-3  进程控制块PCB

1.进程控制块(process control block)

①一个专门的数据结构,系统用它来记录进程的外部特征,描述进程的运动变化过程。

②PCB是进程管理和控制的最主要的数据结构。创建进程时,建立PCB,并伴随进程的全过程,随进程的撤销而撤销。

③PCB是相同感知进程存在的唯一标志,与进程一一对应。

④PCB经常被系统访问(如内存调度、资源分配程序、中断处理程序),PCB应常驻内存。

2.PCB保存与进程有关的信息

①保存的信息:进程状态、程序计数器、CPU寄存器、CPU调度信息(CPU优先级、调度队列指针)、内存管理信息、记账信息、I/O状态信息、通信信息。

②进程标识符:每个进程必有一个唯一标识符 字符串或者数字 UNIX中是整型

③进程状态:说明进程当前所处的状态。

④程序计数器:指向执行程序的下个指令的地址。

⑤CPU现场保护区:当进程因为某种原因不能继续占用CPU时,释放CPU,这时就要将CPU的各种状态信息保护器,为将来再次得到处理恢复CPU的各种状态,继续运行。

3.PCB的组织方式

①PCB表:把PCB组织在一起,放在内存的固定区域,构成PCB表。

②PCB表的个数决定了系统中最多可同时存在的进程个数,成为系统的并发度。

③PCB表的组织方式:链接方式、索引方式

3-4 调度

1.进程调度队列

①作业队列 在系统中所有进程的集合

②就绪队列 在主内存中就绪并等待执行的所有行程的结合

③设备队列 等待某一I/O设备的进程队列

2.进程调度的描述

3.调度类型

①长程调度 long-term schedule(job schedule)

选择可以进入就绪队列的进程(把作业调入内存),特点是不快,seconds,minutes

②短程调度(CPU调度) short-term schedule(CPU schedule)

选择可被下一个执行并分配CPU的进程,特点是切换频率高,milliseconds

③长调度控制了多道程序的“道”。

④中程调度:为了缓和内存进展的情况,将内存中处于阻塞状态的进程换至外存上(挂起),降低多道程序的度。当这些程序重新具备运行条件时,再从外存上调入内存。

4.进程可用以下方式描述

I/O型进程,花费I/O时间多余计算,许多短CPU处理

CPU型进程,花费更多时间于计算,许多长CPU处理

5.进程间CPU的切换

6.上下文切换 context switch

①当CPU切换至另一个进程时,系统必须保存旧程序状态,并为新进程调入所保留的状态。

②上下文切换的时间开销较重,在切换时,系统没有做有用的工作。

③切换的时间取决于硬件的支持。

本文知识以及图片来源:慕课_操作系统原理_田丽华

网址:https://www.icourse163.org/learn/XJTU-1003409001?tid=1206408203#/learn/content

操作系统原理学习(第三周_上)_进程相关推荐

  1. 操作系统原理学习笔记(二十一)-对换

    文章首发及后续更新:https://mwhls.top/1350.html 新的更新内容请到mwhls.top查看. 无图/无目录/格式错误/更多相关请到上方的文章首发页面查看. 操作系统原理学习笔记 ...

  2. 操作系统原理学习笔记(文件与I/O)

    学习视频 随看随记 成组链接法 文件管理 文件系统 文件的基本概念 文件的属性 文件名:由创建文件的用户决定文件名,主要是为了方便用户找到文件,同一目录下不允许有重名文件. 标识符:一个系统内的各文件 ...

  3. 操作系统原理学习笔记(基础概念与进程)

    学习视频 王道的操作系统原理,我在网上搜了一下,没有那个视频像湖科大那种推荐的人那么多,感觉这个还可以,就看这个了. 随看随记 进程运行前需要将需要执行的程序放置到内存中,内存再到CPU中执行程序. ...

  4. 花滑三周连跳_花滑女单短节目惊现三周半跳 称就像做梦一样

    新华社上海3月26日电(记者刘阳朱翃)18岁的俄罗斯小姑娘图克塔米舍娃"人小志大",26日在上海花样滑冰世锦赛女单短节目中漂亮地完成了罕见的阿克塞尔三周跳,成为继日本名将浅田真央后 ...

  5. 花滑三周连跳_阿克塞尔三周PK四周跳 花滑女单正式进入新纪元

    体坛+通讯员舍予报道 2019年花滑世锦赛比赛可谓是女单盛世,最后两组选手都超水平发挥,共有七位选手自由滑得分超过140分,除了奥运冠军扎吉托娃一骑绝尘,第二名到第五名相差不到两分. 各国选手都拿出最 ...

  6. Java学习---第三周周报

    第三周周报 收获 1.正则表达式的进阶应用-计算器 通过再次对正则表达式的学习,记住了各个符号的应用,通过下题的展示,得到了一种思路,可以用于设计计算器,在计算器的设计中,让用户输入一连串的数字包括运 ...

  7. 花滑三周连跳_【多图】【花滑小知识】如何区分六种跳跃(又名:ET的三周跳小教室)...

    花样滑冰单人滑的比赛中,最为重要的技术动作就是跳跃:在双人滑的比赛中,连跳和单跳也是不可或缺的部分. 区分这六种跳跃,是看懂比赛分数的基础之一. 以下各种跳跃的区分方式都是默认选手是一个逆时针跳跃的选 ...

  8. 花滑三周连跳_花滑未来能有人做五周跳吗 专家:四周半或是极限

    陈巍资料图 上周,当Mirai Nagasu在冬奥会的赛场上成功完成阿克塞尔三周的动作时,观众都为之疯狂,她成为美国历史上第一位实现空中翻转三周半的女子花滑选手. 与此同时,男子花滑选手也掌握了四周跳 ...

  9. 花滑三周连跳_三周半+四周跳来势汹汹 花滑女单将迎难度巨变?

    体坛+记者宫珂报道 在过去的两个赛季中,"四周跳大战"一直是贯穿花样滑冰男单赛场的主旋律,相比之下,女单赛场的技术突破却迟迟未能到来.即使强如保持近两个赛季不败的梅德韦杰娃和首战奥 ...

最新文章

  1. Gartner:企业架构开始更加紧密地向业务看齐
  2. C++知识点杂记2——类成员指针、嵌套类和union
  3. 【Linux】一步一步学Linux——killall命令(125)
  4. LVS(MASTER---NAT)
  5. datax mysql replace_DataX-MySQL(读写)
  6. ROS实现两台计算机之间的网络通信
  7. Python算术运算符目录
  8. java在线编辑word_java web实现在线编辑word,并将word导出(一)
  9. CSDN学霸课表——来,这有一份PS入门速效大法
  10. 银联手机POS,支付黑科技
  11. python画图代码太阳花七行代码_写代码并不枯燥“用Python几行代码教你画出太阳花”...
  12. 网络安全应急响应有哪些相关知识?
  13. git clone时提示,git remote: HTTP Basic: Access denied 错误
  14. 2 周期为2pi的函数展开为傅里叶级数
  15. 乡村爱情故事8 下载地址
  16. 因误删文件导致CentOS7开机卡死无法进入图形登录界面
  17. 《试题与研究》杂志是什么级别期刊?能评职称吗?知网收录吗?试题与研究杂志社试题与研究编辑部
  18. HTML--文本基础标签
  19. 《动手学深度学习》学习笔记(一)
  20. node的下载及安装

热门文章

  1. 网上拍卖系统 /竞拍系统/在线拍卖系统
  2. 闪验联通定制版SDK iOS集成文档
  3. vue调用手机浏览器打开pdf_vue插件开发之使用pdf.js实现手机端在线预览pdf文档的方法...
  4. NodeJS深度探秘:通过爬虫用例展示callback hell的处理方法以及高并发编程的几个有效模式
  5. 将多个文件的Sheet按名称提取,每个作为一个Sheet合并到一个Excel,以文件名作为Sheet名
  6. Echatrs实现 人口普查代码
  7. 使用C#进行skyline二次开发入门
  8. ORCID iD有什么意义?
  9. 第二讲(一):网络布线与进制转换
  10. uniapp:request 请求出现400错误