操作系统学习笔记——进程与线程联系与区别

此篇博客是博主在学习操作系统过程中的笔记,通过写博客加深对进程和线程的理解,贴出来希望和大家共同进步。进程和线程是操作系统的重点和难点内容,也是互联网面试高频考点,学好进程和线程的相关问题,有利于后续的多线程编程。

 

 

进程的定义:

进程可以定位为一个数据结构及能在其上进行操作的一个程序,百话点,就是程序的一次执行过程。

线程的定义:

线程是进程内的一个执行单元,是进程内的一个相对独立、可调度实体

 

进程的特点:

1、动态性:进程是程序的一次动态执行过程,表现在创建而生,调度执行,撤销而亡。

2、并发性:引入进程目的就是为了使程序能与其他程序并发执行,以便提高资源利用率。

3、独立性:进程是一个能独立运行的基本单位,是系统进行资源分配和调度的基本单位:

4、异步性:进程运行时各自独立。

5、结构性:进程=PCB(程序控制块)+程序段+数据段

 

 

下面讲讲引入进程和线程概念的原因

在多道程序的环境下,程序的执行属于并发执行,这时候封闭性将消失,并具有间断性和不可再现性,由于程序执行结果的不可预测性,程序是不能参与并发执行的。为了能够是的程序并发执行,并且能够对程序加以描述和控制,引入了进程的概念。

 

系统在创建进程和撤销进程需要系统位置分配和回收资源,为了减少程序并发执行过程中所付出的时空开销,是操作系统具有更好的并发性,引入了线程的概念。

 

从以下四个方面对线程和进程进行比较

1、调度性:在传统的操作系统中,进程是拥有资源和独立调度的基本单位;而引入线程的操作系统中,进程的调度功能交给线程,线程成为独立调度的基本单位,这时候进程是资源拥有的基本单位。在同一个进程中,线程的切换不会造成进程的切换,而在不同进程中,线程的切换会导致进程的切换。

2、并发性:引入线程后,进程之间可以并发执行,线程之间也可以并发执行。

3、拥有资源:进程是拥有资源的基本单位,在引入线程的操作系统中,线程不拥有资源,但是可以访问其所在进程的资源。

4、系统开销:系统在创建进程和撤销进程需要系统位置分配和回收资源,操作系统所付出的开销远大于穿件和撤销线程时的开销。在进程切换,涉及到整个CPU环境保存以及新调度到进程的CPU的环境设置;在线程切换时,只需要保留和设置少量寄存器内容,开销较小。另外,由于线程共享进程的地址空间,因此线程同步较容易实现,甚至不需要操作系统来干预。

你可能感兴趣的:(操作系统)