操作系统(一)
1、什么是操作系统
操作系统是指控制和管理整个计算机系统的硬件与软件资源,合理的组织、调度计算机的工作与资源分配,进而为用户和其他软件提供方便接口与环境的程序集合。操作系统是计算机系统中最基本的系统软件。
- 控制和管理计算机系统的硬件与软件资源
- 合理组织、调度计算机的工作与资源分配
- 为用户和其他软件提供方便接口与环境程序集合
2、操作系统的特征
- 并发性 并发是指两个或多个事件在同一时间间隔内发生。 操作系统的并发性是指计算机系统中同时存在多个运行的程序,因此它具有处理和调度多个程序同时执行的能力。
- 共享性 资源共享即共享,是指系统中的资源可供内存中多个并发执行的进程共同使用。
- 互斥共享方式
- 一段时间内只允许一个进程访问的资源称为临界资源或独占资源
- 同时访问方式
- 互斥共享方式
- 虚拟性 是指把一个物理上的实体变为若干逻辑上的对应物。
- 异步性 是指进程的执行是走走停停的,它以不可预知的速度向前推进。
并发和共享是操作系统两个最基本的特征,两者之间互为存在的条件:
- 资源共享是以程序的并发为条件的,若系统不允许程序并发执行,则自然不存在资源共享问题
- 若系统不能对资源共享实施有效的管理,则必将影响到程序的并发执行,甚至根本无法并发执行
3、操作系统的目标和功能
-
作为计算机系统资源的管理者
- 处理机管理
- 存储器管理
- 文件管理
- 设备管理
-
作为用户与计算机硬件系统之间的接口
- 命令接口
- 联机命令接口 又叫交互式命令接口,简单来讲就是输入一条执行一条,例如windows的cmd窗口命令
- 脱机命令接口 又叫批处理命令接口,是一组命令,命令中包含了任务清单等。
- 程序接口
- 由一组系统调用(也叫广义指令)组成
- 当前最流行的图形接口(GUI)是通过调用程序接口实现的
- 命令接口
-
用作扩充机器
4、操作系统的运行机制
- 时钟管理 例如分时操作系统中,时间片用完后需要置时钟等操作
- 中断机制
- 原语
- 处于操作系统的最底层,是最接近硬件的部分
- 这些程序的运行具有原子性,其操作只能一气呵成
- 这些程序的运行时间都较短,而且调用频繁
- 定义原语的直接方法是关中断,此时系统就不会接收中断,待所有动作完成后再开中断
- 系统控制的数据结构及处理
- 进程管理
- 存储器管理
- 设备管理
5、操作系统的发展过程
- 手工操作阶段(无操作系统)
- 用户独占全机,虽然不会出现资源被其他用户占用的等待的情况,但资源利用率低
- CPU等待手工操作,利用不充分
- 批处理系统(无交互能力)
- 单道批处理系统
- 多道批处理系统
- 分时操作系统
- 实时操作系统
6、中断和异常
- 中断也称外中断,是指来自CPU执行指令以外的事件的发生
- 时钟中断,表示分给当前进程的时间片已用完
- I/O操作完成后发出中断,表示其I/O操作已完成,希望处理机能够向设备发出下一个I/O请求
- 异常也称内中断,例外或陷入(trap),指源自CPU指令内部的事件
- 程序的非法操作
- 地址越界
- 除0操作
7、中断和异常的处理过程
切换为内核态是硬件自动完成的
8、系统调用
所谓系统调用,是指用户在程序中调用操作系统的一些子功能,系统调用可视为特殊的公共子程序。
系统调用的很多操作,对整个系统的影响非常大,因此必定需要使用部分特权指令才可以完成,所以==系统调用的处理需要由操作系统内核程序负责完成,要运行在核心态==。用户程序可以执行**陷入指令(又称访管指令或trap指令)**来发起系统调用,请求操作系统提供服务。
- 由用户态转变为内核态,用到的访管指令是在用户态使用的,所以它不是特权指令
- 由用户态进入内核态,不仅状态需要切换,而且所用的堆栈也需要切换为系统堆栈,但这个系统堆栈也是属于该进程的
9、大内核与微内核
- 大内核系统将操作系统的主要功能模块都作为一个紧密联系的整体运行在核心态,从而为应用提供高性能的系统服务。因为各管理模块之间共享信息,能有效利用相互之间的有效特性,所以具有无可比拟的性能优势。
- 微内核系统将内核中最基本的功能(如进程管理等)保留在内核,而将那些不需要在核心态执行的功能移到用户态执行,从而降低了内核的设计复杂性。
微内核模式:
- 使内核与服务、服务与服务直接的接口更加清晰,易维护,各部分可以独立的优化和演进,保证了操作系统的可靠性
- 最大的问题是性能问题,因为需要频繁的在内核态与用户态之间切换,增大了系统开销