




已阅读5页,还剩81页未读, 继续免费阅读
版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
嵌入式操作系统补充 操作系统基础 主讲教师 谢谦xieqian 计算机大楼501 嵌入式操作系统概述 A 1操作系统范围界定A 2操作系统的运行A 3程序的并发运行A 4内存管理A 5外部设备管理A 6文件系统管理 A 1操作系统范围界定 操作系统的层次认识内核用户态和核心态内核对外服务接口 操作系统的层次 用户对操作系统的印象来自对外层软件的操作经验操作系统课程重点关注内核中间层次主要与应用开发相关内核是理解OS关键 认识内核 直观认识1 磁盘上对应哪个 哪些 文件 Linux vmlinuz 经过压缩 典型大小10MB以内 Windows 多个文件 Windows System32目录下 Ntoskrnl exe HAL Dll NTDll Dll Win32k Sys 还有很多驱动程序模块直观认识2 在内存中占据多大空间 与硬件配置 软件负载相关很难界定内核占用内存空间的具体数值真正的区分方法 内核运行于核心态 用户态和核心态 系统态 为什么要区分用户态和核心态保护操作系统代码免遭破坏避免应用程序代码相互之间干扰内核代码 且只有内核代码 运行于核心态不同的 态 靠CPU硬件实现CPU寄存器中设定保护级状态位 据此对当前指令的执行权限进行控制系统启动时一般处于非保护状态 当内核代码初始化时设置区分运行态并保护自身 用户态和核心态 系统态 特权指令和非特权指令CPU指令集中部分关系到系统全局的指令被归入特权指令 只有在核心态下可执行其他指令作为非特权指令 在核心态和用户态均可执行特权指令的例子 外部设备访问 开关中断 修改存储器管理寄存器 停机 转换执行状态等核心态的另一特权 内存访问能力越权执行时 产生异常 中断 内核对外服务接口 系统调用 通过CPU和OS内核软硬件结合的保护机制 系统资源的管理权始终在内核代码控制下 应用程序无法直接访问另一方面 应用程序又必须访问这些资源否则应用程序几乎无法作任何有价值的事情 甚至无法运行因此 内核需要在不破坏自身保护机制前提下 把应用程序需要用到的资源服务功能以某种形式提供出来 内核对外服务接口 系统调用 OS内核会选取应用程序需要访问的系统功能 以子程序 过程 方式实现 供应用程序调用但是不允许应用程序采用一般的过程调用方式来直接调用这些过程 而是采用系统调用这种特殊的调用方式 内核对外服务接口 系统调用 系统调用区别于一般的过程调用调用者和被调用者运行在不同状态 调用者在用户态 被调用者在核心态运行调用通过特殊的指令实现 陷入指令或软中断指令进入intel芯片 int指令 Linux使用int0 x80 Windows使用int0 x2e arm芯片 swi指令 swi0 或swi调用号 内核之外 通过C函数库对系统调用进行封装 从而屏蔽这些细节 内核对外服务接口 系统调用 系统调用的处理步骤 A 2操作系统的运行 系统初启内核正常运行 中断驱动应用程序的运行系统安装 系统初启 CPU怎样工作 CPU正常加电时 会在时钟信号激励下不断地进行取指 执行的循环 取指令 解码 取操作数 执行指令 存结果等 指令要从存储器中读取 对应地址由CPU内部特定寄存器决定 PC 程序计数器 PC的改变 自动增加 顺序执行 跳转指令 外部中断和内部异常初始加电时 CPU会进入特定状态 PC也会被初始化为一个固定的值intel芯片 实模式 FFFF 0000 0 xFFFF0ARM芯片 0 x0 系统初启 基于BIOS模式计算机的启动过程 EFI有所区别 加电 CPU初始化 到固定地址取指开始执行 激活BIOS程序 BIOS程序检测系统配置 加载MBR程序MBR程序加载OSLoader OSLoader加载OS进行OS初始化 根据系统配置等准备系统表格 加载Driver 标识设备等创建系统初始进程 进而建立其它进程控制权交给调度程序 进入OS正常控制 内核正常运行 中断驱动 当系统启动完成后 根据内核调度程序的调度结果 CPU会转入用户态执行某个应用程序的代码 其后内核代码仅在需要时才会运行这种 需要 可以是 外部设备有事件发生 需要内核代码处理用户态程序执行错误 需要内核代码处理用户态程序需要使用内核提供的功能对内核的 需求 通过中断来体现 即内核代码通过各种中断入口反复执行 内核正常运行 中断驱动 中断机制的作用使CPU能够转入执行预设的例程 以响应突发事件或处理异常情况中断响应CPU中止当前指令或下一条指令 保存当前运行状态 转入相应处理程序 通过硬件机制自动实现 执行完毕后返回断点继续执行中断是实现OS功能的基础中断使得立即处理紧急事件成为可能中断是实现处理机与外设并行的基础中断是实现多道程序之间调度切换的基础中断是实现系统调用的基础 内核正常运行 中断驱动 CPU的中断源内部 执行指令过程中由CPU自身产生 包括指令异常和陷阱 软中断 指令外部 硬件中断 可屏蔽中断和不可屏蔽中断 通过中断控制器接到CPU的引脚内部中断内存访问相关异常是现代OS内存管理的基础软中断 是系统调用的唯一入口硬件中断I O设备通过可屏蔽中断通知CPU有事件发生 是设备驱动程序工作基础时钟中断 是分时调度的触发来源 应用程序的运行 一些基本概念程序一般以二进制可执行文件形式存在于磁盘上CPU执行的指令和访问的数据须预先被装入内存OS内核要负责读取可执行文件装入内存执行文件的格式由OS内核装入内存 规定了执行文件中必须提供的信息 如内存区域划分 外部模块入口等 由编译 链接程序生成 需符合OS规定的格式常见的执行文件格式 Windows的PE Linux的ELF 一般上述关键信息都存在于 文件头部 应用程序的运行 应用程序运行过程中与内核的关系最初的创建和装入由另一个程序发起 OS内核实施程序执行过程中要时常转入执行内核代码因为需要OS内核的服务而产生系统调用外部设备发出中断信号程序执行完成后 要求OS内核结束自身 OS内核与应用程序的交替执行 应用程序的运行 一个简化实例场景Windows下通过开始菜单打开记事本程序输入一些内容然后保存到文件 应用程序的运行 一个简化实例分析显示开始菜单的程序 explorer exeexplorer程序发现快捷方式对应notepad exeexplorer程序发出系统调用 要求内核执行notepad exe内核读入notepad exe文件 初始化内存中数据结构 读入代码和数据内核调度程序选定notepad程序执行 返回用户态 从其执行入口处开始执行 应用程序的运行 一个简化实例分析 续 notepad程序需要OS内核显示其用户界面 进行一系列的系统调用 完成界面显示notepad程序需要调用OS内核功能来获取输入事件 鼠标和键盘 调用相应系统调用如果没有输入事件发生 notepad程序逻辑无法继续 OS内核会调度CPU执行其他程序有输入事件发生 例如按键 系统调用返回 notepad程序获得输入 进行相应处理 放入缓冲区 如有必要进一步调用系统调用 例如字符回显 应用程序的运行 一个简化实例分析 续 上述获取输入事件 处理输入过程反复进行如果输入事件对应保存文件 调用相应系统调用创建文件 并将缓冲区内容写入如果输入事件对应退出程序 调用相应系统调用 结束用户态程序逻辑的执行OS内核代码释放notepad程序所占据的资源 该程序运行结束简化 如果实际跟踪系统调用会看到数目及其庞大 操作系统安装 操作系统安装的目标安装完成后 使OS可以自行启动OS安装的位置与系统类型 引导方式相关安装的一般过程与系统类型相关对于通用计算机 一般安装过程将OS部署在硬盘上 过程相对简单 通用对于嵌入式系统 安装过程有较大区别 引导程序 操作系统 文件系统需分别安装 一般安装到flash存储 要通过特殊操作方法进行部署 经常被称为 刷机 烧写 操作系统安装 通用计算机OS一般安装过程从安装介质加载并启动OS 检测系统配置 运行安装程序运行分区工具对硬盘进行分区 将启动代码复制到硬盘特定区域 MBR 格式化硬盘分区 制作文件系统 将OS内核及所选软件包复制到硬盘分区对OS部件进行设置 指定启动使用的OS内核及相关参数重新启动 用新安装内核启动OS进一步配置系统 如网络设置等 A 3程序的并发运行 程序的顺序执行与并发执行进程的引入进程的创建与撤销进程的调度和切换线程的引入同步 互斥和进程间通信 程序的顺序执行与并发执行 程序的顺序执行前一程序执行完成 后一程序才能开始问题 CPU利用率低 程序在执行过程中的I O操作 会导致CPU空转等待程序的并发执行多个程序都装入内存等待执行 当一个程序因I O不能继续执行时 CPU可以转而执行其他程序 从而提高了CPU利用率并发概念 区别于并行 微观看任一时刻只有一个程序在运行 宏观看一段时间内多个程序都在运行 程序的顺序执行与并发执行 并发执行增加了操作系统设计难度多个程序都装入内存 互相不能干扰 属于内存管理功能 需要记录内存中程序的不同状态 有一个正在运行 有一些随时可以运行 有一些等待I O事件而不能执行当运行中的程序因为I O等原因不能继续运行时 需要在可以运行的程序中选一个 转去执行新选中程序 在此过程中需要保存前一程序的执行现场 保证以后能再次正确运行 进程的引入 当OS需要把程序的运行作为一个管理对象时 需要引入相应的数据结构程序在内存中的指令和数据不能修改 否则会影响程序执行逻辑OS需要为每一个在内存中的程序附加一个数据结构 由OS代码进行修改和访问 在其中记录程序状态 保存执行现场等这种引入管理数据结构后可以被OS管理的程序被称为进程 process 进程的引入 进程控制块PCB为管理进程所引入的数据结构 记录了系统管理所需的全部信息OS根据PCB而感知进程的存在 PCB是进程存在的唯一标志PCB会先于程序的载入而创建 进程的引入 PCB的内容进程标志符 包括唯一的进程号 以及所属用户号 创建此进程的父进程号等处理机状态 断点信息 进程切换时保存的处理机中各种寄存器的内容进程调度信息 记录了进程调度相关的信息 状态 调度优先级 等待事件等 其他信息 如内存中程序区和数据区的地址 打开的资源清单 同步和通信机制等 进程的引入 进程的基本状态运行就绪阻塞 进程的创建与撤销 进程的创建除了个别进程在系统启动时由OS内核直接创建以外 其他进程都是另外进程通过系统调用要求内核创建这种进程之间的创建关系形成一个树形结构 进程的创建与撤销 进程的创建OS内核创建新进程的过程申请一个空闲的PCB为新进程分配资源对PCB初始化将PCB插入就绪队列返回进程号 进程的创建与撤销 进程的撤销进程在完成其任务后 应该撤销 以便释放所占据资源正常结束的进程会主动调用进程终止系统调用 从而触发进程撤销一些程序执行过程中发生的异常情况可能导致OS内核直接撤销进程 进程的创建与撤销 进程的撤销OS内核撤销进程的过程找到指定进程的PCB回收该进程所占用的全部资源处理子孙进程 终止所有子孙进程并回收它们所占用的资源 或者 过继 以免成为孤儿 将被终止进程的PCB从原来队列中摘走 进程的调度和切换 进程调度算法调度算法的目的是在多个候选者中选出一个进程作为下面要执行的进程不同的调度算法会影响系统的总体性能 是OS设计中的关键问题从理解OS工作机制角度出发 不必关心调度算法的细节 进程的调度和切换 进程切换 上下文切换 当调度算法选中新进程后执行首先保存当前进程的执行现场 保存将要执行的指令地址 把各类CPU寄存器存到PCB中特定区域然后找到新选中进程的PCB 读取上次保存的执行现场信息装入对应CPU寄存器 转到上次断点处指令开始执行通用的进程切换程序能保证进程多次被调度执行时除了时间间断之外 与连续执行的状态完全一致 进程的调度和切换 进程调度的时机 调度算法何时执行 以Unix Linux为例 主要有两类时机一是当前进程主动放弃CPU进程终止 或因为请求I O进入阻塞状态二是OS内核决定终止当前进程执行中断处理程序中发现需要重新调度 如当前进程时间片用完 或高优先级进程进入就绪状态中断处理程序中一般不会直接调用调度算法 而是设置一个全局标志当OS内核从核心态返回用户态之前 会检查该标志 如置位则调用调度程序进而切换进程 进程的调度和切换 进程调度方式非抢占方式处理机分配给某进程后便一直执行 直到该进程主动放弃 OS不抢占进程的执行抢占方式OS内核可根据某种原则停止当前进程的执行 转而执行另一进程一般的操作系统内核不可抢占 即 只有从核心态返回用户态时才会发生进程切换一些实时OS要求内核可抢占 以最大限度保证实时进程优先运行 内核抢占将大大增加OS的实现难度 线程的引入 OS加入进程管理后 可以让不同应用程序并发执行如果一个应用程序内部希望并发执行时 进程模型很不方便应用程序需要并发的例子 用word进行耗时的打印操作时还希望进行输入处理 用浏览器查看同时包含动画和音频的网页如果打印和输入处理在不同进程 其数据区相互隔离 难以协调如果打印和输入处理在同一进程 没有程序在两者之间进行通用的切换 只能在程序主循环中反复查询 增加编程难度 线程的引入 进程的角色传统进程是两种角色的混合资源分配的单位 主要表现为进程间的内存隔离CPU调度的单位 以进程为单位进行调度切换线程 Thread 的引入保留进程作为资源分配单位 以更轻量级的线程作为CPU调度单位多个线程存在于同一进程中 共享资源 独立调度执行多线程提高了应用的并发能力 也加大了编程难度 同步 互斥和进程间通信 同步和互斥 解决并发中的问题同步 解决并发进程的协作关系例 多线程流媒体播放 下载 解码互斥 解决并发进程的资源争用关系例 多窗口联机售票 查询和售出不可交叠广义的同步机制 包括同步和互斥同步机制早期主要针对OS内核编程 因为并发的应用进程之间默认内存隔离 没有共用资源多线程应用编程必须考虑同步互斥 同步 互斥和进程间通信 进程间通信 IPC 由于不同进程间的内存隔离 如果不同进程间需要交换信息 需要OS内核中转主要的高级进程间通信机制包括 共享存储区 管道机制 消息机制同一进程的线程间因为共享内存空间 没有通信需求 但是有普遍的同步互斥需求对于采用进程间通信机制的不同进程 采用共享存储区机制需要考虑同步问题 管道和消息机制自带同步机制 A 4内存管理 内存管理目标和功能基本概念内存管理方式演变基本分页管理基于分页的虚拟存储管理进程地址空间的布局 内存管理目标和功能 内存管理的目标将多道程序同时装入内存 并使其互不干扰 尽可能提高内存利用率和访问效率内存管理的功能实现内存的分配和回收提供实现地址变换所需的信息利用外存 扩充 内存容量实现存储保护 避免越权访问 基本概念 名字空间 符号地址 源程序中通过变量名和标号标识地址逻辑地址 相对地址 源程序经汇编 编译后形成目标代码 通常约定模块首地址为0 其余地址都相对于首地址而编址物理地址 绝对地址 内存中存储单元的地址 通过总线寻址地址转换 地址映射 CPU执行指令时内部使用逻辑地址 为了正确访问存储单元 需将其转换为可由总线直接寻址的物理地址 这一过程称为地址映射 内存管理方式演变 逻辑地址连续是内存管理的基本前提CPU执行程序时 大多数情况下执行一条指令后程序计数器PC自动增加若程序逻辑地址不连续 则不能顺序执行早期OS采用连续分区管理方式早期CPU的内存管理部件简单 只能进行简单地址映射连续的逻辑地址要求连续的物理地址现代OS一般采用离散分区管理可以把连续逻辑地址映射到离散物理地址离散映射可以基于定长的分页或变长的分段 基本分页管理 分页基本思想空间划分页面 将用户进程的地址空间划分成大小相等的区域 称为页面 page 从0开始编号页框 将内存空间也划分成与页面大小相等的区域 称为页框 frame 从0开始编号内存分配为进程分配内存时以页框为单位 将进程中的编号连续的页面装入到多个页框中 不需要相邻 基本分页管理 页面和页框对应示意 基本分页管理 页表页表是实现分页管理的关键数据结构页表由OS设置 供CPU存储管理部件使用作用 从页面号到页框号的映射页表一般存放在内存中页表的基址 物理地址 及长度由页表寄存器给出 基本分页管理 分页地址变换机构 硬件实现 基本分页管理 分页地址变换机构 硬件实现 将逻辑地址分成页面号和页内地址根据页表寄存器中页表起始地址和页号查找页表 找到对应于该页式地址的页表目页表目地址 页表起始地址 页面号 页表目长度取出页面号对应的页框号 和逻辑地址的页内地址相加形成物理地址物理地址 页框号 页框长度 页内位移量按物理地址访问内存 基于分页的虚拟存储管理 基本分页管理的优点和问题实现了页框的离散分配 相对于连续分区管理 提高了物理内存的利用率仍然要求在程序运行前把所有的指令和数据装入内存 这实际上并非必要局部性原理程序运行过程中 CPU访问的逻辑地址从时间和空间两方面都是局部化的局部性原理源自人们编程时的自然习惯 基于分页的虚拟存储管理 虚拟存储器管理基于局部性原理 程序运行前没有必要全部装入内存 仅须把将要运行的页面装入即可运行中如访问的页面未在内存中 缺页 再动态将该页面调入内存如物理内存已用完 则按某种置换算法将内存中的一些页面交换到外存虚拟存储器是指具有请求页调入功能和页置换功能 能从逻辑上对内存容量进行扩充的一种存储器系统 基于分页的虚拟存储管理 请求分页系统在基本分页系统基础上 增加了请求调页功能 页面置换功能所形成的页式虚拟存储器系统允许只装入少量程序和数据页面 便启动运行 以后在硬件支持下通过调页功能和置换功能 陆续将要访问的页面调入内存 同时把暂不访问的页面换到外存请求分页系统需要硬件支持和管理软件硬件支持 扩展页表机制 缺页中断机构和地址变换机构管理软件 请求调页功能和页置换功能的软件 基于分页的虚拟存储管理 硬件支持 扩展页表表目状态位 指示该页是否已调入内存 OS置 CPU用 触发缺页中断 访问位 记录该页在一段时间内是否被访问过 CPU置 OS用 选择换出页 修改位 表示该页调入内存后是否被修改过 CPU置 OS用 决定是否需写到外存 外存地址 指出该页在外存上的地址 OS置 OS用 调入页面时使用 基于分页的虚拟存储管理 硬件支持 缺页中断在请求分页系统中 当CPU访问的页不在内存时 CPU产生一缺页中断 触发OS内核的请求调页代码缺页中断与一般中断的区别 在指令执行期间产生和处理中断中断处理完后会重启指令执行一条指令在执行期间 可能产生多次缺页中断 基于分页的虚拟存储管理 管理软件请求调页 由缺页中断触发 通过读取CPU相关寄存器 可以获得引发缺页的页面号 从对应页表表目可获得该页面对应的外存地址 来自交换区或执行文件 分配空闲页框后读入 最后更新页表表目页面置换 页面置换一般是当OS发现空闲页框数不多时自动执行 把最近长期不用的页框内容换出 标记为空闲 为了提高效率 页面置换和请求调页各自独立运行 保证在调页时总是有空闲页框 进程地址空间的布局 进程的地址空间针对其逻辑地址地址空间大小与CPU架构相关 例如 32位CPU最大4GB 232 不同OS的进程地址空间分配可以不同 进程地址空间的布局 Linux下不同进程地址空间映射内核地址空间部分固定且连续映射 所有进程中此区域共享 即页表中这一部分内容相同 不同进程用户地址空间部分映射各不相同 A 5外部设备管理 对设备硬件的访问设备分类设备独立性设备驱动程序简化示例 Unix设备访问过程 对设备硬件的访问 CPU对外部设备的访问外部设备一般通过设备控制器进行管理设备控制器的管理寄存器使CPU可以控制设备动作 交换数据 查询状态控制寄存器 CPU写 用于控制器接收命令数据寄存器 双向 单向访问 进行数据交换状态寄存器 CPU读 用于查询设备当前状态设备控制器的管理寄存器编址独立的I O空间编址 CPU有专用IN OUT指令与内存一起编址 对设备硬件的访问 I O控制方式问题由来 高速CPU如何适应低速设备轮询方式CPU循环读取状态寄存器 确定外部设备处于特定状态时才写控制寄存器或读写数据寄存器CPU在轮询期间 不能执行其他程序中断方式外部设备发生的事件通过CPU中断线通知CPU在向控制寄存器写入 启动设备动作后即可转入其他程序执行 CPU和I O设备并行中断处理程序一般在设备驱动程序中提供 对设备硬件的访问 I O控制方式DMA方式对于传输大量数据的磁盘 网卡而言 虽然中断机制使CPU和设备可以并行工作 但是从设备控制器上的缓冲区到内存之间的数据交换如果还是需要CPU介入 会降低CPU利用率引入DMA机制用于提高大量数据从设备控制器到内存的交换 DMA控制器利用CPU访问内存的间隙进行数据交换DMA控制器在设备控制器上提供 需要CPU启动DMA控制器的动作 相应代码在设备驱动程序中提供 设备分类 与设备驱动类型相关分类字符设备以字符为单位传输数据 数据量小 速度慢设备不可寻址 数据不可重用块设备以定长块为单位传输数据 数据量大 速度快设备可寻址 数据可重复访问网络设备以不定长帧为单位传输数据 数据量大 速度快设备不可寻址 数据不可重用 设备独立性 设备独立性 设备无关性 概念指OS设备管理为上层提供一致的访问入口并屏蔽访问细节 使上层独立于物理设备设备独立性软件在OS内核设备管理中设计的一个软件层次提供设备访问的一致入口和驱动框架设备开关表 与设备类型相关 逻辑设备名实现独立于设备的通用功能设备保护 缓冲区管理 差错控制 设备驱动程序 设备驱动程序特点与设备硬件 设备控制器寄存器 I O控制方式密切相关在核心态运行 作为内核一部分一般由硬件厂商编写 OS规定编写框架设备驱动程序功能接收设备独立性软件发来抽象命令 转换为设备相关的底层操作序列检查设备状态 发出I O命令或将操作排队响应中断请求 调用中断处理程序 设备驱动程序 设备驱动程序处理过程现代OS设备访问一般是中断驱动的 处理过程分两部分 启动过程和中断处理过程启动过程检查I O请求合法性检查设备状态 确定是否可以启动请求的操作如果需要 传送参数 设置工作模式向控制寄存器发出命令 启动设备中断处理过程检查设备状态 确定中断原因 进行相应处理如果前一I O请求完成 启动排队的下一请求 简化示例 Unix设备访问过程 Unix的设备独立性软件层设备开关表实际是一个按照设备类型定义的函数指针结构体具体设备驱动程序在初始化时用自己提供的函数填入该结构体所有同类设备的结构体合起来构成设备开关表例 Unix块设备开关表示意 简化示例 Unix设备访问过程 Unix的设备独立性软件层设备文件是应用程序访问设备的通用入口记录了设备文件名到设备驱动程序入口的对应例 设备文件信息brw rw 1rootdisk7 0Nov119 00 dev loop0crw w 1roottty4 1Nov119 00 dev tty1 设备类型 决定用哪个设备开关表 主设备号 访问设备开关表的索引 从设备号 驱动程序找具体设备 简化示例 Unix设备访问过程 简化示例假想场景一个应用程序要读取 dev hd0上的某一块内容设备独立性软件工作过程根据设备文件 dev hd0的主设备号是0 对应程序开关表项是gd开头的一行基于 dev hd0的从设备号和要读取的块号 设备独立性软件构造请求数据结构bp调用gdstrategy bp 把I O请求块挂到I O请求队列尾部 简化示例 Unix设备访问过程 简化示例设备驱动程序工作过程在gdstrategy bp 函数内 调用gdaddr bp 把I O请求块中的逻辑块号转换为物理块号如果当前设备空闲 调用gdstart 从I O请求队列头部取出一个I O请求块进行处理 发出相应I O命令 启动磁盘设备磁盘中断处理过程检查设备状态如果出错 尝试重做以便排除错误若上次操作成功完成 继续查找I O请求队列是否为空 若非空调用gdstart A 6文件系统管理 文件系统的任务文件系统的核心功能实例 FAT文件系统格式从应用角度看文件系统 文件系统的任务 文件系统的核心任务按文件名存取文件文件系统的主要功能实施对文件空间的管理实施对文件目录的管理实施对存储器空间的分配和回收提供文件访问保护为应用程序提供文件访问接口 文件系统的核心功能 文件空间的管理记录哪些磁盘块的内容属于同一个文件常用文件空间管理方法连续方式文件占据连续的若干磁盘块 只需要记起始块号和长度适用于只读或顺序访问设备上的文件系统 光盘或磁带 主要用作备份介质连续方式不能用于管理经常改变的文件系统典型例子 ISO9660 文件系统的核心功能 常用文件空间管理方法 续 链接方式文件占据的离散磁盘块通过链表查找为了提高链表访问效率 一般通过独立于文件数据的文件分配表FAT显式保存链接信息典型例子 FAT文件系统索引方式文件占据的离散磁盘块通过索引表查找为了使索引表能够适应文件动态增长并管理大小差异巨大的文件 一般采用混合索引方式典型例子 EXT2文件系统 文件系统的核心功能 文件目录的管理实现从文件名到文件内容访问入口的映射文件目录的组织方式一般作为顺序存储的记录文件文件目录记录项 保存文件属性信息主要信息 文件名 文件类型 文件长度 文件盘块位置其他信息 存取控制相关 文件访问相关文件目录记录项的两种处理方式文件名与其他属性一起存放 FAT文件名与其他属性分来存放 EXT2 文件系统的核心功能 存储器空间的分配和回收记录磁盘块的分配 空闲状态常用方法空闲盘块表 将空闲盘块号
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 【正版授权】 IEC 62386-351:2025 EN-FR Digital addressable lighting interface – Part 351: Particular requirements – Control devices – Luminaire-mounted control devices
- 【正版授权】 IEC 63522-54:2025 EN Electrical relays - Tests and measurements - Part 54: Critical DC load current test
- JJF(石化)071-2023热封仪校准规范
- 2025年部编人教版小学二年级数学上册全册教案
- 人教版八年级英语上册Unit2标准检测卷(含答案)
- 新解读《GB-T 18507-2014城镇土地分等定级规程》
- 重庆地道果酒知识培训课件
- 重大危险源监督管理
- 老年人的情绪与情感课件
- 《创新创业概论》课程简介与教学大纲
- 2023-2025年中考语文试题分类汇编:记叙文阅读(辽宁专用)解析版
- 学校食堂从业人员食品安全知识培训考试试题(含答案)
- 电影艺术概述-设计艺术-人文社科-专业资料
- 2025年教科版新教材科学三年级上册全册教案设计(含教学计划)
- 医院药品采购与质量控制规范
- 支部纪检委员课件
- 从+“心”+出发遇见更好的自己-开学第一课暨心理健康教育主题班会-2025-2026学年高中主题班会
- 2025版仓储库房租赁合同范本(含合同生效条件)
- 2025年人伤保险理赔试题及答案
- 2025年全国招标采购专业技能大赛(央企组)历年参考题库含答案详解(5卷)
- 医院药学带教课件
评论
0/150
提交评论