操作系统概述
操作系统概述
操作系统的概念、特征、功能以及提供的服务
- 概念
- 控制程序(防止不当使用、为用户提供服务)
- 一个系统软件
- 控制程序执行过程
- 防止错误或者计算机的不当操作
- 执行用户程序
- 为用户程序提供各种服务,方便用户使用计算机
- 资源管理器(连接软件硬件,管理资源被高效利用,解决冲突确保公平)
- 应用程序和硬件之间的中间层
- 管理各种计算机软硬资源
- 提供访问计算机软硬资源的高效手段
- 解决资源访问冲突,确保资源公平使用
- 控制程序(防止不当使用、为用户提供服务)
- 特征
- 并发
- 计算机系统中存在多个运行的程序,需要OS进行管理和调度
- 共享
- 程序运行过程中,宏观上并行执行,微观上互斥共享软硬件资源
- 虚拟
- 利用多道程序设计技术(交替运行程序),让计算机的每个用户专门有一个用户为它访问的感观
- 异步
- 程序的执行不是一贯到底而是走走停停,向前推进的速度不可知,只要运行环境相同,操作系统应当保证每次返回的数值相同
- 并发
- 功能
- 进程管理(处理机管理功能)
- 进程控制、进程同步、进程通信、调度
- 内存管理(存储器管理功能)
- 内存分配、内存保护、地址映射、内存扩充
- 设备管理(设备管理功能)
- 缓冲管理、设备分配、设备处理
- 文件管理(文件管理功能)
- 文件存储空间的管理、目录管理、文件读写管理和维护
- IO管理
- 用户接口(联机、脱机、图形用户)、程序接口
- 其他功能
- 系统安全、网络功能和服务、多媒体支持
- 进程管理(处理机管理功能)
- 提供的服务
- 进程和处理机管理
- 文件管理
- 设备管理
- 作业管理
- 存储管理
操作系统的分类
- 未配置操作系统的计算机
- 单道批处理系统
- 多道批处理系统
- 分时系统
- 实时系统
- 单用户单任务操作系统(MS-DOS)
- 单用户多任务操作系统(Windows)
- 多用户多任务操作系统(Unix)
操作系统的运行环境
- 内核态和用户态
- 内核态:拥有更高级别的系统权限
- 用户态:非特权状态、代码被限制不能进行某些操作,比如写入其它进程的存储空间。内核禁止用户态的代码进行潜在的危险操作:修改系统配置文件、结束其它程序的进程、重启系统等。
- 由用户态切换到内核态的三种方式
- 异常
- 当CPU在执行运行在用户态下的代码时,发生了某些不可预见的异常,这时会触发当前运行进程到处理此异常的内核相关程序中去,也就相应的转移到了内核态。如缺页异常。
- 中断
- 当外围设备完成用户请求操作后,会向CPU发起相应的中断信号,这时CPU会暂停执行下一条即将要执行的指令而去执行与中断信号相对应的应用程序,如果先前执行的指令是用户态下的程序,那么这个转换过程自然发生了用户态到内核态的切换。如硬盘读写操作完成,系统会切换到硬盘读写的中断处理程序中执行后续操作。
- 系统调用
- 用户态进程主动要求切换到内核态的一种方式,用户态进程通过系统调用申请使用操作系统提供的服务程序完成工作。系统调用实际上是一个主动的中断。
- 异常
操作系统的结构
- 简单结构
- 没有拆分为模块,接口和功能水平没有分离
- 分层结构
- 将系统结构分为多层,layer0是硬件层,layerN是用户界面,每一层仅能使用前一层的服务和功能(可移植性)
- 微内核结构
- 将尽可能多的功能移到用户空间,内核中仅保留进程间的通信和硬件操作。用户模块间的通信需要经过内核(安全性,可拓展性)
- 外核结构
- 让内核分配机器的物理资源给多个应用程序,让每个程序决定如何处理。程序链接到libOS实现操作系统的抽象,保护和控制分离
- VMM(虚拟机管理器)
- 虚拟机管理器将单独的机器接口转换成很多的虚拟机,每个虚拟机都是一个原始的操作系统的有效副本,并能完成所有的处理器指令。
本博客所有文章除特别声明外,均采用 CC BY-NC-SA 4.0 许可协议。转载请注明来源 xhj的博客!