# 概述
什么是操作系统?(答案如下)
- 操作系统管理计算机资源,主要对处理机、存储器、文件、作业、设备进行管理。
- 操作系统为用户提供了使用计算机硬件资源的接口。常见的接口提供方式有图形接口、命令行接口、程序接口。
- 操作系统被用作扩充机器。裸机是没有软件的计算机,而操作系统可以将裸机改造为功能更强、更方便的机器。
操作系统有核心态(管态)和用户态(目态)两种运行状态,对应将程序划分为内核程序和应用程序
操作系统需要通过内核的时钟管理,向用户提供标准的系统时间。其次,通过时钟中断的管理,可以实现进程的切换。
内核是计算机上配置的底层软件。主要包括时钟管理、中断机制、一系列原语、系统控制的数据结构以及如何管理这些数据结构。
原语是操作系统底层的一些可被调用的公用小程序,用于完成一个规定的操作。
原语位于操作系统底层,最接近硬件。
原语可以被中断。
原语程序的运行具有原子性,操作只能一气呵成。
原语调用频繁,运行时间短。
中断是 CPU 对系统发生的事件做出的一个反应,使 CPU 暂停正在执行的程序,保留现场,并执行相应的处理程序。
中断机制的引入,初衷是为了提升多道程序运行环境中 CPU 的利用率,后面发展为操作系统各项操作的基础。
中断具有优先级。
低级中断不能被高级中断打断。
外中断通常与 CPU 执行的指令无关。异常又被称为内中断,主要是由 CPU 执行的指令产生的事件,比如地址越界,算术溢出等,是 CPU 执行指令本身时出现的问题。
异常是一种特殊的中断。
对中断的处理方式有顺序处理和嵌套处理。
嵌套处理主要是由于中断优先级的存在,高级的中断打断低级中断。
常见中断处理流程是:关中断(CPU 相应中断,从此刻开始不会响应更高级的中断的请求) 保存断点(将原来程序的断点,即程序计数器 PC 保存起来) 引入中断服务程序 保护现场(保存相关寄存器的内容) 开中断(允许响应更高级的中断) 执行中断服务程序 关中断(准备恢复现场,此刻开始不再响应更高级中断的请求) 恢复现场 开中断、中断返回。
操作系统的内核类型有大内核(强内核、单内核)和微内核。
微内核操作系统因为需要频繁在用户态和核心态之间切换,所以有一定的性能损失。
大内核将操作系统的功能作为一个紧密结合的整体放到内核中。
微内核则是将操作系统分为多个小的、定义良好的功能模块。基本的功能保留到内核,即微内核,而其他的功能模块运行在用户态。