任务、进程和线程的区别
计算机操作系统考试题目及答案

计算机操作系统考试题目及答案一、选择题(每题2分,共20分)1. 计算机操作系统的主要功能是()A. 资源管理B. 程序控制C. 用户接口D. 以上都是答案:D2. 在操作系统中,进程和线程的主要区别是()A. 进程是资源分配的基本单位,线程是任务执行的基本单位B. 进程是任务执行的基本单位,线程是资源分配的基本单位C. 进程和线程没有区别D. 以上都不对答案:A3. 操作系统的五大特性包括:处理器管理、存储管理、设备管理、文件管理和()A. 用户接口B. 网络管理C. 图形界面管理D. 以上都是答案:D4. 下列关于操作系统的描述,错误的是()A. 操作系统是计算机系统的核心软件B. 操作系统负责管理计算机硬件和软件资源C. 操作系统提供用户与计算机之间的接口D. 操作系统可以运行在各种计算机硬件平台上答案:D5. 下列哪种调度算法是抢占式调度?()A. 先来先服务(FCFS)B. 最短作业优先(SJF)C. 轮转调度(Round Robin)D. 最高响应比优先(HRRN)答案:C二、填空题(每题2分,共20分)1. 操作系统的目标是______、______、______和______计算机资源。
答案:合理分配、高效利用、方便用户、确保安全2. 进程可以分为______进程和______进程。
答案:前台、后台3. 分页存储管理中,______是指内存中的一块连续的存储区域。
答案:页4. 在______调度算法中,操作系统会根据进程的优先级来决定下一个要执行的进程。
答案:优先级5. 文件系统的主要功能包括:______、______、______和______。
答案:文件存储、文件检索、文件修改、文件保护三、简答题(每题10分,共30分)1. 请简要介绍操作系统的五大特性。
答案:操作系统的五大特性包括:处理器管理、存储管理、设备管理、文件管理和用户接口。
处理器管理负责处理器的分配和调度;存储管理负责内存资源的分配和回收,以及内存的扩充技术;设备管理负责管理计算机硬件设备,包括输入输出设备的分配和回收,以及设备驱动程序的管理;文件管理负责文件的存储、检索、修改和保护,以及文件系统的维护;用户接口提供用户与计算机之间的交互,包括命令行接口和图形用户接口。
5、CPU的线程与操作系统的线程有何关系?操作系统中的进程和线程是什么关系?

5、CPU的线程与操作系统的线程有何关系?操作系统中的进程和线程是什么关系?CPU中的线程和操作系统(OS)中的线程即不同,在调度的时候⼜有些关联。
CPU中的线程,我们叫它们Thread,和OS中的线程的名字⼀样。
它来⾃同步多线程(SMT,Simultaneous Multi-threading)的概念。
我们现在在Intel的CPU上看到它,实际上这并不是Intel的发明创造。
它最早起源于学术圈,在硬件上IBM实现也⽐Intel早。
最早Intel使⽤了这种技术时候就叫做SMT,但后⾯改叫做HT (Hyper Threading),可能是这样更清楚(毕竟最多两个thread,⽐IBM怪物要少),更朗朗上⼝吧。
我们现在看到CPU,很多都⽀持HT,经常看到的2C4T的意思就是2核4线程(core,Thread)。
1个内核中的thread是对称的和对等的,在软件上没有任何区别,BIOS也只有通过⼀些特殊⼿段才能区分。
实际上,2C4T中的4个thread调度起来没有本质区别,它们都有⾃⼰单独的⾝份证号码:APIC ID。
调度起来只要知道别⼈的APIC ID,就⽤⾃⼰的Local APIC寄存器发出两个IPI(Inter-Processor Interrupts)就好了,那个被指明的倒霉蛋就莫名其妙的开始被调度去指定的地址执⾏指令了(尽管是实模式)。
当然也可以⼴播IPI让所有别的thread都去执⾏指定任务。
更多相关内容见:实际上CPU中Thead有多少,操作系统并不⾃⼰探测,是BIOS通过ACPI报告给OS的,那么BIOS是怎么知道有多少个Thread呢?就是通过⼴播IPI让各个thread⾃⼰来签到的,是不是很简单?操作系统中的ThreadOS中的Thread有⾃⼰的栈空间,和同⼀进程中的其他线程共享地址空间等等,这些基本知识因为⼴为⼈所知,这⾥就不罗嗦了。
此Thread⾮彼Thread操作系统中的进程可以很多,进程中的线程就更多了,常常有⼏⼗个上百个。
作业、进程、线程

