合集-王道考研计算机操作系统23考点讲解视频笔记
摘要:操作系统的概念与功能 操作系统的定义 操作系统 (Operating System, OS)是指控制和管理整个计算机系统的硬件和软件资源,并合理地组织调度计算机的工作和资源的分配;以提供给用户和其他软件方便的接口和环境;它是计算机系统中最基本的系统软件。 操作系统的功能和目标 (一
阅读全文
摘要:操作系统的特征 一、并发 指两个或多个事件在同一时间间隔内发生。这些事件宏观上是同时发生的,但微观上是交替发生的。 常考易混概念一一并行:指两个或多个事件在同一时刻同时发生。 二、共享 ——并发与共享的关系 三、虚拟 虚拟是指,把一个物理上的实体变为若干个
阅读全文
摘要:操作系统的运行机制 一、内核程序与应用程序 二、特权指令与非特权指令 特权指令,如内存清零指令等。 非特权指令,如加法指令、减法指令等。 CPU 设计和生产的时候就划分了特权指令和非特权指令,因此 CPU 执行一条指令前就能判断出其类型。 三、内核态与用户态
阅读全文
摘要:中断和异常 中断的类型 中断机制的基本原理
阅读全文
摘要:系统调用 系统调用的概念和作用 操作系统作为用户和计算机硬件之间的接口,需要向上提供一些简单易用的服务。主要包括命令接口和程序接口。其中,程序接口由一组系统调用组成。应用程序可通过系统调用来请求获得操作系统内核的服务。 ——系统调用与库函数的区别 系统调用存在的必要性:用户进
阅读全文
摘要:计算机系统体系结构 大内核(宏内核)与微内核 CPU在内核态和用户态之间的转换需要耗费时间,影响性能。 分层结构 模块化 外核 理解:未经抽象的内存空间资源 未虚拟化的,即连续地址的内存空间资源 →减少了虚拟硬件资源的“映射层”,提高效率
阅读全文
摘要:操作系统引导 (Boot) 一点补充: BIOS:Basic Input/Output System RAM 芯片中的数据在关机断电后就会被清空,ROM 芯片不会
阅读全文
摘要:虚拟机 举例理解 第一类虚拟机:在开机的时候选择操作系统,选择的即为第一类虚拟机,常见于学校机房电脑 第二类虚拟机:在某一操作系统下(宿主操作系统)再次安装虚拟机管理程序,如 VM Ware ,上面装的即为第二类虚拟机
阅读全文
摘要:进程的概念、组成、特征 一、进程与程序 程序:是静态的,是存放在磁盘里的可执行文件,是一系列的指令集合。 进程:是动态的,是程序的一次执行过程(同一个程序多次执行会对应多个进程,分配不同的进程号PID) 二、进程的组成 (PCB给操作系统使用,程序段和数据段给进程自己使用)
阅读全文
摘要:进程的状态与转换、进程的组织 一、进程的状态与转换 理解: 某项进程的运行一方面需要CPU处理器的资源,一方面可能还需要其他系统资源。 拥有其他系统资源,仅等待CPU的时间片分配,此状态为就绪态。 进程运行过程中使用“系统调用”的方式获取其他系统资源,但并未马上获得,则会进入阻塞态。阻塞态的进程也不
阅读全文
摘要:进程控制 一、概念 进程控制的主要功能是对系统中的所有进程实施有效的管理,它具有创建新进程、撤销已有进程、实现进程状态转换等功能。 简化理解:实现进程状态转换 二、实现方式 原语实现 原语是一种特殊的程序,执行于内核态,具有原子性(一段原语程序的执行一气呵成,不可中断)。 可以用“
阅读全文
摘要:进程通信 进程间通信 Inter-Process Communication (IPC) 前置:进程是分配系统资源的单位(包括内存地址空间),因此各进程拥有的内存地址空间相互独立。为了保证安全,一个进程不能直接访问另一个进程的地址空间。因此进程通信需要操作系统支持。 一、共享存储 为避免
阅读全文
摘要:线程的概念、作用和属性 线程的概念 理解:线程可视作“轻量级进程”。 线程是一个基本的 CPU 执行单元,也是程序执行流的最小单位。引入线程之后,不仅是进程之间可以并发,进程内的各线程之间也可以并发,从而进一步提升了系统的并发度,使得一个进程内也可以并发处理各种任务(如 QQ视频、文字聊天、传文件)
阅读全文
摘要:线程的实现方式和多线程模型 一、线程的实现方式 (一)用户级线程 (二)内核级线程 二、多线程模型 在支持内核级线程的系统中,根据用户级线程和内核级线程的映射关系,可以划分不同的多线程模型 (一)一对一模型 (二)多对一模型 和上面提到的用户级线程的实现方
阅读全文
摘要:线程的状态与转换、组织与控制 线程的状态与转换基本和进程相同,同样具有就绪态、运行态、阻塞态三种基本状态,转换过程也类似。 (备注:详细的进程和线程的状态模型(有些版本具有七状态模型)可参考下一节:调度的概念与层次) 三个基本状态 线程的组织与控制
阅读全文
摘要:调度的概念与层次 一、调度解决的问题 理解:在资源有限不能同时处理所有任务的情况下,需要确定某种规则来确定处理这些任务的顺序(划分权级或短时优先或其他等) 二、调度的层次划分 (一)高级调度/长程调度/作业调度 内存的空间有限,无法将所有任务同时装入内存。则按一定的原则从
阅读全文
摘要:进程调度的时机、方式、切换与过程 (理解) 一、进程调度的时机 有的系统中,只允许进程主动放弃处理机。 有的系统中,进程可以主动放弃处理机,当有更紧急的任务需要处理时,也会强行剥夺处理机(被动放弃)。 对2.的补充: ——临界资源: 一个时间段内只允许一个进程使用的资源。各
阅读全文
摘要:闲逛进程 理解:调度程序永远的备胎,当没有其他就绪进程时,运行闲逛进程 (idle) 特性: 优先级最低 可以是0地址指令,占一个完整的指令周期(指令周期末尾例行检查中断) 能耗低
阅读全文
摘要:调度算法的评价指标 一、CPU利用率 CPU工作的时间占总时间的比例。 $$ CPU利用率=\frac{CPU工作时间}{总时间} $$ 计算某种设备的利用率类似。 二、系统吞吐量 单位时间内完成作业的数量 $$ 系统吞吐量=\frac{总共完成的作业数}{总时间} $$
阅读全文
摘要:调度算法 补充: 饥饿:某进程/作业长期得不到服务 响应比: $$ 响应比=\frac{等待时间+要求服务时间}{要求服务时间} $$ 调度算法(一) 先来先服务 FCFS 最短作业优先 SJF / 最短进程优先 SPF / 最短剩余时间优先 SRTN 最高响应比优先 HRRN 调度算法(二)
阅读全文
摘要:调度算法(一) (1)前言 此处列举的三种算法主要关心对用户的公平性、平均周转时间、平均等待时间等评价系统整体性能的指标,但是不关心“响应时间”,也并不区分任务的紧急程度,因此对于用户来说,交互性很糟糕。 因此这三种算法一般适合用于早期的批处理系统,当然, FCFS 算法也常结合其他的算法使用,在现
阅读全文
摘要:调度算法(二) (1)前言 比起早期的批处理操作系统来说,由于计算机造价大幅降低,因此之后出现的交互式操作系统(包括分时操作系统、实时操作系统等)更注重系统的响应时间、公平性、平衡性等指标。而这几种算法恰好也能较好地满足交互式系统的需求。因此这三种算法适合用于交互式系统。(比如 UNIX 使用的就是
阅读全文
摘要:进程同步与进程互斥 一、进程同步 ——回顾:进程的异步性,指各并发执行的进程以各自独立的、不可预知的速度向前推进。 同步,亦称直接制约关系,它是指为完成某种任务而建立的两个或多个进程,这些进程因为需要在某些位置上协调它们的工作次序而产生的制约关系。进程间的直接制约关系就是源于它们之间的
阅读全文
摘要:进程互斥的软件实现方法 一、单标志法 二、双标志先检查法 三、双标志后检查法 四、Peterson算法 理解:如同现实生活中的给红包的拉扯,谁最后说了客气话(在代码里即谁的while最先表现为true),谁就失去了资源
阅读全文
摘要:进程互斥的硬件实现方法 一、中断屏蔽方法 利用“开/关中断指令"实现(与原语的实现思想相同,即在某进程开始访问临界区到结束访问为止都不允许被中断,也就不能发生进程切换,因此也不可能发生两个同时访问临界区的情况)。 优点:简单、高效 缺点:不适用于多处理机;只适用于操作系统内核进程,不适
阅读全文
摘要:互斥锁 备注:此处仅为简介,互斥锁、自旋锁以及其他锁需跳转至其他详细的解析 前两节介绍的几种算法和实现基本都属于自旋锁(while 忙等,不满足“让权等待”原则)
阅读全文
摘要:信号量机制 1965年由荷兰学者 Dijkstra 提出 一、概念 用户进程可以通过使用操作系统提供的一对原语来对信号量进行操作,从而很方便的实现了进程互斥、进程同步。 信号量甚实就是一个变量(可以是一个整数,也可以是更复杂的(数据结构)记录型变量),可以用一个信号量来表示系统中某种资源的
阅读全文
摘要:信号量实现进程互斥、同步、前驱关系 P、V 操作必须成对出现。缺少 P(mutex) 就不能保证临界资源的互斥访问。缺少 V(mutex) 会导致资源永不被释放,等待进程永不被唤醒。 一、实现进程互斥 注:下图中的第一行对信号量的初始化只是简化写法,并不严格遵循结构体的相关
阅读全文
摘要:生产者-消费者问题 一、问题背景及分析 系统中有一组生产者进程和一组消费者进程,生产者进程每次生产一个产品放入缓冲区,消费者进程每次从缓冲区中取出一个产品并使用。(注:这里的“产品”理解为某种数据) 生产者、消费者共享一个初始为空、大小为 n 的缓冲区。 只有缓冲区没满时,生产者才能把
阅读全文
摘要:多生产者-多消费者问题 一、问题背景及分析 这里的“多”指种类多而不是数量多。多种生产者和多种消费者共享同一片缓冲区,且一种消费者只接受特定的一种生产者生产的产品。 二、问题实现 同样,实现互斥的 P 操作一定要在实现同步的 P 操作之后,否则可能引起“死锁”。 三、问题思考 (
阅读全文
摘要:吸烟者问题 一、问题背景及分析 即“可以生产多种产品的单生产者和多消费者”的问题。生产者可生产 A/B/C 产品,每种产品都有各自的不同种消费者接受。 注:这里的缓冲区容量为1,所以可以不设置 mutex 的互斥信号量(同一时刻,四个同步信号量中至多只有一个值为1) 二、问题实现
阅读全文
摘要:读者-写者问题 一、问题背景及分析 有读者和写者两组并发进程,共享一个文件,当两个或两个以上的读进程同时访问共享数据时不会产生副作用,但若某个写进程和其他进程(读进程或写进程)同时访问共享数据时则可能导致数据不一致的错误。因此要求: 允许多个读者可以同时对文件执行读操作 只允许一个写者同时往文件中写
阅读全文
摘要:哲学家进餐问题 一、问题背景及分析 (一)基本分析及实现 每个进程争抢地使用一种资源,其中若分配不当会导致死锁现象。 基本实现: (二)避免死锁发生的三种方法(仍有很多种,这里仅作列举参考) (1)限制资源容量 可以对哲学家进程施加一些限制条件,比如最多允许四个哲学家同时进餐。这
阅读全文
摘要:管程 理解:管程实际上就是对先前的需要一气呵成的各种操作(包括 P、V 操作等)进行封装实现。 一、管程的定义和基本特征 二、引入管程的原因及管程的逻辑实现 关键:在封装下由编译器负责实现互斥特性
阅读全文
摘要:死锁 一、死锁的概念 在并发环境下,各进程因竞争资源而造成的一种互相等待对方手里的资源,导致各进程都阻塞,都无法向前推进的现象,就是“死锁”。发生死锁后若无外力干涉,这些进程都将无法向前推进。 二、死锁、饥饿、死循环 死锁: 各进程互相等待对方手里的资源,导致各进程都阻塞,无法向前
阅读全文
摘要:(一)预防死锁 死锁的发生须同时满足四个条件:互斥条件、不剥夺条件、请求和保持条件、循环等待条件。 预防死锁可以分别从破坏这四个条件入手: (1)破坏互斥条件 理解:在进程和资源之间加多一层,使其对于多个进程来说宏观上看似是可以同时使用的,但实际上仍由系统完成互斥分配。
阅读全文
摘要:(二)避免死锁 (1)安全序列与不安全状态 安全序列: 指如果系统按照这种序列分配资源,则每个进程都能顺利完成。 只要能找出一个安全序列,系统就是安全状态。当然,安全序列可能有多个。 不安全状态: 如果分配了资源之后,系统中找不出任何一个安全序列,系统就进入了不安全状态。 这就意
阅读全文
摘要:(三)死锁检测和解除 (1)死锁的检测 理解:在这个图中,以 P2 和 R1 间的箭头为例,表明实际上 P2 请求了两个 R1 资源,但 R1 只给他分配了1个资源。 重点:最后能将边全部消除,则没有死锁发生。否则,仍然有边连着且消除不掉的进程则发生了死锁。(可完全简化和不可
阅读全文
摘要:内存的基础知识 一、存储单元 二、指令的工作原理 重点:区分物理地址和逻辑地址 三、从写程序到程序运行 四、链接的三种方式 (一)静态链接 在程序运行之前,先将各目标模块及它们所需的库函数连接成一个完整的可执行文件(装入模块),之后不再拆开 (二)装入时动
阅读全文
摘要:内存管理的概念 一、 二、内存保护 (一)方法一:设置上下限寄存器 (二)方法二:设置重定位寄存器(基址寄存器)和界地址寄存器(限长寄存器)
阅读全文
摘要:覆盖与交换 一、覆盖技术 (一)思想 将程序分为多个段(多个模块)。常用的段常驻内存,不常用的段在需要时调入内存。 (二)实现 将内存分为一个“固定区”和若干个“覆盖区”。 需要常驻内存的段放在“固定区”中,调入后就不再调出(除非运行结束) 不常用的段放在“覆盖区”,需要用到时调入内存
阅读全文
摘要:连续分配管理方式 补充: 非连续分配管理方式: 基本分页存储管理 基本分段存储管理 段页式存储管理 一、前言 对于内存来说: 内部碎片:已经被分配出去(能明确指出属于哪个进程)却不能被利用的内存空间 外部碎片:还没有被分配出去(不属于任何进程),但由于太小了无法分配给申请内存空间的新进程的
阅读全文
摘要:动态分区分配算法 一、首次适应算法(First Fit) (一)算法思想 每次都从低地址开始查找,找到第一个能满足大小的空闲分区。 (二)实现 空闲分区以地址递增的次序排列。每次分配内存时顺序查找空闲分区链(或空闲分区表),找到大小能满足要求的第一个空闲分区。 二、最佳适应算法(
阅读全文
摘要:基本分页存储管理的基本概念 (前言:概念特别多,注意理解和区分) 一、概念 (一)页和页框(易混淆) 分页存储:将内存空间分为一个个大小相等的分区,每个分区就是一个“页框”。每个页框有一个编号(“页框号”),页框号从0开始。 将某进程的逻辑地址空间也分为与页框大小相等的一个个部分,每个部
阅读全文
摘要:基本地址变换机构 (属于上一节的基本分页存储管理)(是用于实现逻辑地址到物理地址转换的一组硬件机构) 关键理解:不仅进程被分为页面存放到页框中,该进程对应建立的页表也是需要存储到内存块中的。 一、页表寄存器 PTR 基本地址变换机构可以借助进程的页表将逻辑地址转换为物理地址。通常会在系统中设置
阅读全文
摘要:具有快表的地址变换机构 理解:是对基本地址变换机构的优化,减少访存次数来提高效率。 一、快表的概念 快表,又称联想寄存器(TLB ,translation lookaside buffer),是一种访问速度比内存快很多的高速缓存 (TLB 不是内存,类比 Cache ,但与 Cache 有
阅读全文
摘要:两级页表 理解:前面提到操作系统会尽可能把页表连续存储在内存中,但如果本身页表过大,连续存储占用空间过多,则又失去了离散存储的分页存储管理的特点,因此两级页表甚至多级页表为了解决这个问题而生,即多级页表的意义是将一个连续存放在内存的大页表分解为离散的小页表。 一、问题一:页表的分级 概念:
阅读全文
摘要:基本分段存储管理方式 前言:分段与分页基本类似,理解了分页此处不难 一、分段 进程的地址空间:按照程序自身的逻辑关系划分为若干个段,每个段都有一个段名(在低级语言中,程序员使用段名来编程),每段从 0 开始编址。 内存分配规则:以段为单位进行分配,每个段在内存中占据连续空间,但各段之间可以
阅读全文
摘要:段页式管理方式 前言:顾名思义就是将前面介绍的分页存储管理和分段存储管理混合使用 一、分页、分段的优缺点 补充回顾: 对于内存来说: 内部碎片:已经被分配出去(能明确指出属于哪个进程)却不能被利用的内存空间 外部碎片:还没有被分配出去(不属于任何进程),但由于太小了无法分配给申请内存空间的
阅读全文
摘要:虚拟内存的基本概念 一、传统存储管理方式的特征、缺点 一次性: 作业必须一次性全部装入内存后才能开始运行。这会造成两个问题: 作业很大时,不能全部装入内存,导致大作业无法运行。 当大量作业要求运行时,由于内存无法容纳所有作业,因此只有少量作业能运行,导致多道程序并发度下降。
阅读全文
摘要:请求分页管理方式 一、页表机制的不同 与基本分页存储管理的页表区别: 二、缺页中断机构 在请求分页系统中,每当要访问的页面不在内存时,便产生一个缺页中断,然后由操作系统的缺页中断处理程序处理中断。 此时缺页的进程阻塞,放入阻塞队列,调页完成后再将其唤醒,放回就绪队列。 如果内
阅读全文
摘要:页面置换算法 页面的换入、换出需要磁盘 I/O ,会有较大的开销,因此好的页面置换算法应该追求更少的缺页率。 一、OPT 最佳置换算法 Optimal 每次选择淘汰的页面将是以后永不使用,或者在最长时间内不再被访问的页面,这样可以保证最低的缺页率。 理解:该算法虽然性能最好,需要
阅读全文
摘要:页面分配策略 前言:概念多,理解即可。 一、驻留集 指请求分页存储管理中给进程分配的物理块的集合。在采用了虚拟存储技术的系统中,驻留集大小一般小于进程的总大小。 驻留集太小,会导致缺页频繁,系统要花大量的时间来处理缺页,实际用于进程推进的时间很少 驻留集太大,又会导致多道程序并发度下降
阅读全文
摘要:内存映射文件 前言:理解。 内存映射文件(Memory-Mapped Files)是指操作系统向上层程序员提供的功能(系统调用) 方便程序员访问文件数据 方便多个进程共享同一个文件 一、访问文件数据的使用 对比: 理解:一个是访问磁盘,一个是访问内存(OS 帮你访问磁盘),
阅读全文
摘要:初识文件管理 前言:本节主要作为导学,随便看看即可 一、文件的定义 文件就是一组有意义的信息/数据集合。 二、文件的属性 重点理解:文件名并不能唯一区分文件,能做到的是标识符(即使在不同位置的同名文件也有不同的独特的标识符) 三、文件内部的数据组织方式 (一)无结构文件
阅读全文
摘要:文件的逻辑结构 重点:顺序表可以实现“随机访问”,而“链表”无法实现随机访问。 理解:这里的“随机”并不是平常认知中的随机,不是指访问的对象不确定,而是说“任意访问”,你想访问不论哪一个数据元素,在很短时间内都能访问到。 有结构文件根据各条记录的长度(占用的存储空间)是否相等
阅读全文
摘要:文件目录 一、文件目录的实现 目录结构使文件之间的组织结构清晰,易于查找,使编程时也可以很方便地用文件路径找到一个文件。 目录本身是一种有结构文件,由一条条记录组成。每条记录对应一个放在该目录下的文件。 一条记录即一个文件目录项,对应一个 FCB 文件控制块 File Control
阅读全文
摘要:文件的物理结构(文件分配方式) 类似于内存分页,磁盘中的存储单元也会被分为一个个“块/磁盘块/物理块”。很多操作系统中,磁盘块的大小与内存块、页面的大小相同。 内存与磁盘之间的数据交换(即读/写操作、磁盘 I/O )都是以“块"为单位进行的。即每次读入一块,或每次写出一块。
阅读全文
摘要:逻辑结构与物理结构 前言:本节是对前面学过的逻辑结构和物理结构的相关梳理,简单回顾理解过程即可。 理解:逻辑结构上,比如顺序文件是采用顺序存储还是链式存储,由用户决定,就好比写C语言的结构体时要不要加多一两个变量来实现不同数组元素之间的链式访问等。而物理结构上由操作系统自己一开始确定好分配方式。用户
阅读全文
摘要:文件存储空间管理 一、存储空间的划分与初始化 概念: 划分物理磁盘为一个个文件卷/逻辑卷/逻辑盘 各个文件卷划分为目录区和文件区 二、存储空间管理方法 类比内存空间管理,只是对象不同,这里针对磁盘。 (一)空闲表法 适用于连续分配。 回顾:第3.5节内存管理的动态分区分配
阅读全文
摘要:文件的基本操作 前言:本节理解即可。 主要就多了一个打开文件表的相关知识。 一、创建文件 二、删除文件 三、打开文件 四、关闭文件 五、读文件 六、写文件
阅读全文
摘要:文件共享 操作系统为用户提供文件共享功能,可以让多个用户共享地使用同一个文件。 硬链接:基于索引节点的共享方式 软链接:基于符号链的共享方式 区分 共享 和 复制: 一、硬链接 (回顾:4.3节文件目录的索引节点) 理解:不同用户在各自用户目录下有指向同一索引节点的目录项,且
阅读全文
摘要:文件保护 一、口令保护 口令一般存放在文件对应的 FCB 或索引结点中。用户访问文件前需要先输入“口令”,操作系统会将用户提供的口令与 FCB 中存储的口令进行对比,如果正确,则允许该用户访问文件。 优点:保存口令的空间开销不多,验证口令的时间开销也很小 缺点:正确的“口令”存放在系统
阅读全文
摘要:文件系统的层次结构 前言:本节参考了国内教材,也有其他参考国外教材的版本。不同的学者对文件系统的层次结构划分方法不同,但都是大致正确的,了解即可。
阅读全文
摘要:文件系统的全局结构(布局) 一、文件系统在外存中的结构 演变过程: 原始磁盘(刚被生产出来) 物理格式化(低级格式化):划分扇区,检测坏扇区,并用备用扇区替换坏扇区(骗过OS) 磁盘分区(分卷Volume) 分为C盘、D盘等 逻辑格式化 完成各分区的文件系统初始化 注:逻辑格式化后,灰色
阅读全文
摘要:虚拟文件系统&文件系统挂载(安装) 一、虚拟文件系统 (一)普通的文件系统 先来看不存在虚拟文件系统的普通文件系统,彼此之间实现同一功能的接口具有差异,比较混乱。 (二)VFS 虚拟文件系统 Virtual File System 为解决同时使用不同文件系统需要频繁改动底层代码的问题,引入
阅读全文
摘要:IO设备的概念和分类 一、I/O设备的定义 I/O 就是“输入/输出”(Input/Output) I/O 设备就是可以将数据输入到计算机,或者可以接收计算机输出数据的外部设备,属于计算机中的硬件部件。 二、按使用特性分类 人机交互类外部设备: 鼠标、键盘、打印机等——
阅读全文
摘要:IO控制器 一、I/O设备的组成 机械部件: 主要用来执行具体操作。如我们看得见摸得着的鼠标/键盘的按钮;显示器的 LED 屏;移动硬盘的磁臂、磁盘盘面。 电子部件(I/O控制器): 通常是一块插入主板扩充槽的印刷电路板。 二、I/O控制器的主要功能 理解:作为 CPU 和 I/O
阅读全文
摘要:IO控制方式 一、程序直接控制方式 流程: 理解:读写操作经常成对出现(要理解 CPU→存储器) 理解: CPU 需要不断轮询检查,CPU 和 I/O 设备只能串行工作 数据传送单位为一个字(这里是以CPU视角来看) 二、中断驱动方式 三、DM
阅读全文
摘要:IO软件层次结构 一、用户层软件 向上实现了用户接口,向下翻译为系统调用。 二、设备独立性软件(设备无关性软件) 与设备的硬件特性无关的功能几乎都在这一层实现。 主要实现的功能: 向上层提供统一的调用接口(如 read/write 系统调用) 设备的保护 原理类似于
阅读全文
摘要:IO应用程序接口&设备驱动程序接口 一、输入/输出应用程序接口 背景:在设备独立软件层向上提供各种各样的输入/输出应用程序接口的原因是: 用户层的应用程序无法用一个统一的系统调用接囗来完成所有类型设备的 I/O 三种输入/输出应用程序接口: 字符设备接口 块设备接口 网络设备
阅读全文
摘要:IO核心子系统 I/O 核心子系统要实现的功能就是中间三层要实现的功能。 前言:本节仅作介绍和导学,主要列举 I/O 子系统实现的相关功能,详细跳转至各对应节 一、I/O 调度 用某种算法确定一个好的顺序来处理各个 I/O 请求。(类比进程调度) 如:磁盘调度(先来先服务算法、最
阅读全文
摘要:假脱机技术(SPOOLing技术) 一、脱机技术 理解: 脱离主机的控制进行的输入/输出操作 缓解 CPU 与慢速 I/O 设备的速度矛盾 就类似从手工阶段到批处理阶段发展的“磁带”等机制,缓解某两者处理速度差距过大的矛盾 回顾: 二、假脱机技术(SPOOLing技术)
阅读全文
摘要:设备的分配与回收 一、设备分配时的考虑因素 (一)设备的固有属性 独占设备:一个时段只能分配给一个进程(如打印机) 共享设备:可同时分配给多个进程使用(如磁盘),各进程往往是宏观上同时共享使用设备,而微观上交替使用。 虚拟设备:采用 SPOOLing 技术将独占设备改造成虚拟的共
阅读全文
摘要:缓冲区管理 一、缓冲区的概念 (一)实现方式 缓冲区是一个存储区域,可以有两种实现方式: 用专门的硬件寄存器组成缓冲区 : 成本较高,容量较小,一般仅用在对速度要求非常高的场合 利用内存的一部分作为缓冲区: 一般情况下的选择。I/O 软件层次结构的“设备独立性软件”的缓冲区管理就是要组
阅读全文
摘要:磁盘的结构 一、磁盘、磁道、扇区的概念 二、在磁盘中读/写数据的过程 三、盘面、柱面的概念 理解: 与柱面相关的是磁道,所有盘面相对位置相同的磁道组成一个柱面 由两个盘面组成的一个盘片,也对应会有上下两个磁头(仿佛夹着这个盘面) 四、磁盘的分类 按盘片是否
阅读全文
摘要:磁盘调度算法 一、一次磁盘读/写操作需要的时间 寻道时间 TS 延迟时间 TR 传输时间 Tt 补充理解(上下的1.2.3.分别对应): 现在的磁盘移动一个磁道大约需要 0.2ms,磁臂启动时间约为 2ms (磁盘的物理移动时间耗费较大,后续算法应尽量减少磁盘的物理移动) 1/r
阅读全文
摘要:减少延迟时间的方法 一、回顾 重点: 延迟时间就是磁头在某一磁道上开转的时间 盘片一直在旋转个不停 机械硬盘的数据读取以一个扇区为单位 物理上相邻的扇区并不能连续读数据,因为磁头读入一个扇区的数据后还需要一小段时间来处理,并不能紧接着读取相邻的扇区的数据,就得强行等他转多一圈回来
阅读全文
摘要:磁盘的管理 一、磁盘初始化 此处联系第4.-2节文件系统的全局结构(布局) (一)低级格式化(物理格式化) 划分扇区 (二)分区 分区 (三)逻辑格式化 创建文件系统,初始化存储空间管理需要的数据结构等 二、引导块 理解: 就是原本整个自举程序直接装在
阅读全文
摘要:固态硬盘 补充理解:机械硬盘是以扇区为单位进行读写的。一个磁道有多个扇区。 固态硬盘SSD以页为单位进行读写。一块有多个页。 类比: 扇区 = 页 磁道 = 块 磁片 = 闪存芯片
阅读全文