1. 什么是操作系统?
- 定义:操作系统是计算机系统中最基本的系统软件,它作为用户与计算机硬件之间的中介,管理和控制计算机的所有硬件和软件资源。
- 目标:
- 对用户:提供一个功能强大、使用方便的工作环境。它把复杂的硬件操作封装成简单、统一的接口(比如图形界面或系统调用)。
- 例子:你不需要知道硬盘的扇区、磁道是什么,只需要在文件管理器中点击文件夹就能打开文件。操作系统帮你完成了底层的读写操作。
- 例子:你不需要知道硬盘的扇区、磁道是什么,只需要在文件管理器中点击文件夹就能打开文件。操作系统帮你完成了底层的读写操作。
- 对系统:合理地组织和管理计算机的工作流程,确保硬件资源被高效地利用。
- 例子:当多个程序同时运行时,操作系统负责决定哪个程序使用CPU,哪个程序的数据先存入内存,防止它们互相冲突。
- 对用户:提供一个功能强大、使用方便的工作环境。它把复杂的硬件操作封装成简单、统一的接口(比如图形界面或系统调用)。
2. 计算机系统组成(自上而下)
- 用户:使用计算机的人或其他计算机。
- 应用程序:解决用户具体问题的软件,如浏览器、Word、游戏。
- 操作系统:控制应用程序,并作为与硬件打交道的平台。
- 硬件:提供基础计算能力的物理设备,如CPU、内存、硬盘、键盘鼠标。
类比:把计算机想象成一个餐厅。
* 硬件是厨房、灶台、食材。
*
应用程序是厨师做的一道道具体的菜(如麻婆豆腐、宫保鸡丁)。
*
操作系统是餐厅的经理和后厨调度:他接收用户的点单(应用程序),指挥厨师(CPU)工作,管理食材的取用(内存/硬盘),协调出菜顺序(进程调度),并为你提供舒适的用餐环境(用户界面)。
* 用户就是顾客。
3. 操作系统的不同角色
- 资源分配器:像交通警察,管理有限的资源(CPU时间、内存空间),并分配给各个程序和用户。
- 控制程序:管理和监督用户程序的执行,防止程序出错或恶意操作对系统造成损害。
- 内核:操作系统的核心部分,是唯一一个始终运行在计算机上的程序。我们常说的“操作系统启动”,其实就是将内核加载到内存中。
4. 计算机系统组织与操作
核心思想:并发
- CPU和I/O设备可以同时工作。
- 例子:当你在Word中打字时(CPU处理输入),音乐播放器同时在播放歌曲(声卡进行I/O输出)。它们是在并发执行的。
关键机制:中断
- 是什么:当某个设备需要CPU处理时(比如你按下了键盘、硬盘读取完了数据),它会向CPU发送一个信号,这个信号就是中断。
- 作用:中断让CPU不必不停地询问设备“你好了吗?”,而是设备主动“通知”CPU。这大大提高了CPU的效率。
- 例子:你点击鼠标,鼠标控制器产生一个中断,CPU接收到后,暂停当前工作,去处理你的点击事件,然后再返回原来的工作。
I/O操作方式
- 同步I/O:程序发起一个I/O请求后(如读取文件),必须等待I/O完成后才能继续执行。
- 例子:就像你去一家餐厅点餐,你必须站在那里等厨师做好,然后才能离开。效率低下。
- 例子:就像你去一家餐厅点餐,你必须站在那里等厨师做好,然后才能离开。效率低下。
- 异步I/O:程序发起I/O请求后,不等待结果,立刻继续执行后续代码。当I/O完成后,通过中断通知程序。
- 例子:就像你点外卖,下单后你就可以去做别的事(继续执行程序),外卖到了会给你打电话(中断通知)。
直接内存访问
- 是什么:一种由专门的硬件(DMA控制器)完成的I/O方式,允许设备不经过CPU,直接与内存交换大块数据。
- 好处:极大地减轻了CPU的负担。
- 例子:没有DMA时,就像经理(CPU)亲自把一堆砖(数据)从卡车上(硬盘)一块一块地搬到仓库里(内存)。有了DMA后,经理只需要指挥一个专门的搬运队(DMA控制器)去搬,搬完了再来通知他一下。经理就可以腾出时间去做更重要的工作。
5. 存储结构
存储层次结构
计算机的存储设备像一个金字塔,从上到下,速度变慢,容量变大,成本变低。
* 寄存器 -> 缓存 ->
主内存 -> 固态硬盘/磁盘 ->
光盘/磁带
缓存
- 是什么:将低速存储中常用的数据,复制一份到高速存储中。
- 目的:提升访问速度。
- 例子:
- CPU缓存:CPU内部有一小块高速内存,存放最常用的指令和数据。
- 磁盘缓存:将磁盘中常用的数据暂时放在内存中。当你第二次打开同一个文件时,感觉特别快,就是因为文件可能还在内存缓存里。
- CPU缓存:CPU内部有一小块高速内存,存放最常用的指令和数据。
6. 操作系统结构
多道程序设计
- 背景:早期计算机一次只能运行一个程序。当这个程序进行I/O操作时(如读写文件),CPU就空闲了,造成浪费。
- 思想:在内存中同时存放多个程序。当一个程序需要等待I/O时,操作系统就切换去执行另一个程序,从而保持CPU始终忙碌。
- 例子:就像一个厨师(CPU)同时照看几口锅(程序)。当A锅在炖煮(等待I/O)时,他就去翻炒B锅(执行程序),然后再回来照看A锅。
分时系统
- 思想:是多道程序设计的延伸,但CPU切换的频率非常快(几十到几百毫秒),以至于每个用户都觉得整个计算机系统是自己独占的。
- 核心:时间片 ——
每个程序一次只能运行一个极短的时间。
- 例子:你现在可以一边听音乐,一边写文档,一边开着浏览器查资料。这些程序就是在通过分时技术共享CPU。
7. 操作系统的关键操作
双模式运行
- 是什么:CPU提供两种运行模式:用户模式
和 内核模式。
- 用户模式:运行普通应用程序。在此模式下,程序不能直接执行某些特权指令(如直接操作硬件)。
- 内核模式:运行操作系统内核代码。可以执行所有指令,包括特权指令。
- 目的:保护。防止应用程序出错或恶意操作,破坏了整个系统。
- 例子:一个普通的应用程序(如游戏)想读写硬盘,它不能自己动手,必须通过系统调用(一种受控的接口)请求操作系统内核来帮忙。此时,CPU会从用户模式切换到内核模式,执行完操作后再切换回去。这就好比普通公民(用户程序)不能直接调动警车(硬件),必须通过报警(系统调用)由警察(操作系统内核)来处理。
定时器
- 是什么:一个硬件组件,可以在指定时间后向CPU发出中断。
- 目的:防止一个程序无限循环或长期霸占CPU。
- 例子:操作系统在切换到一个程序前,会先设置好定时器。如果这个程序运行时间过长,定时器中断就会触发,操作系统就能夺回控制权,切换到下一个程序。
8. 操作系统的主要管理功能
进程管理
- 进程:正在运行的程序。程序是静态的(硬盘上的一个.exe文件),进程是动态的(这个.exe被加载到内存中执行)。
- 线程:进程内的更小执行单元。一个进程可以包含多个线程,它们共享进程的资源。
- 例子:Word是一个进程。它可能有一个线程负责处理你的键盘输入,另一个线程负责在后台进行拼写检查,第三个线程负责定时保存。
- 例子:Word是一个进程。它可能有一个线程负责处理你的键盘输入,另一个线程负责在后台进行拼写检查,第三个线程负责定时保存。
- 操作系统负责:创建/结束进程线程、进程同步、进程通信、死锁处理。
内存管理
- 职责:决定哪些数据在什么时候进入内存、放在内存的什么位置、如何分配和回收内存空间。
- 目的:提高内存利用率,方便多道程序运行。
- 例子:内存就像一个大房子的许多房间。操作系统就是管理员,负责给新来的住户(程序)分配空房间,当住户离开时回收房间,并记录哪些房间正在被使用。
文件系统管理
- 职责:将物理上分散在磁盘各处的数据,组织成用户易于理解的文件和目录结构。
- 例子:硬盘就像一个巨大的、没有分类的仓库。文件系统则像在仓库里建立了货架、箱子和标签,让你能通过“C:.txt”这样的路径快速找到你想要的数据。
第一章课后练习题
OS的功能是 ______。
A. 解释和执行源程序
B. 编译源程序
C. 转换编码
D. 控制和管理系统资源分时操作系统的目标是追求 ______。
A. 立即响应
B. 多线程
C. 速度
D. 并行执行哪一项不是手持系统的问题?
A. 有限的内存
B. 慢速的处理器
C. 小的显示屏幕
D. 不是实时系统哪种操作系统允许用户和进程之间交互?
A. 批处理操作系统
B. 多道批处理操作系统
C. 分时操作系统
D. 实时操作系统以下哪个应用程序不应归类为面向批处理的?
A. 文字处理(特指word文档的文字编辑)
B. 生成月度银行对账单
C. 生成员工W-2税表
D. 计算圆周率到百万位小数从计算机的角度来看,操作系统是与硬件最密切相关的程序。在这个背景下,我们可以将操作系统视为一个 ______。
A. 资源分配器
B. 工作站
C. 服务器
D. 接口
参考答案:
1. D 2. A 3. D 4. C 5. A 6. A
如果您喜欢我的文章,可以考虑打赏以支持我继续创作.