正在加载图片...
成多个散列队列,每个散列队列仍是一个双向链表,其中的缓冲区数目不断地发生变化。各块 号的散列值用散列函数计算。一个空闲缓冲区可同时链入两个队列中,从而使对一空闲缓冲区 的查找可通过两种方式来进行:若要求获得任意一空闲缓冲区,从空闲链上摘取第一个缓冲区 即可,若要寻找一特定的空闲缓冲区,则搜索散列队列会更方便。 (3)块设备缓冲区的分配与释放 核心调用 getblk过程分配缓冲区。当要读磁盘数据时,核心首先检查要读入的盘块内容是 否已在某个缓冲区中,若发现己在某个缓冲区中,便不必再从磁盘上读入。仅当数据未在任何 缓冲区中时,核心才须从磁盘上将数据读入,这时才须为其分配一空闲缓冲区。类似地,当要把 数据写入一特定盘块时,核心应先检查该块内容是否已在某缓冲区中,仅当该块内容尚不在缓 冲区中时,才须分配一空闲缓冲区。获取空闲缓冲区时应提供的输入参数是文件系统号和磁盘 块号。 getblk过程分配缓冲区时,可分为两种情况:缓冲区在散列队列上及缓冲区不在散列队 列上 当核心用完某缓冲区时,可调用 brelse过程将它释放。 2.核心与驱动程序的接口一一设备开关表 在INIX系统中,每类设备都有一个驱动程序,用它来控制该类设备。任何一个驱动程序通 常都包含了用于执行不同操作的多个函数,如打开、关闭、启动设备、读和写等函数。为使核 心能方便地转向各函数,系统为每类设备提供了一个设备开关表,其中含有该类设备的各函数 的入口地址。 通常,字符设备和块设备的驱动程序有所不同,相应地,它们所包含的函数也不完全相同 由系统中所有字符设备的设备开关组成一张字符设备开关表,由系统中所有块设备的设备开 关组成一张块设备开关表。 3.磁盘驱动程序 磁盘驱动程序的主要功能是:把由逻辑设备号和盘块号组成的文件子系统地址转换为磁 盘上特定的扇区号:装配磁盘控制器的各个寄存器,如磁盘地址寄存器、控制状态寄存器等: 对磁盘块进行读和写。前两个功能与具体的磁盘有关,相对比较简单;而第三个功能则是驱动 程序的最主要功能 1)磁盘的读写方式 在UNIX系统中有两种读方式:一般读方式和提前读方式 在UNIX系统中有三种写方式:一般写方式、异步写方式和延迟写方式。 8.1.5文件管理 在文件系统中,为了能将文件存储到磁盘上,首先必须为之分配相应的存储空间;其次应 考虑采用何种方式将文件存储到磁盘上;第三,为简化对文件的访问和共享 1.文件存储空间的管理 (1)文件系统的组织 在UNIX系统中,文件信息存放在磁盘或磁带上,一个物理存储器中可包含一个或多个文 件卷。在UNX中,这种文件卷又称为文件系统。一个文件系统包含许多物理块 在文件系统中,0#块一般用于系统引导或空闲;1#块为超级块,用于存放文件系统的资源 管理信息,如整个文件系统的盘块数、磁盘索引节点的盘块数、空闲盘块号表及指向下一个空 闲盘块号的指针、空闲索引节点表和指向下一个空闲索引节点的指针等;从第2#块至K#块存 放磁盘索引节点:第K+1#块及其后续各块存放文件数据 (2)空闲盘块的组织 UNIX系统采用成组链接法对空闲盘块加以组织。即将若干个空闲盘块划归一个组,将每 组中的所有盘块号存放在其前一组的第一个空闲盘块号指示的盘块中,而将第一组中的所有成多个散列队列,每个散列队列仍是一个双向链表,其中的缓冲区数目不断地发生变化。各块 号的散列值用散列函数计算。一个空闲缓冲区可同时链入两个队列中,从而使对一空闲缓冲区 的查找可通过两种方式来进行:若要求获得任意一空闲缓冲区,从空闲链上摘取第一个缓冲区 即可,若要寻找一特定的空闲缓冲区,则搜索散列队列会更方便。 (3)块设备缓冲区的分配与释放 核心调用 getblk 过程分配缓冲区。当要读磁盘数据时,核心首先检查要读入的盘块内容是 否已在某个缓冲区中,若发现己在某个缓冲区中,便不必再从磁盘上读入。仅当数据未在任何 缓冲区中时,核心才须从磁盘上将数据读入,这时才须为其分配一空闲缓冲区。类似地,当要把 数据写入一特定盘块时,核心应先检查该块内容是否已在某缓冲区中,仅当该块内容尚不在缓 冲区中时,才须分配一空闲缓冲区。获取空闲缓冲区时应提供的输入参数是文件系统号和磁盘 块号。getblk 过程分配缓冲区时,可分为两种情况:缓冲区在散列队列上及缓冲区不在散列队 列上。 当核心用完某缓冲区时,可调用 brelse 过程将它释放。 2.核心与驱动程序的接口一一设备开关表 在 UNIX 系统中,每类设备都有一个驱动程序,用它来控制该类设备。任何一个驱动程序通 常都包含了用于执行不同操作的多个函数,如打开、关闭、启动设备、读和写等函数。为使核 心能方便地转向各函数,系统为每类设备提供了一个设备开关表,其中含有该类设备的各函数 的入口地址。 通常,字符设备和块设备的驱动程序有所不同,相应地,它们所包含的函数也不完全相同。 由系统中所有字符设备的设备开关组成一张字符设备开关表,由系统中所有块设备的设备开 关组成一张块设备开关表。 3.磁盘驱动程序 磁盘驱动程序的主要功能是:把由逻辑设备号和盘块号组成的文件子系统地址转换为磁 盘上特定的扇区号:装配磁盘控制器的各个寄存器,如磁盘地址寄存器、控制状态寄存器等: 对磁盘块进行读和写。前两个功能与具体的磁盘有关,相对比较简单;而第三个功能则是驱动 程序的最主要功能。 (1)磁盘的读写方式 在 UNIX 系统中有两种读方式:一般读方式和提前读方式。 在 UNIX 系统中有三种写方式:一般写方式、异步写方式和延迟写方式。。 8.1.5 文件管理 在文件系统中,为了能将文件存储到磁盘上,首先必须为之分配相应的存储空间;其次应 考虑采用何种方式将文件存储到磁盘上;第三,为简化对文件的访问和共享。 1.文件存储空间的管理 (1)文件系统的组织 在 UNIX 系统中,文件信息存放在磁盘或磁带上,一个物理存储器中可包含一个或多个文 件卷。在 UNIX 中,这种文件卷又称为文件系统。一个文件系统包含许多物理块。 在文件系统中,0#块一般用于系统引导或空闲;1#块为超级块,用于存放文件系统的资源 管理信息,如整个文件系统的盘块数、磁盘索引节点的盘块数、空闲盘块号表及指向下一个空 闲盘块号的指针、空闲索引节点表和指向下一个空闲索引节点的指针等;从第 2#块至 K#块存 放磁盘索引节点:第 K+1#块及其后续各块存放文件数据。 (2)空闲盘块的组织 UNIX 系统采用成组链接法对空闲盘块加以组织。即将若干个空闲盘块划归一个组,将每 组中的所有盘块号存放在其前一组的第一个空闲盘块号指示的盘块中,而将第一组中的所有
<<向上翻页向下翻页>>
©2008-现在 cucdc.com 高等教育资讯网 版权所有