作业、进程、线程1. 基本概念作业:⽤户在⼀次解决或是⼀个事务处理过程中要求计算机系统所做的⼯作的集合,它包括⽤户程序、所需要的数据集控制命令等。
作业是由⼀系列有序的步骤组成的。
作业的完成要经过作业提交、作业收容、作业执⾏和作业完成4个阶段。
在执⾏⼀个作业可能会运⾏多个不同的进程。
进程:程序在⼀个数据集上的⼀次运⾏过程。
是操作系统资源分配的基本单位。
在Windows下,进程⼜被细化为线程,也就是⼀个进程下有多个能独⽴运⾏的更⼩的单位. 进程还拥有⼀个私有的虚拟地址空间,该空间仅能被它所包含的线程访问。
线程:是进程中的⼀个实体,是被操作系统独⽴调度和执⾏的基本单位。
⼀个进程包含⼀个或多个线程。
线程只能归属于⼀个进程并且它只能访问该进程所拥有的资源。
当操作系统创建⼀个进程后,该进程会⾃动申请⼀个名为主线程或⾸要线程的线程。
主线程将执⾏运⾏时宿主, ⽽运⾏时宿主会负责载⼊CLR。
简单总结:作业是向计算机提交任务的任务实体,⽽进程是执⾏实体,是资源分配的基本单位,线程是处理机调度的基本单位。
2. 进程2.1 进程的概念主要有两点:第⼀,进程是⼀个实体。
每⼀个进程都有它⾃⼰的地址空间,⼀般情况下,包括⽂本区域(text region)、数据区域(data region)和堆栈(stack region)。
⽂本区域存储处理器执⾏的代码;数据区域存储变量和进程执⾏期间使⽤的动态分配的内存;堆栈区域存储着活动过程调⽤的指令和本地变量。
第⼆,进程是⼀个“执⾏中的程序”。
程序是⼀个没有⽣命的实体,只有处理器赋予程序⽣命时,它才能成为⼀个活动的实体,我们称其为进程。
2.2 进程特征 动态性:进程的实质是程序在多道程序系统中的⼀次执⾏过程,进程是动态产⽣,动态消亡的。
并发性:任何进程都可以同其他进程⼀起并发执⾏ 独⽴性:进程是⼀个能独⽴运⾏的基本单位,同时也是系统分配资源和调度的独⽴单位; 异步性:由于进程间的相互制约,使进程具有执⾏的间断性,即进程按各⾃独⽴的、不可预知的速度向前推进 结构特征:进程由程序、数据和进程控制块三部分组成。
cpu线程数是什么作用

cpu线程数是什么作用CPU进程与线程的关系和区别?cpu线程数是什么作用?中央处理器(CPU,英语:Central Processing Unit),是电子计算机的主要设备之一,电脑中的核心配件。
下面是店铺给大家整理的一些相关信息,希望对大家有帮助!cpu线程数是什么作用进程是具有一定独立功能的程序关于某个数据集合上的一次运行活动,进程是系统进行资源分配和调度的一个独立单位。
线程是进程的一个实体,是CPU调度和分派的基本单位,它是比进程更小的能独立运行的基本单位。
进程和线程的关系:(1)一个线程只能属于一个进程,而一个进程可以有多个线程,但至少有一个线程。
(2)资源分配给进程,同一进程的所有线程共享该进程的所有资源。
(3)处理机分给线程,即真正在处理机上运行的是线程。
(4)线程在执行过程中,需要协作同步。
不同进程的线程间要利用消息通信的办法实现同步。
进程与线程的区别:(1)调度:线程作为调度和分配的基本单位,进程作为拥有资源的基本单位(2)并发性:不仅进程之间可以并发执行,同一个进程的多个线程之间也可并发执行(3)拥有资源:进程是拥有资源的一个独立单位,线程不拥有系统资源,但可以访问隶属于进程的资源.(4) 系统开销:在创建或撤消进程时,由于系统都要为之分配和回收资源,导致系统的开销明显大于创建或撤消线程时的开销。
但是进程有独立的地址空间,一个进程崩溃后,在保护模式下不会对其它进程产生影响,而线程只是一个进程中的不同执行路径。
线程有自己的堆栈和局部变量,但线程之间没有单独的地址空间,一个进程死掉就等于所有的线程死掉,所以多进程的程序要比多线程的程序健壮,但在进程切换时,耗费资源较大,效率要差一些结论:(1)线程是进程的一部分(2)CPU调度的是线程(3)系统为进程分配资源,不对线程分配资源相关拓展:CPU中同步多线程是什么同步多线程(SMT)是一种在一个CPU 的时钟周期内能够执行来自多个线程的指令的硬件多线程技术。
操作系统线程的概念

