精品课件-Linux操作系统原理与应用(张玲)-第6章
第6章 文 件 管 理
2. 磁盘空间的逻辑结构 由于磁盘是高速设备,一次读/写操作可以同时访问多个 相邻的扇区(通常是在同一柱面上)。因此,文件系统在读/写 磁盘时不是以扇区为单位,而是以块为单位的。块(block)由 若干个相邻的扇区组成,它是对存储空间的逻辑划分。块的大 小依赖于文件系统的设置和磁盘容量,但必须是扇区大小的2 的整数倍,并且要小于内存页帧的大小。通常块的大小是 512 B、1 KB或4 KB。 在文件系统看来,磁盘的存储空间是由许多在逻辑上连续 的块组成的,它们从0到n编号,如图6-4所示。文件系统以块 为单位保存文件数据,也以块为单位传输数据。所以称这类存 储设备为块设备。访问文件时,只要指定块号即可,不必关心 它对应的扇区的位置,磁盘驱动程序会进行逻辑块到物理块
第6章 文 件 管 理 6.1.3 文件的物理结构与存储方式
文件的物理结构是文件在外存中的组织和存放形式,是文 件系统底层所使用的文件结构。文件的物理结构与存储介质的 物理特性有关。在介绍文件的物理结构之前有必要了解一些存 储设备的知识和存储空间的结构。
文件的存储设备包括磁带、磁盘、闪存、光盘等,典型的 存储设备是磁盘。下面简单介绍磁盘的物理结构及磁盘空间的 逻辑结构。
第6章 文 件 管 理
2. 文件的操作 对文件的操作主要有建立/删除、打开/关闭、读/写、修 改属性等。 建立文件时用户要为文件指定一个文件名,文件系统以文 件名为标识建立文件的FCB,并为文件分配存储空间等资源。 删除文件的操作与此相反,用户指定要删除的文件名,文件系 统删除该文件的FCB,并释放其占用的存储空间等资源。 对文件的读/写操作都要经过文件的FCB来进行。由于FCB 存放在外存空间中,如果每次读/写文件都要访问外存FCB的 话,存取速度将很低。因此在对文件进行任何读/写操作前, 需要先打开文件。打开文件就是在内存中生成文件的FCB,并 返回一个标识其内存FCB的文件标识符,随后的读/写操作将 通过此文件标识符进行。所有读/写完成后应关闭文件。关闭 文件操作将内存FCB的内容写回外存FCB,回收文件描述符,
第6章 文 件 管 理
3. 文件的描述 为了实施和控制对文件的各种访问操作,文件系统为每个 文件都建立了一个文件控制块(File Control Block,FCB)。 文件的FCB的作用类似于进程的PCB,它记录了文件的使用者 和管理者所关心的所有信息,包括文件名、属主、文件大小、 物理存储位置、修改和访问时间、存取权限等。当用户创建一 个新文件时,文件系统就为这个文件建立起一个FCB。随着文 件的操作,FCB的内容也相应地变化。当文件被删除时,它的 FCB也就消失了。
第6章 文 件 管 理
2) 随机存取 随机存取也称为直接存取,就是从文件的指定位置开始存 取一段数据。很多应用场合需要随机存取,例如,数据库管理 程序从数据库表文件中读取或修改一个记录就是一种随机存取。 随机存取的方法是:先将读/写指针定位到文件的指定位 移处(比如用C函数lseek()等),然后从此位置开始存取指定 字2 文件的逻辑结构与存取方式
1. 文件的逻辑结构 文件的逻辑结构是从文件的使用者角度所看到的文件信息 的组织形式,它独立于文件的物理存储特性。 文件的逻辑结构主要分为两种类型:一种是记录式文件, 另一种是流式文件。
第6章 文 件 管 理
1) 记录式文件 记录式文件由若干记录组成,记录具有固定的长度和一致 的内部结构,其中有一个用于标识记录的记录号字段。用户程 序预先定义好文件记录的格式,文件系统就按此格式创建文件。 访问文件时要向文件系统提供记录号,文件系统则以记录为单 位进行文件的定位和读/写。 记录式文件是结构化的文件,它就像一张表格,用户程序 要按预先规定的格式填写数据和读取数据,使用起来不够灵活, 也不便于构造不规则的应用格式。另外,记录的大小与存储块 的大小难以匹配,读/写操作的复杂度较高。由于这些原因, 记录式文件已渐被淘汰。
第6章 文 件 管 理 图6-4 磁盘存储空间的逻辑结构
第6章 文 件 管 理
3. 文件的物理结构 文件的物理结构主要有3种:连续文件、链接文件和索引 文件。 1) 连续文件 连续文件的存储方案是将文件的内容按逻辑顺序存放在连 续的存储块中,这是最简单的存储分配方案,如图6-5所示。 假设磁盘空间采用4K大小的块,文件A的大小为25K,系统为 它分配了连续的7块。文件B的大小为10K,系统为它分配了连 续的3块。它们的存储空间是连续的,起始块号和占用的块数 都记录在它们各自的目录项中。
第6章 文 件 管 理
目录的主要功能是实现文件的“按名存取”,即用户只需 提供文件名就可以对文件进行各种操作。目录实现了文件名到 文件物理存放位置的映射。
目录的另一个功能是合理地组织文件。现在,几乎所有的 操作系统都采用树形目录结构,就是将文件分层分类地组织成 一个树状结构,从根目录开始向下延伸。树形目录结构的特点 是层次清楚,便于文件分类管理,可加快文件的检索速度。另 外,树形目录还允许文件重名,即只要文件不在同一目录下便 可以使用相同的名字。
第6章 文 件 管 理
1. 磁盘的物理结构 磁盘的结构如图6-3所示。磁盘由一组盘片组成,每个盘 片有两个盘面,在对磁盘进行物理格式化时,在盘面上划分出 多个同心圆,称为磁道(track)。所有盘面的相同位置的磁道 组成的圆柱体,称为柱面(cylinder)。每个磁道又划分为多 个弧段,称为扇区(sector),通常的大小是512字节。扇区是 磁盘的物理块,是磁盘上可寻址的最小存储单位。文件的数据 就存储在一系列扇区中。
第6章 文 件 管 理 图6-2 流式文件的存取
第6章 文 件 管 理
1) 顺序存取 顺序存取就是从文件头开始顺序地访问文件的每一段信息, 直到文件尾。应用程序在加载、保存、传输文件时,或对文件 做某些过滤性处理时,都要对文件进行顺序存取操作。 顺序存取的通常做法是在一个循环中调用文件读/写函数, 直到遇到文件结束符(EOF)。
第6章 文 件 管 理
3) 文件的物理结构 文件的物理结构又称为存储结构,是指文件在外存上的存 储组织形式。文件系统负责文件的逻辑结构与物理结构之间的 映射。 文件的物理结构分为连续文件、链接文件和索引文件3种, 具体介绍见6.1.3小节。 操作系统所关心的是文件的逻辑结构与物理结构。逻辑结 构是供文件系统的用户使用的,物理结构是文件系统内部使用 的。将逻辑结构与物理结构相区分,是为了向用户屏蔽有关文 件存储的细节,使用户可以只凭简单的逻辑结构来使用文件。
第6章 文 件 管 理
4. 文件目录 计算机系统中通常存有大量的文件,系统须采用某种有效 的形式来组织和管理这些文件。由于文件与文件的FCB一一对 应,因此,管理文件就是管理文件的FCB。 文件系统采用目录来组织文件。目录是FCB的有序集合, 通过目录将所有的FCB分层分类地组织在一起,方便了文件的 检索操作。由于目录的信息是需要长久保存的,所以目录也需 以文件的形式存在。为此,系统定义了一种特殊的文件——目 录文件,其内容是一组FCB构成的文件列表,每个表项是一个 文件的FCB,在目录里就称为目录项了。由于目录本身也是文 件,因此目录的FCB也可以作为另一个目录中的目录项,从而 构成目录的层次关系。
第6章 文 件 管 理
旋转 磁道
扇区
柱面
移动
磁头
图6-3 磁盘结构示意图(上为俯视图,下为侧视图)
第6章 文 件 管 理
磁盘在启动后高速旋转。每个磁面上有一个磁头,可以在 不同磁道之间来回移动。扇区的定位参数有三个,即柱面号、 磁头号和扇区号。访问磁盘时,先将磁头移动到指定的柱面上, 等待要访问的扇区转到磁头下,然后指定的磁头开始读/写数 据。
第6章 文 件 管 理
3. 文件的存取方式 不论是记录式文件还是流式文件,其逻辑结构都是一维的, 但存取方式有所不同。这里针对流式文件的存取方式介绍如何 根据逻辑结构存取文件。 存取文件指的是对文件的读/写操作。每个打开的文件都 有一个指示读/写位置的指针offset,如图6-2所示。文件刚 打开时,读/写位置位于文件头0字节处。每次读/写文件时 (比如用C函数read()和write()等),根据给定的长度参数读/ 写count个字节,完成后位置指针会自动移到读/写完的位置 之后,这样下次读/写就接着本次的位置顺序地进行下去。必 要时,也可以通过设置读/写位置指针来改变读/写的次序。例 如,需要追加写入时,需先将位置指针定位到文件尾。
第6章 文 件 管 理
2) 流式文件 流式文件是由字节序列组成的文件,是无结构的文件。用 户程序访问文件时只要指定文件的偏移位置和要读/写的字节 数,文件系统即可方便地存取指定部分的文件内容。 流式文件就像一张白纸,没有任何格式上的限制。用户程 序可任意地在字节流上构造自己的应用格式。写文件时,用户 程序按自己定义的结构来组织数据,然后把它们作为字节流写 入文件;读文件时,将读出的字节流再解释成自己使用的结构。 因此说,无结构实际上就是不限制结构的意思,这为应用程序 提供了很大的灵活性,同时又简化了文件系统的操作。所以现 代流行的操作系统,如Unix、Linux、Windows、OS/2等均采 用流式文件作为文件的逻辑结构。
第6章 文 件 管 理 5. 文件的结构 文件结构是文件内容的组织方式。从不同层面上看到的文 件结构有所不同。图6-1所示是文件在三个不同抽象层次上的 结构。
第6章 文 件 管 理 图6-1 文件的结构
第6章 文 件 管 理
第6章 文 件 管 理
1) 文件的格式 终端用户是通过应用程序来使用文件的,从他们的角度看 到的是文件的应用结构,也就是文件的格式。文件的格式由处 理文件的应用程序定义和使用,通常以后缀名相区分。如 “.doc”文件是由Word程序使用的格式,“.bmp”是图片处 理程序使用的格式。 根据文件格式的结构类型,文件大致可分为结构化文件 (如列表文件、数据库文件等)、半结构化文件(如Web文档、 图片、图像等)和无结构文件(如纯文本文件等)。
精品课件-Linux操作系统原理与应用(张玲)-第4章
第4章 进 程 管 理
2. 进程的特性 进程与程序的不同主要体现在进程有一些程序所没有的特 性。要真正理解进程,首先应了解它的基本性质。进程具有以 下几个基本特性: (1) 动态性:进程由“创建”而产生,由“撤销”而消 亡,因“调度”而运行,因“等待”而停顿。进程从创建到消 失的全过程称为进程的生命周期。 (2) 并发性:在同一时间段内有多个进程在系统中活动。 它们宏观上是在并发运行,而微观上是在交替运行。
第4章 进 程 管 理
(3) 独立性:进程是可以独立运行的基本单位,是操作 系统分配资源和调度管理的基本对象。因此,每个进程都独立 地拥有各种必要的资源,独立地占有CPU并独立地运行。
(4) 异步性:每个进程都独立地执行,各自按照不可预 知的速度向前推进。进程之间的协调运行由操作系统负责。
第4章 进 程 管 理
第4章 进 程 管 理
4) 现场信息 现场信息一般包括CPU的内部寄存器和系统堆栈等,它们 的值刻画了进程的运行状态。退出CPU的进程必须保存好这些 现场状态,以便在下次被调度时继续运行。当一个进程被重新 调度运行时,要用PCB中的现场信息来恢复CPU的运行现场。 现场一旦切换,下一个指令周期CPU将精确地接着上次运行的 断点处继续执行下去。
第4章 进 程 管 理
4.1.1 程序的顺序执行与并发执行 1. 程序的顺序执行 如果程序的各操作步骤之间是依序执行的,程序与程序之
间是串行执行的,这种执行程序的方式就称为顺序执行。顺序 执行是单道程序系统中的程序的运行方式。
程序的顺序执行具有如下特点: (1) 顺序性:CPU严格按照程序规定的顺序执行,仅当一 个操作结束后,下一个操作才能开始执行。多个程序要运行时, 仅当一个程序全部执行结束后另一个程序才能开始。
精品课件-Linux操作系统原理与应用(张玲)-第3章
第3章 vi文本编辑器 vi是一个全屏幕文本编辑器,具有文本编辑所需的所有功 能。vi以高效和快捷著称,这是vi能够在编辑器领域中保持 几十年领先地位的原因。以下介绍vi的几个突出特点。
第3章 vi文本编辑器
1. 编辑功能强大 vi的编辑功能十分强大,除通常的编辑功能外,vi还支 持一些高级编辑特性,如正则表达式、宏和命令脚本。利用这 些特性可以完成非常复杂的编辑任务,实现编辑的智能化和自 动化。另一方面,vi的功能又十分专注,它只是一个编辑器, 没有其他功能。Linux系统提供了许多专门用途的工具,如排 版、排序、流过滤、E-mail、编译等软件。vi可以和这些工 具软件协同工作,从而实现几乎所有的文件加工处理任务。用 一些小而精悍、功能专一的工具结合起来完成复杂的处理功能, 这正是Unix的设计哲学。
文本修改(correct)是指改写一部分文本的内容,修改的
过程是:先删除指定范围内的文本,然后插入新文本,最后用
Esc键结束插入。以下介绍几个常用的修改命令。
修改命令:
cc
修改光标所在的行。
C
修改光标处到行尾的文本。
c +定位符
修改光标到指定范围内的文本。常用的
有:
c0、c^ 修改光标左面的文本。
c$ 修改光标右面的文本。
第3章 vi文本编辑器
3.2.1 屏幕翻滚 当编辑的文件比较大时,使用翻屏命令可以快速地将要编
辑的区域调入屏幕显示区。用PageDown和PageUp键可以方便 地实现上下翻屏,但在有些场合下需要用命令来实现更灵活的 翻屏操作。常用的几个翻屏命令介绍如下。
翻屏命令: Ctrl+u: 向上翻半屏。 Ctrl+d: 向下翻半屏。 Ctrl+f: 向下翻一屏。同PageDown键。 Ctrl+b: 向上翻一屏。同PageUp键。 [n]z+Enter:将第n行滚至屏幕顶部,不指定n时将当前 行滚至屏幕顶部。
精品课件-Linux操作系统原理与应用(张玲)-第7章
第7章 设 备 管 理
4. 独占设备与共享设备 按设备的使用方式,设备分为独占设备和共享设备。 独占设备是在某一时间段内只能被一个进程所使用的设备。 打印机、终端设备等都是独占设备。当一个进程占用打印机输 出时,其他要打印的进程只能等待。 共享设备是允许多个进程同时使用的设备。磁盘等存储设 备都是共享设备,它们允许多个进程同时访问文件,存取文件 的数据。
第7章 设 备 管 理
4) 中断与DMA控制 大部分的设备都工作在中断方式下,它们具有中断控制的 逻辑,可以向中断控制器发送中断请求信号并接收中断控制器 发回的中断应答信号。启用了DMA方式的控制器还具有DMA控 制逻辑,可以向DMA控制器发送DMA请求和接收DMA应答。 5) 设备接口 设备接口是控制器与设备之间的接口。一个控制器可以连 接多台设备,每个接口连接一台设备。设备接口主要负责针对 具体设备的信号发送、数据和状态采集等操作。
第7章 设 备 管 理
2. I/O接口 出于通用性设计的考虑,计算机硬件结构都提供了一些标 准的设备接口,这些接口遵照统一的标准来设计,不同的设备 只要遵从同一标准即可通过该接口与系统连接。根据所接驳的 设备种类的不同,可以将I/O接口分为两类:一类是可连接各 种类型的设备的通用接口,如串口、并口、USB接口等都属于 通用I/O接口;另一类是为连接某类设备而设置的专用接口, 如IDE和SCSI接口都是块存储设备的专用接口。一个I/O接口 可以带多个同类型的设备。例如一个IDE接口可以带两个IDE 磁盘驱动器。
精品课件-Linux操作系统原理与应用(张玲)-第9章
第9章 Shell程序设计
2. 条件执行 “&&”是逻辑与执行符,它将两个或多个命令组合在一个 命令行中,指示Shell依次执行这些命令直到某个命令失败为 止。“||”是逻辑或执行符,它将两个或多个命令组合在一个 命令行中,指示Shell依次执行这些命令直到某个命令成功为 止。 例9.12 将文件file1复制到file2,如果成功则删除 file1: $ cp file1 file2 && rm file1 例9.13 将文件file1复制到file2,如果失败则显示 file1: $ cp file1 file2 || cat file1
第9章 Shell程序设计 5. 管道 “|”是管道符,它将前一命令的标准输出作为后一命令 的标准输入。“| tee”是T型管道符,它将前一命令的标准 输出存入一个文件中,并传递给后一命令作为标准输入。 例9.9 将一个目录下的文件列表按名逆序排序后浏览: $ ls /dev | sort -r | more 例9.10 将一个文件的内容排序后保存并统计其行数: $ sort mylist | tee sort-list | wc -l
符号 < > 2> &>
2>&1 1>&2
>> 2>> <<
| | tee
表 9-1 常用的输入/输出重定向与管道符
格式
含义
命令 < 文件
标准输入重定向
命令 > 文件
标准输出重定向
命令 2> 文件
标准错误输出重定向
命令 &> 文件
标准输出合并重定向
命令 2>&1 文件
Linux操作系统原理与应用教学课件ppt作者张玲第1-6章第6章
第6章 文 件 管 理
2) 文件的逻辑结构 文件的逻辑结构是文件系统的直接用户(也就是应用程 序)所看到的文件结构。文件的逻辑结构取决于文件系统接 口的设计,它决定了文件存取的方式。应用程序按逻辑结构 访问文件系统中的文件,并在此基础上构造出各种应用结构 呈现给应用程序的用户。也就是说,应用程序负责文件的格 式与逻辑结构之间的映射。 文件的逻辑结构有记录式文件和流式文件两种,具体介 绍见6.1.2小节。
第6章 文 件 管 理
3) 文件的物理结构 文件的物理结构又称为存储结构,是指文件在外存上的 存储组织形式。文件系统负责文件的逻辑结构与物理结构之 间的映射。 文件的物理结构分为连续文件、链接文件和索引文件3 种,具体介绍见6.1.3小节。 操作系统所关心的是文件的逻辑结构与物理结构。逻辑 结构是供文件系统的用户使用的,物理结构是文件系统内部 使用的。将逻辑结构与物理结构相区分,是为了向用户屏蔽 有关文件存储的细节,使用户可以只凭简单的逻辑结构来使 用文件。
第6章 文 件 管 理
5. 文件的结构 文件结构是文件内容的组织方式。从不同层面上看到的 文件结构有所不同。图6-1所示是文件在三个不同抽象层次 上的结构。
第6章 文 件 管 理 图6-1 文件的结构
第6章 文 件 管 理
第6章 文 件 管 理
1) 文件的格式 终端用户是通过应用程序来使用文件的,从他们的角度 看到的是文件的应用结构,也就是文件的格式。文件的格式 由处理文件的应用程序定义和使用,通常以后缀名相区分。 如“.doc”文件是由Word程序使用的格式,“.bmp”是图片处 理程序使用的格式。 根据文件格式的结构类型,文件大致可分为结构化文件 (如列表文件、数据库文件等)、半结构化文件(如Web文档、 图片、图像等)和无结构文件(如纯文本文件等)。
操作系统第6章-.ppt
6.1 文件和文件系统
6.2 文件的逻辑结构
6.3 外存分配方式
6.4 目录管理
6.5 文件存储空间的管理
6.6 文件共享与文件保护
6.7 数据一致性控制
6.1 文件和
基于文件系统的概念把数据的组成分为数据项、记录和文 件三级。 1. 数据项 (1) 基本数据项。是用于描述一个对象的某种属性的字符 集,是数据组织中可以命名的最小逻辑数据单位,即原子数
操作速度。如果用户已不再需要对该文件实施相应的操作时, 可利用“关闭”(close)系统调用来关闭此文件,OS将会把该
文件在打开文件表中的表目删除掉。
3. 其它文件操作 一类是:有关对文件属性进行操作的。即允许用户直接
设置和获得文件的属性,如改变已存文件的文件名、改变文
件的拥有者(文件主)、改变对文件的访问权,以及查询文件 的状态 ( 包括文件类型、大小和拥有者以及对文件的访问权 等); 另一类是:有关目录的。如创建一个目录,删除一个目
录,改变当前目录和工作目录等;
此外,还有用于实现文件共享的系统调用和用于对文件
系统进行操作的系统调用等。
6.2 文件的逻辑结构
对于任何一个文件,都存在着以下两种形式的结构:
(1)文件的逻辑结构 (File Logical Structure) (2) 文件的物理结构,又称为文件的存储结构,是指文 件在外存上的存储组织形式。
6.1.3 文件操作
1. 最基本的文件操作
(1) 创建文件
(2) 删除文件 (3) 读文件
(4) 写文件
(5) 截断文件:是将原有文件的长度设置为0,即放弃原有 文件的内容。 (6) 设置文件的读/写位置
2. 文件的“打开”和“关闭”操作 “ 打开”,指系统将指定文件的属性 ( 包括该文件在外存
精品课件-Linux操作系统原理与应用(张玲)-第5章
第5章 存 储 管 理
5.1.1 内存的分配与回收 内存分配是为进入系统准备运行的程序分配内存空间,内
存回收是当程序运行结束后回收其所占用的内存空间。为实现 此功能,系统须跟踪并记录所有内存空间的使用情况,按照一 定的算法为进程分配和回收内存空间。
存储分配方案主要包括以下要素: (1) 描述存储分配的数据结构:系统需采用某种数据结 构(表格、链表或队列等)来登记当前内存使用情况以及空闲区 的分布情况,供存储分配程序使用。在每次分配或回收操作后, 系统都要相应地修改这些数据结构以反映这次分配或回收的结 果。
第5章 存 储 管 理 地址变换的方式有两种: (1) 静态地址变换:程序在装入内存前一次性完成地址 转换。程序装入内存后即可直接执行。DOS系统中的程序就是 采用这种方式加载的。采用静态地址变换的程序在内存中始终 处于最初加载的位置,不可移动。
第5章 存 储 管 理
(2) 动态地址变换:程序在装入内存时不进行地址变换, 而是保持指令中的逻辑地址不变。在程序执行过程中,每执行 一条指令时,如果指令中用到了逻辑地址,地址变换机构就会 自动进行地址转换,将逻辑地址变换为实际地址。例如,当 CPU取到LDS R24, 0x0060指令时,先将0060这个逻辑地址变 换为绝对地址0460,然后再执行LDS R24, 0x0460指令。
第5章 存 储 管 理
1. 地址的概念 1) 符号地址 在用高级语言编写的源程序中,我们使用符号名(变量名、 函数名、语句标号等)来表示操作对象或控制的转移地址。比 如用变量名代表一个存储单元、用函数名代表函数的入口地址、 用语句标号代表跳转地址等。这些符号名的集合称为符号名空 间。因此,高级语言程序使用的地址空间是符号名空间,编程 者不需考虑程序代码和数据的具体存放地址。 例如,以下所示的是一个C源程序的片段:
精品课件-计算机操作系统原理-Linux-第6章
备。
第6章 设 备 管 理
在此,根据设备的用途可以将其分成存储设备与输入/输 出设备两大类。
1.存储设备 存储设备即计算机的外存或辅助存储器,它的主要用途是 存储大量的信息,尽管它们的存储速度比内存低,但比内存的 容量大得多。例如:磁鼓、磁带、磁盘、光盘等。这类设备中 的数据是以物理块为单位组织与管理的(即存取信息的单位为 字符块),故这类设备被称为块设备。
第6章 设 备 管 理
6.2.1 查询等待方式 查询等待方式又称循环测试方式、查询方式。它是早期计
算机和现代简单计算机中采用的方式。在这种方式中,设备中 设置有一个状态触发器(busy),由设备本身改变其值,用于 表示设备的忙闲状态。若设备正在进行数据的处理,I/O操作 尚未结束,则把触发器置1,表示设备忙,这时不能进行数据 传送的操作。反之,若busy为0,则表示目前该设备可以进行 数据传送的操作。在系统中设置一条查询指令,程序使用这条 指令反复查询busy的值来测试设备的忙闲状态,当设备闲时, 则启动它进行一次I/O操作。
第6章 设 备 管 理
4.输入/输出缓存的管理 为了缓解设备与处理机在运行速度上不匹配的问题,提高 它们之间的并行工作能力,需要使用缓冲技术,在设备与处理 机之间建立输入/输出缓冲区。设备管理负责对缓冲的分配与 回收。
第6章 设 备 管 理
6.2 I/O控制方式 使用设备完成输入/输出(I/O)的过程,就是主机与外部 设备之间数据传送的过程。设备管理的主要任务之一是控制设 备与内存或CPU之间的数据传送。本节介绍几种常用的数据传 送控制方式。
第6章 设 备 管 理
2.进行设备分配 在多道程序系统中,一般的情况下,请求使用某种设备的 进程数大于设备数。这时就要根据一定的策略或算法合理地把 设备分配给请求进程。待进程使用完设备后,实施设备的回收, 以便分配给其他进程使用。若进程未能得到所需设备,就进入 相应设备的等待队列排队。完成这部分功能的程序称为设备分 配程序。
操作系统原理 第5和6章课件
●主要内容⏹死锁的概念⏹死锁的起因、必要条件和解决策略⏹进程调度⏹典型调度算法●重点⏹死锁的必要条件⏹静态资源分配法⏹有序资源分配法⏹典型调度算法死锁概念死锁概念●死锁的定义⏹两个或多个进程无限期地等待永远不会发生的条件的一种系统状态。
【结果:每个进程都永远阻塞】每个哲学家都在无限期的等待邻座放下筷子!而邻座没有吃完之前永远不会放下筷子!●死锁的另一个定义⏹在两个或多个进程中,每个进程都持有某种资源,但又继续申请其它进程已持有的某种资源。
此时每个进程都拥有其运行所需的一部分资源,但是又都不够,从而每个进程都不能向前推进,陷于阻塞状态。
这种状态称死锁。
●死锁的起因⏹系统资源有限◆资源数目不足以满足所有进程的需要,引起进程对资源的竞争而产生死锁。
⏹并发进程的推进顺序不当◆进程在运行过程中,请求和释放资源的顺序不当,导致进程产生死锁。
并发进程的推进顺序不当能引起死锁●i 和j 是独占性的共享变量(属临界资源,但不考虑临界区的概念)。
⏹i 或j 在进程中没有被访问(即使用)完之前不能被其它进程访问。
⏹i j 代表真实世界中的一切独占性资源:打印机扫描仪1.……2.i = 100 ;3.……4.i = j + 5;5.……6.j = 200 ;7.……8.……进程A 1.……2.……3.j = 200 ;4.……5.j = i + 4;6.……7.i = 100 ;8.……进程B●关于死锁的一些结论⏹参与死锁的进程至少是2个◆两个以上进程才会出现死锁⏹参与死锁的进程至少有2个已经占有资源⏹参与死锁的所有进程都在等待资源⏹参与死锁的进程是当前系统中所有进程的子集☐死锁会浪费大量系统资源,甚至导致系统崩溃●死锁的必要条件⏹互斥条件◆资源具有独占性,每次只能被一个进程所使用。
⏹不剥夺条件◆资源使用完之前,不能被其他进程剥夺。
⏹部分分配条件◆进程运行中除占有已有资源外,还会申请新的资源。
⏹环路条件◆存在进程环路,环中每个进程已有的资源被环中前一进程申请,而自己所需资源又被环中后一进程所占有。
精品课件-Linux原理与结构-第6章
伙伴内存管理器是物理内存的真正管理者,是物理内存管 理的基础。伙伴内存管理器以页块(若干个连续的物理页)为单 位分配、释放、回收物理内存,虽比较粗放,但极为快速、高 效,且不会产生外部碎片。
对象内存管理器建立在伙伴内存管理器之上,是一种细粒 度的物理内存管理器。对象内存管理器将来自伙伴内存管理器 的内存页块划分成小内存对象,以满足内核对小内存的需求, 并负责将回收到的小内存对象组合成内存页块后还给伙伴内存 管理器。
第六章 物理内存管理
➢6.1 ➢6.2 ➢6.3 ➢6.4
内存管理系统组成结构 伙伴内存管理 被时钟管理部分管理 的时间之外,另一个重要的基石就是空间。对空间的管理是操 作系统的另一项核心工作。
操作系统所管理的空间可大致分为内存空间和外存空间, 其中内存空间可被处理器直接访问的,是最基础的空间。内存 空间是计算机系统中的重要资源,操作系统中的进程运行在内 存空间中,操作系统本身也运行在内存空间中,离开了内存空 间,计算机系统将无法运行。另一方面,内存空间又是计算机 系统中的紧缺资源,操作系统及其管理的所有进程共享同一块 物理内存空间,其容量似乎永远都无法满足进程对它的需求。 因而有必要对内存空间实施严格的、精细的管理。
11
事实上,一个NUMA系统由多个节点组成,每个节点都有自己的 处理器和物理内存,处理器对节点内部内存的访问速度较快, 对其它节点的内存访问速度较慢。UMA是NUMA的特例,只有一个 节点的NUMA就是UMA。
计算机系统中的物理内存被统一编址,其中的每个字节都 有一个物理地址,只有通过物理地址才能访问到物理内存单元。 在一个计算机系统中,可以使用的所有物理地址的集合称为物 理地址空间。物理地址空间的大小取决于地址线的位数。
2
内存管理的工作艰巨而繁琐,可大致分成两大部分:物理 内存管理部分管理系统中的物理内存空间,负责物理内存的分 配、释放、回收等;虚拟内存管理部分管理进程的虚拟内存空 间,负责虚拟内存的创建、撤销、换入、换出及虚拟地址到物 理地址的转换等。物理内存管理的主要任务是快速、合理、高 效地分配与回收物理内存资源以尽力提高其利用率;虚拟内存 管理的主要任务是为进程模拟出尽可能大的内存空间并实现它 们间的隔离与保护。在操作系统长期的发展过程中,内存管理 部分由简到繁,不断演变,正逐步走向成熟。
