几种常见操作系统典型功能的实现方法举例

合集下载
  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。

第26页/共47页
返回首页
7.6.1 EXT2文件系统
图7.6 EXT2文件系统结构示意图
第27页/共47页
返回本节
7.6.2 EXT2索引节点
数据结构 ext2_inode
Mode Owner info
Size Timestamps
DataBlocks
Direct Blocks
Indirect Blocks Double Indirect Triple Indirect
页表
页帧地 址
页表地 址
页帧
代码或数 据
图7.10 二级页表地址变换结构
第36页/共47页
页目录
002 31
虚拟地址
003
020
21
11
0
页表
页帧
00C 008
00680
004 000
00248#
00C 00726 008 004
000 00680#
控制寄存器 00248
31
11
0
图7.11 地址变换过程举例
• NFS主要的缺憾是它的设计本身是不安全的。这就要求在任何时候通过NFS将磁盘共享给其他的计算机时, 需要给该计算机的用户一定的信任度。
• NFS的两个主要文件是:/etc/exports和/etc/fstab文件。
第33页/共47页
返回首页
7.8 Windows NT 存储管理的二级页表结构
• Windows NT运行在32位的微机上,因此每个进程都有4GB的虚拟地址空间(如图7.9所示)。
第11页/共47页
调度
内存中有可运行的进程 ?
Y 选择内存中优先级最高、驻留时间最长的就绪 或被剥夺进程
从就绪队列中移出
切换到PU空闲
图7.3 UNIX进程调度算法
第12页/共47页
返回本节
7.3 UNIX进程通信与同步机制
• UNIX系统V中的进程通信可分为4个部分:低级通信、管道通信、进程间通信和网络进程间通信。
第3页/共47页
创建并初始化线程对 象
放入就绪队列
初始化
重新初始化
选择执行
备用
就绪
资源成为 可用的
等待完成
转换
资源不可用
抢先 抢先或时间片结束
描述表切换并开 始执行(调度)
终止
执行完成
运行
等待
线程等待一 个对象句柄
图7.1 线程的调度状态之间的转化图
第4页/共47页
返回本节
7.2 UNIX进程管理
第6页/共47页
(6)睡眠且换出 (7)被抢占状态 (8)创建状态 (9)僵死状态 (如图7.2所示)
第7页/共47页
僵死 9
中断、中断返回
用户态执行 系统调用、中 2 断
返回
返回到用户态
终止
1
剥夺
7 被剥夺状态
睡眠 核心态 执行
调度
内存中睡眠 4 换出
唤醒
3 内存中就绪
有足够内存
换出 换入
创建 8 fork
(4)一个进程可以生成或撤销其子进程。
(5)一个进程是获得和释放各种系统资源的基本单位。
第9页/共47页
返回本节
7.2.3 UNIX进程控制
• 在UNIX系统中,除了0#进程之外,其他所有进程都是被另一个进程利用系统调用fork创建的。
• 0#进程是一个特殊的系统进程,它是在系统引导时被创建的。系统初启时,0#进程创建了1#进程,此后0# 进程就变成了交换进程,而1#进程变成了系统的始祖进程。UNIX系统利用fork为每个终端创建一个子进程 为用户服务,如等待用户登录、执行shell命令解释程序等。
(1)低级通信主要用来传递进程间的控制信号。
(2)管道通信用来在同一家族的进程间传递比特流。
第13页/共47页
返回首页
(3)进程间通信IPC是UNIX系统V的一个核心程序包,它负责完成同一计算机内各进程间大量数据的传送工 作。它由3部分组成:消息机制、共享存储器机制和信号量机制。
(4)网络进程间的通信是基于通信协议的。
第21页/共47页
3.文件的物理结构
• 在UNIX系统中,文件的数据存储在离散的磁盘块中,这些文件的盘块号直接或间接地存放在该文件索引节 点的13个地址中。索引节点中的直接块和间接块如图7.4所示。
(1)直接寻址方式。 (2)一级间接寻址方式。 (3)多级间接寻址方式。
第22页/共47页
图7.4 索引节点中的直接块和间接块
(4)将一个常用的硬件高速缓存放在处理器中,它一般用来保存页面表的 入口(如图7.12所示)。
第38页/共47页
返回首页
第一级
第二级
第三级
页面中字节
第一级页面表 第二级页面表 第三级页面表
物理页面
PFN
PFN
PFN
PGD
图7.12 虚拟内存地址示意图
第39页/共47页
返回本节
7.10 UNIX内存管理技术
非页交换区 页交换区
直接映射地址
页面交换区
00000000h
0.5GB 0.5GB
系 统 存 储 区 ( 2 GB )
用 户 存 储 区 ( 2 GB )
图7.9 虚拟地址空间
第35页/共47页
… …

