操作系统实验报告.实验一WINDOWS进程初识_第1页
操作系统实验报告.实验一WINDOWS进程初识_第2页
操作系统实验报告.实验一WINDOWS进程初识_第3页
操作系统实验报告.实验一WINDOWS进程初识_第4页
操作系统实验报告.实验一WINDOWS进程初识_第5页
已阅读5页,还剩15页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

1、操作系统教程实验指导书实验一WINDOWS进程初识实验目的学会使用VC编写基本的Win32ConsolApplication(控制台应用程序)。掌握WINDOWSAPI使用方法。编写测试程序,理解用户态运行和核心态运行。实验内容和步骤(1)编写基本的Win32ConsolApplication步骤1:登录进入Windows,启动VC+6.0。步骤2:在“FILE”菜单中单击“NEW子菜单,在“projects”选项卡中选择“Win32ConsolApplication,然后在Projectname处输入工程名,在Location”处输入工程目录。创建一个新的控制台应用程序工程。步骤3:在“FI

2、LE”菜单中单击“NEW子菜单,在“Files”选项卡中选择“C+SourceFile:然后在“File”处输入C/C+源程序的文件名。步骤4:将清单1-1所示的程序清单复制到新创建的C/C+源程序中。编译成可执行文件。步骤5:在“开始”菜单中单击“程序”-“附件”-“命令提示符命令,进入Windows“命令提示符”窗口,然后进入工程目录中的debug子目录,执行编译好的可执行程序:课程os课os实验程序os11debughello.exe运行结果(如果运行不成功,则可能的原因是什么?):答:运行成功,结果:gshiyanl_1Debugshiyan1_1.exeHell*Win32Conso

3、lAppllcationPressanykeytocontinue(2)计算进程在核心态运行和用户态运行的时间步骤1:按照(1)中的步骤创建一个新的“Win32ConsolApplication”工程,然后将清单1-2中的程序拷贝过来,编译成可执行文件。步骤2:在创建一个新的“Win32ConsolApplication”工程,程序的参考程序如清单1-3所示,编译成可执行文件并执行。步骤3:在“命令提示符窗口中运行步骤1中生成的可执行文件,测试步骤2中可执行文件在核心态运行和用户态运行的时间。课程os课os实验程序os12debugtimeTEST.exe步骤4:运行结果(如果运行不成功,则可

4、能的原因是什么?)因为此程序是个死循环,所以运行时间为无穷大。步骤5:分别屏蔽While循环中的两个for循环,或调整两个for循环的次数,写出运行结果。屏蔽j循环:调整循环变量i的循环次数:调整循环变量j的循环次数:屏蔽i循环:实验结论通过实验可以得知运行一个程序CPU勺使用情况是不同的,同时与循环的次数无关,和当前计算的复杂情况有关。实验得出的数据可以可以说明这一点。实验二进程管理1、实验目的1)通过创建进程、观察正在运行的进程和终止进程的程序设计和调试操作,进一步熟悉操作系统的进程概念,理解Windows进程的“一生”。2)通过阅读和分析实验程序,学习创建进程、观察进程、终止进程以及父子

5、进程同步的基本程序设计方法。2、实验内容和步骤.创建进程本实验显示了创建子进程的基本框架。该程序只是再一次地启动自身,显示它的系统进程ID和它在进程列表中的位置。步骤1:创建一个Win32ConsolApplication工程,然后拷贝清单2-1中的程序,编译成可执行文件。步骤2:在“命令提示符”窗口运行步骤1中生成的可执行文件。运行结果:范例:课程os课os实验程序os11debugos21(假设编译生成的可执行文件是os21.exe)):MlyPiojectsshiyanl_lJ)ebugsiiyanl_l.exe*rocessID:3&?6,CloneID:0ProcessID:3796

6、,Clone1D:1frrocesc1DI348B,CloneID=2Eroces?3460ClonlD?FrocesID32GlonID按下ctrl+alt+del,调用windows的任务管理器,记录进程相关的行为属性:PID:3676,句柄数:11内存使用:1080K页面错误:263页面缓存:15K步骤3:在“命令提示符”窗口加入参数重新运行生成的可执行文件。运行结果:范例:课程os课os实验程序os11debugos213(假设编译生成的可执行文件是os21.exe)ProcessID二2812,CloneID按下ctrl+alt+del,调用windows的任务管理器,记录进程相关的

