操作系统——概述
1. 计算机硬件系统的组成
运算单元:执行具体的机器指令的计算
控制单元:解译机器指令
主存储器:存储正在执行的程序和数据
1.1 存储程序计算机的结构
1.2 总线及其组成
1.2.1 概述
- 计算机各种部件通过总线相连接,外围设备通过相应的接口电路再与总线相连接,从而形成计算机硬件系统。
- 按所传输的信息总类,总线包括一组控制线,一组数据线和一组地址线。
1.2.2 总线的类型
- 内部总线:用于CPU芯片内部连接各元件
- 系统总线:用于连接CPU,存储器和各种I/O模块等主要部件
- 通信总线:用于计算机系统之间通信
1.3 *处理器CPU
1.3.1 概述
- CPU是计算机的运算核心和控制单元,主要包括: (1)运算逻辑部件:一个或多个运算器; (2)寄存器部件:包括通用寄存器,控制与状态寄存器,以及高速缓冲寄存器(Cache); (3)控制部件:实现各部件间联系的数据,控制及状态的内部总线;负责对指令译码,发送为完成每条指令要执行操作的控制信号,实现数据传输等功能部件。
1.3.2 处理器与寄存器
1.4 存储器
1.4.1 存储器的组织层次
1.5 外围设备及其控制
2.操作系统
2.1 概述
操作系统是计算机系统最基础的系统软件,管理软硬件执行,控制程序执行,改善人机界面,合理组织计算机工作流程。
2.2 类型
2.1.1 多道批处理系统
多道程序设计是指允许多个程序同时进入一个计算机系统的主存储器并启动进行计算的方法。 多道批处理系统中,用户提交的作业都存放在外存中,并形成队列,这个队列称为"后备队列;然后作业调度程序按照作业调度算法将若干作业调入内存,CPU同时执行,以达到CPU和资源的共享,提高资源的利用率和系统的吞吐量的目的。
作业:用户在一次解决或是一个事务处理过程中要求计算机系统所做的工作的集合,它包括用户程序、所需要的数据集控制命令等。作业是由一系列有序的步骤组成的。一个作业可由多个进程组成,且必须至少由一个进程组成.
缺点:
- 平均运转周期较长;由于作业在外存中要形成"后备队列",进而内存有优先顺序,因而作业可能很长时间不能运行;
- 无交互能力,当作业提交给系统后,用户不能再与作业交互,无法修改或者调试。
2.1.2 分时操作系统
采用时间片轮转的方式,使一台计算机为多个终端服务,多个用户可以通过自己的终端(输入输出设备),共享主机的资源。
2.1.3 实时操作系统
实时操作系统必须在已知的关键时间内完成关键操作,至少要在绝对大多数情况下在已知时间内完成关键操作。 部分这类操作包括操作系统调用和中断处理。
3. 用户态和内核态
3.1 概述
内核是操作系统的内部核心程序,它向外部提供了对计算机设备的核心管理调用,例如提供对软件层面的抽象(例如对进程、文件系统、同步、内存、网络协议等对象的操作和权限控制),和对硬件访问的抽象(例如磁盘,显示,网络接口卡(NIC))。
- 用户态:上层应用程序的活动空间,应用程序的执行必须依托于内核提供的资源。
- 内核态(核心态):操作系统中既有操作系统的程序,也由普通用户的程序。为了安全和稳定性,操作系统的程序不能随便访问。
3.2 用户态和内核态的转换
(1)系统调用
用户态进程通过系统调用申请使用操作系统提供的服务程序完成工作。
(2)异常
CPU在执行运行在用户态下的程序时,发生了某些事先不可知的异常(比如缺页异常),这时会触发由当前运行进程切换到处理此异常的内核相关程序中,也就转到了内核态。
(3)外围设备的中断
当 外围设备完成用户请求的操作后,会向CPU发出相应的中断信号,这时CPU会暂停执行下一条即将要执行的指令转而去执行与中断信号对应的处理程序,如果先前执行的指令是用户态下的程序,那么这个转换的过程自然也就发生了由用户态到 内核态的切换。比如硬盘读写操作完成,系统会切换到硬盘读写的中断处理程序中执行后续操作等。
系统调用可以认为是用户进程主动发起的,异常和外围设备中断则是被动的。
该文转载自:
- https://blog.csdn.net/linmars24/article/details/7802869
- https://www.icourse163.org/course/NJU-1001571004?tid=1001644004
- https://www.jianshu.com/p/85e931636f27
- https://www.jianshu.com/p/3bb1cdd44ef0