操作系统总结 进程管理

进程管理
1、进程的特性

1、动态性
进程的实质是进程实体的一次执行过程,他由创建而产生,由调度而执行,由撤销而消亡
2、并发性
引入进程的目的也正是为了使其进程实体能和其他进程实体并发执行
3、独立性
进程实体是一个能独立运行、独立分配资源和独立接收调度的基本单位,凡未建立pcb的程序都不能作为一个独立的单位参与运行
4、异步性
进程按各自独立的、不可预知的速度向前推进

2、进程的状态

创建状态:进程在创建时需要申请一个空白PCB,向其中填写控制和管理进程的信息,完成资源分配。如果创建工作无法完成,比如资源无法满足,就无法被调度运行,把此时进程所处状态称为创建状态。
就绪状态:进程已经准备好,已分配到所需资源,只要分配到CPU就能够立即运行执行状态:进程处于就绪状态被调度后,进程进入执行状态。
阻塞状态:正在执行的进程由于某些事件(I/O请求,申请缓存区失败)而暂时无法运行,进程受到阻塞。在满足请求时进入就绪状态等待系统调用
终止状态:进程结束,或出现错误,或被系统终止,进入终止状态,无法再执行。
PS:进程还有挂起和激活两种操作。

进程的五种基本状态及转换
3、进程与线程的区别

1、进程是操作系统资源分配的基本单位,线程是任务调度和执行的基本单位。
2、开销:每个进程都有独立的代码和数据空间,程序间切换开销较大;线程可以看作轻量级进程,同类线程共享代码和数据空间,每个线程都有自己独立的程序栈和PC,线程间切换开销小。
3、操作系统中可同时运行多进程,同一进程可同时运行多线程,但每一时间片只能运行一个线程。
4、进程拥有独立内存空间,线程必须依赖进程来运行。

4、同步与互斥

同步是合作进程间直接制约问题,互斥是申请临界资源进程间的间接制约问题。(临界资源是在同一时间只能供一个进程使用的资源)
临界区原则:有空即进,无空则等,有限等待,让权等待。

5、信号量机制

信号量的值大于0时,表示当前可用资源的数量。
信号量的值小于0时,其绝对值表示等待使用的该资源的进程数。
信号量的值仅能由PV操作改变。P执行,V释放。
信号量S >= 0时,S表示可用资源的数量。执行一次P操作意味着请求分配一个单位资源,因此S的值减1;当S < 0时,表示已经没有可用资源,请求者必须等待别的进程释放该类资源,它才能运行下去。而执行一个V操作意味着释放一个单位资源,因此S的值加1;若S <= 0,表示有某些进程正在等待该资源,因此要唤醒一个等待状态的进程,使之运行下去。

6、进程调度

调度种类
1、高级调度:又称长调度或作业调度。它决定处于输入池中的哪个后备作业可以调入主系统做好运行的准备,成为一个或一组就绪进程。系统中一个作业只需经过一次高级调度。
2、中级调度:又称短程调度或对换调度。它决定处于交换区中的就绪进程哪个可以调入内存,以便直接参与对CPU的竞争。在内存资源紧张时,为了将进程调入内存,必须将内存中处于阻塞状态的进程调出交换区,以便为调入进程腾出空间。
3、低级调度:又称进程调度。它决定处于内存中的哪个就绪进程可以占用CPU。是最活跃、最重要的调度程序,对系统影响也大。
调度方法分为可剥夺和不可剥夺两种。
即当有更高优先级的进程到来时,是否可以将正在运行进程的CPU分配给高优先级的进程,可以则为可剥夺,否则为不可剥夺的。

调度算法
1、1. FIFO(FCFS): 公平简单,不利于交互式,不利于IO密集型作业;
2. SJF:短作业优先调度,可以保证整体的最小等待时间,但不利于长作业;
3. 优先权调度:拥有高优先权的作业优先处理, 有可能出现优先权低的任务“饥饿”情况;
4. Round-Robin:按时间片进行轮转调度,让每个任务定时有响应但是上下文切换次数可能会过多。
5. 多级优先级队列:按不同规则创建多个进程队列,不同队列拥有不同的优先级以及可以分配不同的时间片/调度策略。但是也存在”饥饿“可能性。
6. 多级反馈队列:在多级优先级队列基础上,长期得不到运行的队列优先级会被提高。