操作系统线程的概念
操作系统线程是操作系统调度和执行的最小单位。
一个线程是程序中的一个单一流程,由线程执行器进行管理。
线程与进程类似,但线程是在进程内部执行的,共享进程的资源,包括内存、文件和设备。
一个进程可以有多个线程,这些线程可以并发执行,同时共享同一个进程的资源。
线程有以下几个特点:
1. 轻量级:线程相对于进程来说,创建和销毁的开销更小,上下文切换的开销更小。
2. 共享进程资源:线程与所属进程共享同一进程空间,可以访问进程的所有资源。
3. 并发执行:多个线程可以同时执行,实现了进程内部的并发性。
4. 有自己的栈空间:每个线程都有自己的栈空间,用于存储局部变量和函数调用信息。
线程可以用于提高程序的并发性和响应性。
通过将一个任务分解为多个线程并行执行,可以提高程序的处理能力。
同时,使用多线程的程序可以在某个线程阻塞等待的时候,继续执行其他线程,提高程序的响应性。
线程间通信可以通过共享变量实现,但需要注意线程安全问题。
多个线程同时访问共享变量可能导致数据的不一致或者竞争条件。
因此,在编写多线程程序时,需要保证对共享资源的访问
是线程安全的,可以通过加锁、使用同步机制等方式来解决这些问题。
进程、线程、管程三者之间的关系

进程、线程、管程三者之间的关系首先我们先了解进程、线程、管程各自的概念:进程:进程是一个具有一定独立功能的程序关于某个数据集合的一次运行活动。
它是操作系统动态执行的基本单元,在传统的操作系统中,进程既是基本的分配单元,也是基本的执行单元。
线程:线程是进程中的实体,一个进程可以拥有多个线程,一个线程必须有一个父进程。
线程不拥有系统资源,只有运行必须的一些数据结构;它与父进程的其它线程共享该进程所拥有的全部资源。
线程可以创建和撤消线程,从而实现程序的并发执行。
一般,线程具有就绪、阻塞和运行三种基本状态。
管程:管程定义了一个数据结构和能为并发进程所执行的一组操作,这组操作能同步进程和改变管程中的数据。
现在我们来了解进程和线程的关系:简而言之,一个进程至少有一个线程. 线程的划分尺度小于进程,使得多线程程序的并发性高。
另外,进程在执行过程中拥有独立的内存单元,而多个线程共享内存,从而极大地提高了程序的运行效率。
线程在执行过程中与进程还是有区别的。
每个独立的线程有一个程序运行的入口、顺序执行序列和程序的出口。
但是线程不能够独立执行,必须依存在应用程序中,由应用程序提供多个线程执行控制。
从逻辑角度来看,多线程的意义在于一个应用程序中,有多个执行部分可以同时执行。
但操作系统并没有将多个线程看做多个独立的应用,来实现进程的调度和管理以及资源分配。
这就是进程和线程的重要区别。
进程是具有一定独立功能的程序关于某个数据集合上的一次运行活动,进程是系统进行资源分配和调度的一个独立单位. 线程是进程的一个实体,是CPU调度和分派的基本单位,它是比进程更小的能独立运行的基本单位.线程自己基本上不拥有系统资源,只拥有一点在运行中必不可少的资源(如程序计数器,一组寄存器和栈),但是它可与同属一个进程的其他的线程共享进程所拥有的全部资源.一个线程可以创建和撤销另一个线程;同一个进程中的多个线程之间可以并发执行。
下面我们用实际图解来加以分析进程和线程之间的关系:这副图是一个双向多车道的道路图,假如我们把整条道路看成是一个“进程”的话,那么图中由白色虚线分隔开来的各个车道就是进程中的各个“线程”了。
程序与进程的区别

