首先答案是:引入线程的操作系统中,资源分配和调度的基本单位是线程。
分析如下
在20世纪60年代中期,人们设计多道程序OS时,引入了进程的概念,从而解决了单处理机环境下的程序并发执行问题。在在此后的二十年里,在多道程序OS中一直是以进程作为能拥有资源和独立调度(运行)的基本单位的。到了80年代中期,人们又提出了比进程更小的基本单位———线程的概念,试图用它来提高程序的并发执行的速度,以进一步改善系统的服务质量。在20世纪90年代后,多处理机系统得到了迅速发展,由于线程能更好地提高程序的并发执行速度,因而现在的多处理机系统无一例外的都引入了线程。
所以在传统的OS中,进程是独立调度和分配的基本单位,因而进程是能独立运行的基本单位。在每次调度时,都需要上下文切换开销较大。而在引入线程的OS中,已把线程作为调度和分派的基本单位,因而线程是能独立运行的基本单位。当线程切换时,仅需保存和设置少量寄存器内容,切换代价远低于进程。在同一进程中,线程的切换不会引起进程的切换。而在不同进程的线程之间切换时,必然会导致进程的切换。
线程具有进程的许多特征,所以线程又被称为轻型进程(Light-Weight Process)。传统的进程被称为重型进程(Heavy-Weight Process)。