操作系统和进程的关系:
- 操作系统与普通计算机软件的作用相同,即它是由处理器执行的一段程序或一组程序。
- 操作系统必须交替执行多个进程,在合理的响应时间范围内使处理器的利用率最大。
- 操作系统必须按照特定的策略(如某些函数或应用程序具有较高的优先级)给进程分配资源,同时避免死锁。①
- 操作系统须为有助于构建应用的进程间通信和用户进程创建提供支持。
①从本质上看,如果两个进程为了继续需要相同的两个资源,而每个进程都拥有其中的一个资源时,就会发生死锁。每个进程都将无限地等待自己没有的那个资源。
目录
1.计算机、系统软件和资源
计算机平台由一组硬件资源组成,如处理器、内存、I/O模块、定时器和磁盘驱动器等。
开发操作系统是为了给应用程序提供方便、安全和一致的接口。操作系统是计算机硬件和应用程序之间的一层软件,它为应用程序和工具提供支持。
操作系统可想像为资源的一种抽象表示,它可被应用程序请求和访问。资源包括内存、网络接口和文件系统等。操作系统为应用程序创建这些资源的抽象表示后,就须管理他们的使用,例如操作系统既可允许资源共享,也可允许资源保护。
2.进程和进程控制块
可把进程视为由一组元素组成的实体,进程的两个基本元素是程序代码(可能被执行相同程序的其他进程共享)和与代码相关联的数据集。假设处理器开始执行这个程序代码,并且把这个执行实体称为进程。进程执行的任意时刻,都可由如下元素来表征:
- 标识符(进程ID):与进程相关的唯一标识符,用来区分其他进程。
- 状态:若进程正在执行,则进程处于运行态。
- 优先级:相对于其他进程的优先顺序。
- 程序计数器:程序中即将执行的下一条指令地址。
- 内存指针:包括程序代码和进程相关数据的指针,以及与其他进程共享内存块的指针。
- 上下文数据:进程执行时处理器的寄存器中的数据。
- I/O状态信息:包括显示I/O请求、分配给进程的I/O设备和被进程使用的文件列表等。
- 记账信息:包括处理器时间总和、使用的时钟数总和、时间限制、记账号等。
|
|
上述信息存放在一个称为进程控制块的数据结构中,控制块由操作系统创建和管理。进程中断时,操作系统会把程序计数器和处理器寄存器(上下文数据)保存到进程控制块中的相应位置,进程状态相应地改为其他值,如阻塞态或就绪态。
单处理器计算机在任何时刻最多都只能执行一个进程,