7、死锁:指两个或两个以上的进程在执行过程中,由于竞争资源或者由于彼此通信而造成的一种阻塞的现象。

产生死锁的原因:
1、系统资源不足;2、进程运行推进的顺序不合适;3、资源分配不当等
产生死锁的四个必要条件:
1、互斥条件:一个资源每次只能被一个进程使用
2、请求与保持条件:一个进程因请求资源而阻塞时,对已获得的资源保持不放
3、不剥夺条件:进程已获得的资源,在末使用完之前,不能强行剥夺
4、循环等待条件:若干进程之间形成一种头尾相接的循环等待资源关系
死锁的处理方法:
死锁预防,死锁避免,死锁检测和解除。
银行家算法(待续)

8、
内存池:真正使用前申请一片内存区域,有新需求时取出其中一部分使用,不够用时再重新申请新内存。
进程池:应用预先创建一组子进程,所有子进程运行相同代码,拥有相同属性,比如PGID和优先级等。
线程池:主要应用于任务小而多,处理时间短的场景,比如简单网页请求等。

未完待续

【参考资料】
https://www.cnblogs.com/mukekeheart/p/5731833.html
https://blog.csdn.net/moxiaomomo/article/details/78455556
https://blog.csdn.net/cafucwxy/article/details/78453430
https://blog.csdn.net/kuangsonghan/article/details/80674777

  • 1
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
操作系统概念背诵 一、进程管理 1. 进程管理的功能 ① 进程控制 ② 进程同步 ③ 进程通信 ④ 进程(线程)调度 2. 程序顺序执行时的特征:顺序性、封闭性、可再现性。 3. 程序并发执行时的特征:间断性、失去封闭性、不可再现性。 4. 进程由程序段、数据段和进程控制块(PCB)组成。 5. 进程的定义 ① 进程是程序的一次执行。 ② 进程是一个程序及其数据在处理机上顺序执行时所发生的活动。 ③ 进程进程实体的运行过程,是系统进行资源分配和调度的一个独立单位。 ④ 进程是程序在一个数据集合上的运行过程,是系统进行资源分配和调度的一个独立单位。 6. 进程的基本特征:动态性、并发性、独立性、异步性、结构特征(程序+数据+PCB) 7. 进程的状态 三态:就绪状态、运行状态、阻塞状态。 五态:活动就绪、静止就绪、活动阻塞、静止阻塞、运行。 8. 进程控制块(PCB)的组成:进程标识符、处理机状态、进程调度信息、进程控制信息。 9. 临界区:进程中访问临界资源的那段代码叫做临界区。 10. 同步机制必须遵循的原则:空闲让进、忙则等待、有限等待、让权等待。 11. P, V 操作的定义 P(S):S = S − 1; 若S≥0,则当前进程继续运行; 若S<0,则将当前进程插入到S 的等待队列中去。 V(S):S = S + 1; 若S>0,则当前进程继续运行; 若S≤0,则从S 的等待队列中移出一个进程放到就绪队列中去。 12. 信号量的物理意义 S = −n 时,表示有n 个等待进入临界区的进程,当前已有进程在临界区中访问临界资源; S = 0 时,表示不允许任何进程进入临界区,当前已有进程在临界区中访问临界资源; S = n 时,表示临界区是空闲的,该类资源的可用数目为n,可以有n 个进程访问该类资源。 13. 高级通信机制有:共享存储器系统、消息传递系统、管道通信系统。 14. 线程的定义:线程是进程内的一个实体,是处理机调度的基本单位,是程序内部一个单一的顺序控 制流。 15. 引入进程的目的:是为了使多个程序并发执行,提高资源利用率和系统吞吐量。 16. 引入线程的目的:是为了减少程序并发执行时的时空开销,使操作系统具有更好的并发性。

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值