第4讲 IO设备管理和文件管理
合集下载
相关主题
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
17
4.2.3 与设备无关的I/O软件
大部分I/O软件是与设备无关的,设备驱动程序与
设备独立软件之间的确切界限依赖于具体系统,因为
对于一些本来应按照设备独立方式实现的功能,出于
效率和其他原因,实际上还是由设备驱动来实现的。 与设备无关软件层通常应实现的功能为: 设备驱动程序的统一接口、设备命名、提供一个
– 错误条件。
5
字符设备和块设备 – 字符设备:以字符流或字节流为单位
组织和处理信息的设备。属于无结构
设备
– 块设备:以数据块为单位组织和处理
信息的设备。是一种有结构设备。
6
4.1.2 设备控制器
I/O设备一般由两部分组成:
– 电子部分:设备控制器或适配器。 – 机械部分:设备本身,控制器通过电
43
2. 文件目录结构
• 目录文件是由若干个文件目录组成。
• 文件目录结构是指目录文件的组织形式。 常用的目录结构有单级目录,二级目录和 多级目录。
44
(1) 单级目录 文件系统在每个存储设备上仅建立一个目录 文件的目录结构,称为单级目录。 目录文件中的每一目录项(或称一条记录)对 应一个文件目录,它包含相对的数据项(文件名 及扩展名、物理地址、说明信息),如图所示。
33
2. 文件系统的主要功能 • 实现按文件名存取文件信息,完成从文件名到 文件存储物理地址映射。 • 文件存储空间的分配与回收。 • 对文件及文件目录的管理。 • 提供(创建)操作系统与用户的接口。常见的接
口有:
– 菜单式接口。 – 程序接口。
• 提供有关文件自身的服务。
34
8.2 文件的结构及存取方式
为了便于管理,包括DOS、WINDOWS、
UNIX在内的很多操作系统都把计算机的一些常用
外部设备也当作文件来处理,这些特殊的文件称为
设备文件,是操作系统用来访问硬件设备的一种特
殊文件。
30
8.1.2 文件系统及其功能
1. 文件系统的体系结构 文件系统是操作系统中实现对文件的组织、 管理和存取的一组系统程序,对用户来说它提供 了一种便捷地存取信息的方法 。
3
4.1.1 I/O设备
计算机所管理的I/O外部设备按输入输
出对象的不同可以分为以下3类:
– 用户可读设备,用于用户与计算机通信。
– 机器可读设备,用于电子装置与计算机通信。 – 通信设备,用于与远程设备通信。
4
所有的设备其属性和类别有很大的区别, 其主要的区别在于:
– 数据传输速度。 – 应用。 – 控制的复杂性。 – 信息组织方式:字符设备和块设备。 – 数据描述。
与设备无关的块大小、缓冲、块设备的存储分配、分
配和释放独占设备、错误报告等。
18
1. 设备命名
• 与设备无关的软件(即I/O子系统)负责把设备的 符号名映射到相应的设备驱动程序。 • 设备命名后,所有设备的名字的集合称做设备 的名字空间。 • UNIX系列有3种不同的名字空间。
– (1) 主次设备号 – (2) 内部号与外部号
等)的存取权限,实现文件的共享及保密。
• 使用信息:文件创建、修改的日期和时间,以及当前使
用的状态信息。
文件系统将这些说明部分以一个数据结构的形 式表示,称此结构为文件控制块FCB 。
42
文件目录由文件控制块组成。 文件系统在每个文件建立时都要为它建立 一个文件目录。 文件目录用于文件描述和文件控制,实现 按名存取和文件信息共享与保护,随文件的建 立而创建,随文件的删除而消亡。
格、语言或图像等。
– 文件都遵循按名存取的规则,用户无需了解存
取内容在存储介质上的物理位置。
– 文件具有可重用性和可保存性。
27
文件的分类
按文件的用途来划分,文件又可分为: – 用户文件,由用户建立,并由文件拥有者进行 读/写和执行。 – 库文件,由系统为用户提供的实用程序、标准 子程序、动态重链接库等。 – 系统文件,由系统建立的文件,如操作系统、 编辑系统、编译系统等。
• 文件的结构是指文件的组织形式,文件的结构有 两种,一种是逻辑结构,另一种是物理结构。 • 从用户的角度出发,文件组织形式称为文件的逻
辑结构。
• 从系统的角度出发,文件在实际存储设备上的存
放形式称为文件的物理结构。
35
8.2.1 文件的逻辑结构及存取方式
按文件的逻辑结构分,可将文件分为无结构的 字符流式文件和有结构的记录式文件。 1.字符流式文件
文件名 X1 X2 物理地址 R1 R2 W1 W2 文件说明信息
实现。
41
一个文件由文件说明和文件体组成。文件说明 部分包括如下信息: • 基本信息:
– 文件名,用于标识一个文件的符号名。 – 文件物理位置,标明文件内容在外存上的存储位置。 – 文件结构,指示文件的逻辑结构和物理结构。它决定了 文件的寻址方式。
• 存取信息:各类用户(包括文件主、核准用户、普通用户
21
3. 与设备无关的块及存储设备的块分配
不同的磁盘可以采用不同的扇区尺寸,
与设备无关软件的一个任务是向较高层软件 屏蔽并给上一层提供大小统一的块尺寸 。
22
4. 设备分配 一些设备,如磁盘驱动器,在任一时 刻只能被单个进程使用。
因此,操作系统需要对设备使用请求
进行检查,并根据申请设备的可用状况
④ 及时响应控制器或通道发来的中断请求,并调用相应
的中断处理程序处理。 ⑤ 对于有通道的计算机系统,驱动程序还应能根据用户 I/O请求构成通道程序。
16
2. 设备驱动程序的处理过程 • 接收来自它上面一层的与设备无关软件的请求, 并执行这个请求。 • 如果请求到来时驱动程序是空闲,则立即开始执 行该请求;若驱动程序正在执行一个请求,则将 新到来的请求插到一个等待处理I/O请求队列中。
31
文件系统软件体系结构 :
用户程序
堆
顺序
索引顺序 逻辑 I/O 基本 I/O 管理器 基本文件系统
索引
快速
磁盘设备驱动器
磁带设备驱动器
32
体系结构图中: • 最底层的设备驱动器直接和外围设备控制器或通 道进行通信,对设备发来的中断信号进行处理。 • 基本文件系统,或物理I/O层,它是与计算机系 统外部环境的主要接口。 • 基本I/O管理器,负责所有文件I/O的初始化和文 件的终止。 • 逻辑作为文件系统的一部分,允许用户和应用程 序访问记录。 • 最接近用户的层称为存取方法。
决定是接收该请求还是拒绝该请求。
23
5. 出错处理
出错处理是由设备驱动程序完成的。大
多数错误是与设备密切相关的,因此,只有 驱动程序知道应如何处理(是重试、忽略, 还是报警)。
24
8.1 文件与文件系统
文件管理是操作系统的基本功能之一,它主要 是进行信息的组织、管理、存取和保护。 将讨论文件的组织方式、存取的机制、可执行 文件的结构,以及文件存储空间的管理等问题。
记录对应的一组键、属性及属性值组成。
37
文件存取方式是指用户的逻辑存取方式,从逻
辑存取到物理存取之间有一个复杂的映射,逻辑存
取常用的方式有:
• 顺序存取
按照文件的逻辑地址依次存取,对记录式文件,便是按照 记录的排序顺序存取。
• 随机存取
用户按照记录的编号进行文件存取,根据存取的命令,把 读/写指针直接移到读/写处进行操作。
I/O软件设计的具体目标是:
– – – – – 设备独立性。 统一命名。 同步/异步传输。 出错处理。 设备共享与独占。
11
根据I/O软件的设计目标,将I/O软件 组织成以下4个层次:
– 中断处理程序; – 设备驱动程序; – 与设备无关的操作系统软件; – 用户层软件。
12
4.2.1 中断处理程序
25
8.1.1 文件及其分类
在讨论文件时经常使用以下几个相关术语:域、 记录、文件以及数据库。 • 域是数据的基本元素。
• 记录是相关域的集合,可以看成是将一个单元供应
用程序使用。
• 文件是相关记录的集合。
• 数据库是相关数据的集合。数据库由一种或多种文
件组成。
26
文件具有3个基本特征:
– 文件体可以是源程序、可执行代码、数据、表
• 按键存取
按键存取是根据给定记录的键进行存取。
38
8.2.2 文件的物理结构及存储设备
1. 文件的物理结构 • 文件的物理结构是指文件在存储器上的存放方 式,以及它与文件的逻辑结构之间的关系,实 际上是指的文件的存储结构。 • 通常文件物理结构有顺序文件、链接文件、索 引文件3种。
39
2. 文件的存储设备
在现代计算机系统中,对I/O设备的控制,
广泛采用中断驱动方式。
当某进程要启动某个I/O设备工作时,便由
CPU向相应的设备控制器发出一条I/O命令,然
后立即返回继续执行原来的任务。设备控制器
便按照该命令的要求去控制I/O设备,此时,
CPU与I/O设备并行操作。
13
I/O设备的中断处理程序的处理步骤为:
控制器 与设备 接口 l
…
控制器 与设备 接口 i 数据 状态 控制
9
…
4.1.3 I/O技术
操作系统中的I/O技术大致有以下3种:
– 程序I/O – 中断驱动I/O – 直接存储器存储(DMA)
10
4.2 I/O软件
I/O软件的总体目标:按分层的思想构造软件。
较低层的软件要使较高层的软件独立于硬件, 较高层的软件则要向用户提供一个友好、规范、清 晰的界面。
1. 唤醒被阻塞的驱动进程。 2. 保护被中断进程的CPU环境。
3. 分析中断原因,转入相应的中断处理程序。
4. 进行中断处理。
5. 恢复现场。
14
4.2.2 设备驱动程序
所有与设备相关的代码放在设备驱动程序中。
它是I/O进程与设备控制器之间的通信程序,
它以进程的形式存在。
由于驱动程序与设备硬件密切相关,故应为每
28
按文件的属性来划分,文件又可分为: – 可执行文件,用户可执行该程序,但不能修改。 – 只读文件,允许文件主和文件的授权者读出文件 但不准改写文件内容。 – 可读/写文件,文件主和文件授权者可以读/写文 件内容。 – 非保护文件,可供任一用户读/写或执行。
29
在操作系统通常把设备看作是文件。
• 不可重复使用的文件存储设备也称为I/O
式字符设备,如打印机等。
• 可重复使用的文件存储设备有磁带、磁
盘、光盘等,也称块设备。
40
8.3 文件管理
8.3.1 文件目录结构
1. 文件目录
文件系统为程序和用户提供了按文件名存
取文件的机制,而将文件名转换为存储地址,
以及对文件实施控制管理则需通过文件目录来
– 它是由字符(基本信息单位)序列组成的文件。访问流 式文件时,依靠读写指针来指出下一个要访问的字符。 – 这种文件的管理简单,要查找信息的基本单位困难。
36
2. 记录式文件
– 它把文件内的信息划分为多个记录,用户以
记录为单位来组织信息。
– 记录是一个具有特定意义的信息单位,它由
该记录在文件中的相对位置、记录名以及该
– (3) 设备文件与路径名
19
Linux设备文件与路径名
– 为文件和设备提供了一致的接口, 并把设备称为特殊文件。
– 习惯上所有的设备都位于/dev目录
或其子目录之下。
20
2. 设备保护
• 与设备命名机制密切相关的是设备保护。 • 在大多数大型计算机系统中,用户进程对
I/O设备的访问是完全禁止的。
嵌入式操作系统
第4讲
I/O设备管理和文件管理
1
本讲主要内容
4.1 4.2 4.3 4.4 4.5 4.6 I/O系统硬件 I/O软件 文件与文件系统 文件的结构及存取方式 文件管理 文件存储空间的分配与管理
2
4.1 I/O系统硬件
设备管理程序管理所有的I/O设备。 设备管理程序把大量的I/O设备管理精减成 一个单一管理模块。 I/O设备包括鼠标、键盘、打印机、图形显 示终端、硬盘驱动器、CD-ROM驱动器,以至 于网络等,同时也必须考虑到未来的存储和输 入/输出技术的发展。
缆与设备内部相连。
7
设备控制器的主要作用:
– 接收和识别CPU发来的多种不同命令; – 实现CPU与控制之间、控制器和设备之间的数据
交换;
– 记录和报告设备的状态。
– 地址识别。识别控制器控制的每个设备的地址。
8
设备控制器的组成:
CPU 与控制器接口 控制器与设备接口 数据 状态 控制
数据线 数据寄存器 控制/状态 寄存器 地址线 控制线 I/O 逻辑
一类设备配置一种驱动程序,或为一类密切相关
的设备配置一个驱动程序。
15
1.设备驱动程序的功能
① 将接收到的来自它上一层的与设备无关的抽象请求转 为具体请求。 ② 检查用户I/O请求的合法性,了解I/O设备的状态,传 递有关参数、设置设备的工作方式。 ③ 发出I/O命令,启动分配到的I/O设备,完成指定的 I/O操作。