7、行为属性:PID:2821句柄数:7内存使用:832K页面错误:263页面缓存:15K步骤4:修改清单2-1中的程序,将nClone的定义和初始化方法按程序注释中的修改方法进行修改,编译成可执行文件(执行前请先保存已经完成的工作)。再按步骤2中的方式运行,看看结果会有什么不一样。运行结果:第一次修改:结果不变。第二次修改:是一个死循环,不断的弹出此窗口:D:shiyan2cddebugI):Xshiyan2Debugsh:Lyan2ProcessID二272.CloneID:0从中你可以得出什么结论:nClone的作用:控制程序的执行,当nClone大于等于5时可跳出程序变量的定义和初始化方法

8、(位置)对程序的执行结果有影响吗?为什么?有,nClone被修改后会对程序的结束控制产生影响.父子进程的简单通信及终止进程步骤1:创建一个Win32ConsolApplication”工程,然后拷贝清单2-2中的程序,编译成可执行文件。步骤2:在VC的工具栏单击“ExecuteProgram(执行程序)按钮,或者按Ctrl+F5键,或者在“命令提示符”窗口运行步骤1中生成的可执行文件。运行结果:范例:课程os课os实验程序os11debugos22(假设编译生成的可执行文件是os22.exe)CrecitinQfthechildprocess.IeIlingthechildprocesstoq

9、uit.八D:shiyan2_2Pebugshiyan2_2.eseCliiIdwaitingforsuicideinstructions,步骤3:按源程序中注释中的提示,修改源程序2-2,编译执行(执行前请先保存已经完成的工作)。运行结果:不断的弹出:C-.:炉式七9thechildprocess.Allingthechildprocesstoquit.在程序中加入跟踪语句,或调试运行程序,同时参考MSDN中的帮助文件CreateProcess()的使用方法,理解父子进程如何传递参数。给出程序执行过程的大概描述:通过main(intargc,char*argv)传递参数,每次运行时先检测ar

10、gc的值,若小于1,程序运行结束,否则继续往下执行步骤4:填空CreateProcess()函数有_5个核心参数?本实验程序中设置的各个参数的值是:a.szFilename;b.szCmdLine;c.NULL;d.NULL;e.FALSE;f.CREATE_NEW_CONSOLE;g.NULL;h.NULL;i.si;j.Pi。步骤5:按源程序中注释中的提示,修改源程序2-2,编译执行。运行结果:。二D:5hiyan2_2Debugproctera.ezeireatingthechildprocess.?e11ingrthechildprocesstotfu.it.步骤6:参考MSDN中的帮

11、助文件CreateMutex()、OpenMutex()、ReleaseMutex()和WaitForSingleObject()的使用方法,理解父子进程如何利用互斥体进行同步的。给出父子进程同步过程的一个大概描述:CreateMutex()创建互斥体,OpenMutex()打开互斥体,ReleaseMutex()释放互斥体,WaitForSingleObject()检测hHandle事件的信号状态,通过这些方法可实现当前只有一个进程被创建或使用,实现进程的同步。3、实验结论通过对进程的操作,如创建进程,实现对进程的简单控制。创建互斥体,解决了进程的同步问题,两者相互使用,使进程的运行情况得到

12、了很好的管理。实验三进程同步的经典算法1、实验目的1)回顾系统进程、线程的有关概念,加深对Windows2000线程的理解。2)了解互斥体对象,通过对生产者消费者等进程间同步与互斥经典算法的实现,加深对P、V原语以及利用P、V原语进行进程间同步与互斥操作的理解。2、实验内容和步骤(1).生产者消费者问题步骤1:创建一个Win32ConsolApplication工程,然后拷贝清单3-1中的程序,编译成可执行文件。步骤2:在“命令提示符”窗口运行步骤1中生成的可执行文件。运行结果:范例:课程os课os实验程序os11debugos31(假设编译生成的可执行文件是os31.exe)D:Xshiya

13、n3_lXDehuqXhiyan3_J.PFoducxnsf1.SucceedRppendingappoduct.Succeedp=1-消费1:0生产Produeing2_.SucceedHppendingappotluct.SixcceedP=1生产一消费1:2Takingaproduct,._Succeed0:0生产P2;-消费Con&uning1_.Succeedpakingaproduct.SucceedP=0一生产lnyan3_lrodueing1Succeedppendingaproduct._Succeed:1-消费:0生产140ducing2Succeedppendingfap