进程:是可以并发执行的程序在某个数据集合上的运行过程,是系统进行资源分配和调度的独立单位
线程:指进程中的一条执行路径,是系统进行处理器调度的基本单位,同一个进程中的所有线程共享进程获得的主存空间和资源
进程和线程比较:1调度性:线程是独立调度和分配的基本单位。
2并发性:线程具有更高的并发性。
3拥有资源:线程仅有少量运行必须的资源,进程是拥有资源的单位。
4系统开销:线程的系统开销更小
(以前学操作系统时的笔记,希望对你有用
1)程序只是一组指令的有序集合,它本身没有任何运行的含义,它只是一个静态的实体。
而进程则不同,它是程序在某个数据集上的执行。
进程是一个动态的实体,它有自己的生命周期。
它因创建而产生,因调度而运行,因等待资源或事件而被处于等待状态,因完成任务而被撤消。
反映了一个程序在一定的数据集上运行的全部动态过程。
2)进程和程序并不是一一对应的,一个程序执行在不同的数据集上就成为不同的进程,可以用进程控制块来唯一地标识每个进程。
而这一点正是程序无法做到的,由于程序没有和数据产生直接的联系,既使是执行不同的数据的程序,他们的指令的集合依然是一样的,所以无法唯一地标识出这些运行于不同数据集上的程序。
一般来说,一个进程肯定有一个与之对应的程序,而且只有一个。
而一个程序有可能没有与之对应的进程(因为它没有执行),也有可能有多个进程与之对应(运行在几个不同的数据集上)。
3)进程还具有并发性和交往性,这也与程序的封闭性不同。
多任务与多线程的区别

