操作系统_进程和线程

进程与线程:

为什么要引入进程?

在多道程序环境下,允许多个程序并发执行,引入进程是以便于程序能够更好的并发执行,实现操作系统的并发和共享。

从不同的角度进程有多个定义:

  1. 进程是程序的一次执行过程。
  2. 进程是程序在一个数据集合上的运行过程,是系统进去资源分配和调度的独立单位。
  3. 进程是可以和别的进程并行计算。
  4. 进程可以定义为一个数据结构及能在其上进行操作的一个过程。

进程控制块:

为了使参与并发的执行的程序,能够独立正确的运行,因此会为进程配置一个进程控制块。(process control block) , 系统用PCB来描述进程的基本情况,和运行状态,进而控制和管理进程。它是进程存在的唯一标志,相应的创建进程就是创建PCB,撤销进程就是撤销PCB, 程序段,代码段,PCB构成进程实体,进程实体是动态的,而进程是动态的。

进程与程序的区别:

1,进程是动态的 ,程序是静态的,进程是程序的执行,它包含数据段,代码段,和PCB 而程序只是有序的代码集合,无执行含义。

2,进程是暂时的,程序是永久的,进程是一个状态的变化过程,而程序是永久保存的。

3,进程可以创建其他进程,而程序不能创建其他程序。

4,进程具有并行性,而程序没有。

线程:

为什么引入线程?

引入进程是为了便于程序更好的并发执行,增加资源利用率,那么引入线程就是为了减少程序的并发所带来的时空开销,提高操作系统的并发性。

线程的定义:

  1. 线程是程序的一个执行单元,比进程更小。
  2. 线程是一个进程的调度实体。
  3. 线程本身不能单独运行,只能包含在进程中,只能在进程中执行。

因此线程是进程中一个相对独立的,可调度的执行单元,线程基本不拥有资源,但它可以和该进程的其他线程共享该进程的全部资源。

在线程引入后,线程是操作系统进行独立调度的基本单位,进程是拥有资源的基本单位。

线程和进程的比较:

  1. 在以前没有引入线程的操作系统中,进程是拥有资源和独立调度的基本单位,而引入操作系统后,进程是拥有资源的基本单位,而线程是独立调度的基本单位,同一个进程中的线程切换不会引起进程的切换,而不同进程的线程切回会引起进程的切换。
  2. 进程一直都是拥有资源的基本单位,线程基本不拥有资源,只有一些运行时必不可少的资源,(如程序计数器,栈和一些寄存器),但同一个进程的线程可以共享所属的进程的资源。
  3. 引入线程后,不仅进程间可以并发执行,线程也可以并发执行,大大的提高了系统的并发性。
  4. 操作系统在创建和撤销进程时,系统都要为之分配和回收资源,如内存 I/O设备,所付出的开销远远大于创建线程所付出的开销,线程进行切换时,只需要保存和设置少量的寄存器内容,开销很小。
  • 1
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值