1.为什么要在OS中引入线程。
目的:为了减少程序在并发执行时所付出的时空开销,使OS具有更好的并发性,提高CPU的利用率,进程是分配资源的基本单位,而线程则是系统调度的基本单位。
2.试从调度性,并发性,拥有资源及系统开销方面对进程和线程进行比较。
答:①调度性,传统OS中,进程是作为独立调度和分派的基本单位,因而进程是能独立运行的基本单位,每次调度时上下文切换开销较大,引入线程的OS中,把线程作为调度和分派的基本单位,因而线程是能独立运行的基本单位,切换时代价远低于进程。
②并发性,引入线程OS中,不仅进程之间可以并发执行,而且在一个进程的多个线程之间亦可并发执行,甚至还允许在一个进程中的所有线程都能并发执行,不同进程中线程也能并发执行。
③拥有资源,进程可以拥有资源,并作为系统中拥有资源的一个基本单位,线程本身并不拥有系统资源,仅有一点必不可少的能保证独立运行的资源,同时允许多个线程共享该进程所拥有的资源。
④系统开销,创建或撤消进程,以及进程切换时,系统为之分配,回收资源开销远大于线程上下文切换代价,线程远低于进程。
3.处理机调度的三个层次。
答:①高级调度又称长调度或作业调度,他的调度对象是作业,主要功能是根据某种算法,决定将外存上处于后备队列中的哪几个作业调入内存,为它们创建进程,分配必要资源,插入就绪队列。
②低级调度又称为进程调度或短程调度,其所调度的对象是进程(或内核级线程)。主要