进程与线程的基本概念

本文仅对操作系统中的进程与线程概念进行阐述,所有内容来源于汤小丹等人编著的《计算机操作系统(第三版)》。

1、进程

再说进程前,首先了解一下操作系统的发展。

大家都知道第一台计算机是用户通过事先穿孔的纸带作为输入的机器,这是一种没有操作系统的机器,缺点也很明显就是用户独占,CPU等待人工操作。之后人们针对这个问题对计算机进行了改进,引入了脱机输入/输出方式,通过将纸带上的数据输入到磁带中,CPU需要时从磁带中获取即可。提高了IO的速度以及减少了CPU的空闲时间,个人理解这个应该是单道批处理系统的雏形,但这依然是没有操作系统的。

后来,随着晶体管的发展,出现了第二代计算机,随之出现的是单道批处理系统,人们将一批作业以脱机方式输入到磁带上,并在系统中配上监督程序,在它的控制下使这批作业能一个接一个的连续处理。由于系统对作业的处理都是成批地进行的,且内存中始终只保持一道作业,故称此系统为单道批处理系统。

20世纪60年代中期,小规模集成电路的应用,第三代计算机出现。单道批处理系统中,内存中仅有一道作业,系统性能较差。为了进一步提高性能,又引入了多道程序设计技术,由此形成了多道批处理系统。

但多批道处理系统也有缺点,所以后来根据不同的需求,出现了分时系统和实时系统以及微机系统。

程序在单道批处理系统中的执行方式是顺序执行,即必须在一个程序执行完后,才能执行另一个程序;在多道批处理系统中,允许多个程序并发执行,但这也引入了一些问题。

在程序顺序执行时具有顺序性、封闭性和可再现性的特征。程序并发执行时的特征是间断性(因为共享系统资源,为完成一项任务而相互合作,致使这些并发执行的程序之间形成了相互制约的关系,后续节点必须等到所有前驱节点运行完成才能执行)、失去封闭性(因为共享系统中的资源,因而资源的状态将由多个程序来改变)、不可再现性(由于失去封闭性,也将导致其失去可再现性)。

如果程序执行结果是不可再现的,那程序的运行也就失去了意义。为了解决这个问题。人们引入了”进程”的概念。

首先从进程的结构上来看,为了使程序(包含数据)能独立运行,人们为其配置了进程控制块,即PCB(Process Control Block);而由程序段、相关的数据段、PCB三部分便构成了进程实体。在许多情况下所说的进程,指的就是进程实体,创建进程,实质上是创建进程实体的PCB;而撤销进程,实质是撤销进程的PCB。

进程有哪些特征:

1、动态性

进程的实质是进程实体的一次执行过程,因此,动态性是进程的最基本特征。动态性还表现在:”它由创建而产生,由调度而执行,由撤销而消亡”。可见进程实体有一定的生命期。程序则是一组有序指令的集合,并存放在某种介质上。

2、并发性

多个进程实体同存于内存中,且能在一段时间内同时运行。

3、独立性

在没有线程的OS中,进程实体是一个能够独立运行独立分配资源和独立接受调度的基本单位。

4、异步性

进程按各自独立的不可预知的速度向前推进。

根据以上信息我们对传统OS(未引入线程的OS)中的进程做如下定义:”进程是进程实体的运行过程,是操作系统进行资源分配和调度的一个独立单位”。

2、线程

在20世纪80年代中期,线程概念提出之前,进程一直作为OS中能拥有资源和独立运行的基本单位。线程概念提出后,线程成为了能独立运行的基本单位。从进程的两个基本属性:(1)、进程是一个可拥有资源的独立单位;(2)、进程同时又是一个可独立调度和分派的基本单位。由于进程是一个资源的拥有者,因而在创建、撤销和切换中,系统必须为之付出较大的时空开销。为了减少这种开销,人们提出了线程的概念。

线程的属性

  1. 、轻型实体。线程中的实体基本不拥有系统资源,只有一点必不可少的、能保证其独立运行的资源,比如,在每个线程中都应具有一个用于控制线程运行的线程控制块TCB,用于只是被执行指令序列的程序计数器,保留局部变量、少数状态参数和返回地址等的一组寄存器和堆栈。
  2. 独立调度和分派的基本单位。在多线程OS中,线程是能独立运行的基本单位,因而也是独立调度和分派的基本单位。由于线程很”轻”,故线程的切换非常迅速且开销小。
  3. 可并发执行。在一个进程中的多个线程之间可以并发执行;同样,不同进程中的线程也能并发执行。
  4. 共享进程资源。在同一进程中的各个线程都可以共享该进程所拥有的资源,这首先表现在所有线程都具有相同的地址空间(进程的地址空间)。这意味着线程可以访问该地址空间中的每一个虚地址、进程所拥有的已打开文件、定时器、信号量机构等。

可以说线程是轻型进程或进程元。

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值