进程是什么
图解
grep a.txt
PID 105
代码 代码grep程序代码
数据 s = a
函数库 C语言函数库
文件 文件a.txt
PCB进程控制块
Processing Control Block
是操作系统核心中的数据结构,表示进程状态
操作系统根据PCB对并发执行的进程进行控制和管理
通常在系统中占用连续存区
存放着操作系统用于描述进程情况及控制进程运行所需的全部信息
id
用于区别进程
进程的状态
就绪 等待CPU分配时间片
挂起 等待除CPU外的其他资源(主动放弃CPU)
运行 占用CPU
停止
程序切换时需要保存的现场
A使用了CPU然后交给B
B正在使用CPU A挂起
A正在使用CPU B挂起
CPU中A/B两个程序在不断切换
程序使用的资源 寄存器 怎么恢复到挂起时的状态
PCB就用来记录程序停止运行时的寄存器状态 恢复后继续执行
描述虚拟地址空间的信息
虚拟/物理地址对应关系
控制终端的信息
xshell打开两个终端连接同一个Linux服务器 两个终端执行同一个程序,终端的信息就存在PCB中
当前工作目录
pwd为啥不同
umask掩码
保护文件创建修改的权限
文件描述符
用户id/组id
会话和进程组
进程和可使用的资源上限
ulimit -a
进程及组成
具有独立功能的程序在一个数据集上的一次动态执行的过程
程序
数据集合
进程控制块
进程的特性
动态性:程序的一次执行过程,临时的,动态产生/动态消亡
并发性:任何进程都可以同其他进程并发运行
独立性:进程时系统进行资源分配和调度的一个独立单位
结构性:程序+数据+进程控制块