问题:
1.在操作系统中为什么要引入进程的概念?
2.比较程序与进程的区别与联系。
3.PCB的作用具体表现在哪几个方面?
4.PCB提供了进程管理和进程调度所需要的哪些信息?
5.操作系统内核的主要功能是什么?
6.在进程切换时,所要保存的处理机状态信息有哪些?
7.创建一个进程所要完成的主要工作是什么?
8.为什么要在OS中引入线程?
9.为什么要引入进程同步?
10.多线程模型有哪几种类型?
我的答案:
1.引入进程的概念是为了区分静态的程序和动态的进程,为了使程序能并发执行,并对并发执行的程序加以描述和控制,解决多道程序中失去封闭性和不可再现性的问题。
2.程序是一组指令的有序集合,只是一个静态的实体,进程是程序在某个数据集上的执行,是一个动态的实体,有自己的生命周期。进程和程序并不是一一对应的,一个进程肯定有一个与之对应的程序,且只有一个,而一个程序有可能没有与之对应的进程,也可能有多个进程与之对应。进程具有并发性和交往性,与程序的封闭性不同。
3.作用表现在作为独立运行基本单位的标志、能实现间断性运行方式、提供进程管理所需要的信息、实现与其他进程的同步与通信。
4.进程管理:通用寄存器、指令计数器、程序状态字、用户栈指针
进程调度:进程状态、进程优先级、事件、其他信息
5.中断处理、时钟管理、原语操作等支撑功能和进程管理、存储器管理、设备管理等资源管理功能
-
进程当前暂存信息、下一指令地址信息、进程状态信息、过程和系统调用参数及调用地址信息
-
(1)申请空白PCB,为新进程申请获得唯一的数字标识符,并从PCB集合中索取一个空白PCB。
(2)为新进程分配其运行所需的资源,包括各种物理和逻辑资源,如内存、文件、I/O设备和CPU时间等。
(3)初始化进程控制块(PCB)。
(4)如果进程就绪队列能够接纳新进程,便将新进程插入就绪队列。
8.为了减少程序在并发执行时所付出的时空开销,使OS具有更好的并发性,提高CPU的利用率。进程是分配资源的基本单位,而线程则是系统调度的基本单位。
9.在多道程序环境下,程序是并发执行的,不同进程之间存在着不同的相互制约关系,为了协调进程之间的相互制约关系,引入了进程同步的概念。在操作系统中,要对并发进程进行同步的原因是并发进程是异步的。
10.多对一模型: 多个用户级线程对应到一个内核级线程
一对一模型: 每个用户级线程对应一个内核级线程
多对多模型: n个用户级线程对应m个内核级线程, 且m<=n