美文网首页
第二章 进程管理

第二章 进程管理

作者: 傻傻傻瓜_d432 | 来源:发表于2018-09-28 19:43 被阅读0次

为了描述个和控制进程的运行,系统为每个进程定义了一数据结构——进程控制块PCB(Process Control Block)。PCB中主要包括下述四方面的信息:

进程标识符:内部标识符,外部标识符

处理机状态

进程调度信息

进程控制信息

PCB的作用:

① PCB是系统只为每个进程定义的一个数据结构,是为了使程序(含数据)能独立运行,为之配置的一进程控制块(Process Control Block);

② PCB、程序段和相关的数据段三部分构成了进程实体,创建进程,实质上是创建进程和实体中的PCB,而撤销进程,实质上是撤销进程的PCB;PCB是为了保证程序的并发执行;

③ PCB使一个在多道程序环境下不能独立运行的程序(含数据),成为一个能独立运行的基本单位,一个能与其它进程并发执行的进程。

一言以蔽之,使一个在多道程序环境下不能独立运行的程序(含数据)成为一个能独立运行的基本单位,一个能与其他进程并发执行的进程。

新进程的创建过程

1)申请空白PCB,为新进程申请获得唯一的数字标识符,并从PCB集合中索取一个空白PCB

2)为新进程分配其运行所需的资源

3)初始化PCB

4)如果进程就绪队列能够接纳新进程,便将新进程插入就绪队列。

临界区:每个进程中访问的临界资源的那段代码成为临界区。

信号量进程的同步和互斥问题

界资源与临界区的概念:临界资源就是一次只允许一个进程访问的资源,一个进程在使用临界资源的时候,另一个进程是无法访问的,操作系统也不能够中途剥夺正在使用者的使用权利,正所谓“泼出去的女儿嫁出去的水”。即临界资源是不可剥夺性资源。所谓临界区就是进程中范文临界资源的那段程序代码,注意,是程序代码,不是内存资源了,这就是临界资源与临界区的区别。临界区的使用原则(也即同步机制应遵循的准则)十六字诀:“空闲让进,忙则等待,有限等待,让权等待”。

(1)空闲让进:临界资源空闲时一定要让进程进入,不发生“互斥礼让”行为。

(2)忙则等待:临界资源正在使用时外面的进程等待。

(3)有限等待:进程等待进入临界区的时间是有限的,不会发生“饿死”的情况。

(4)让权等待:进程等待进入临界区是应该放弃CPU的使用。

  进程间通常存在着两种制约关系:直接制约关系和间接制约关系,就是所说的进程的同步与互斥。顾名思义,一个是合作关系,一个是互斥关系。进程互斥说白了就是“你用的时候别人都不能用,别人用的时候,你也不能去用”,是一种源于资源共享的间接制约关系。进程同步指的是“我们大家利用一些共同的资源区,大家一起合作,完成某些事情,但是我在干某些小事的时候,可能要等到你做完另一些小事”,是一种源于相互合作的直接制约关系。两者区别在于互斥的进程间没有必然的联系,属于竞争者关系,谁竞争到资源(的使用权),谁就使用它,直到使用完才归还。就比如洗衣房的洗衣机这个资源,去洗衣的同学并不需要有必然联系,可以互不认识,但是谁竞争到洗衣机的使用权,就可以使用,直到洗完走人。而同步的进程间是有必然联系的,即使竞争到使用权,如果合作者没有发出必要的信息,该进程依然不能执行。

 信号量是Dijkstra提出的用于解决进程同步的有效工具。信号量是一个数据结构以及对其的操作。除初始化外,仅能通过两个标准的原子操作wait(S)he signal(S)来访问。两个语句在执行到一半的时候不能被中断。

什么是P操作、什么是V操作(P、V操作的处理流程,以记录型信号量为例)

P(S):wait(S)

每次wait操作,意味着进程请求一个单位的该类资源,使系统可供分配的该类资源数减少一个。

① 将信号量S的值减1,即S.value:=S.value-1;

② 当S.value<0时,表示该类资源分配完毕,进程调用block原语,进行自我阻塞,放弃处理机,并插入到信号量链表中。

