操作系统中的进程管理与调度详解
1. 进程管理
在操作系统中,进程管理是一项核心功能。用户在同一时间通常只执行一个任务,但应用程序进程代码的执行可能会因多种原因被中断。比如,用户按下按键以引起注意、外部源(如通信链路)传来信号,或者应用程序进程向操作系统请求服务(如执行 I/O 操作或分配更多内存)。
即使是个人计算机,情况也比上述描述更为复杂,因为通常会有多个进程同时处于活跃状态。例如,个人计算机上常见的后台进程,在文字处理应用中,通常可以在处理文档的同时进行打印操作,打印进程会利用主应用程序软件或操作系统未使用的处理器周期。在小型系统中,这可能会减慢甚至暂时中断主进程的顺利执行;而在高速处理器上,可能几乎没有明显影响。
1.1 创建进程
操作系统创建进程时,需要完成以下几个关键步骤:
- 识别进程 :将其与同一时间活跃的其他进程区分开来,通常通过分配一个数字标识符来实现。
- 分配内存空间 :为进程分配足够的内存空间,并确保其被加载。
- 建立资源链接 :在进程标识符和其使用的资源(如文件)之间建立链接。
- 跟踪进程状态 :利用进程标识信息跟踪其状态(就绪、运行或挂起),以及确定下一条需要执行的指令。
操作系统会将这些信息构建到控制信息表中,进程标识符通常是其在表中的位置编号;或者存储在独立的进程控制块中。控制信息通常包括进程标识符、进程状态、下一条待获取指令的内存地址、寄存器的保存内容(进程不运行时)、内存限制以及指向与该进程相关资源控制信