程序

程序是指令和数据的有序集合,是静态的

 

进程

进程引入原因:

            1) 多道程序同时运行时,由于资源存在共享导致程序在执行过程存在制约关系而间断,这些动态的过程静态的程序概念不足以描述,所以引入了进程的概念,进程是动态的。

            2)更好地使多道程序并发执行,以提高资源的利用率和系统吞吐量,增加并发程度。

 

进程常用的定义有:

            1)进程是程序的一次执行过程

            2)进程是程序在处理机上顺序执行时发生的活动

            3)进程是具有独立功能的程序在一个数据集合上运行的过程,是系统进行资源分配和调度的独立单位

 

进程的组成:

            一个进程实体的组成包括:程序段、相关数据段、进程控制块(Process Control Block,PCB)。

          (ps.系统利用PCB来描述进程的基本情况和运行状态,进而控制和管理进程,是进程存在的唯一标识)

            进程把能够识别程序运行状态的变量存放在PCB中,系统通过PCB中变量的情况进行进程间的切换,使资源高效利用。

      甚至划分更小的调度单位线程(后续细说)提高并发性。

 

进程的状态:

进程与线程基础

图片来自网上截图

 

线程

线程引入的原因:

        为了减小程序在并发执行时所付出的时空开销,提高操作系统的并发性能。

 

线程的理解:

       可以理解为“轻量级的进程”,是一个基本的CPU执行单元,也是程序执行中最小单元,是独立运行和调度的基本单位。

 

小结

线程与进程的比较:

        1)在传统操作系统中,进程是拥有资源和独立调度的基本单位;

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

        2)进程是拥有资源的基本单位,而线程几乎不用系统资源

        3)线程执行开销比进程小,但是不利于资源的管理和保护。线程适合与SMP(多核处理机)机器上运行,而进程可以跨机器迁移

        4)进程有独立的地址空间,一个进程崩溃后,不会对其他进程造成影戏那个,但线程没有独立的地址和空间,一个线程崩溃会导致整个进程崩溃,多进程程序比多线程程序健壮。对于一些要求同时进行并要共享某些变量的并发操作,只能用线程

       5)线程不能够独立执行,必须依存在应用程序中

 

主要通过对教材和https://www.cnblogs.com/fuchongjundream/p/3829508.html博客阅读整理

       

 

   

 

相关文章:

  • 2021-07-23
  • 2021-12-28
  • 2021-12-31
  • 2021-08-31
  • 2021-10-29
  • 2021-05-06
  • 2022-12-23
猜你喜欢
  • 2022-01-08
  • 2021-08-29
  • 2022-12-23
  • 2021-11-23
  • 2021-06-13
  • 2021-10-05
相关资源
相似解决方案