0%

进程管理(一):进程和线程

2.1.1进程的概念、组成、特征

进程vs程序

  • 程序:静态的 可执行文件
  • 进程:动态的 程序的一次执行过程

进程的组成

  1. PCB/进程控制块:操作系统个管理进程所需要的信息,都记录在这,组成
    1. 进程描述信息
      • PID:进程唯一的身份标识
      • UID:进程所属用户ID
    2. 进程控制和管理信息
      • CPU、磁盘、网络流量使用情况统计
      • 进程当前状态
    3. 资源分配清单
      • 正在使用哪些文件、正在使用哪些内存区域、正在使用哪些I/O设备
    4. 处理机相关信息
      • 如PSW、PC等等寄存器的值——>用来实现进程切换
  2. 程序段:程序的代码
  3. 数据段:运行过程当中产生的各种数据

PCB是给操作系统用的——方便操作系统管理

程序段、数据段是给进程自己用的

程序的运行过程

image-20240629204733795

  1. 代码经过编译链接形成可执行文件==一系列指令
  2. 运行时将指令读入内存,创建对应的进程(创建对应的PCB)
  3. cpu从内存的程序段中读取指令、执行
  4. 运行过程中产生的数据保存在数据段

进程是系统进行资源分配和调度的一个独立单位

进程的特征:

  1. 动态性
  2. 并发性
  3. 独立性:进程是能独立运行、独立获得资源、独立接受调度的基本单位
  4. 异步性:各进程按照各自独立的、不可预知的速度向前推进,操作系统要提供“进程同步机制”来解决异步问题
  5. 结构性:进程——>PCB+程序段+数据段

2.1.2进程的状态和转换

进程的状态转换

image-20240630011111138

进程的组织

链接方式:

执行指针—>PCB1(指向当前处于运行态的进程,多少个cpu=最多有多少个进程处于运行态)

就绪队列指针—>PCB2—>PCB3—>PCB4(指向当前处于就绪态的进程,通常会把优先级高的进程放在队头)

阻塞队列指针—>PCB5—>PCB6

操作系统还会根据阻塞原因不同再分为多个阻塞队列,比如说:等待打印机的阻塞队列,等待磁盘的阻塞队列

索引方式(较少用)

image-20240630004846720