操作系统--进程管理(一)

北城以北 提交于 2020-01-30 05:13:16

进程

前言
系统由一组进程组成: 操作系统进程执行系统代码 ,而用户进程执行用户代码。 通过(多个)CPU在进城之间的切换(多路复用),所有这些进程都有可能并发执行, 从而操作系统能使计算机更为高效。

4.1 进程概念

进程作业这两个概念在本博文中是相同的。

4.1.1 进程

进程是执行中的程序, 这是一种 非正式的说法。
进程不只是程序代码。 进程包括 当前活动, 通过 程序计数器 的值和 处理器 寄存器 的内容来表示。 另外, 进程通常还包括 进程 堆栈段(包括临时数据, 如方法参数、返回地址和 局部变量)和 数据段(包括全局变量)。

程序本身只是 被动实体, 而进程是 活动实体, 它有一个程序计数器 用来表示下一个要执行的 指令和相关 资源集合。
虽然 两个进程可以与 同一程序 相关, 但是它们 被当做两个 独立的执行序列。 例如, 多个用户可运行电子邮件程序的 拷贝, 或者同一用户能调用编辑器程序的多个拷贝。 这些都是独立的进程, 虽然文本段相同, 但是数据段不同。
通常 一个进程在运行时也会产生许多进程。

4.1.2 进程状态

进程执行时会改变状态。进程状态 部分地由进程的当前活动所定义。每个进程可能处于下列状态之一:

  • 新的: 进程正在被创建。

  • 运行: 指令正在被执行。

  • 等待: 进程等待一定事件的出现。

  • 就绪: 进程等待被分配给某个处理器。

  • 终止:进程已完成执行。
    在这里插入图片描述
    4.1.3 进程控制块
    每个进程在操作系统内用 进程控制块(process control block,)来表示,
    在这里插入图片描述
    其中

  • 进程状态: 状态可包括新的、就绪、运行、等待、停止等。

  • 程序计数器: 计数器表示这个进程要执行的下个指令的地址。

  • CPU寄存器:根据计算机体系结构的不同, 寄存器的数量和类型也不同。它们包括累加器、索引寄存器、堆栈指针、通过用寄存器和其他条件码信息寄存器。与程序计数器一样, 这些状态信息在出现 中断时, 也需要被保存, 以便程序以后能能正确的继续执行。

  • CPU调度信息: 这类信息包括进程优先级、调度队列的指针和任何其他调度参数。

  • 内存管理信息: 这类信息包括机制寄存器和接线寄存器的值、页表或段表(与操作系统所使用的内存系统有关)

  • 记账信息: 这列信息包括CPU 时间、实际使用时间、时间界限、记账数量、作业或进程数量等。

  • I/O状态信息: 这类信息包括分配给 该进程的I/O设备列表、打开文件的列表等。
    PCB 简单地作为

易学教程内所有资源均来自网络或用户发布的内容,如有违反法律规定的内容欢迎反馈
该文章没有解决你所遇到的问题?点击提问,说说你的问题,让更多的人一起探讨吧!