1.进程的定义是什么?它最少有多少种状态?
进程是一个具有一定功能的程序关于某个数据集合的一次运行活动。
一个进程最少有就绪、执行和阻塞三种状态。就绪状态是指进程已获得了除处理机以外的所有资源,一旦获得处理机就可以立刻执行。执行状态是指进程获得必要的资源并正在处理机上执行。阻塞状态是指进程由于发生某事件而暂时无法执行下去,此时即使把处理机分配给该进程,它因为无法运行。
2.什么是管态?什么是目态?
管态是操作系统管理程序执行时机器所处的状态。管态具有最高特权,能执行一切的指令,访问所有的寄存器和存储区。目态是用户程序执行时机器所处的状态。目标具有较低特权,它只能执行规定的指令,访问指定的寄存器和存储区。
3.进程与线程主要的区别是什么?(详细参见http://blog.csdn.net/u010064842/article/details/8866623)
(1)调度方面:在传统的操作系统中,拥有资源和独立调度的基本单位都是进程。而在引入线程的操作系统中,线程是独立调度的基本单位,进程是资源拥有的基本单位。在同一进程中,线程的切换不会引起进程切换。在不同的进程中进行线程切换,将会引起进程切换。
(2)拥有资源:不论是传统的操作还是设有线程的操作系统,进程都是拥有资源的基本单位,而线程不拥有资源(也有一点必不可少的资源,如程序计数器,一组寄存器和栈),但线程可以访问其隶属于的进程的系统资源。
(3)并发性:在引入线程的操作系统中,不仅进程之间可以并发执行,而且同一进程内的多个线程也可以并发执行。
(4)系统开销:由于创建进程或撤销进程时,系统都要为之分配或回收资源,操作系统所付出的开销远大于创建和撤销线程的开销。在进行进程切换时,涉及到整个当前进程CPU环境的保存及新调度到进程的CPU环境设置;而线程切换时,只需保存和设置少量寄存器内容,因此开销很小。另外,由于同一个进程的多个线程共享进程的地址空间,因此,多线程之间的同步与通信非常容易实现,甚至无需操作系统干预。
4.什么是进程控制模块?它有什么作用?
进程控制块是一个记录进程属性信息的数据结构,是进程实体的一部分,是操作系统中最重要的数据结构。
当操作系统要调度某程序执行时,需要从该进程的PCB查询其现行的状态及优先级等调度参数;在调度到某进程后,要根据其PCB中保存的处理机状态信息去设置和恢复进程运行的现场,并根据其PCB中保存的处理机状态信息去设置和恢复进程运行的现场,并根据PCB的程序和数据的内存地址来找到其程序和数据;进程在执行过程中,当需要与其他进程通信时,也要访问其PCB;当进程因某种原因而暂停执行时,又需将断点的现场信息保存在PCB中。系统在建立进程的同时就建立该进程的PCB,在撤销一个进程时也就撤销PCB。
由此,操作系统根据PCB来对并发执行的进程进行控制和管理,PCB是进度存在的唯一标志。
待续。。。。。。。。。。。。