操作系统是计算机系统的核心组成部分,它的主要任务是对计算机的硬件和软件资源进行管理和控制,以便高效地组织多道程序的运行,同时提供用户友好的接口。操作系统具有并发性、共享性和异步性的基本特征。
1. 并发性:指的是多个程序在同一时间段内同时执行,但并非在同一时刻执行。操作系统通过时间片轮转、多处理器调度等方式实现并发。
2. 共享性:操作系统允许资源被多个进程共享,包括硬件资源和软件资源,如内存、I/O设备等。
3. 异步性:操作系统支持程序的非顺序执行,即进程的执行不按照固定的顺序进行,而是根据事件的发生和调度策略来决定。
操作系统的功能主要包括:
1. 处理机管理:负责CPU的调度和分配,确保多道程序的并发执行。
2. 存储管理:管理主存储器,进行内存分配、回收和保护,防止数据丢失或破坏。
3. 设备管理:处理I/O设备的请求,实现设备的分配、使用和回收,确保高效的数据传输。
4. 文件管理:维护外存上的文件,包括创建、删除、读写和保护文件。
5. 作业管理:对用户提交的作业进行管理和调度,控制作业的生命周期。
操作系统通常由以下功能模块构成:
1. 进程管理(处理机管理):处理进程的创建、撤销、阻塞、唤醒等,以及进程间的通信。
2. 存储管理:包括内存分配、页面替换、地址映射等,优化内存使用。
3. 设备管理:采用缓冲池、设备驱动程序、设备控制器等手段,提高设备利用率。
4. 文件管理:负责文件的命名、存储、检索、保护和更新。
5. 用户接口:提供命令接口和图形用户界面(GUI),使得用户可以方便地与系统交互。
中断向量是存储中断处理程序入口地址的内存区域,多级中断则是为了解决多个中断请求的优先级问题。中断处理通常包括响应中断、保存现场、执行中断处理程序、恢复现场和退出中断等步骤。
多道程序设计技术让多个程序在内存中同时运行,实现宏观上的并行。分时系统和实时系统的主要区别在于响应时间的要求和应用特性,分时系统强调交互性,实时系统注重及时响应。
SPOOLing技术利用磁盘作为临时存储,模拟慢速设备的直接连接,实现多个用户同时使用同一设备,提高了设备利用率。
操作系统用户接口通常包括命令界面和系统调用界面,命令界面适合普通用户,而系统调用界面则供程序员在编写程序时调用操作系统服务。
程序状态字包含程序的状态信息,如当前运行状态、中断码和中断屏蔽位,这些信息用于处理器状态的切换和异常处理。
作业和进程是不同的概念,作业是用户请求计算机执行的任务,而进程是执行中的程序实例。一个作业可能包含多个进程,这些进程协作完成作业的目标。
进程是操作系统调度的基本单位,而线程是进程内的执行单元,可以并发执行。线程共享进程的资源,但有自己的栈和程序计数器,线程间的切换比进程更轻量级,因此效率更高。