26.进程与线程的区别(1)从概念上:进程:一个程序对一个数据集的动态执行过程,是分配资源的基本单位;线程:一个进程内的基本调度单位;线程的划分尺度小于进程,一个进程包含一个或者更多的线程。(2)从执行过程中来看:进程:拥有独立的内存单元,而多个线程共享内存,从而提高了应用程序的运行效率;线程:每一个独立的线程,都有一个程序运行的入口、顺序执行序列、和程序的出口。但是线程不能够独立的执行,必须依存在应用程序中,由应用程序提供多个线程执行控制。(3)从逻辑角度来看:(重要区别)多线程的意义在于一个应用程序中,有多个执行部分可以同时执行。但是,操作系统并没有将多个线程看做多个独立的应用,来实现进程的调度和管理及资源分配。
27.引起创建进程的事件: 1) 用户登录2) 批处理系统中的作业调度3) 由操作系统创建的系统服务4) 用户启动应用程序
28.进程的创建步骤: 1) 申请空白PCB:申请惟一的数字标识符。2) 为新进程分配资源:主要是内存空间 3) 初始化进程控制块:包含标识、处理机状态、处理机控制信息。 4) 如果进程就绪队列能够接纳新进程, 便将新进程插入就绪队列。
29.引起进程终止的事件: 1) 正常结束2) 异常结束3) 外界干预
30.进程的终止过程: 1) 根据被终止进程的标识符,从PCB**中检索出该进程的PCB,从中读出该进程的状态。2) 若被终止进程正处于执行状态,应立即终止该进程的执行,并置调度标志为真,用于指示该进程被终止后应重新进行调度。3) 若该进程还有子孙进程,还应将其所有子孙进程予以终止,以防他们成为不可控的进程。4) 将被终止进程所拥有的全部资源,或者归还给其父进程, 或者归还给系统。5) 将被终止进程(它的PCB)从所在队列(或链表)中移出, 等待其他程序来搜集信息。