当前位置: 首页 > news >正文

计算机操作系统31,32,33(完结)

第三十一课:磁盘管理与磁盘调度算法(★★★★★)

这一章非常重要,因为:

操作系统不仅管理内存和文件,也负责:

如何高效地从磁盘读取数据。


一、为什么需要磁盘管理?

部件速度
CPU非常快
内存也很快
磁盘慢很多

例如:

访问速度:

大概:

CPU 纳秒级 ↓ 内存 几十纳秒 ↓ SSD 微秒级 ↓ 机械硬盘 毫秒级

所以:

如果磁盘访问效率低:

整个系统:

都会变慢。


操作系统需要解决:

两个问题:

  1. 如何组织磁盘?
  2. 如何安排磁盘访问顺序?

二、磁盘的物理结构

我们以传统机械硬盘为例。


磁盘:

由:

多个盘片组成。

每个盘片:

有两个面。


结构:

磁盘 盘片 ↓ 磁道 ↓ 扇区

三、磁道(Track)

磁盘表面:

一圈一圈:

同心圆。

每一圈:

叫:

磁道。


类似:

唱片。

唱针:

沿着轨道读取。


表示:

外圈 -------- ---- -- 内圈

四、扇区(Sector)

磁道:

继续划分:

小区域。

每个区域:

叫:

扇区


扇区:

是磁盘:

最小存储单位。


例如:

一个扇区:

通常:

512B。

现代:

也可能:

4KB。


五、柱面(Cylinder)

多个盘片:

同一位置:

的磁道。

组成:

柱面。


例如:

多个盘:

第10条磁道:

上下对应。

形成:

一个柱面。


为什么重要?

因为:

磁头移动:

是按柱面移动。


六、磁盘访问时间(★★★★★)

一次磁盘访问:

主要:

三个时间。


1. 寻道时间(Seek Time)

含义:

磁头移动到目标磁道。


例如:

现在:

磁头:

在:

第10磁道。

要访问:

第100磁道。

需要移动。


这是:

最主要时间。


2. 旋转延迟(Rotational Delay)

含义:

等待目标扇区:

转到磁头下面。


机械硬盘:

盘片:

一直旋转。


3. 传输时间(Transfer Time)

含义:

真正读取数据时间。


所以:

总访问时间:

公式:

磁盘访问时间 = 寻道时间 + 旋转延迟 + 传输时间

考试:

经常考:

寻道时间。

因为:

调度算法:

主要优化:

寻道。


七、为什么需要磁盘调度?

假设:

磁头当前:

在:

磁道50。

现在:

请求:

10 90 20 80

如果:

随便访问:

可能:

移动很远。


例如:

顺序:

50→10→90→20→80

移动距离:

巨大。


所以:

操作系统:

重新安排:

访问顺序。


这就是:

磁盘调度算法。


八、算法一:FCFS(★★★★★)

Full First Come First Serve

中文:

先来先服务。

思想:

谁先请求,先处理谁。


例如:

请求:

10 90 20 80

磁头:

50。

顺序:

50 ↓ 10 ↓ 90 ↓ 20 ↓ 80

优点:

简单公平。


缺点:

效率低。


因为:

可能:

磁头来回跑。


九、算法二:SSTF(★★★★★)

Shortest Seek Time First

中文:

最短寻道时间优先。

思想:

每次选择距离当前磁头最近的请求。


例如:

磁头:

50。

请求:

10 90 20 80

当前:

50。

距离:

10:

40

90:

40

20:

30

80:

30

选择:

最近。

假设:

20。


移动:

50→20

然后:

继续选择最近。


优点:

减少平均寻道时间。


缺点:

可能产生:

饥饿。


十、什么是饥饿?

例如:

某请求:

在远处。

但是:

附近不断来新请求。


系统:

一直服务附近。

远处:

一直等待。


这个叫:

饥饿。


十一、算法三:SCAN(★★★★★)

也叫:

电梯算法。

思想:

磁头像电梯一样,一个方向走到底,再回来。


例如:

磁头:

50。

方向:

向右。

请求:

10 20 80 90

先:

向右:

50→80→90

然后:

掉头:

90→20→10

像电梯:

上楼。


优点:

公平。

不会:

长期等待。


十二、算法四:C-SCAN(了解)

Circular SCAN。

循环扫描。

思想:

只:

一个方向服务。


例如:

向右:

50 ↓ 80 ↓ 90

到头:

直接:

回到最左边。

继续:

向右。


区别:

SCAN:

来回扫。

C-SCAN:

