操作系统半期复习第三章进程

进程是程序的一次运行活动,是系统资源分配和调度的单位。进程有新建、就绪、运行、阻塞和终止等状态。进程调度包括长程、中程和短程调度,用于管理进程在内存中的活动。进程间通信主要通过消息传递、共享内存和管道等方式实现。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

1.进程概念:

                【1】定义:进程是程序关于某一个数据集合上的一次运行活动。是系统进行资源分配和调度的独立单位。进程是正在运行的程序的抽象,将一个cpu虚拟为多个cpu。

                【2】进程和程序:

                                (1)进程在内存,是在内存中运行着的一个程序的实例,是程序的一次执行,是活动实体,有生有消,又短暂的生命周期;进程可以创建进程。

                                (2)程序在外存:是进程的代码部分,是静止实体,是相对长久的。

                【3】内存中的进程:两个可以和同一程序相关联,但是当做两个单独的执行序列。

/*每个都是单独进程,虽然文本段相同,但是数据,堆和堆栈段却不同*/

/*进程本身可以作为环境*/

                 【4】进程实体:由程序段、相关的数据段(用户相关)和进程控制块PCB(process control block)(寄存器和内核相关)三部分构成进程实体,也成为“进程映像”,PCB是进程存在的唯一标志。

!内核  !

                                (1)批处理os:作业

                                (2)分时os:用户程序或用户

                 【5】进程的基本状态:

                                (1)new:分配新的pid和pcb的新进程因为因为内存资源有限等原因,还未加载到内存中

                                (2)就绪(ready):已具备运行条件,等待分配处理器

                                (3)运行(running):进程正在执行。

                                (4)阻塞(waiting/blocked):因等待一件事情而暂时不能运行的状态

                                (5)terminated(中止):回收资源但保留一段时间pcb

                【6】上下文切换:进程运行时,其硬件状态保存在cpu的寄存器中,所以当处理器进行进程切换时将新进程的pcb调入送到相对应寄存器中,这称为上下文切换

                【6】进程的特点:

                                (1)并发性(统一时间间隔内,有同时推进多个的效果,实质上每一个时刻都只有一个在执行但却有同时执行多个的体验)

                                (2)动态性:进程是正在执行程序的实例,动态产生,动态消亡,在生命周期内,三种状态之间切换

                                (3)独立性:进程是资源分配和调度的一个独立单位

                                (4)交互性:进程在执行过程中可能产生直接或间接的关系

                                (5)异步性(不可预知,走走停停,相对独立):每个进程都以其相对独立、不可预知到速度向前推进。

2.进程调度:

                【1】不同os的不同进程调度设计目的

                                (1)多道化程序os:无论何时都有进程运行
                                (2)分时os:在进程之间快速切换cpu

                【2】进程调度队列(对应进程的三种状态的积蓄而分的存储空间):

                 【3】三级调度:

                                (1)长程/作业/高级调度:将ready状态中的作业/任务按某种算法选择一个或一批,为其建立进程,然后进入内存,并且在作业/任务完成时,还负责回收系统资源。用来控制多道程序的度(内存中进程的数量)

                                (2)中程/交换/中级调度:为提高系统吞吐量和内存利用率而引入的内外存对换swap的功能

                                (3)短程/进程/低级调度:进程调度使用最频繁,要求高效率。主要任务是按某种算法将处理及分配给一个处于就绪状态的进程。

                                                        <1>短程调度的三个机制:排队器,分派器,上下文切换(进程的硬件状体保存在cpu中,切换进程也会被更新为新进程的硬件状态,也就是上下文切换)

                                                        <2>引起短程调度的事件: 

3.进程运行:

                【1】进程控制

                                (1)原语primitive:完成某种特定功能的一段程序,具有不可分割性和不可中断性。即原语的执行必须是连续的,在执行过程中不允许被中断。也即原子操作。

                【2】进程创建的过程:

                                (1)给新进程分配一个唯一标识以及进程控制块(PCB,PID)

                                (2)为进程分配地址空间(分派器)

                                (3)初始化进程控制块,设置默认值(PCB初始化)

                                (4)设置相应的队列指针(排队器)

/*分别对应三个短程调度机制*/

                【3】进程创建:

                                (1)父进程和子进程并发执行

                                (2)父进等待,知道子进程终止

4.进程间通信:

                【1】基本通信方式:

                                (1)消息传递:信息传递则是由操作系统提供机制,让协作进程能通过消息 

            ·                                       传递来进行通信。

                                                             ①通过系统调用实现,因此需要更多的内核介入时间消耗;

                                                             ②用于交换少量数据很有用,不需要避免冲突

                                                                

                                (2)共享内存:共享内存的通信方法要求进程共享一个内存区域,并且需要

                                                    程序员自己明确编写访问和操作共享内存的代码。

                                                             ①快速方便的通信,可以达到内存的速度;

                                                             ②仅在建立内存区时需要系统调用,此后的访问都被处理为

                                                        常规的内存访问,不需要内核的帮助。

 

 

                                (3)管道:利用一种传输介质——内存或文件连接两个相互通信的进程

 

                【2】协同进程:

                                独立进程:不会影响到另一个进程的执行会被另一个进程执行影响

                                协同进程:与独立进程相反。

评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值