1、什么是前趋图?为什么要引入前趋图
答:前趋图是指一个有向无循环图,用于描述进程之间执行的先后顺序
引入前趋图是为了更好地描述程序的顺序和并发执行情况
2、试着画出下面四条语句的前趋图
S1:a=x+y
S2:b=z+1
S3:c=a-b
S4:w=c+1
答:
![](https://i-blog.csdnimg.cn/blog_migrate/7770c6aed9394fec34278528fc594bd6.png)
3、为什么程序并发执行会产生间断性特征
答:程序在并发执行时,由于它们共享系统资源,以及为完成同一项任务而互相合作,致使在这些并发执行的程序之间形成了相互制约的关系,相互制约将导致并发程序具有“执行-暂停-执行”这种间断性的活动规律。
4、程序并发执行时为什么会失去封闭性和可再现性
答:当系统中存在多个可以并发执行的程序时,系统中的各种资源将为它们所共享,而这些资源的状态也由这些程序来改变,致使其中任一程序在运行时,其环境都必然受到其它程序的影响,也就是说程序在运行时不是独占全部系统资源的,因此程序并发执行时会失去封闭性,
程序在并发执行时,由于失去了封闭性,其计算结果必将与并发程序的执行速度有关,从而使程序的执行失去了可再现性。
5、在操作系统中为什么要引入进程的概念,它会产生什么样的影响
答:为了能使程序并发执行,并且可以对并发执行的程序加以描述和控制,因此引入了进程的概念
6、试从动态性、并发性和独立性上比较进程和程序
答:动态性:进程的实质是进程实体的执行过程,进程实体具有一定的生命期;程序是一组有序指令的集合,并存放于某周介质上,其本身并不具有活动的含义,因而是静态的。(进程有创建执行撤销的过程而程序没有)
并发性:多个进程实体同存于内存中,且能在一段时间内同时运行,而程序(没有建立PCB)是不能参与并发执行的
独立性:进程实体是一个能独立运行、独立获得资源和独立接受调度的基本单位,而程序(没有建立PCB)都不能作为一个独立的单位参与运行
7、试说明PCB的作用具体表现在哪几个方面,为什么说PCB是进程存在的唯一标志
答:PCB的作用1、作为独立运行基本单位的标志2、能实现间断性运行方式3、提供进程管理所需要的信息4、提供进程调度所需要的信息5、实现与其它进程的同步与通信
因为系统是通过PCB感知进程的存在的,所以说PCB是进程存在的唯一标志。
8、PCB提供了进程管理和进程调度所需要的哪些信息
答:用于进程调度所需要的信息:1、进程状态2、进程优先级3、进程调度所需要的其它信息与所采用的进程调度算法有关4、事件
用于进程管理所需要的信息:1、程序和数据的地址2、进程同步和通信机制3、资源清单4、链接指针
9、进程控制块的组织方式有哪几种
答:线性方式,链接方式,索引方式
10、何谓操作系统内核?内核的主要功能是什么
答:通常将一些与硬件紧密相关的模块、各种常用设备的驱动程序以及运行频率较高的模块,都安排在紧靠硬件的软件层次中,将它们常驻内存,即通常被称为的OS内核
主要功能分为两大方面,一方面是支撑功能,另一方面是资源管理功能
其中三种最基本的支撑功能为中断处理、时钟管理和原语操作,资源管理功能分为进程管理、存储器管理、设备管理
11、试说明进程在三个基本状态之间转换的典型原因
答:处于就绪状态的进程在调度程序为之分配了处理机后就转变为执行态;
正在执行的进程若因分配给它的时间片已完而被剥夺处理机暂停执行时就转变为就绪状态;
当进程访问某临界资源时,它正在被其他进程访问时,由执行态转变为阻塞;
当被访问的临界资源空出来时,由阻塞转变为就绪;
12、为什么要引入挂起状态,该状态有哪些性质
答:引入挂起状态的原因:终端用户的需要;父进程的请求;负荷调节的需要;操作系统的需要
性质:主动放弃CPU调度
13、在进行进程切换时,所要保存的处理机状态信息有哪些
答:进程当前暂存信息;下一指令地址信息;进程状态信息;过程和系统调用参数以及调用地址信息
14、试说明引起进程创建的主要事件
答:用户登录、作业调度、提供服务、应用请求
15、试说明引起进程被撤销的主要事件
答:正常结束、异常结束、外界干预
16、在创建一个进程时所要完成的主要工作是什么
答:申请空白PCB,为新进程申请获得唯一的数字标识符;
为新进程分配其运行所需的资源;
初始化进程控制块PCB;
若进程就绪队列能够接纳新进程,则将新进程插入就绪队列
17、在撤销一个进程时所要完成的主要工作是什么
答:根据被终止进程的标识符读出该进程的状态;
若处于执行状态则立即终止该进程的执行,并置调度标志为真用于指示该进程被终止后重新进行调度;
若该进程还有子孙进程,应将其子孙进程都终止;
将被终止的进程所以资源归还给父进程或者系统;
将被终止进程从所在队列中移出;
18、试说明引起进程阻塞或被唤醒的主要事件是什么
答:向系统请求共享资源失败;等待某种操作的完成;新数据尚未到达;等待新任务的到达
19、为什么要在OS中引入线程
答:为了减少程序在并发执行时所付出的时空开销,使OS具有更好的并发性
20、试说明线程具有哪些属性
答:轻型实体;独立运行的基本单位
21、试从调度性、并发性、拥有资源及系统开销方面对进程和线程进行比较
答:调度性:进程是独立调度和分派的基本单位,线程是独立运行的基本单位,线程的切换不一定会引起进程的切换,但是进程的切换一定会引起线程的切换。
并发性:都可以并发执行
拥有资源:进程可以拥有资源并作为系统中拥有资源的一个基本单位,线程本身不拥有系统资源而是仅有一点必不可少的、能保证独立运行的资源,允许多个线程共享该进程所拥有的资源
系统开销:在创建或撤销进程所付出的开销明显大于线程创建或撤销的开销
22、线程控制块TCB中包含哪些内容
答:线程标识符;一组寄存器;线程运行状态;优先级;线程专有存储区;信号屏蔽;堆栈指针
23、何谓用户级线程和内核支持线程
答:内核支持线程KST是在内核的支持下运行的,它们的创建、阻塞、撤销和切换等、都是在内核空间实现的。
用户级线程ULT是在用户空间实现的,对线程的创建、撤销、同步与通信等功能,都无需内核的支持,即用户级线程是与内核无关的
24、试说明用户级线程的实现方法
答:系统在创建一个新进程时,便为它分配一个任务数据区PTDA,其中包括若干个线程控制块TCB(保存在内核空间)。每当进程要创建一个线程时,便为新线程分配一个TCB,将有关信息填入该TCB中并为之分配必要的资源。当PTDA中的所有TCB空间已用完,而进程又要创建新线程时,只要所创建的线程数目未超过系统的允许值,系统可再为之分配新的TCB空间。在撤销一个线程时,也应回收该线程的所有资源和TCB。
25、试说明内核支持线程的实现方法
答:运行时系统和内核控制线程
运行时系统是用于管理和控制线程的函数的集合,运行时系统中的所有函数都驻留在用户空间并作为用户级线程与内核之间的接口。
内核控制线程又称轻型进程LWP,用户进程中的任一用户线程都可以连接到LWP池中任一个LWP中,利用LWP与内核通信。
26、多线程模式有哪几种类型,多对一模型有何优缺点
答:多对一、一对一、多对多
多对一模型的缺点:
如果一个线程在访问内核时发送阻塞则整个进程都会被阻塞;
在任一时刻只有一个线程能够访问内核,多个线程不能同时在多个处理机上运行