单方向循环。


十三、四种算法比较(★★★★★)

算法思想特点
FCFS先来先服务公平但慢
SSTF最近优先速度快但可能饥饿
SCAN电梯移动公平稳定
C-SCAN单方向循环更加均匀

口诀:

FCFS看时间 SSTF看距离 SCAN像电梯 C-SCAN绕圈

十四、磁盘调度计算方法

考试:

给:

当前磁头:

例如:

50。

请求:

82 170 43 140 24 16 190

问:

SSTF移动多少?


步骤:

每一步:

找最近。

例如:

当前50:

距离:

43最近。

移动:

50→43。

记录:

7。

然后:

继续。


最后:

把所有移动距离相加。


十五、本课重点总结(★★★★★)

磁盘结构:

盘片 ↓ 磁道 ↓ 扇区

访问时间:

寻道时间 + 旋转延迟 + 传输时间

调度算法:

FCFS

先来先服务。


SSTF

最近请求优先。


SCAN

电梯算法。


C-SCAN

循环扫描。


第三十二课:I/O设备管理(★★★★★)


一、什么是I/O设备?

I/O:

Input / Output

中文:

输入输出。


输入:

把信息:

送给计算机。

例如:

  • 键盘
  • 鼠标
  • 摄像头
  • 麦克风

输出:

计算机:

把结果:

给外部。

例如:

  • 显示器
  • 打印机
  • 音响

所以:

I/O设备:

就是:

计算机与外界交换信息的设备。


二、为什么需要设备管理?

问题来了:

CPU:

非常快。

但是:

设备:

很慢。


例如:

CPU:

每秒:

执行:

几十亿条指令。


键盘:

你:

一秒:

最多:

按几个键。


如果CPU:

一直等待键盘:

那么:

CPU大部分时间:

浪费。


所以:

操作系统需要:

管理:

CPU和设备之间的关系。


三、I/O设备组成

一个设备:

通常包括:

三个部分。


① 设备本身

例如:

键盘。


② 设备控制器(★★★★★)

这是重点。


CPU:

不能直接:

控制硬件。

中间:

需要:

设备控制器。


结构:

CPU ↓ 设备控制器 ↓ I/O设备

例如:

CPU说:

“我要读取键盘输入”。

不会:

直接找键盘。

而是:

通知:

键盘控制器。


四、设备控制器是什么?

简单理解:

管理某个硬件的专用小控制器。


例如:

电脑:

有:

  • 显卡控制器
  • 硬盘控制器
  • USB控制器

设备控制器:

负责:

  1. 接收CPU命令
  2. 控制设备工作
  3. 保存数据
  4. 向CPU报告状态

五、设备控制器中的寄存器

控制器:

里面:

有一些特殊存储区域。

叫:

寄存器。


常见:

三个:


1. 数据寄存器

保存:

要传输的数据。


2. 状态寄存器

表示:

设备状态。

例如:

准备好了 忙 错误

3. 控制寄存器

CPU:

发送命令。

例如:

开始读取。


六、I/O控制方式(重点)

CPU和设备:

如何通信?

有几种方式。


第一种:程序直接控制方式

也叫:

轮询方式。


思想:

CPU:

不断问:

设备:

“好了没?”


例如:

CPU:

键盘? 好了没? 键盘? 好了没?

优点:

简单。


缺点:

浪费CPU。


因为:

CPU:

一直等待。


第二种:中断驱动方式(★★★★★)

思想:

设备完成后主动通知CPU。


过程:

例如:

键盘输入:

  1. 用户按键

  1. 键盘控制器收到

  1. 发送中断信号

  1. CPU暂停当前任务

  1. 处理中断

结构:

设备完成 ↓ 发送中断 ↓ CPU响应 ↓ 执行处理程序

优点:

CPU不用一直等待。


缺点:

频繁中断:

有开销。


第三种:DMA方式(★★★★★)

DMA:

Direct Memory Access

中文:

直接内存访问。


这是重点。


为什么需要DMA?

想象:

复制一个大文件。

如果:

每个字节:

都让CPU参与:

太慢。


所以:

DMA出现。

思想:

让设备直接和内存交换数据。


传统:

设备 ↓ CPU ↓ 内存

DMA:

设备 ↓ 内存

CPU:

只负责:

开始和结束通知。


七、DMA工作流程(★★★★★)

例如:

读取硬盘文件。


第一步:

CPU告诉DMA:

我要:

读取数据。


第二步:

DMA控制器:

接管。


第三步:

DMA:

直接:

