【正确答案】进程与线程的主要区别如下:
(1)调度方面。在传统的操作系统中,拥有资源和独立调度的基本单位都是进程;而在引入线程的操作系统中,线程是独立调度的基本单位,进程是资源拥有的基本单位。在同一进程中,线程的切换不会引起进程切换;在不同进程中,进行线程切换将会引起进程切换。
(2)拥有资源。不论是传统操作系统还是设有线程的操作系统,进程都是拥有资源的基本单位;而线程不拥有系统资源(只有一点运行时必不可少的资源),但线程可以访问其所属进程的资源。
(3)并发性。在引入线程的操作系统中,不仅进程之间可以并发执行,而且同一进程内的多个线程之间也可以并发执行。
(4)系统开销。由于创建进程或撤消进程时,系统都要为之分配或回收资源,操作系统所付出的开销远大于创建或撤消线程时的开销。在进行进程切换时,涉及到整个当前进程CPU环境的保存及新调度到进程CPU环境的设置;而线程切换时,只需保存和设置少量寄存器内容,因此开销很小。另外,由于同一进程内的多个线程共享进程的地址空间,因此,这些线程之间的同步与通信非常容易实现,甚至无需操作系统的干预。
【答案解析】