14、roduet.Succeed:1-生产一消费:2od产费pr生消- t - c ?elak工ng*a:0一:2onsumin9akinga:0os41(假设编译生成的可执行文件是os41.exe)步骤3:根据运行结果,回答下列问题虚拟内存每页容量为:4.00KB最小应用地址:0 x00010000最大应用地址:0 x7ffeffff当前可供应用程序使用的内存空间为:1.99GB当前计算机的实际内存大小为:0.99GB理论上每个Windows应用程序可以独占的最大存储空间是:提示:可供应用程序使用的内存空间实际上已经减去了开头与结尾两个64KB的保护区,虚拟内存空间中的64KB保护区是防止编程错

15、误的一种Windows方式。任何对内存中这一区域的访问(读、写、执行)都将引发一个错误陷阱,从而导致错误并终止程序的执行。按committed、reserved、free等三种虚拟地址空间分别记录实验数据。其中“描述”是指对该组数据的简单描述,例如,对下列一组数据:00010000-00012000Committed,READWRITE,Private可描述为:具有READWRITE权限的已调配私有内存区。将系统当前的自由区(free)虚拟地址空间填入表4-6中。表4-6实验记录地址大小虚拟地址空间类型访问权限描述00010000-000120008.00KBfreeREADWRITE具有RE

16、ADWRITE权限的已调配私有内存区00012000-0002000056.0KBfreeNOACCESS没有任何权限的已调配的共有内存区00020000-000210004.00KBfreeREADWRITE具有READWRITE权限的已调配私有内存区00021000-0003000060.0KBfreeNOACCESS没有任何权限的已调配的共有内存区00030000-0012c0000.98MBfreeREADONLY只具有READ权限的已调配私有内存区0012c000-0012d0004.00KBfreeREADWRITE具有READWRITE权限的已调配私有内存区0012d000-00

17、13000012.0KBfreeREADWRITE具有READWRITE权限的已调配私有内存区00130000-0013300012.0KBfreeREADONLY只具有READ权限的已调配内存区00133000-0014000052.0KBfreeNOACCESS没有任何权限的已调配的共有内存区00140000-0014500020.0KBfreeREADWRITE具有READWRITE权限的已调配私有内存区00145000-002400000.98MBfreeREADONLY只具有READ权限的已调配的私有内存区00240000-0024600024.0KBfreeREADWRITE具有R

18、EADWRITE权限的已调配的私有内存区00246000-0025000040.0KBfreeREADONLY只具有READ权限的已调配的私有内存区00250000-0025300012.0KBfreeREADWRITE具有READWRITE权限的已调配的内存区00253000-0026000052.0KBfreeREADONLY只具有READ权限的已调配的内存区00260000-0027600088.0KBfreeREADONLY只具有READ权限的已调配的内存区00276000-0028000040.0KBfreeNOACCESS没有任何权限的已调配的共有内存区00280000-002bd

19、000244KBfreeREADONLY只具有READ权限的已调配的内存区002bd000-002c000012.0KBfreeNOACCESS没有任何权限的已调配的共有内存区002C0000-00301000260KBfreeREADONLY只具有READ权限的已调配的内存区00301000-0031000060.0KBfreeNOACCESS没有任何权限的已调配的共有内存区00310000-0031600024.0KBfreeREADONLY只具有READ权限的已调配的内存区00316000-0032000040.0KBfreeNOACCESS没有任何权限的已调配的共有内存区0032000

20、0-00361000260.0KBfreeREADONLY只具有READ权限的已调配的内存区00361000-0037000000361000-0037000060.0KBfreeNOACCESS没有任何权限的已调配的共有内存区提示:详细记录实验数据在实验活动中是必要的,但想想是否可以简化记录的办法?将系统当前的已调配区(committed)虚拟地址空间填入表4-7中。表4-7实验记录地址大小虚拟地址空间类型访问权限描述committedcommittedcommittedcommittedcommittedcommittedcommittedcommittedcommittedcommitt

21、edcommittedcommittedcommittedcommittedcommittedcommittedcommittedcommittedcommittedcommittedcommittedcommittedcommittedcommittedcommitted将系统当前的保留区(reserved)虚拟地址空间填入表4-8中。表4-8实验记录地址大小虚拟地址空间类型访问权限描述reservedreservedreservedreservedreservedreservedreservedreservedreservedreservedreservedreservedreserved

