### 操作系统的基本功能
操作系统是计算机硬件与用户之间的桥梁,它具有管理计算机硬件和软件资源、合理组织计算机工作流程、提供用户工作环境和友好接口的基本职能。其主要功能可以归纳为以下几个方面:
1. **处理机管理**:负责作业的调度、分配处理机、控制进程的执行顺序等,确保CPU资源得到有效利用。
2. **存储管理**:管理主存空间的分配与回收,控制程序和数据在存储器内的存储位置,保证内存的高效利用。
3. **设备管理**:对计算机中的所有外围设备进行管理,包括设备的分配、启动和回收,以及I/O进程的调度。
4. **信息管理(文件系统管理)**:负责文件的存储、检索、共享、保护和备份等操作,管理文件的存储空间和文件系统的结构。
5. **用户接口**:提供用户与计算机系统交互的界面,包括命令行界面和图形用户界面。
### 批处理、分时和实时系统
不同的操作系统根据应用场景的不同,设计有不同的工作模式,主要包括批处理系统、分时系统和实时系统。
1. **批处理系统**:用户提交的作业被系统分类并编排成批执行。主要特征包括用户脱机使用计算机、作业成批处理、支持多道程序运行。
2. **分时系统**:通过时间片轮转的方式将处理机分配给多个进程使用,实现了多用户的交互式操作。其特征在于交互性、多用户同时性、独立性。
3. **实时系统**:要求系统在指定时间内响应外部事件或请求。实时系统特征是对实时信息的处理速度快于系统内部处理速度,要求系统安全可靠,资源利用率低。
### 多道程序与多重处理的区别
多道程序与多重处理是两种不同的概念,它们在并发执行的机制上有所差异。
1. **多道程序(multiprogramming)**:是指系统能够自动调度多个作业交替执行,实现作业之间的共享资源,但并不是真正的同时运行多个作业。
2. **多重处理(multiprocessing)**:是指系统配置了多个CPU,能够真正实现并行处理多道程序。要有效利用多重处理系统,需要采用多道程序设计技术。
### 操作系统的研究角度
研究操作系统的不同角度可以帮助我们全面地理解操作系统:
1. **作为计算机资源的管理者**:操作系统对计算机内的软硬件资源进行管理,确保资源被合理分配和使用。
2. **作为用户界面的提供者**:操作系统提供了用户与计算机交互的界面,使得用户能够方便地发出指令和获取信息。
3. **作为进程管理的研究对象**:以进程管理的角度研究操作系统,关注进程的创建、执行、同步、通信和终止等过程。
### 作业管理的基本概念
作业是用户在计算机上要求完成的任务,而作业步则是作业处理过程中相对独立的一个阶段。
1. **作业**:是指用户在应用业务处理中,从输入到输出整个过程中要求计算机完成的全部工作。
2. **作业步**:构成作业的各个独立操作步骤,例如源程序的编辑输入和编译过程就是两个不同的作业步。
作业通常由三部分组成:
1. **程序**:定义了计算机执行的任务。
2. **数据**:是程序处理的对象。
3. **作业说明书**:说明了作业的基本要求和用户对作业的控制意图。
### 作业的输入方式及其特点
作业可以通过多种方式输入到计算机系统中,包括:
1. **联机输入方式**:用户与计算机系统交互输入作业。
2. **脱机输入方式**:通过低档个人计算机等外围设备预先输入作业,并存储在后备存储器上。
3. **直接耦合方式**:通过一个大容量外存直接将主机和外围设备耦合起来。
4. **SPOOLING系统**:外围设备同时联机操作,作业的输入输出由主机控制。
5. **网络输入方式**:基于前述几种方式,在网络环境下实现远程输入作业。
### SPOOLING系统工作原理
SPOOLING系统是外围设备同时联机操作的系统,其工作原理基于输入程序的两个过程:读过程和写过程。读过程负责从外部设备读取信息到缓冲区,写过程则负责将缓冲区的信息写入到外存的输入井中。整个过程在缓冲区满载或读到硬件结束标志时结束,系统随后建立作业控制块(JCB),将作业加入到输入井队列中,等待作业调度程序选择并加载到内存中执行。
### 作业说明书与作业控制块的异同
作业说明书和作业控制块都是与作业相关的文档,但它们各自承担的角色不同:
- **作业说明书**:提供了作业的基本描述、作业的控制信息,以及用户的需求说明,是作业执行前的指导性文档。
- **作业控制块(JCB)**:是在作业执行过程中由操作系统建立的,记录了作业的状态信息、资源分配情况和调度所需的数据,是操作系统进行作业调度和资源管理的依据。
通过对作业说明书和作业控制块的分析,可以更好地理解作业执行的前后状态和操作系统对作业的管理方式。