多任务与多线程的区别1.多任务在计算中,多任务是⼀种多个任务(也称之为进程)共享处理资源(如CPU)的⽅法。
在多任务操作系统上,例如Windows XP,您可以同时运⾏多个应⽤程序。
多任务实质是指操作系统在每个计算任务间快速切换,以致于看上去不同的应⽤似乎在同时执⾏多项操作。
当CPU时钟频率稳步提⾼时,不仅应⽤程序的运⾏速率可以更快,⽽且操作系统在应⽤间的切换速率也更快。
这样就提供了更好的整体性能——⼀台计算机可以同时发⽣多项操作,每项应⽤可以更快速地运⾏。
2. 单核对于拥有单个CPU核的计算机,任意时刻只能运⾏⼀项任务,这也意味着CPU主动地执⾏该任务的指令。
多任务通过调度(Scheduling)哪⼀项任务在哪⼀时刻运⾏以及何时切换到另⼀项任务,解决了这⼀问题。
图1。
单核系统⽀持多任务操作系统。
⽂字处理、Email、r⽹页浏览器、防病毒软件、进程、操作系统、CPU核3. 多核当运⾏于多核系统时,多任务操作系统可以真正地并发执⾏多项任务。
针对不同的任务,多个计算引擎独⽴地⼯作。
例如,在⼀个双核系统,有四项应⽤,如⽂字处理、电⼦邮件、⽹页浏览和防病毒软件,每项应⽤可以同时访问⼀个独⽴的处理器核。
您可以在检查电⼦邮件的同时输⼊⼀封⽂档,真正实现多任务,从⽽改善应⽤的整体性能。
图2。
双核系统⽀持多任务操作系统,如Windows XP,以真正地同时执⾏两项任务。
⽂字处理、Email电⼦邮件、⽹页浏览器、防病毒软件、进程、操作系统、CPU核操作系统通过在独⽴的CPU核之间划分不同的应⽤或进程,从⽽更有效地执⾏多项应⽤。
该计算机可以将⼯作任务分摊化——每个核在管理和切换原先⼀半数量的应⽤任务,并提供更好的整体吞吐量与性能。
实际上,这些应⽤任务是并⾏地执⾏的。
4. 多线程多线程将多任务的思想拓展到应⽤,因此,您可以将单个应⽤中的特定步骤进⼀步分解成⼀个个线程,每个线程可以并⾏运⾏。
操作系统不仅在不同的应⽤任务间分配处理时间,⽽且在⼀项应⽤的每个线程间分配处理时间。
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
任务、进程和线程的区别
推荐
摘:
任务(task)是最抽象的,是一个一般性的术语,指由软件完成的一个活动。
一个任务既可以是一个进程,也可以是一个线程。
简而言之,它指的是一系列共同达到某一目的的操作。
例如,读取数据并将数据放入内存中。
这个任务可以作为一个进程来实现,也可以作为一个线程(或作为一个中断任务)来实现。
进程(process)常常被定义为程序的执行。
可以把一个进程看成是一个独立的程序,在内存中有其完备的数据空间和代码空间。
一个进程所拥有的数据和变量只属于它自己。
线程(thread)则是某一进程中一路单独运行的程序。
也就是说,线程存在于进程之中。
一个进程由一个或多个线程构成,各线程共享相同的代码和全局数据,但各有其自己的堆栈。
由于堆栈是每个线程一个,所以局部变量对每一线程来说是私有的。
由于所有线程共享同样的代码和全局数据,它们比进程更紧密,比单独的进程间更趋向于相互作用,线程间的相互作用更容易些,因为它们本身就有某些供通信用的共享内存:进程的全局数据。
一个进程和一个线程最显著的区别是:线程有自己的全局数据。
线程存在于进程中,因此一个进程的全局变量由所有的线程共享。
由于线程共享同样的系统区域,操作系统分配给一个进程的资源对该进程的所有线程都是可用的,正如全局数据可供所有线程使用一样。
简而言之,一个程序至少有一个进程,一个进程至少有一个线程。
线程的划分尺度小于进程,使得多线程程序的并发性高。
另外,进程在执行过程中拥有独立的内存单元,而多个线程共享内存,从而极大地提高了程序的运行效率。
线程在执行过程中与进程还是有区别的。
每个独立的线程有一个程序运行的入口、顺序执行序列和程序的出口。
但是线程不能够独立执行,必须依存在应用程序中,由应用程序提供多个线程执行控制。
从逻辑角度来看,多线程的意义在于一个应用程序中,由多个执行部分可以同时执行。
但操作系统并没有将多个线程看做多个独立的应用,来实现进程的调度和管理以及资源分配,这就是进程和线程的重要区别。
一个线程可以创建和撤销另一个线程;同一个进程中的多个线程之间可以并发执行。
进程和线程的主要差别在于它们是不同的操作系统资源管理方式。
进程有独立的地址空间,一个进程崩溃后,在保护模式下不会对其它进程产生影响,而线程只是一个进程中的不同执行路径。
线程有自己的堆栈和局部变量,但线程之间没有单独的地址空间,一个线程死掉就等于整个进程死掉,所以多进程的程序要比多线程的程序健壮,但在进程切换时,耗费资源较大,效率要差一些。
但对于一些要求同时进行并且又要共享某些变量的并发操作,只能用线程,不能用进程。
进程概念
进程是表示资源分配的基本单位,又是调度运行的基本单位。
例如,用户运行自己的程序,系统就创建一个进程,并为它分配资源,包括各种表格、内存空间、磁盘空间、I/O设备等。
然后,把该进程放人进程的就绪队列。
进程调度程序选中它,为它分配CPU以及其它有关资源,该进程才真正运行。
所以,进程是系统中的并发执行的单位。
在Mac、Windows NT等采用微内核结构的操作系统中,进程的功能发生了变化:它只是资源分配的单位,而不再是调度运行的单位。
在微内核系统中,真正调度运行的基本单位是线程。
因此,实现并发功能的单位是线程。
线程概念
线程是进程中执行运算的最小单位,亦即执行处理机调度的基本单位。
如果把进程理解为在逻辑上操作系统所完成的任务,那么线程表示完成该任务的许多可能的子任务之一。
例如,假设用户启动了一个窗口中的数据库应用程序,操作系统就将对数据库的调用表示为一个进程。
假设用户要从数据库中产生一份工资单报表,并传到一个文件中,这是一个子任务;在产生工资单报表的过程中,用户又可以输人数据库查询请求,这又是一个子任务。
这样,操作系统则把每一个请求――工资单报表和新输人的数据查询表示为数据库进程中的独立的线程。
线程可以在处理器上独立调度执行,这样,在多处理器环境下就允许几个线程各自在单独处理器上进行。
操作系统提供线程就是为了方便而有效地实现这种并发性。
引入线程的好处
(1)易于调度。
(2)提高并发性。
通过线程可方便有效地实现并发性。
进程可创建多个线程来执行同一程序的不同部分。
(3)开销少。
创建线程比创建进程要快,所需开销很少。
(4)利于充分发挥多处理器的功能。
通过创建多线程进程(即一个进程可具有两个或更多个线程),每个线程在一个处理器上运行,从而实现应用程序的并发性,使每个处理器都得到充分运行。
进程和线程的关系
(1)一个线程只能属于一个进程,而一个进程可以有多个线程,但至少有一个线程。
(2)资源分配给进程,同一进程的所有线程共享该进程的所有资源。
(3)处理机分给线程,即真正在处理机上运行的是线程。
(4)线程在执行过程中,需要协作同步。
不同进程的线程间要利用消息通信的办法实现同步。