22、reservedreservedreservedreservedreservedreservedreservedreservedreservedreservedreservedreserved3、实验结论简单描述windows进程的虚拟内存管理方案:通过对文件的操作权限,有只读,读写,不允许访问等等和不同的调度方式实现对虚拟内存的管理。实验五文件和设备管理1、实验目的通过对Windows2000提供的文件与文件夹加密、磁盘配额管理、进行磁盘清理、执行备份操作、使用CHKDSKI护文件完整性和整理磁盘碎片等功能进行操作:1)熟悉Windows2000的文件系统。2)明确应用NTFS文件系统的积极

23、意义。掌握优化Windows2000磁盘子系统的基本方法。进一步理解现代操作系统文件管理知识。2、实验内容与步骤步骤1:阅读“背景知识”,请回答:Windows2000支持哪三种主要的文件系统:FAT16FAT32NTFSNTFS文件系统只能用于哪些操作系统环境:WindowsNT、2000和XP步骤2:登录进入Windows2000Professional。步骤3:加密文件或文件夹。为加密文件或文件夹,可按照以下步骤进行:在“Windows资源管理器”中,右键单击想要加密的文件或文件夹,然后单击“属性”命令。在“常规”选项卡上,单击“高级”按钮。在“高级属性”对话框中,可以设置的文件属性有:

24、3)选定“加密内容以便保护数据”复选框。单击“确定”按钮完成操作。步骤4:访问RSMg艮务。Windows2000还通过一些辅助组件提供了用于额外存储的选项。可移动存储管理(RemovableStorageManagement,RSM)就是一项用于管理可移动媒体(例如磁带和光盘)以及存储设备(库)的服务。RSM许应用程序访问和共享相同的媒体资源。RSM使用户可以很容易地追踪可移动存储媒体(例如磁带和光盘),并管理包含它们的库(例如转换器和光盘机)。为访问RSMI艮务,可按以下步骤操作:在“控制面板”中双击“管理工具”图标,再双击其中的“计算机管理”图标,打开本地“计算机管理”窗口。在左窗格右键

25、单击控制树中的“可移动存储”。“可移动存储”可以管理和设置的项目有:媒体库磁盘配额可追踪和控制卷的磁盘空间使用情况。为分配磁盘配额,可按照以下步骤进行:1)打开“我的电脑”。右键单击想要指定默认配额位的卷(例如某个硬盘),然后单击“属性”命令。在“属性“对话框中,选定”配额“选项卡。在“属性“对话框的”配额“选项卡上,选定“启用配额管理”。选定“将磁盘空间限制为”选项,这将激活磁盘空间限制和警告级别区域。在文本框中键入数值,从下拉列表中选定一个磁盘空间限制单位,然后单击“确定”。可以使用小数值(例如20.5MB)。步骤6:添加新的磁盘配额项在启用卷的磁盘配额时,将从这一时刻开始自动追踪新用户的

26、卷使用情况。为了对现有的卷用户应用磁盘配额,可以在“配额项”对话框中添加新的配额项。操作步骤如下:在“我的电脑”窗口中,右键单击想要添加新的磁盘配额项的卷,然后单击“属性”命令。在“属性”对话框中,选定“配额”选项卡。在“配额”选项卡上,单击“配额项”按钮。在“配额项目”窗口的“配额”菜单中单击“新建配额项”命令。在“选择用户”对话框中,单击“查找范围”列表框,选定想要从中选择用户名的域名或工作组名称。单击“添加”,然后单击“确定”按钮。在“添加新配额项”对话框中,可以对所选用户设置的配额限制项目有:单击“确定”按钮完成操作。只能在Windows2000中使用NTFS格式化的磁盘卷上分配磁盘配

27、额。如果想要管理配额,则必须是驱动器所在计算机上的Administrators组的成员。步骤7:磁盘清理。“磁盘清理”有助于释放硬盘驱动器空间。“磁盘清理”程序将搜索驱动器,然后显示可以安全删除的临时文件、Internet缓存文件以及不需要的程序文件。可以指示删除其中一些或所有的文件。为打开“磁盘清理”功能,可单击“开始”按钮,单击“程序”菜单中的“附件”-“系统工具”-“磁盘清理”命令。“磁盘清理”搜索指定的驱动器。在打开和关闭文件或者使用Interne连接时,系统会创建临时文件,这些临时性质的文件有时会继续保存在硬盘上。“磁盘清理”程序可以了解这些文件采用的形式及其在磁盘上的位置,以便安全

