计算机操作系统(壹)
本文章是关于计算机操作系统的学习笔记,笔记主要来自王道的操作系统课程,总共有五个章节:
- 第一章:计算机操作系统(壹)
- 第二章:计算机操作系统(贰)
- 第三章:计算机操作系统(叁)
- 第四章:计算机操作系统(肆)
- 第五章:计算机操作系统(伍)
一、操作系统概述
1、操作系统定义:
操作系统(Operating System,OS)是指控制和管理整个计算机系统的硬件和软件资源,并合理地组织调度计算机的工作和资源的分配,以提供给用户和其他软件方便的接口和环境,它是计算机系统中最基本的系统软件。
2、提供的功能:
(1)GUI(图形用户界面)
(2)命令接口:
联机命令接口:说一句做一句
脱机命令接口:说一堆做一堆
(3)程序接口:程序进行系统调用的接口
3、操作系统的功能和目标:
实现对硬件机器的扩展,方便用户使用
二、操作系统特征
1、并行与并发:
并发:多个事件交替发生,宏观上是同时发生,但微观上是交替进行的
并行:多个事件在同一时刻是同时发生的
2、单核CPU和多核CPU:
单核CPU:同一时刻只能执行一个程序,各个程序只能并发执行
多核CPU:同一时刻可同时执行多个程序,各个程序可以并行执行
3、共享:(资源共享)
互斥共享方式:一个事件段内只允许一个进程访问该资源
同时共享方式:一个时间段内由多个进程“同时”对它们进行访问(这个”同时“代表微观上可能是交替访问的)
4、虚拟:
把一个物理上的实体变为若干个逻辑上的对应物。(由并发性实现)
空分复用技术、时分复用技术
5、异步:
在多道程序环境下,允许多个程序并发执行,但由于资源有限,进程执行并不是一贯到底的,而是走走停停的,以不可预知的速度向前推进。
三、操作系统发展与分类
-
手工操作阶段
- 纸带机(用户独占全机、人机速度矛盾)
-
批处理阶段
-
单道批处理系统(外围机 —— 磁带)
-
多道批处理系统(操作系统开始出现)
-
-
分时操作系统
-
轮流处理作业
-
不能处理紧急任务
-
-
实时操作系统
-
优先处理紧急任务
-
硬实时系统:必须在严格的时间内完成处理
-
软实时系统:可以偶尔犯错
-
-
网络操作系统
-
分布式操作系统
-
个人计算机操作系统
四、操作系统的运行机制
1、内核程序与应用程序:
内核程序:负责实现操作系统的程序,多个内核程序组成内核
应用程序:普通程序员写的程序
2、特权指令和非特权指令:
CPU在设计生产时就划分了特权指令和非特权指令
特权指令:由操作系统内核调用,这些指令影响重大(如内存清零指令)
非特权指令:可由应用程序使用(如加法指令)
3、用户态和内核态:
CPU有两种状态,用户态和内核态,用于区分此时正在运行的是内核程序还是应用程序
别名:内核态=核心态=管态、 用户态=目态
4、内核态和用户态的转换:
内核态->用户态:使用一个特权指令,主动让出CPU控制权
用户态->内核态:触发中断信号则被操作系统强行夺回CPU控制权(凡是需要操作系统介入的地方,都会触发中断信号)
五、中断和异常
1、中断的作用:
中断是让操作系统内核夺回CPU使用权的唯一途径,没有中断机制,就没有并发。
每次接收到中断信号后,CPU就会先处理中断信号的内核程序。
2、中断的分类(广义):
内中断(异常):与当前执行指令有关,中断信号来自CPU内部
外中断(中断):与当前执行指令无关,中断信号来自CPU外部
大部分教材中,外中断被称作**“中断”,而内中断被称为“异常”**
3、内中断(异常)例子:
(1)试图在用户态下执行特权指令
(2)执行除法指令时除数为0(即执行非法指令,会引发一个中断信号)
(3)有时应用程序想请求操作系统内核的服务,会执行一条特殊指令——陷入指令,该指令会引发一个内部中断信号
4、外中断(中断)例子:
(1)时钟中断——由时钟部件发来的中断信号。比如两个应用程序并发运行,当其中一个应用程序占用了50ms(假设),就会发送中断信号,此时CPU先处理中断的内核程序,接着将使用权让给另外一个应用程序,如此往复。
(2)I/O中断——输入/输出设备发来的中断信号,当输入输出任务完成时,就会向CPU发送中断信号
5、中断机制的基本原理:
CPU检测到中断信号后,就会根据信号类型,去“中断向量表”中查询需要执行的中断处理程序
六、系统调用
1、概念:
系统调用是操作系统提供给应用程序的接口,应用程序可以通过系统调用来获得操作系统内核的服务,保证系统稳定性与安全性
2、系统调用与库函数的区别:
一些库函数封装了系统调用,屏蔽了一些细节,方便程序员使用
3、分类(按功能):
设备管理、文件管理、进程控制、进程通信、内存管理
七、操作系统体系结构
1、操作系统的内核:
资源管理功能:进程管理、存储器管理、设备管理等
时钟管理、中断处理、原语

2、两种不同的结构:
内核只保留直接与硬件接触的部分,这种结构就是微内核,另一种将主要功能都包含的就是大内核
大内核:将操作系统主要功能模块都作为系统内核,运行在核心态
微内核:只把最基本的功能保留在内核
3、变态
”变态“正规说法应该是“CPU状态的转换”,微内核比大内核状态转换更频繁,因此使用微内核的性能消耗会大一些
4、外核操作系统结构:
外核可以分配未经抽象的硬件资源,比如分配连续空间时,物理上是真正连续的一片空间,而不是经过映射抽象得到的虚拟的连续空间。
八、操作系统引导
1、概念:
开机时,如何让操作系统运行起来
2、开机过程
① CPU从一个特定主存地址开始,取指令、执行ROM中的引导程序
② 将磁盘的第一块——主引导记录读入内存,执行磁盘引导程序,扫描分区表
③ 从活动分区(主分区,安装了操作系统的分区)读入分区引导记录,执行其中的程序
④ 从根目录下找到完整的操作系统初始化程序(启动管理器)并执行,完成开机的一系列动作

九、虚拟机
两类虚拟机:
第一类VMM,直接运行在硬件上
第二类VMM,运行在宿主操作系统上
像VMware这种软件程序就属于第二类VMM