1.进程的基本原理
1.1什么是进程?
进程(Process)是计算机中的程序关于某数据集合上的一次运行活动,是系统进行资源分配和调度的基本单位,是操作系统结构的基础。
在计算机的硬件资源中,CPU是核心的硬件资源,承担了所有的计算任务;内存资源承担了运行时的数据保存任务;外存资源(硬盘等)承担了数据的外部永久储存的任务。其中,计算任务的调度、资源分配,由操作系统来统领。应用程序以进程的形式,运行在操作系统之上。
1.2进程的组成
一般来说,一个进程一般由程序段、数据段和程序控制块PCB(Program Control Block)三部分组成。
进程的组成
其中PCB是给操作系统用的,程序段、数据段是给进程自己的用的。
PCB包含了进程的重要内容,主要由以下四大部分组成:
PCB的组成
操作系统对进程进行管理工作所需的信息都存在PCB中,PCB是进程存在的唯 一标志,当进程被创 建时,操作系统为其 创建PCB,当进程结束时,会回收其PCB。
2.线程的基本原理
2.1什么是线程?
可以把线程理解为“轻量级进程”。线程是一个基本的CPU执行单元,也是程序执行流的最小单位。
2.2为什么要引入线程?
引入线程之后,不仅是进程之间可以并发,进程内的各线程之间也可以并发,从而进一步提升了系统的并发度,使得一个进程内也可以并发处理各种任务(如QQ视频、文字聊天、传文件)
引入线程后,进程只作为除CPU之外的系统资源的分配单元,线程则作为处理机的分配单元
上面提到了并发,那么在操作系统中并发和并行是什么呢?
并发:指两个或多个事件在同一时间间隔内发生。这些事件宏观上是同时发生的,但微观上是交替发生的。
并行:指两个或多个事件在同一时刻同时发生。
单核CPU同一时刻只能执行一个程序,各个程序只能并发地执行 ,多核CPU同一时刻可以同时执行多个程序,多个程序可以并行地执行。
2.3线程的组成
一个标准的线程主要由以下三个部分组成:线程描述信息、程序计数器(PC)、和栈内存组成。
线程的组成
3.线程和进程的区别
1.线程是“进程代码段”的一次的顺序执行流程。一个进程由一个或多个线程组成;一个进程至少有一个线程。
2.线程是 CPU 调度的最小单位;进程是操作系统分配资源的最小单位。线程的划分尺度小于进程,使得多线程程序的并发性高。
3.线程是出于高并发的调度诉求,从进程内部演进而来。线程的出现,既充分发挥 CPU的计算性能,弥补进程调度的过于笨重。
4.进程之间是相互独立的;但进程内部各个线程之间,并不完全独立。各个线程之间共享进程的方法区内存、堆内存、系统资源(文件句柄、系统信号等等)。
5.切换速度不同:线程上下文切换比进程上下文切换要快得多。所以,有的时候,线程也称之为轻量级进程。
网友评论