把数据放入内存。


第四步:

完成后:

DMA:

发送中断。


流程:

CPU发命令 ↓ DMA传输 ↓ 数据进入内存 ↓ 中断CPU

八、三种方式比较

方式CPU参与效率
程序控制一直参与最低
中断方式部分参与较高
DMA只开始结束参与最高

口诀:

轮询CPU等,中断设备叫,DMA自己搬。


九、I/O缓冲区(★★★★★)

还有一个问题:

设备速度不同。


例如:

CPU:

写数据:

很快。

打印机:

打印:

很慢。

怎么办?


使用:

缓冲区。


什么是缓冲区?

简单:

临时存放数据的区域。


例如:

打印:

程序 ↓ 缓冲区 ↓ 打印机

程序:

把内容:

快速放入缓冲区。

然后:

继续运行。

打印机:

慢慢打印。


十、缓冲的作用

主要:

三个:


1. 缓解速度差异

CPU快。

设备慢。


2. 提高CPU利用率

CPU不用等待。


3. 减少设备访问次数

提高效率。


十一、假脱机技术 SPOOLing(★★★★★)

这个非常经典。


SPOOLing:

Simultaneous Peripheral Operations On-Line。

中文:

假脱机技术。


主要用于:

打印机。


为什么?

打印机:

一次只能打印:

一个任务。


如果:

100个用户:

同时打印。

怎么办?


SPOOLing:

思想:

用磁盘模拟一个共享设备。


流程:

用户任务 ↓ 磁盘缓冲区 ↓ 打印队列 ↓ 打印机

例如:

你点击打印。

不会:

直接占用打印机。

而是:

放入:

打印队列。


打印机:

一个一个处理。


十二、本课重点总结(★★★★★)

I/O设备

负责:

输入输出。


设备控制器

CPU和设备之间桥梁。


三种I/O控制方式

程序控制

CPU一直问。


中断

设备完成通知CPU。


DMA

设备直接访问内存。


缓冲区

解决:

速度不匹配。


SPOOLing

模拟共享设备。

典型:

打印机。


第三十三课:操作系统保护与安全机制(★★★★★)


一、为什么需要操作系统保护?

计算机中:

同时运行:

很多程序。

例如:

浏览器 音乐软件 游戏 杀毒软件

如果:

任何程序:

都可以:

随便访问:

  • 内存
  • 硬盘
  • CPU控制权

会发生什么?


程序A:

修改:

程序B:

的数据。


病毒:

删除:

系统文件。


普通软件:

直接控制:

硬件。


所以:

操作系统必须:

建立:

保护机制。


二、保护和安全的区别

容易混淆。


保护(Protection)

重点:

防止内部错误访问。

例如:

程序A:

不能访问:

程序B:

的内存。


安全(Security)

重点:

防止恶意攻击。

例如:

防止病毒、黑客。


简单:

保护:

防自己人犯错。

安全:

防坏人攻击。


三、用户态和内核态(★★★★★)

这是本课最重要概念。


CPU:

有不同权限等级。

最重要:

两个:


1. 用户态(User Mode)

普通程序:

运行:

用户态。


例如:

你打开:

浏览器。

它:

不能:

直接:

操作硬盘控制器。


权限:

低。


2. 内核态(Kernel Mode)

操作系统:

运行:

内核态。


权限:

最高。

可以:

  • 操作硬件
  • 管理内存
  • 控制设备

结构:

用户程序 (用户态) ↓ 系统调用 ↓ 操作系统内核 (内核态) ↓ 硬件

四、为什么需要用户态和内核态?

假设:

没有权限区分。

程序:

直接:

执行:

delete_system();

系统:

可能:

直接崩溃。


所以:

限制:

普通程序。


原则:

用户程序不能直接访问关键资源。


五、系统调用(★★★★★)

问题:

用户程序:

需要:

操作硬件怎么办?

例如:

保存文件。


用户程序:

不能:

直接:

写硬盘。

怎么办?


答案:

通过:

系统调用。


系统调用:

就是:

用户程序请求操作系统服务的接口。


例如:

程序:

想打开文件:

应用程序 ↓ open() ↓ 系统调用 ↓ 文件系统 ↓ 磁盘

六、系统调用流程(★★★★★)

完整过程:

用户程序 ↓ 调用系统函数 ↓ 切换到内核态 ↓ 操作系统执行服务 ↓ 返回用户态

这个:

叫:

模式切换。


七、为什么系统调用需要切换模式?

因为:

只有内核态:

可以执行:

特权指令。


例如:

