目录
1、操作系统的进程
进程的概念
进程的组成------PCB
进程的组成------程序段、数据段
旧知新学:《程序是如何运行的》
进程的特征
本节思维导图
1、操作系统的进程
进程的概念
当我们打开多个qq程序,我们会发现任务管理器的进程中有两个qq进程:
程序:是静态的,是放在磁盘里的可执行文件,是一系列的指令集合
进程:是动态的,是一个程序的一次执行过程,同一个程序多次执行会对应多个进程
进程的组成------PCB
为了区分这些看起来相同的进程,操纵系统会在一个进程创建时,为该进程分配一个唯一的、不重复的“身份证号”-----PID(Process ID,进程ID)
可以看到的是任务管理器中有多个相同名字的网页的进程,它们的PID各不相同......
除了PID在任务管理器中我们还发现操作系统记录了其他的内容:
可以让操作系统区分各个进程的进程描述信息:
进程标识符PID、用户标识符UID
可用于实现操作系统对资源的管理的进程控制和管理信息
①CPU、磁盘、网络流量的使用情况统计等;
②进程当前状态:就绪态、阻塞态、运行态
③可用于实现操作系统对进程的控制、调度的资源分配清单:
某进程正在使用哪些文件 / 内存区域 / I/O设备
以及处理机的相关信息:
如PSW、PC等等各种寄存器的值(用于实现进程切换)
这些信息都被保存在一个数据结构PCB(Process Control Block),即进程控制块中
操作系统需要对各个并发运行的进程进行管理,而管理时所需的所有信息都会被放在PCB中
PCB是进程存在的唯一标志,当进程被创建时操作系统为其创建PCB,当进程结束时回收PCB
进程的组成------程序段、数据段
旧知新学:《程序是如何运行的》
其中,PCB、程序段和数据段三者共同组成了一个新的概念:进程实体/映像,它与进程的区别在于进程是动态的,而进程实体(进程映像)是静态的,后者反映了进程在某一时刻的状态(快照)如:x=2、x++等,我们也因此可以得出新的结论:PCB是给操作系统用的,而程序段和数据段是给进程自己使用的,与进程自身的运行逻辑有关
当我们引入进程实体的概念后,我们就可以将进程定义为以下内容:
进程是进程实体的运行过程,是系统进行资源分配和调度的一个独立单位
关于“调度”的解释:一个进程被“调度”,就是指操作系统决定让该进程运行在CPU上
关于前文“挂起两个qq进程”的相关拓展:同时挂起两个qq号,会产生两个qq进程,它们的PCB、数据段各不相同,但是它们程序段中的内容是相同的
进程的特征
相比于静态的程序,动态的进程拥有以下特征:
动态性:进程是程序的一次执行过程,是动态地发生、变化和消亡地
并发性:内存中有多个进程实体、各进程可并发执行
独立性:进程是能独立运行、独立获得资源、独立接受调度地基本单位
异步性:各进程按各自独立的、不可预知地速度向前推进,可能导致运行结果的不确定性
结构性:每个进程都会配置一个PCB,结构上来看,进程由程序段、数据段、PCB组成
需要补充的是:动态性是进程最基本的特征 ~
本节思维导图
~over~