操作系统总结一概述
概念
操作系统是指控制和管理整个计算机系统硬件和软件资源,并合理的组织和调度计算机的资源分配,以提供给用户和其他软件方便的接口和环境的程序集合
特征
- 并发
- 共享(互斥共享、同时访问)
- 虚拟
- 异步
功能
- 处理机管理(即进程管理,包括进程控制、进程同步、进程通信、死锁处理、处理机调度等)
) - 存储器管理(内存分配、地址映射、内存保护与共享、内存扩充)
- 文件管理
- 设备管理
操作系统作为用户与计算机硬件之间的接口
- 命令接口:用户利用这些操作命令来组织和控制作业的执行
- 联机命令接口(交互式命令接口):适用于分时/实时操作系统的接口
- 脱机命令接口(批处理命令接口):适用于批处理系统
- 程序接口:编程人员可以使用它们来请求操作系统服务,有一组系统调用命令组成
发展
- 批处理阶段(单道批操作系统、多道批操作系统)
- 分时操作系统(采用时间片)
- 实时操作系统(及时、可靠)
运行环境
- 内核态
- 用户态
内核包括:系统调用类指令和一些对时钟管理、中断机制、原语、数据结构及处理的操作指令
通过中断和异常,CPU可以从用户态进入核心态
系统调用:
运行在核心态,是操作系统提供给编程人员的接口
用户在程序中调用操作系统所提供的一些子功能,可以看作特殊的公共子程序。系统中的各种共享资源都由操作系统统一掌管,因此在用户程序中,凡是与资源有关的操作,都必须通过系统调用的方式向操作系统提供服务请求,并由操作系统代为完成。
- 设备管理
- 文件管理
- 进程控制
- 内存管理
综述:
用户通过操作系统运行上层程序,而这个上层程序的运行依赖于操作系统的底层管理程序提供服务支持,当需要管理程序服务时,系统则通过硬件中断机制进入核心态,运行管理程序;也可能是由于异常被动的需要管理程序的服务,这是通过异常处理进入核心态。当管理程序运行结束后,用户程序需要继续运行,则通过相应的保存的程序现场退出中断或异常,返回断点处继续运行
一些用户态转向核心态的例子:
系统调用、发生中断、用户程序发生错误状态、用户程序企图执行一条特权指令
从核心态转向用户态:
特权指令:中断返回指令
注意:由用户态进入核心态,不仅状态需要切换,所使用的堆栈也可能需要由用户堆栈切换为系统堆栈,但这个系统堆栈也是属于该进程的。