控制:

  • CPU
  • 内存
  • 设备

普通程序:

没有权限。


八、特权指令

什么是:

特权指令?


简单理解:

只有操作系统才能执行的危险指令。


例如:

  • 设置页表
  • 关闭中断
  • 访问设备控制器
  • 修改系统状态

普通程序:

执行:

会失败。


九、访问控制(★★★★★)

操作系统:

必须决定:

谁可以访问什么。


例如:

文件:

secret.txt

权限:

用户A:读写 用户B:只读 用户C:禁止

这就是:

访问控制。


十、Linux文件权限(经典)

Linux:

权限:

三个部分。


例如:

-rwxr-xr--

拆开:

用户 rwx 组 r-x 其他人 r--

含义:

r

read

读。


w

write

写。


x

execute

执行。


十一、保护机制有哪些?

操作系统:

常见:


1. 内存保护

防止:

一个程序访问另一个程序内存。


例如:

程序A:

不能:

读取:

程序B:

密码。


2. 文件保护

控制:

谁能:

读写文件。


3. CPU保护

防止:

程序:

无限占用CPU。


例如:

时间片轮转。


4. I/O保护

防止:

普通程序:

直接控制设备。


十二、安全机制

除了保护:

还需要安全。


主要:

包括:


1. 身份认证

确认:

你是谁。

例如:

密码。

指纹。


2. 权限管理

确认:

你能干什么。


例如:

管理员:

安装软件。

普通用户:

不能。


3. 加密

保护:

数据。


例如:

HTTPS。

磁盘加密。


十三、操作系统安全模型

经典:

访问矩阵。


思想:

记录:

主体:

可以访问:

哪些对象。


例如:

文件A文件B
用户1读写
用户2读写

主体:

用户。

对象:

资源。


十四、本课重点总结(★★★★★)

用户态

普通程序运行。

权限低。


内核态

操作系统运行。

权限高。


系统调用

用户访问内核服务的接口。


特权指令

只有内核执行。


访问控制

决定:

谁能访问什么。


保护 vs 安全

保护:

防内部错误。

安全:

防攻击。

http://www.jsqmd.com/news/1358986/

相关文章:

  • 解锁《艾尔登法环》帧率限制:提升游戏体验的终极指南
  • 华容县新房除甲醛怎么选?三家专业公司实力横评 - 专注室内空气检测治理
  • GoB插件:如何在3分钟内实现Blender与ZBrush的无缝双向数据传输?
  • 四线轨道灯哪个牌子靠谱?名声硬不硬?看这篇!
  • 专业级ComfyUI视频工作流配置指南:从图像序列到高质量视频合成
  • 解决enichDO系统EXTID2PATHID表缺失问题的技术指南
  • 2026年上海豆包GEO优化服务商选型指南:版筛选标准与参考方案 - 品牌品鉴馆
  • 给 AI Agent 开了 sudo 权限后,它把我的备份脚本改成了无限循环
  • 从零到精通的编程学习路径与实战技巧
  • StreamCap:解放双手的直播录制自动化解决方案
  • 从“系统开局流”到创作框架:解构爆款标题背后的叙事黄金三角
  • ASMR音频技术解析:从双耳录音到开源工具实践
  • VMware虚拟机网络故障排查与解决指南
  • Python从入门到精通的四个关键阶段与核心技能
  • 2026合肥共达单招复读班官网:面向安徽高考落**招滑档生,校内封闭式集训招生中 - 最新资讯
  • 2026年8月上海呆滞品销毁Top5方式:哪种值得推荐?
  • 2026年全国清水混凝土色差修复技术标准详解
  • Python+FFmpeg实现音乐节视频批量提取音频与智能管理方案
  • GitHub开源项目安全防范指南:从Mythos 5事件看供应链攻击与代码审查
  • Milvus向量数据库性能调优实战指南
  • 白酒行业推三返一系统开发
  • 学生党必备:AI降重技巧与学术写作实战指南
  • Ubuntu日志系统与分析审计
  • 时间管理与神经科学:提升效率的实战框架
  • 淮安卫生间漏水到楼下怎么办?红外测漏、免砸砖工艺真实业主记录(2026 最新) - 昵19226106854
  • 5个让你爱不释手的ExifToolGUI图像元数据管理技巧
  • Windows与Ubuntu间FTP文件传输配置指南
  • 为什么你的量化回测不可信?K 线缺失与脏数据排查实战
  • Redis连接服务优化与高并发实践指南
  • 多微网能量互联系统的低碳优化与Matlab实现