2010操作系统实验及其参考答案(完整版) 下载本文

00978000-00a70000 (992 KB) Reserved READONLY Private

2. 虚拟内存操作

如何分配一个大容量空间,将物理存储委托给其中的很小一部分(千分之一)并加以使用。

步骤1:在工具栏单击“新建”按钮,编写代码并保存为7-2.cpp。 功能:分配和使用大块内存

参考头文件与函数:windows.h、iostream、FillZero()、malloc()、FillZero ()、free()、VirtualAlloc()、VirtualFree()、 ;

步骤2:单击“Build”菜单中的“Compile7-2.cpp”命令,单击“是”按钮确认,系统对7-2.cpp进行编译。

步骤5:编译完成后,单击“Build”菜单中的“Build 7-2.exe”命令,建立7-2.exe可执行文件。

操作能否正常进行,如果不行,原因是什么? 可以正常运行

步骤6:在工具栏单击“Execute program”按钮,执行7-2.exe程序。

运行结果(如果运行不成功,原因是什么?):

7.5 实验总结

1.学会了用VirtualQueryEx()函数查询地址空间中内存地址的信息,函数原型为

DWORD VirtualQueryEx(

HANDLE hProcess,

LPCVOID lpAddress,

PMEMORY_BASIC_INFORMATION lpBuffer, DWORD dwLength );

其中各个参数含义: hProcess 进程句柄

LpAddress 查询内存的地址 LpBuffer 指向

MEMORY_BASIC_INFORMATION

结构的指针

DwLength MEMORY_BASIC_INFORMATION结构的大小

2.VirtualAlloc()函数的功能是在调用进程的虚地址空间,预定或者提交一部分页,原型为 LPVOID VirtualAlloc( LPVOID lpAddress,

SIZE_T dwSize,

DWORD flAllocationType, DWORD flProtect );

其中各个参数含义:

LPVOID lpAddress, 分配内存区域的地址

SIZE_T dwSize, 要分配或者保留的区域的大小 flAllocationType, 分配类型

DWORD flProtect 指定了被分配区域的访问保护方式 3.了解了内存结构和虚拟内存的管理。

7.6 实验评价(教师)

实验8 文件系统

优化Windows 2000磁盘子系统

(估计时间:100分钟)

8.1 背景知识

1. 选择文件系统

文件系统决定了操作系统能够对磁盘进行的处理,Windows 2000支持的文件系统主要有:

1)文件分配表(File Allocation Table,FAT)文件系统(FAT16)。 2)保护模式FAT文件系统(FAT32)。 3)Windows NT文件系统(NTFS)。

FAT文件系统是早期文件系统之一,也是MS-DOS使用的原始文

件系统。它将文件信息储存在位于卷标开头处的文件分配表中,并保存两份文件分配表,以防其中的一个遭到破坏。

FAT文件系统最大的优点是MS-DOS、Windows 9x甚至OS/2都能访问的FAT卷标;而其最大的弱点是随着FAT卷标尺寸的增长,最小的簇尺寸也随之增长,对于大于512MB的硬盘而言,最小的簇尺寸为16KB;对于大于2GB的硬盘,最小的簇尺寸为64KB,这就导致了磁盘空间的极大浪费,因为一个文件必须占用整数个簇,因此,1KB的文件在2GB的硬盘上将占用64KB的磁盘空间,FAT文件系统不支持尺寸大于4GB的卷标。

FAT32文件系统通过提供长文件名的支持来扩展FAT文件系统,并与FAT16兼容,FAT(16和32)文件系统是支持可移动媒体(例如软盘)上的唯一的文件系统。

Windows NT文件系统(NTFS)包括了FAT文件系统的所有功能,同时又提供了对高级文件系统特征(例如安全模式、压缩和加密)的支持,它是为在大磁盘上有效地完成文件操作而设计的,与FAT和保护模式FAT文件系统不同,它的最小簇尺寸不超过4KB,但是,NTFS卷标只能为Windows NT、2000和XP操作系统所访问。

