问题 问答题

进程和线程的主要区别是什么

答案

参考答案:线程具有许多传统进程所具有的特征,故又称为轻型进程或进程元;而把传统的进程称为重型进程,它相当于只有一个线程的任务。在引入了线程的操作系统中,通常一个进程都有若干个线程,至少也需要有一个线程。下面从调度、并发性、系统开销、拥有资源等方面,来比较线程与进程。
(1) 调度。在传统操作系统中,拥有资源的基本单位和独立调度、分派的基本单位都是进程。而在引入线程的操作系统中,则把线程作为调度和分派的基本单位,而把进程作为资源拥有的基本单位,使传统进程的两个属性分开,线程便能轻装运行,从而提高系统的并发程度。在同一进程中,线程的切换不会引起进程的切换,在由一个进程中的线程切换到另一进程中的线程时,将会引起进程切换。
(2) 并发性。在引入线程的操作系统中,不仅进程之间可以并发执行,而且在一个进程中的多个线程之间,亦可并发执行,因而使操作系统具有更好的并发性,从而能更有效地使用系统资源和提高系统的吞吐量。
(3) 拥有资源。不论是传统的操作系统,还是设有线程的操作系统,进程都是拥有资源的一个独立单位,它可以拥有自己的资源。一般来说,线程不拥有系统资源(也有一点必不可少的资源),但它可以访问其隶属进程的资源。亦即,一个进程的代码段、数据段以及系统资源,如已打开的文件、I/O设备等,可供同一进程的所有线程共享。
(4) 系统开销。在创建或撤销进程时,系统都要为之分配或回收资源,如内存空间、I/O设备等。因此,操作系统所付出的开销将显著地大于在创建或撤消线程时的开销。类似地,在进行进程切换时,涉及整个当前进程CPU环境的保存以及新被调度运行的进程CPU环境的设置。而进程切换只需保存和设置少量寄存器的内容,并不涉及存储器管理方面的操作。可见,进程切换的开销也远大于线程切换的开销。此外,由于同一进程中的多个线程具有相同的地址空间,使两者之间的同步和通信的实现也变得比较容易,在有的系统中,线程的切换、同步和通信都无须需操作系统内核干预。

单项选择题
阅读理解与欣赏

在【甲】、【乙】两段文字中任选一段,回答后面的问题。

【甲】

  看到雪到晚越下得紧了。

  再说A踏着那瑞雪,迎着北风,飞也似奔到草场门口,开了锁,入内看时,只叫得苦。原来天理昭然,佑护善人义士,因这场大雪,救了A的性命:那两间草厅已被雪压倒了。(选自《水浒传》)

1、A处的人物是指_____________,其主要的性格特点是:_____________________________________________________。

2、用简练的语言写出《水浒传》中有关A的另一个故事:_____________________________________________________。

【乙】

  “离开桑菲尔德我感到痛苦,我爱桑菲尔德;——我爱它,因为我在那里过着丰富、愉快的生活,至少过了短短的一个时期。我没有受到践踏。我没有被弄得僵化。我没有被埋在低劣的心灵中,没被排斥在同光明、活力、崇高的一切交往之外。我曾经面对面地同我所尊敬的人,同我所喜爱的人,——同一个独特、活跃、宽广的心灵交谈过。我已经认识了你,A先生;感到自己非从你这儿被永远拉走不可,真叫我害怕和痛苦。

  我看到非走不可这个必要性,就像看到非死不可这个必要性一样。”(选自《简·爱》)

3、《简·爱》的作者是________________,A处的人物是指_____________________。

4、从小说情节看,简·爱为什么会产生“非走不可”的念头?

_____________________________________________________