如果本文对你有用,麻烦请给我点个赞👍,这是对我很大的鼓励!
1.1 操作系统的概念
操作系统是最基本的系统软件,负责管理调度计算机的各种资源,并且向上层用户提供接口和环境
- 操作系统在资源管理方面,需要实现 文件管理、内存管理、处理器管理 和 设备管理
- 操作系统在提供用户接口方面,分为两类:命令接口 和 程序接口
- 命令接口:用户可以直接使用的命令
- 联机命令接口:交互式的命令,类似cmd命令
- 脱机命令接口:批处理式的指令,类似bat脚本
- 程序接口:只能通过程序使用的接口,类似dll文件,系统调用
- 命令接口:用户可以直接使用的命令
- 硬件层次上,操作系统实现对机器的拓展
1.2 操作系统的特征
操作系统的特征有四个,分别为 并发性、共享性、虚拟性 和 异步性
并发
操作系统中同时存在多个运行中的程序,实质上他们是交替运行的
共享
资源可供多个并发进程共同使用,分为互斥共享和同时共享
虚拟
把一个物理试题虚拟成为逻辑上的对应物,比如 虚拟内存
异步
进程是走走停停的,程序可能阻塞
1.3 操作系统分类
手工操作阶段
早期数据的IO依靠人力手工制作纸带输入,效率很低
缺点:用户独占全机,并且人机的速度矛盾很大
单道批处理系统
用磁带输入,缓解一定程度人机速度的矛盾
缺点:计算机只运行一道程序,IO时候CPU空闲
多道批处理系统
同时输入多道程序,并发执行,引入了中断技术
缺点:没有人机交互的方式,用户只能等待计算机执行完毕
分时操作系统
以时间片为单位轮流服务,可以用终端进行交互 缺点:紧急任务不能被优先处理
实时操作系统
分时操作系统的基础上优先响应紧急任务,有及时性和可靠性
1.4 操作系统运行机制
操作系统运行的指令分为 特权指令和非特权指令,特权指令我们希望不允许用户程序执行
因此,CPU分为两种状态,用户态 和 核心态,在用户态下,只能执行非特权指令,在核心态下则可以执行非特权指令和特权指令
计算机运行的程序分为内核程序和应用程序,内核程序运行在核心态,而应用程序运行在用户态
操作系统的内核需要负责 时钟管理,中断处理,原语 以及 系统资源的管理
1.5 中断
中断机制发生意味着操作系统介入,开始管理计算机资源
中断的作用
中断发生后CPU进入核心态,操作系统获得计算机的控制权。并且使当前进程暂停,又操作系统内核进行中断处理。
中断的分类
中断根据信号来源是否来自CPU内部,分为了外中断与内中断,我们一般讨论的都是外中断
中断处理过程
- 执行完每条指令后,检查当前是否有中断信号
- 若检测到,则保存当前CPU的运行环境(寄存器状态,程序计数器PC等…)
- 根据信号类型,进入核心态,执行相应的中断处理
- 恢复原来的CPU运行环境,继续执行原来的进程