Windows 2000提供的新特征(NTFS 5.0)使文件系统更安全、更可靠,比以往的Windows版本更好地支持分布式计算。 此外,Windows 2000支持的文件系统还有:

CDFS:光盘文件系统(compact disc file system)用于光盘的文件存储。

UDF:通过磁盘格式(universal disk format)用于DVD的文件存储。

在文件系统中,FAT16、FAT32和NTFS这三个文件系统对磁盘子系统的性能影响最大,而事实上,选择NTFS之外的任何文件系统都只有两个理由,即:

1)可双引导系统。 2)小于400MB的卷。

如果系统不是这两种情况,那么NTFS就应该是所选择的文件系统,NTFS将提供更好的性能、可靠性和安全性。 2. EFS加密文件系统

EFS(encrypting file system)实际上是NTFS的一个特性,它提供了核心文件加密技术,主要用来在NTFS文件系统卷上存储加密文件,在加密了文件或文件夹之后,使用加密文件和文件夹的方法与使用其它任何文件和文件夹相同,即加密对于加密该文件的用户来说是透明的,这意味着不必在使用加密文件之前将其解密,可以像平常一样打开和更改文件,但是,如果侵入者试图打开、复制、移动和重命名加

密的文件或文件夹,那么他将接收一条拒绝访问的消息。

像设置其他任何属性(如只读、压缩或隐藏)一样,可以通过设置文件夹和文件的加密属性来对文件夹或文件加密或解密。如果加密文件夹,那么在加密文件夹中创建的所有文件和子文件夹都将加密,因此,推荐在文件夹一级加密。

使用EFS保护文档的安全,可以防止侵入者获得对存储的敏感数据的未经授权的物理方问。

EFS带来的附加安全性是以性能为代价的,当操作系统对所访问的加密文件进行加密或解密时,文件传输将增加一点延迟。

系统影响性能的程序将具体取决于执行加密或解密操作的系统的处理能力。对于在本地驱动器上包含加密文件的现代工作站来说,因为这些系统通常不受处理器限制,所以影响通常可以忽略不计,这种影响对处理器上的额外负载可能不到1%,对于使用低端处理器的早期工作站来说,这种额外负载可能大约占处理器时间的10%。

对于服务器来说,负载可能会很重,在服务器上,可能同时发生许多不同的文件访问,如果其中许多文件都使用EFS来保护,那么处理器上的负载可能是处理器总负载的10%—25%。对于包含大量加密文件(或非常大的加密文件)的文件服务器而言,如果额外的处理开销使服务器负担过重,则应该添加处理器或者升级现有的处理器。 3. 压缩

Windows 2000支持在NTFS卷上压缩文件和目录,因为任何应用程序都可以读写在NTFS卷上压缩的文件而不需要首先由其他应用程序解压缩,在关闭或保存文件时再次压缩。

只有Windows 2000 NTFS驱动程序才能读取数据的压缩开式,当应用程序或操作系统命令请求访问文件时,NTFS在使文件可用之前首先对文件解压缩。当文件被解压缩、复制,然后重新压缩为一个新文件时,压缩可能导致性能降低,即使在同一台计算机中复制文件也是如此。对于网络传输,文件将被解压缩并以完整的大小传输,这会影响带宽和速度。

4. 磁盘配额

Windows 2000包括了一些用于存储管理的新技术,这些技术使管理员及最终用户可以得到更好的整体数据存储,通常使用一些预防性磁盘管理原则,可以合理安排网络卷上存储的数据量。

下面介绍磁盘配额追踪和控制卷的磁盘空间使用情况,当网络磁盘达到其容量后,磁盘和服务器的性能将出现严重的问题,除非对最终用户施加了磁盘限制,否则当用户决定将他们的所有硬盘驱动器数据都转存到一个目录中,或者他们认为网络是存储他们下载的mp3文件的最佳位置时,服务器磁盘可能很快就会耗尽,使用Windows 2000