进程的概念
进程 | |
---|---|
单道程序 | 特点:顺序性、封闭性(独占性)、可再现性 |
多道程序系统 | 特点:间断性(相互制约竞争资源)、失去封闭性(共性资源,多个程序操作相同资源)、不可再现性(运行结果不唯一,因为执行顺序不唯一) |
进程特征 | |
---|---|
动态性 | 一个进程可以对应一个程序或多个程序 |
并发性 | 一段时间,交替运行 |
独立性 | 分配资源和进行调度的基本单位 |
异步性 | 按策略被调度,执行时互不影响 |
结构性 | 结构体记录描述进程 |
例题: 1.进程和程序的一个本质区别是( 前者为动态的,后者为静态的 )。 |
进程利弊 | |
---|---|
空间开销 | 必须建立数据结构和管理数据结构的机构 |
时间开销 | 要话费额外的空间进行进程切换和现场保护 |
进程控制块和进程状态
三种状态:就绪态、执行态、等待态
例题: 1.下列的进程状态变化中,( 等待-->运行 )变化是不可能发生的。 2.当( 时间片到 )时,进程从执行状态转变为就绪状态。 3.进程所请求的一次打印输出结束后,将使下一个打印进程状态从( 等待态变为就绪态 )。 4.在进程管理中,当( 等待的事件发生 )时,进程从阻塞状态变为就绪状态。 5.分配到必要的资源并获得处理机的状态是( 执行状态 )。 |
进程控制块 | |
---|---|
进程的静态描述 | 1.程序(执行码) 2.数据集合:进程加工的对象和场所 3.进程控制块(PCB):(数据结构(描述信息、控制信息、资源信息等)) |
进程控制块作用(PCB) | PCB中记录了操作系统所需的,用于描述进程的当前情况以及进程控制运行的全部信息。是进程存在的唯—标志。程序执行的部分进入内存时创建PCB,进程结束时回收PCB。 |
进程控制块中的信息 | 1描述信息:进程标识符;用户名或用户标识符;家族关系 2.控制信息:进程当前状态、进程优先级、程序开始地址、各种及时信息、通信信息。 3.资源管理信息:占用内存大小位置信息、内外对换信息、共享地址大小、设备信意、文件指针等。 4.CPU现场保护机构:处理器现场保护信息也由PCB来记录。包括:通用寄存器、指令计数器、程序状态字PSW、用户栈指针。 |
例题: 1.进程在系统中存在的惟一标志是( 进程控制块 )。 2.进程的控制信息和描述信息存放在( PCB )。 |
PCB组织方式 |
---|
链接队列方式 |
索引表方式 |
进程的控制
进程的控制首先表现在建立、撤消、解挂、挂起等方面。
原语:由若干条机器指令组成的具有特定功能的程序段。
例题: 1.下面的叙述中正确的是(D)。 A操作系统的一个重要概念是进程,因此不同进程所执行的代码也一定不同 B为了避免发生进程死锁,各进程只能逐个申请资源 C操作系统用PCB管理进程,用户进程可以从PCB中读出与本身运行状况有关的信息 D进程同步是指某些进程之间在逻辑上的相互制约关系 2.下面对进程的描述中,错误的是(D)。 A进程是动态的概念 B进程执行需要处理机 C进程是有生命期的 D进程是指令的集合 3.进程控制就是对系统中的进程实施有效的管理,通过使用( 进程创建 )、进程撒消、进程阻塞、进程唤醒等进程控制原语实现。 |
进程同步
互斥
临界资源:一次仅允许一个进程使用的共享资源
临界区:访问临界资源的代码(程序)段成为临界区
互斥:—组并发进程中的两个或多个进程不能同时进入临界区的关系称为互斥。
例题: 1.临界区是指并发进程中访问共享变量的( 程序 )段。 2.我们把在一段时间内,只允许一个进程访问的资源,称为临界资源,因此,我们可以得出下列论述,正确的论述为(D)。 A对临界资源是不能实现资源共享的。 B只要能使程序并发执行,这些并发执行的程序便可对临界资源实现共享。 C为临界资源配上相应的设备控制块后,便能被共享。 D对临界资源,应采取互斥访问方式,来实现共享。 |
同步
同步:互相合作、相互等待资源的进程
例题: 1.进程间的同步是指进程间在逻辑上的相互( 制约 )关系。 2.有关进程同步与互斥的不正确阐述是(A)。 A进程同步实际上是进程互斥的特例 B必须互斥的进程在逻辑上没有固定的必然联系 C必须同步的进程在逻辑上有必然的依赖关系 D进程同步与互斥都涉及对共享资源的管理 E进程互斥实际上是进程同步的一种特例 3.在操作系统中,有一组进程,它们之间具有直接相互制约性,即同步。这组并发进程之间( 必定有关 )。 |
同步机构 | 实现进程间同步与互斥的机构 |
---|---|
加锁/开锁原语 | 临界区的互斥控制:进入临界区的进程先要执行加锁原语LOCK(ω ),退出时要执行开锁原语UNLOCK(ω)注意:这不能解决同步问题 |
信号量和P、V原语 | (1)信号量: ①S是—个整型变量而且初值非负。 ②对信号量仅能实施P(S)操作和V(S)操作,也只有这两种操作才能改变S的值。 ③对每—个信号量,都对应有一个(空或非空)的等待队列,队列中的进程处于阻塞状态。 (2)P(S)原语(wait(s)) ①Si咸1; ②若S.value减1后仍大于或等于零,则进程继续执行; ③若S减l后小于零,则该进程被阻塞,并进入该信号相对应的等待队列中,然后转进程调度。 (3)V原语(signal(s)) ①S.value加1; ②若相加结果大于零,进程继续执行; ③若相加结果小于或等于零,则从该信号的等待队列中唤醒二个等待进程,然后再返向原进程继续执行或转进程调度。 |
管理 | 1.互斥 2.同步 3.条件变量 |
例题: 1.P、V操作是(A)。 A两条低级进程通信原语 B两组不同的机器指令 C两条系统调用命令 D两条高级进程通信原语 2.对进程的管理和控制使用(B) 。 A指令 B原语 C信号量 D信箱通信 3.进程的并发执行是指若干个进程( 在执行的时间上是重叠的 )。 4.若P、V操作的信号量S初值为2,当前值为-1,则表示有( 1个 )等待进程。 5.用P、V操作管理临界区时,信号量的初值应定义为( 1 )。 6.用V操作唤醒一个等待进程时,被唤醒进程的状态变为( 就绪 )。 7.用P、V操作可以解决( 一切 )互斥问题。 8.(信号量)是一种只能进行P操作和V操作的特殊变量。 9.在操作系统中,解决进程间的( 同步 )和( 互斥 )问题的一种方法是使用( 信号量 ) 。 |
同步机构应用:
例题: 1.则并发执行进程PO和P1时产生的情况是(D)。 A不能保证进程互斥进入临界区,会出现“饥饿”现象 B不能保证进程互斥进入临界区,不会出现“饥饿”现象 C能保证进程互斥进入临界区,会出现“饥饿”现象 D能保证进程互斥进入l临界区,不会出现“饥饿”现象 2.在9个生产者,6个消费者共享容量为8的缓冲区的生产者-消费者问题中,互斥使用缓冲区的信号量S的初始值为( 1 )。 3.计算机系统中判断是否有中断事件发生应是在( B )。 A进程切换时 B执行完一条指令后 C执行P操作后 D由用户态转入和心态时 4.如果进程PA对信号量S执行P操作,则信号量S的值应( 减一 )。 5.共享变量是指( 可能被多个进程)访问的变量。 |
进程通信
进程通信的类型 |
---|
低级通信 |
高级通信 |
进程通信的方式 |
---|
共享存储器 |
消息缓冲 |
管道通信 |
线程
引入目的:减少程序并发执行时系统所付出的时空开销,提高进程执行的并发程度,提高资源的利用率和系统的吞吐量。
例题: 1.“线程”的概念是由( 微内核方法 )引入的。 2.CPU状态分为系统态(管态)和用户态(目态),从用户态转换到系统态的唯一途径是( 系统调用 ) 。 3.在操作系统中引入“进程”概念的主要目的是( 描述程序和实现多个程序并发执行过程 ) 。 4.进程的动态、并发等特征是利用( 进程控制块 )表现出来的。 |