操作系统简介
一、操作系统的目标和功能?
1.操作系统是计算机-资源的管理者
处理机管理
(进程控制、进程同步、进程通信、死锁处理、处理机调度)
存储器管理
(提高内存利用率,内存的分配与回收、地址映射、内存保护与共享、内存扩充)
文件管理
(计算机中的信息都是以文件的形式存在的)
设备管理
(完成用户的I/O请求,方便用户使用设备、并提高设备的利用率)
2.操作系统为用户提供使用计算机硬件系统的接口
命令接口
(用户通过控制台或终端输入操作命令,向系统提供各种服务要求)
程序接口
(由系统调用组成,用户在程序中使用这些系统调用来请求操作系统为其提供服务)
图形接口 最常见的图形用户界面GUI(最终还是通过调用程序接口实现的)
3.操作系统用作扩充机器
操作系统将裸机改造成功能更强、使用更方便的机器。我们将覆盖了软件的机器称为扩充机器或虚拟机。
二.操作系统的运行机制?
1.内核程序和应用程序(内核态和用户态)
特权指令:I/O指令、置中断指令,存取用于内存保护的寄存器,送程序状态字到程序状态字寄存器等指令。
操作系统在具体实现上划分了用户态(目态和核心态(管态),以严格区分两类程序。
2.层次式结构
操作系统的各项功能分别被设置在不同的层次上。一些与硬件关联较紧密的模块,诸如时钟管理、中断管理、设备驱动等处于最底层。其次是运行频率较高的程序,诸如进程管理、存储管理和设备管理等。 上面的这两部分内容构成了操作系统的内核,这部分内容的指令操作工作在核心态。
3.内核
1)时钟管理
时间片轮转调度
2)中断机制
引入中断技术的初衷是提高多道程序运行环境中CPU的利用率,主要针对外部设备。
3)原语
- ------ 它们处于操作系统的最底层,是最接近硬件的部分。
- 这些程序的运行具有原子性,其操作只能一气呵成
- ------ 这些程序的运行时间都较短,而且调用频繁。
定义原语的直接方法是关闭中断,让它的所有动作不可分割地进行完再打开中断。
4)系统
常见的操作有以下三种:
- ------ 进程管理:进程状态管理、进程调度和分配、创建和撤销进程控制块等。
- ------ 存储器管理:存储器的空间分配和回收、内存信息保护程序、代码对换程序等。
- ------ 设备管理:缓冲区管理、设备分配和回收等。
三.中断和异常?
- 1.中断的引入——为了支持CPU和设备之间的并行操作,这一类中断通常是与当前执行的指令无关的事件。
- 2.异常的引入——表示CPU执行指令本身时出现的问题。
异常也称内中断、例外或陷入,指源自CPU执行指令内部的事件,如程序的非法操作码、地址越界、算术溢出、缺页异常等。对异常的处理一般要依赖与当前程序的运行现场,不能被屏蔽。
.中断执行流程
- 关中断
- 保存断点
- 引出中断服务程序
- 保存现场和屏蔽字
- 开中断
- 执行中断服务程序
- 关中断
- 恢复现场和屏蔽字
- 开中断,中断返回
系统调用?
系统调用:
- 1.把用户从底层的硬件编程中解放了出来;
- 2.极大地提高了系统的安全性使用户程序具有可移植性;用户程序与具体硬件已经被抽象接口所替代。
四.大内核和微内核
- 1.大内核
大内核是将操作系统功能作为一个紧密结合的整体放到内核。由于各模块共享信息,因此有很高的性能。 - 2.微内核
由于操作系统不断复杂,因此将一部分操作系统功能移出内核,从而降低内核的复杂性。移出的部分根据分层的原则划分成若干服务,相互独立。在微内核结构下,操作系统被划分成小的、定义良好的模块,只有微内核这一个模块运行在内核态,其余模块运行在用户态。因为需要频繁地在用户态和核心态之间进行切换,所以会有一定的性能损失。