V(S):signal(S)

每次signal操作,表示执行进程释放一个单位资源,使系统中可供分配的该类资源数增加一个

① 将信号量S的值加1,即S.value:=S.value+1;

② 如果S.value<=0,表示在该信号量链表中,仍有等待该资源的进程被阻塞,故还应调用wakeup原语,将链表中的第一个等待进程唤醒。

wait(S){   while(S<=0);  S--;}

signal(S){   S++; }

用信号量和P、V操作机制实现互斥和同步的方法,信号量取值的含义

利用信号量和PV操作实现进程互斥时应该注意的是:

(1)每个程序中用户实现互斥的P,V操作必须成对出现,先做P操作,进临界区,后做V操作,出临界区。若有多个分支,要认真检查其成对性。

(2)P,V操作应分别紧靠临界区的头尾部,临界区的代码应尽可能短,不能有死循环。

(3)互斥信号量得初值一般为1

其中信号量S用于互斥,初值为1。

利用信号量和P V操作实现进程同步

PV操作是典型的同步机制之一。用一个信号量与一个消息联系起来,当信号量的值为0时,表示期望的消息尚未产生;当信号量的值非0时,表示期望的消息已经存在。用PV操作实现进程同步时,调用P操作测试消息是否到达,调用V操作发送消息。

使用PV操作实现进程同步时应该注意的是:

(1)分析进程间的制约关系,确定信号量种类。在保持进程间有正确的同步关系情况下,哪个进程先执行,那些进程后执行,彼此间通过什么资源(信号量)进行协调,从而明确要设置那些信号量。

(2)信号量的初值与相应资源的数量有关,也与P,V操作在程序代码中出现的位置有关。

(3)同一信号量的P,V操作要成对出现,但他们分别在不同的进程代码中。

  (4)互斥信号量一般要在资源信号量之后。

  PV操作特点:简单而且表达能力强能解决任何进程同步问题,缺点:不安全,容易出现死锁现象。

进程是资源拥有者,而线程是为了提高程序并发执行的调度(调度和分派的基本单位)。

相关文章

  • 操作系统第二章课堂记录及心得体会

    一、课堂笔记 第二章 、进程管理 2-1 进程与PCB 2.1进程的基本概念 要点 1.分析程序执行顺序、以及并发...

  • 错题本第二章 进程管理

    错题本第二章 进程管理 本文持续更新中 单项选择题 P39 5. 下面的叙述中,正确的是()。 A. 进程获得处理...

  • 第二章 进程管理

    为了描述个和控制进程的运行,系统为每个进程定义了一数据结构——进程控制块PCB(Process Control B...

  • 第二章 进程管理

    程序顺序执行时的特征 1.顺序性处理机的操作严格按程序规定顺序执行 2.封闭性 程序一旦开始执行,其计算结果不受...

  • 第二章 进程管理

    2.1进程的基本概念 一、程序顺序执行时的特征 (一)、顺序性:处理机的操作严格按程序规定顺序执行 (二)、封闭性...

  • 目录

    大纲:6章 第一章:操作系统简介 第二章:进程管理 第三章:进程调度与死锁 第四章:内存管理 第五章:文件系统 第...

  • 二.进程(1)进程的基本概念

    第二章 进程管理 2.1 进程的基本概念 在传统的操作系统中,程序并不能独立运行,作为资源分配和独立运行的基本单位...

  • 操作系统第二章第一部分

    第二章 进程管理 2.1 进程的基本概念 在传统的操作系统中,程序并不能独立运行,作为资源分配和独立运行的基本单位...

  • 《计算机操作系统》读书笔记(第二章)

    第二章 进程管理 2.1 进程的基本概念 在传统的操作系统中,程序并不能独立运行,作为资源分配和独立运行的基本单位...

  • Android性能探索

    进程管理&内存管理 进程生命周期进程优先级:前台进程可见进程服务进程后台进程 (LRU Cache & 占用内存...

网友评论

      本文标题:第二章 进程管理

      本文链接:https://www.haomeiwen.com/subject/fhypoftx.html