控制寄存器 页目录地址
虚拟地 目录位移 页址表位移 页位移
31
22 21
12 11
0
页目录(每进程一个)
图7.7 EXT2文件系统索引节点示意图
第28页/共47页
数据 数据
数据 数据 数据 数据 数据 数据
返回本节
7.6.3 EXT2超级块
• 超级块主要包括如下信息: (1)幻数(Magic Number) (2)修订级别(Revision Level) (3)挂接数(Mount Count)和最大挂接数(Maximum Mount Count) (4)块组号(Block Group Number) (5)块大小(Block Size)
第10页/共47页
返回本节
7.2.4 UNIX进程调度
• 由于UNIX系统是单纯的分时系统,所以没有设置作业调度。UNIX系统的进程调度采用的算法是,多级反 馈队列轮转调度法。调度的算法如图7.3所示。
• 核心先从最高优先级就绪队列中取出排在队列最前面的进程,当进程执行完一个时间片仍未完成则剥夺它 的执行,将它放入到相应的队列中。然后,再从最高优先级就绪队列中取出下一个就绪进程投入运行。
• Windows NT的地址变换机构不同与传统的页面地址变换机构,它采用的是一种称为二级页表结构的技术 (如图7.10所示)。
• 某进程的二级页表及虚拟地址如图7.11所示, Windows NT采用两级页表的缺点是降低了访问内存的速度。
第34页/共47页
返回首页
FFFFFFFFh 80000000h
第16页/共47页
返回本节
7.4.2 NTFS文件系统
• NTFS文件系统的特点: (1)支持长文件名称的操作。 (2)提供了C2的安全等级。 ( 3 ) 支 持 比 FAT 文 件 系 统 更 大 的 文 件 与 分 区 , 理 论 上 两 者 均 可 达 到 1 6 EB, 而 NTFS 在 典 型 硬 件 上 实 际 最 大 分
第14页/共47页
返回本节
7.4 Windows NT文件系统
• 7.4.1 FAT文件分配表
• 7.4.2 NTFS文件系统
第15页/共47页
返回首页
7.4.1 FAT文件分配表
• 文件分配表是微软用在 DOS及Windows 操作环境的文件系统格式 。FAT文件系统有如下特点 : (1)支持长文件名。 (2)不提供本地安全性。 (3)最大文件/分区大小为4GB。
• 交换空间的管理。在UNIX系统中分配交换空间是通过驻留在内存中 的交换映射表来实现的。
• 进程的换出。当内核需要内存空间时,就可以把一个进程换到交换 区中。
• 进程的换入。引用计数值为0的进程即为交换进程。
第40页/共47页
返回首页
• UNIX系统为实现该技术所配置的4种数据结构: (1)页表 (2)磁盘块描述表(如图7.13所示) (3)页框数据表 (4)交换使用表(如图7.14所示)
第19页/共47页
返回首页
1.UNIX系统的文件类型
• UNIX系统中的文件分为3种类型: • 目录文件 • 普通文件 • 特殊文件(或称设备文件)
第20页/共47页
2.文件系统的目录结构
• UNIX文件系统采用的是多级的树形目录结构。整个目录就像一棵倒挂的树,根目录在最上面。下面有树干 树枝(目录、子目录),有树叶(文件)。特殊文件存放在一级子目录/dev中,其他所有各级目录中存放的 全是普通文件和目录文件。
(1)索引节点(inode) (2)名称长度(name length) (3)名称(name)
第31页/共47页
0
15
i1 15 5 文件名 i2 55 14
55 长文件名
索引节点表
图7.8 EXT2文件系统目录结构示意图
第32页/共47页
返回本节
7.7 UNIX NFS文件系统
• NFS最主要的特点是它的健壮性。在客户和服务器之间产生的每个请求本身是完整的,不必知道以前的执行 情况。
• 7.2.1 UNIX进程状态 • 7.2.2 UNIX进程描述 • 7.2.3 UNIX进程控制 • 7.2.4 UNIX进程调度
第5页/共47页
返回首页
7.2.1 UNIX进程状态
• UNIX中共有9种进程状态: (1)核心运行状态 (2)用户运行状态 (3)内存中就绪 (4)内存中睡眠 (5)就绪且换出
区可以达到2TB。
第17页/共47页
(4)支持文件压缩。 (5)支持族的再映射。 (6)支持Macintosh文件。 (7)支持POSIX需求NTFS是Windows POSIX.1兼容支持的文件系统。
第18页/共47页
返回本节
7.5 UNIX文件系统索引结构介绍
1.UNIX系统的文件类型 2.文件系统的目录结构 3.文件的物理结构 4.文件逻辑块号到物理块号的转换
7.1.2 进程管理程序
(1)客户进程用创建原语创建进程。
(2)客户进程通过发送消息给相应的服务器进程。
(3)服务器进程调用Windows NT执行体的进程管 理程序为之创建一个Windows NT本机进程。
(4)进程创建后,进程管理程序返回一个句柄给 进程对象。
(5)环境子系统取得该句柄,生成客户应用程序 所期望的适合本环境的返回值。
(6)环境子系统调用Windows NT的进程管理程序 为已创建的新进程创建一个线程。
第2页/共47页
返回本节
7.1.3 线程调度
• 在Windows NT中,一个线程在它的生命期中要经历以下6种状态: (1)就绪状态 (2)备用状态 (3)运行状态 (4)等待状态 (5)转换状态 (6)终止状态(如图7.1所示)
第23页/共47页
4.文件逻辑块号到物理块号的转换
(1)直接地址 (2)间接地址。 • 一级间接地址寻址 • 多级间接地址寻址(如图7.5所示 )
第24页/共47页
图7.5 文件索引节点中的磁盘地址
第25页/共47页
返回本节
7.6 Linux文件系统
• 7.6.1 EXT2文件系统 • 7.6.2 EXT2索引节点 • 7.6.3 EXT2超级块 • 7.6.4 EXT2中的目录
第29页/共47页
(6)每组块数(Blocks per Group) (7)空闲块(Free Blocks) (8)空闲索引节点(Free Inodes) (9)第一个索引节点(First Inode)
第30页/共47页
返回本节
7.6.4 EXT2中的目录
• 在ext2文件系统中,目录是一些特殊的文件,它们用来创建和保存系统中文件的存取路径(如图7.8所示)。 一个目录文件包括很多的目录入口,一个目录入口包括以下内容:
睡眠且交换 6
唤醒
内存不足 5
图7.2 UNIX进程状态转化图
第8页/共47页
返回本节
7.2.2 UNIX进程描述
(1)一个进程是对一个程序的执行。
(2)一个进程的存在意味着系统中存在着一个常驻内存的进程表项(proc 结构),它包含着相应进程的控制信息。
(3)对每一个进程,有一个被称为U区的数据结构,这个结构中存放着该 进程的私用控制信息。
020 代码或数据
00C 008 004 000 00726#

第37页/共47页
返回本节
7.9 Linux 系统的内存管理技术
(1)采用缓冲区高速缓存来保存块设备驱动程序所用到的数据缓冲区。
(2)Linux系统采用页面高速缓存来加速磁盘中文件镜像和数据的存取。
(3)Linux系统采用交换高速缓存只将那些被修改过的页面保存到交换文 件中。
7.1.1 Windows NT进程、线程及对象之间的关系
(1)线程是进程的一个组成部分。 (2)进程多线程都在进程的地址空间活动。 (3)资源是分给进程的,而不是分给线程的,并且系统还为分给进程的资
源规定了配额。 (4)调度的基本单位是线程。 (5)线程在执行过程中需要同步。
第1页/共47页
返回本节
相关文档
最新文档