计算机操作系统31,32,33(完结)
第三十一课磁盘管理与磁盘调度算法★★★★★这一章非常重要因为操作系统不仅管理内存和文件也负责如何高效地从磁盘读取数据。一、为什么需要磁盘管理部件速度CPU非常快内存也很快磁盘慢很多例如访问速度大概CPU 纳秒级 ↓ 内存 几十纳秒 ↓ SSD 微秒级 ↓ 机械硬盘 毫秒级所以如果磁盘访问效率低整个系统都会变慢。操作系统需要解决两个问题如何组织磁盘如何安排磁盘访问顺序二、磁盘的物理结构我们以传统机械硬盘为例。磁盘由多个盘片组成。每个盘片有两个面。结构磁盘 盘片 ↓ 磁道 ↓ 扇区三、磁道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。距离1040904020308030选择最近。假设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/OInput / Output中文输入输出。输入把信息送给计算机。例如键盘鼠标摄像头麦克风输出计算机把结果给外部。例如显示器打印机音响所以I/O设备就是计算机与外界交换信息的设备。二、为什么需要设备管理问题来了CPU非常快。但是设备很慢。例如CPU每秒执行几十亿条指令。键盘你一秒最多按几个键。如果CPU一直等待键盘那么CPU大部分时间浪费。所以操作系统需要管理CPU和设备之间的关系。三、I/O设备组成一个设备通常包括三个部分。① 设备本身例如键盘。② 设备控制器★★★★★这是重点。CPU不能直接控制硬件。中间需要设备控制器。结构CPU ↓ 设备控制器 ↓ I/O设备例如CPU说“我要读取键盘输入”。不会直接找键盘。而是通知键盘控制器。四、设备控制器是什么简单理解管理某个硬件的专用小控制器。例如电脑有显卡控制器硬盘控制器USB控制器设备控制器负责接收CPU命令控制设备工作保存数据向CPU报告状态五、设备控制器中的寄存器控制器里面有一些特殊存储区域。叫寄存器。常见三个1. 数据寄存器保存要传输的数据。2. 状态寄存器表示设备状态。例如准备好了 忙 错误3. 控制寄存器CPU发送命令。例如开始读取。六、I/O控制方式重点CPU和设备如何通信有几种方式。第一种程序直接控制方式也叫轮询方式。思想CPU不断问设备“好了没”例如CPU键盘 好了没 键盘 好了没优点简单。缺点浪费CPU。因为CPU一直等待。第二种中断驱动方式★★★★★思想设备完成后主动通知CPU。过程例如键盘输入用户按键↓键盘控制器收到↓发送中断信号↓CPU暂停当前任务↓处理中断结构设备完成 ↓ 发送中断 ↓ CPU响应 ↓ 执行处理程序优点CPU不用一直等待。缺点频繁中断有开销。第三种DMA方式★★★★★DMADirect 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★★★★★这个非常经典。SPOOLingSimultaneous 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--含义rread读。wwrite写。xexecute执行。十一、保护机制有哪些操作系统常见1. 内存保护防止一个程序访问另一个程序内存。例如程序A不能读取程序B密码。2. 文件保护控制谁能读写文件。3. CPU保护防止程序无限占用CPU。例如时间片轮转。4. I/O保护防止普通程序直接控制设备。十二、安全机制除了保护还需要安全。主要包括1. 身份认证确认你是谁。例如密码。指纹。2. 权限管理确认你能干什么。例如管理员安装软件。普通用户不能。3. 加密保护数据。例如HTTPS。磁盘加密。十三、操作系统安全模型经典访问矩阵。思想记录主体可以访问哪些对象。例如文件A文件B用户1读写读用户2无读写主体用户。对象资源。十四、本课重点总结★★★★★用户态普通程序运行。权限低。内核态操作系统运行。权限高。系统调用用户访问内核服务的接口。特权指令只有内核执行。访问控制决定谁能访问什么。保护 vs 安全保护防内部错误。安全防攻击。
