
常见操作系统典型功能和实现方法的举例.ppt
49页操作系统原理与实践操作系统原理与实践主编主编 柯敏毅柯敏毅 李浩李浩 中国水利水电出版社中国水利水电出版社第第7章章 常见操作系统典型功能和实现方法常见操作系统典型功能和实现方法的举例的举例 7.1 Windows NT进程、线程的特点进程、线程的特点7.2 UNIX进程管理进程管理7.3 UNIX进程通信与同步机制进程通信与同步机制7.4 Windows NT文件系统文件系统7.5 UNIX文件系统索引结构介绍文件系统索引结构介绍7.6 Linux文件系统文件系统7.7 UNIX NFS文件系统文件系统7.8 Windows NT存储管理的二级页表结构存储管理的二级页表结构7.9 Linux系统的内存管理技术系统的内存管理技术7.10 UNIX内存管理技术内存管理技术7.11 UNIX I/O设备管理设备管理7.12 Linux I/O设备管理设备管理本章学习目标本章学习目标 •UNIX的进程管理及调度,包括进程同步机制介绍的进程管理及调度,包括进程同步机制介绍•UNIX文件的物理结构文件的物理结构•Linux操作系统文件名到文件分量的映射操作系统文件名到文件分量的映射•Windows NT、、Linux及及UNIX内存管理技术内存管理技术•Linux及及UNIX设备管理设备管理 返回本章首页返回本章首页7.1 Windows NT进程、线程的特点进程、线程的特点 7.1.1 Windows NT进程、线程及对象之间的关系进程、线程及对象之间的关系7.1.2 进程管理程序进程管理程序7.1.3 线程调度线程调度 返回本章首页返回本章首页7.1.1 Windows NT进程、线程及对象之间进程、线程及对象之间的关系的关系 Windows NT中的对象是用来表示资源的,而中的对象是用来表示资源的,而Windows NT的的对象类是描述资源类型的。
下面介绍对象类是描述资源类型的下面介绍Windows NT中实现的两中实现的两种对象:种对象:((1)执行体对象它是由执行体的核心态组件实现的对象执行体对象它是由执行体的核心态组件实现的对象如进程、线程、事件等,这些对象能被如进程、线程、事件等,这些对象能被Windows NT执行体创执行体创建和修改建和修改2)内核对象它是由内核实现的一个更基本的对象集合内核对象它是由内核实现的一个更基本的对象集合这些对象对用户进程和线程来说是不可见的,它们在这些对象对用户进程和线程来说是不可见的,它们在Windows NT执行体内部创建和使用内核对象提供了一些基执行体内部创建和使用内核对象提供了一些基本功能,许多执行体对象包含着一个或多个内核对象本功能,许多执行体对象包含着一个或多个内核对象 在在Windows NT中,进程被定义为一个程序的动态调用中,进程被定义为一个程序的动态调用Windows NT中的进程由四部分组成:中的进程由四部分组成:((1)一个可执行的程序:它定义了初始代码和数据一个可执行的程序:它定义了初始代码和数据2)一个私用地址空间:也就是进程的虚拟地址空间一个私用地址空间:也就是进程的虚拟地址空间。
3)系统资源:如通信端口、信号量、文件等系统资源:如通信端口、信号量、文件等4)至少有一个执行线程至少有一个执行线程 Windows NT中的进程具有如下特点:中的进程具有如下特点:((1)进程是作为对象来实现的进程是作为对象来实现的2))Windows NT中的进程要求至少有一个执行线程中的进程要求至少有一个执行线程3))Windows NT中的进程没有进程控制块中的进程没有进程控制块PCB,进程的控制和管,进程的控制和管理信息存放在进程对象的对象体和局限于对象的对象表中理信息存放在进程对象的对象体和局限于对象的对象表中4))Windows NT中的进程不是处理机调度的基本单位中的进程不是处理机调度的基本单位5)每当一个用户的应用程序启动时,相应的环境子系统进程调度)每当一个用户的应用程序启动时,相应的环境子系统进程调度执行体的进程管理程序为该用户程序建立一个进程,然后进程管理执行体的进程管理程序为该用户程序建立一个进程,然后进程管理程序调度对象管理程序为该用户程序建立一个进程对象程序调度对象管理程序为该用户程序建立一个进程对象6)当系统初始启动时,系统为每个环境子系统都建立一个服务器)当系统初始启动时,系统为每个环境子系统都建立一个服务器进程。
进程7))Windows NT中进程管理程序不维护进程之间的父子关系及其中进程管理程序不维护进程之间的父子关系及其它它其他其他关系8))Windows NT中的进程和线程都含有同步机制中的进程和线程都含有同步机制 进程和线程是构造进程和线程是构造Windows NT的两个活动部分,它们之间的关系归纳的两个活动部分,它们之间的关系归纳如下:如下:((1)线程是进程的一个组成部分每个)线程是进程的一个组成部分每个Windows NT进程在创建时只有进程在创建时只有一个线程,需要时这个线程可以创建其它一个线程,需要时这个线程可以创建其它其他其他线程2)进程的多线程都在进程的地址空间活动进程的多线程都在进程的地址空间活动3)资源是分给进程的,而不是分给线程的,并且系统还为分给进程)资源是分给进程的,而不是分给线程的,并且系统还为分给进程的资源规定了配额的资源规定了配额4)调度的基本单位是线程线程之间竞争处理机真正在处理机上)调度的基本单位是线程线程之间竞争处理机真正在处理机上执行的是线程,线程在执行中需要资源时,系统从进程的配额中扣除并执行的是线程,线程在执行中需要资源时,系统从进程的配额中扣除并分配给它。
分配给它5)线程在执行过程中需要同步在不同进程的线程间的同步要用消)线程在执行过程中需要同步在不同进程的线程间的同步要用消息传递机制,消息传递中要用到进程的资源息传递机制,消息传递中要用到进程的资源——端口(端口也是对象,端口(端口也是对象,端口中有消息队列)所以,可以这样说,相互通信的是线程,线程使端口中有消息队列)所以,可以这样说,相互通信的是线程,线程使用的资源却是进程的用的资源却是进程的 返回本节返回本节7.1.2 进程管理程序进程管理程序 Windows NT的进程管理程序的主要功能是:创建和终的进程管理程序的主要功能是:创建和终止进程和线程,挂起线程的执行,存储和检索进程和止进程和线程,挂起线程的执行,存储和检索进程和线程的信息线程的信息 Windows NT中的环境子系统通过完成两个主要任务中的环境子系统通过完成两个主要任务(一是模拟子系统的客户应用程序的运行环境;二是(一是模拟子系统的客户应用程序的运行环境;二是提供客户应用程序所要求的适应原环境的进程结构)提供客户应用程序所要求的适应原环境的进程结构)来实现来实现Windows NT支持多种操作系统运行环境的功能支持多种操作系统运行环境的功能。
在在Windows NT中进程和线程的创建过程如下:中进程和线程的创建过程如下:((1)客户进程用创建原语创建进程客户进程用创建原语创建进程2)客户进程通过发送消息给相应的服务器进程(某环境子系统))客户进程通过发送消息给相应的服务器进程(某环境子系统)3)服务器进程调用)服务器进程调用Windows NT执行体的进程管理程序为之创执行体的进程管理程序为之创建一个建一个Windows NT本机进程在此过程中,进程管理程序调用本机进程在此过程中,进程管理程序调用Windows NT执行体的对象管理程序为该进程创建一个进程对象执行体的对象管理程序为该进程创建一个进程对象注意:(注意:Windows NT把进程创建视为对象创建)把进程创建视为对象创建)((4)进程创建后,进程管理程序返回一个句柄给进程对象进程创建后,进程管理程序返回一个句柄给进程对象5)环境子系统取得该句柄,生成客户应用程序所期望的适合本)环境子系统取得该句柄,生成客户应用程序所期望的适合本环境的返回值环境的返回值6)环境子系统调用)环境子系统调用Windows NT的进程管理程序为已创建的新的进程管理程序为已创建的新进程创建一个线程。
进程创建一个线程 返回本节返回本节7.1.3 线程调度线程调度 在在Windows NT中,一个线程在它的生命期中要经历以下中,一个线程在它的生命期中要经历以下6种状态1)就绪状态)就绪状态((2)备用状态)备用状态((3)运行状态:)运行状态:((4)等待状态:)等待状态:((5)转换状态:)转换状态:((6)终止状态:)终止状态:返返回本节回本节7.2 UNIX进程管理进程管理 7.2.1 UNIX进程状态进程状态7.2.2 UNIX进程描述进程描述7.2.3 UNIX进程控制进程控制7.2.4 UNIX进程调度进程调度返回本章首页返回本章首页7.2.1 UNIX进程状态进程状态 返回本节返回本节7.2.2 UNIX进程描述进程描述 在在UNIX系统中,进程被赋予了以下特定的含义和特性:系统中,进程被赋予了以下特定的含义和特性:((1)一个进程是对一个程序的执行一个进程是对一个程序的执行2)一个进程的存在意味着系统中存在着一个常驻内存)一个进程的存在意味着系统中存在着一个常驻内存的进程表项(的进程表项(proc结构),它包含着相应进程的控制信结构),它包含着相应进程的控制信息。
息3)对每一个进程,有一个被称为)对每一个进程,有一个被称为U区(区(user结构)的结构)的数据结构,这个结构中存放着该进程的私用控制信息数据结构,这个结构中存放着该进程的私用控制信息该结构只有在相应进程执行时才调入内存该结构只有在相应进程执行时才调入内存4)一个进程可以生成或撤销其子进程一个进程可以生成或撤销其子进程5)一个进程是获得和释放各种系统资源的基本单位一个进程是获得和释放各种系统资源的基本单位 ((1)进程表项记录了进程的状态和有关控制信息它是常驻内存)进程表项记录了进程的状态和有关控制信息它是常驻内存的控制信息的控制信息2))U区U区中的各域进一步刻画了进程的特性它是在进程执区中的各域进一步刻画了进程的特性它是在进程执行时才使用的控制信息,因此这些信息不必常驻内存行时才使用的控制信息,因此这些信息不必常驻内存3)系统区表系统区表UNIX系统把一个进程的虚拟地址空间划分为若干系统把一个进程的虚拟地址空间划分为若干连续的逻辑区,如正文区、数据区、栈区等这些区是可以被共享连续的逻辑区,如正文区、数据区、栈区等这些区是可以被共享和保护的独立体,多个进程可以共享一个区为了对区进行有效的和保护的独立体,多个进程可以共享一个区。
为了对区进行有效的管理,管理,UNIX系统在核心设置了一个系统区表(简称区表),各表项系统在核心设置了一个系统区表(简称区表),各表项记录了描述活动区的有关信息记录了描述活动区的有关信息4)本进程区表本进程区表UNIX系统为每个进程都配置了一张进程区表,系统为每个进程都配置了一张进程区表,以便记录进程的每个区在进程中的虚地址以便记录进程的每个区在进程中的虚地址 返回本节返回本节7.2.3 UNIX进程控制进程控制 在在UNIX系统中,进程既是一个独立拥有资源的基本单位,系统中,进程既是一个独立拥有资源的基本单位,又是一个独立调度的基本单位在又是一个独立调度的基本单位在UNIX系统中,除了系统中,除了0#进程之外,其它进程之外,其它其他其他所有进程都是被另一个进程利用系所有进程都是被另一个进程利用系统调用统调用fork创建的调用创建的调用fork的进程称为父进程,的进程称为父进程,fork创创建的进程叫做子进程,从而构成进程的家族关系建的进程叫做子进程,从而构成进程的家族关系0#进进程是一个特殊的系统进程,它是在系统引导时被创建的程是一个特殊的系统进程,它是在系统引导时被创建的系统初启时,系统初启时,0#进程创建了进程创建了1#进程,此后进程,此后0#进程就变成进程就变成了交换进程,而了交换进程,而1#进程变成了系统的始祖进程。
进程变成了系统的始祖进程 返回本节返回本节7.2.4 UNIX进程调度进程调度 返回本节返回本节7.3 UNIX进程通信与同步机制进程通信与同步机制 在早期版本的在早期版本的UNIX中,仅为进程的通信与同步提供了软中断信号和管道中,仅为进程的通信与同步提供了软中断信号和管道机制1)软中断信号它是一种实现进程之间简单通信的设施,用于通知对)软中断信号它是一种实现进程之间简单通信的设施,用于通知对方发生了异常事件软中断是对硬件中断的一种模拟发送软中断就是方发生了异常事件软中断是对硬件中断的一种模拟发送软中断就是向接收进程的进程表项结构中的相应项发送一个软中断信号接收进程向接收进程的进程表项结构中的相应项发送一个软中断信号接收进程在收到软中断信号后,将去执行一个软中断处理程序但是软中断处理在收到软中断信号后,将去执行一个软中断处理程序但是软中断处理程序不像硬件中断处理程序那样收到中断信号后立即被启动,而是必须程序不像硬件中断处理程序那样收到中断信号后立即被启动,而是必须等待接收进程执行时才生效等待接收进程执行时才生效2)管道机制管道是指能连接某些读进程和写进程的专门用于进程通)管道机制。
管道是指能连接某些读进程和写进程的专门用于进程通信的共享文件(信的共享文件(pipe文件),它允许读、写进程按先进先出的方式进行文件),它允许读、写进程按先进先出的方式进行大批量的信息传送也就是说,写进程从管道的一端向管道写入数据流,大批量的信息传送也就是说,写进程从管道的一端向管道写入数据流,而读进程则从管道的另一端读出数据流而读进程则从管道的另一端读出数据流 UNIX系统中的进程通信可分为系统中的进程通信可分为4个部分:低级通信、管道通信、进程间个部分:低级通信、管道通信、进程间通信和网络进程间通信通信和网络进程间通信 返回本章首页返回本章首页7.4 Windows NT文件系统文件系统 7.4.1 FAT文件分配表文件分配表7.4.2 NTFS文件系统文件系统返回本章首页返回本章首页7.4.1 FAT文件分配表文件分配表 FAT文件系统有如下特点:文件系统有如下特点:((1)支持长文件名包括全路径位置,最多不)支持长文件名包括全路径位置,最多不超过超过255个字符的文件名个字符的文件名2)不提供本地安全性没有任何存取权限的)不提供本地安全性没有任何存取权限的限制,任何用户都可以操作整个硬盘中的内容和限制,任何用户都可以操作整个硬盘中的内容和资料。
资料3)最大文件)最大文件/分区大小为分区大小为4GB 7.4.2 NTFS文件系统文件系统 NTFS文件系统的特点:文件系统的特点:((1)支持长文件名称的操作文件及文件夹(包括扩展名)名字最长为)支持长文件名称的操作文件及文件夹(包括扩展名)名字最长为255个字符2)提供了)提供了C2的安全等级的安全等级NTFS允许向单个文件及文件夹指定权限,提允许向单个文件及文件夹指定权限,提供对服务器或个人计算机所需的安全性的支持供对服务器或个人计算机所需的安全性的支持3)支持比)支持比FAT文件系统更大的文件与分区,理论上两者均可达到文件系统更大的文件与分区,理论上两者均可达到16EB,,而而NTFS在典型硬件上实际最大分区可以达到在典型硬件上实际最大分区可以达到2TB4)支持文件压缩可以将文本性质的应用或数据文件压缩大约)支持文件压缩可以将文本性质的应用或数据文件压缩大约50%,将,将可执行文件压缩大约可执行文件压缩大约40%5)支持族的再映射由硬盘扇区损坏而引起的读写错误,)支持族的再映射由硬盘扇区损坏而引起的读写错误,NTFS可将损坏可将损坏扇区的数据写入其它扇区的数据写入其它其他其他未损坏的扇区,同时记录有坏扇区的族的地址,防未损坏的扇区,同时记录有坏扇区的族的地址,防止以后再使用它。
止以后再使用它6)支持)支持Macintosh文件7))支持支持POSIX需求NTFS是是Windows POSIX.1兼容支持的文件系统兼容支持的文件系统 7.5 UNIX文件系统索引结构介绍文件系统索引结构介绍 1..UNIX系统的文件类型系统的文件类型 2.文件系统的目录结构.文件系统的目录结构 3.文件的物理结构.文件的物理结构4.文件逻辑块号到物理块号的转换.文件逻辑块号到物理块号的转换返回本章首页返回本章首页1..UNIX系统的文件类型系统的文件类型UNIX系统中的文件分为系统中的文件分为3种类型:种类型: ((1)目录文件)目录文件 ((2)普通文件)普通文件 ((3)特殊文件)特殊文件 2.文件系统的目录结构.文件系统的目录结构正如前面所述,正如前面所述,UNIX文件系统采用的是多级的文件系统采用的是多级的树形目录结构整个目录就像一棵倒挂的树,根树形目录结构整个目录就像一棵倒挂的树,根目录在最上面下面有树干树枝(目录、子目录)目录在最上面下面有树干树枝(目录、子目录),有树叶(文件)特殊文件存放在一级子目录,有树叶(文件)特殊文件存放在一级子目录/dev中,其它中,其它其他其他所有各级目录中存放的全是普所有各级目录中存放的全是普通文件和目录文件。
通文件和目录文件 3.文件的物理结构.文件的物理结构((1)直接寻址方式直接寻址方式UNIX系统为了提高对文件的检索速度,在索系统为了提高对文件的检索速度,在索引节点中建立了引节点中建立了10个地址项用来直接存放该文件所在的盘块号个地址项用来直接存放该文件所在的盘块号2)一级间接寻址方式一级间接寻址方式UNIX系统还提供一级间接寻址方式在系统还提供一级间接寻址方式在这种寻址方式中,一级间接地址项中存放的不是文件所在的物理盘这种寻址方式中,一级间接地址项中存放的不是文件所在的物理盘块号,而是先将块号,而是先将1~~256个盘块号存放在一个磁盘块中,再将该文件个盘块号存放在一个磁盘块中,再将该文件所在的磁盘的块号存放在这一地址中所在的磁盘的块号存放在这一地址中3)多级间接寻址方式多级间接寻址方式UNIX系统为了进一步扩大寻址范围,还系统为了进一步扩大寻址范围,还引入了二级间接寻址方式和三级间接寻址方式引入了二级间接寻址方式和三级间接寻址方式 4.文件逻辑块号到物理块号的转换.文件逻辑块号到物理块号的转换 根据逻辑盘块号可以求出对应的文件地址是直接地址还是间接地址,然后针根据逻辑盘块号可以求出对应的文件地址是直接地址还是间接地址,然后针对不同的地址采用不同的方法进行转换。
对不同的地址采用不同的方法进行转换1)直接地址当文件逻辑盘块号小于)直接地址当文件逻辑盘块号小于10时,将其逻辑盘块号转换为物理时,将其逻辑盘块号转换为物理块号的方法是将文件逻辑块号转换为索引节点的地址项下标,从该下标指示块号的方法是将文件逻辑块号转换为索引节点的地址项下标,从该下标指示的地址项中可直接获得该文件的物理盘块号的地址项中可直接获得该文件的物理盘块号2)间接地址间接地址l一级间接地址寻址当文件逻辑盘块号大于或等于一级间接地址寻址当文件逻辑盘块号大于或等于10且小于且小于266((256+10)时,将其逻辑块号转换成物理块号的方法是:从索引节点的)时,将其逻辑块号转换成物理块号的方法是:从索引节点的一级间接项中得到的是一级间接的盘块号,根据该间接块的内容计算一级间一级间接项中得到的是一级间接的盘块号,根据该间接块的内容计算一级间接块中的地址下标,即将文件的逻辑块号减接块中的地址下标,即将文件的逻辑块号减10,从相应下标的地址项中得到,从相应下标的地址项中得到物理块号物理块号l多级间接地址寻址当文件的逻辑盘块号大于或等于多级间接地址寻址当文件的逻辑盘块号大于或等于266且小于且小于65802((256*265+266)时,应采用二级间接地址寻址;当文件的逻辑盘块号)时,应采用二级间接地址寻址;当文件的逻辑盘块号大于或等于大于或等于65802时,应采用三级间接地址寻址。
时,应采用三级间接地址寻址 【【例例1】】假定一个索引节点为假定一个索引节点为128字节,指针为字节,指针为4字节长,而状态信息占用字节长,而状态信息占用68个字节,每块的大小个字节,每块的大小为为8KB问:((1)在索引节点中有多大的空间给指针?)在索引节点中有多大的空间给指针?((2)使用直接指针、一级间接指针、二级间接)使用直接指针、一级间接指针、二级间接指针和三级间接指针分别可以表示多大的文件?指针和三级间接指针分别可以表示多大的文件? 【【例例2】】假定盘块的大小为假定盘块的大小为1KB,每个盘块号占,每个盘块号占4个字节,文件索引节点中的磁盘地址如图个字节,文件索引节点中的磁盘地址如图7.5所示,所示,如何将下列文件的字节偏移地址转换为物理地址如何将下列文件的字节偏移地址转换为物理地址1))8112;(;(2))14000;(;(3))350000 返回本返回本节节7.6 Linux文件系统文件系统 Linux支持多种不同的文件系统,这是支持多种不同的文件系统,这是Linux的一个重要特征目前,的一个重要特征目前,Linux系统支持大约系统支持大约15个文件系统:个文件系统:EXT、、EXT2、、XIA、、MINIX、、UMSDOS、、MSDOS、、VFAT、、PROC、、SUM、、NCP、、ISO9660、、SYSV、、HPFS、、AFFS和和UFS。
其中其中EXT、、EXT2是是Linux自己的文件自己的文件系统 在在Linux系统中,整个系统是一种树形结构,每个单独的文件系统是系统中,整个系统是一种树形结构,每个单独的文件系统是这个树形结构中的一部分当需要挂接一个新的文件系统时,不管这个树形结构中的一部分当需要挂接一个新的文件系统时,不管是什么类型,是什么类型,Linux把它挂接到这个树形的文件系统中的一个目录下,把它挂接到这个树形的文件系统中的一个目录下,并隐藏目录中原有的内容这个目录被称为挂接目录或挂接点当并隐藏目录中原有的内容这个目录被称为挂接目录或挂接点当该文件系统被卸载时,这个目录中原有的内容才再次显示出来该文件系统被卸载时,这个目录中原有的内容才再次显示出来 返回本章首页返回本章首页引引进进EXT文文件件系系统统后后,,Linux有有了了一一个个重重大大的的改改进进::真真正正的的文文件件系系统统从从操操作作系系统统和和系系统统服服务务中中分分离离出出来来,,在在它它们们之之间间使使用用了了一一个个接接口口层层——VFS((Virtual File System,,虚虚拟拟文文件件系系统统))VFS允允许许Linux支支持持多多种种不不同同的的文文件件系系统统,,每每个个文文件件系系统统都都要要提提供供给给VFS一一个个相相同同的的接接口口。
这这样样所所有有的的文文件件系系统统对对系系统统内内核核和和系系统统中中的的程程序序来来说说都都是是相相同同的的Linux系系统统中中的的VFS层层使使得得用用户户可可以以同同时时在在系系统统中中透明地挂接很多不同的文件系统透明地挂接很多不同的文件系统 7.6 Linux文件系统文件系统7.6.1 EXT2文件系统文件系统7.6.2 EXT2索引节点索引节点7.6.3 EXT2超级块超级块7.6.4 EXT2中的目录中的目录 7.6.1 EXT2文件系统文件系统 EXT2现在被称为现在被称为“Linux文件系统文件系统”,是,是Linux用户最常使用户最常使用的文件系统各种用的文件系统各种Linux的系统发布都将的系统发布都将EXT2文件系统文件系统作为操作系统的基础作为操作系统的基础EXT2文件系统结构示意图如图文件系统结构示意图如图7.6所示 返回返回本节本节7.6.2 EXT2索引节点索引节点 索索引引节节点点是是EXT2文文件件系系统统的的基基础础,,因因为为EXT2文文件件系系统统中中的的每每一一个个文文件件和和目目录录都都使使用用一一个个唯唯一一的的索索引引节节点点。
其其结构如图结构如图7.7所示 返回返回本节本节7.6.3 EXT2超级块超级块 超级块主要包括如下信息:超级块主要包括如下信息:((1)幻数()幻数(Magic Number))((2)修订级别()修订级别(Revision Level))((3)挂接数()挂接数(Mount Count)和最大挂接数()和最大挂接数(Maximum Mount Count))((4)块组号()块组号(Block Group Number))((5)块大小()块大小(Block Size))((6)每组块数()每组块数(Blocks per Group))((7)空闲块()空闲块(Free Blocks))((8)空闲索引节点()空闲索引节点(Free Inodes))((9)第一个索引节点()第一个索引节点(First Inode))返回返回本节本节7.6.4 EXT2中的目录中的目录 在在ext2文件系统中,目录是一些特殊的文件,它们用来创建和保存系文件系统中,目录是一些特殊的文件,它们用来创建和保存系统中文件的存取路径一个目录入口在内存中的结构如图统中文件的存取路径一个目录入口在内存中的结构如图7.8所示。
所示返回返回本节本节7.7 UNIX NFS文件系统文件系统 网络文件系统(网络文件系统(Network File System,,NFS)是)是UNIX系系统之间互相共享磁盘资源的一种方法在异构型的环境统之间互相共享磁盘资源的一种方法在异构型的环境中,中,NFS才真正可以发挥优势才真正可以发挥优势NFS最主要的特点是它的健壮性它是一个无状态协议,最主要的特点是它的健壮性它是一个无状态协议,也就是说在客户和服务器之间产生的每个请求本身是完也就是说在客户和服务器之间产生的每个请求本身是完整的,不必知道以前的执行情况整的,不必知道以前的执行情况NFS主要的缺憾是它的设计本身是不安全的这就要求在主要的缺憾是它的设计本身是不安全的这就要求在任何时候通过任何时候通过NFS将磁盘共享给其它将磁盘共享给其它其他其他的计算机时,需的计算机时,需要给该计算机的用户一定的信任度要给该计算机的用户一定的信任度 返回本章首页返回本章首页7.8 Windows NT存储管理的二级页表结构存储管理的二级页表结构 Windows NT的虚拟存储管理程序是的虚拟存储管理程序是Windows NT的基本的基本存储管理系统,是存储管理系统,是Windows NT执行体的重要组成部分之执行体的重要组成部分之一。
一Windows NT的虚拟存储管理系统为每一个进程提供了一的虚拟存储管理系统为每一个进程提供了一个很大的虚拟地址空间为了做到这一点,个很大的虚拟地址空间为了做到这一点,Windows NT放弃了早期个人计算机使用的分段模式,而采用了请求放弃了早期个人计算机使用的分段模式,而采用了请求分页式的虚拟存储管理技术分页式的虚拟存储管理技术 Windows NT虚拟存储管理的实现包括两个方面:地址变虚拟存储管理的实现包括两个方面:地址变换机构和页面调度策略在本书中我们将主要介绍换机构和页面调度策略在本书中我们将主要介绍Windows NT的地址变换机构的地址变换机构 返回本章首页返回本章首页Windows NT的的地地址址变变换换机机构构不不同同于于传传统统的的页页面面地地址址变变换换机机构构,,它它采采用用的的是是一一种种称称为为两两级级页页表表结结构构的的技术具体实现如图技术具体实现如图7.10所示:所示:返回本返回本节节7.9 Linux系统的内存管理技术系统的内存管理技术 Linux操作系统的内存管理技术采用的是段页式虚操作系统的内存管理技术采用的是段页式虚拟存储技术内存管理程序首先通过映射机制把拟存储技术。
内存管理程序首先通过映射机制把用户程序的逻辑地址映射到物理空间上,即转化用户程序的逻辑地址映射到物理空间上,即转化为物理地址,在用户程序运行时若发现程序中用为物理地址,在用户程序运行时若发现程序中用到的虚拟地址没有对应的物理内存时,就发出请到的虚拟地址没有对应的物理内存时,就发出请页要求如果有足够的内存空间可供分配,则请页要求如果有足够的内存空间可供分配,则请求分配内存如果没有足够的内存空间可供分配,求分配内存如果没有足够的内存空间可供分配,则使用交换机制,腾出一部分内存空间则使用交换机制,腾出一部分内存空间 返回本章首页返回本章首页lLinux系系统统使使用用需需要要时时装装入入技技术术将将可可执执行行代代码码装装入入到到进进程程的的虚拟内存中虚拟内存中 lLinux系系统统采采用用“最最近近最最少少使使用用”((LRU))技技术术来来决决定定把把哪一个页面从物理内存中移出哪一个页面从物理内存中移出 l操操作作系系统统一一般般使使用用高高速速缓缓存存来来提提高高系系统统性性能能,,以以获获得得最最大大的系统效用的系统效用 lLinux系系统统的的内内存存管管理理程程序序通通过过内内核核中中的的交交换换守守护护进进程程来来释释放物理内存页,以解决物理内存变少的问题。
放物理内存页,以解决物理内存变少的问题 下一页下一页7.10 UNIX内存管理技术内存管理技术 在在UNIX操操作作系系统统中中,,除除保保留留了了交交换换机机制制外外,,还还支支持持请请求求分分页页存存储储管管理理方方式式,,内内存存空空间间的的分分配配和和回回收收都都以以页页为为单单位位进进行行页页面面的的大大小小为为512B~~4KB为为实实现现请请求求分分页页存存储储管管理理,,系系统统配配置置了了4种种数数据据结结构构,,即即页页表表、、磁磁盘盘块块描描述述表表、、页页框框数数据据表表和和交交换换使使用用表表,,并专门设置了一个换页进程并专门设置了一个换页进程 返回本章首页返回本章首页系系统统内内核核应应具具备备三三个个功功能能::交交换换空空间间的的管管理理、、进进程程换入和进程换出换入和进程换出 UNIX系系统统的的请请求求分分页页存存储储管管理理技技术术配配置置了了4种种数数据据结结构构 ::页页表表 ,,磁磁盘盘块块描描述述表表 ,,页页框框数数据据表表 ,,交交换换使用表使用表 换换页页进进程程主主要要用用来来增增加加内内存存中中所所有有有有效效页页的的年年龄龄以以及及将将内内存存中中长长期期不不用用的的页页面面换换出出,,以以支支持持UNIX操操作作系统的请求分页存储管理技术。
系统的请求分页存储管理技术 7.11 UNIX I/O设备管理设备管理 UNIX操作系统将设备分为两类:块设备和字符设备操作系统将设备分为两类:块设备和字符设备UNIX系统的设备管理主要有两个特点:系统的设备管理主要有两个特点:第一个特点是:第一个特点是:UNIX将各类设备当作文件来管理每个将各类设备当作文件来管理每个I/O设备都和一个磁盘文件相联系,由文件系统管理,对其的读设备都和一个磁盘文件相联系,由文件系统管理,对其的读/写操作和对用户数据文件的操作一样写操作和对用户数据文件的操作一样第二个特点是:第二个特点是:UNIX设备管理采用了缓冲技术,主要有块设备管理采用了缓冲技术,主要有块设备缓冲设备缓冲 和字符设备缓冲区和字符设备缓冲区 返回本章首页返回本章首页7.12 Linux I/O设备管理设备管理 设设备备管管理理的的一一个个基基本本目目标标就就是是对对设设备备的的抽抽象象处处理理系系统统中中的的所所有有硬硬件件设设备备看看起起来来都都和和一一般般的的文文件件一一样样,,它它们们可可以以使使用用处处理理文文件件的的标标准准系系统统调调用用来来打打开开、、关关闭闭和和读读写写。
系系统统中中的的每每一一个个设设备备都都由由一一个个设备文件来代表设备文件来代表 Linux系系统统支支持持三三种种类类型型的的硬硬件件设设备备::字字符符设设备备、、块设备、网络设备块设备、网络设备 返回本章首页返回本章首页Linux系系统统支支持持多多种种设设备备,,这这些些设设备备的的驱驱动动程程序序之之间间有有一一些些共共同同的的特特点点::①①它它们们都都是是内内核核代代码码,,所所以以一一旦旦驱驱动动程程序序出出现现错错误误,,整整个个系系统统将将被被严严重重破破坏坏;;②②它它们们都都必必须须为为系系统统内内核核或或其其子子系系统统提提供供一一个个标标准准的的接接口口;;③③它它们们都都利利用用一一些些标标准准的的内内核核服服务务;;④④大大多多数数的的Linux设设备备驱驱动动程程序序都都可可以以在在需需要要时时装装入入内内核核,,在在不不需需要要时时卸卸载载;;⑤⑤Linux系系统统设设备备驱驱动动程程序序将将集集成成为为系系统统内内核核的的哪哪一一部部分分是是可可以以设设置置的的,,它它将将在在系系统统编编译译时时设设置置;;⑥⑥Linux的的设设备备驱驱动动程程序序具具有有动动态态性性,,即即当当系系统统启启动动并并且且各各个个设设备备驱驱动动程程序序初初始始化化以以后后,,驱驱动动程程序序将将维维护护其控制的设备。
其控制的设备返回本章首页返回本章首页THANK YOU VERY MUCH !!本章到此本章到此结束,结束,谢谢您谢谢您 的光临!的光临!返回本章首页返回本章首页结结 束束。