28、地删除这些文件,释放宝贵的磁盘空间。步骤8:备份。为应对故障事件,Windows2000包括了一个功能齐全的“备份”程序,该程序使用了一些标准的备份设备。单击“开始”菜单中“系统工具”的“备份”命令,可运行“备份”实用程序。在“备份”程序中包括了“备份向导”和“还原向导”,这些向导简化了备份和恢复Windows2000服务器上存储的重要数据的任务。用户也可以在“备份”选项卡和“还原”选项卡中使用“备份”和“还原”程序的手工版本。备份数据要想选定要备份的数据,只需要在“备份”窗口的左窗格中单击要备份的文件或目录旁边的复选框即可。然后在窗口下方选择备份目的地,命名备份媒体,最后单击“开始备份”按钮

29、。恢复数据为“还原”恢复数据,先选定想要恢复的文件和文件夹,选定恢复备份文件和文件夹的位置,设置恢复选项,然后单击“开始还原”进行恢复操作。计划作业除备份和恢复数据之外,Windows2000“备份”程序还允许计划备份作业,以便在无人干预的情况下运行。计划备份操作可按照以下步骤进行:1)打开“备份”实用程序。2)单击“备份”选项卡,从“作业”菜单中选择“新建”命令。3)单击以选定想要备份的任何驱动器、文件夹或文件的复选框。4)选定将作为备份目的地的文件或磁带设备,然后单击“作业”菜单中的“保存选项”命令,以保存文件和文件夹选择。5)在“备份媒体或文件名”文本框中,键入备份文件的路径和文件名或者

30、选定磁带。6)单击“工具”菜单中的“选项”命令,选定想要使用的任何备份选项,例如备份类型和日志文件类型,然后单击“确定”按钮。7)单击“开始备份”,在“备份作业信息”对话框中进行所需要的任何更改。8)如果想要设置高级备份选项,例如数据验证或硬件压缩,则单击“高级”。选择完高级备份选项后,单击“确定”按钮。9)单击“备份作业信息”对话框中的“计划”。10)在“设置账号信息”对话框中,输入一个用户名和密码(指定在这个账号下运行计划的备份操作)。11)在“计划的作业选项”对话框中,在“作业名”文本框中键入计划的备份作业的名称。然后单击“属性”,以设置计划备份的日期、时间和频率参数。在完成后单击“确定

31、”按钮退出操作。步骤9:使用CHKDSKt护文件完整性Windows2000的CHKDSKT以才3描FATFAT32和NTFS分区上的文件系统完整性,它检查丢失的簇、交叉链接文件等,还可以尝试更正它找到的任何错误。它还提供了其他许多文件系统信息。如果Windows2000感觉到文件系统损坏,它将在启动时自动运行CHKDSK用户也可以手工启动这个实用程序。CHKDSKT以在5种模式中运行。第一种模式没有任何参数,这是一种只读模式,仅用于检查文件系统中的任何错误。在这种模式中,CHKDSK会报告任何错误,但是不会尝试修复错误,因此这个过程完成得非常快。其他4个选项使用以下参数:/FILENAME检

32、查指定文件的碎片化情况。/F尝试修复文件系统中的任何错误。/V提供分区上的每一个文件的名称和完整路径。/R查找分区上的坏扇区并尝试恢复可读信息。要运行CHKDSK可执行以下操作:1)在“开始”菜单中单击“程序”-“附件”-“命令提示符命令,打开“命令提示符”窗口。2)在命令提示符上进入要检查的分区。例如,键入C:。3)键入不带任彳S参数的CHKDSK以便只检查文件系统错误。如果找到了任何错误,则继续进行第4)步。请记录系统执行CHKDS命令过程中显示的提示信息:第一个分配XDociimeriits: and Settingsa七1qcdat-journal截断日问题。运行CHKDSK使用选项/F采更正这些问题。Kindows indows原因是,投有用,遑屿参数运行翡姿错状正在釐验文件和叉件夹 在磁套上发前馥,.值丕经单元无效空项会? 已完成文件和文1 Uindaws发现文山c hkdsk牟素等的类型是FAT32O 序列亏为E0FC-F9FCCHKDS源统检查之后,报告的磁盘信息是:总共有511的:71KB的磁盘空间一3.946个隐藏文件中有1,853,888KBO10507个文件夬中有338,144KBfl116,323个文件中有17,409,760KB3

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论