安徽工业大学操作系统实验报告.docx

  1. 1、本文档共51页,可阅读全部内容。
  2. 2、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
  3. 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  4. 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多

.

.

Word

Word文档

操作系统教程

实验报告

班级:学号:姓名:

指导老师:帼英

时间:2012-12-11

实验一 WINDOWS进程初识

1、 实验目的

学会使用VC编写基本的Win32ConsolApplication(控制

台应用程序)。

掌握WINDOWSAPI的使用方法。

编写测试程序,理解用户态运行和核心态运行。

2、 实验容和步骤

编写基本的Win32ConsolApplication

步骤1:登录进入Windows,启动VC++6.0。

步骤2:在“FILE”菜单中单击“NEW”子菜单,在“projects”选项卡中选择“Win32ConsolApplication”,然后在“Projectname”处输入工程名,在“Location”处输入工程目录。创建一个新的控制台应用程序工程。

步骤3:在“FILE”菜单中单击“NEW”子菜单,在“Files”选项卡中选择

“C++SourceFile”, 然后在“File” 处输入C/C++源程序的文件名。

步骤4:将清单1-1所示的程序清单复制到新创建的C/C++源程序中。编译成可执行文件。

步骤5:在“开始”菜单中单击“程序”-“附件”-“命令提示符”命令,进入Windows“命令提示符”窗口,然后进入工程目录中的debug子目录,执行编译好的可执行程序:

E:\课程\os课\os实验\程序\os11\debughello.exe

运行结果(如果运行不成功,则可能的原因是什么?):Hello,Win32ConsolApplication

计算进程在核心态运行和用户态运行的时间

步骤1:按照(1)中的步骤创建一个新的“Win32ConsolApplication”工程,然后将清单1-2中的程序拷贝过来,编译成可执行文件。

步骤2:在创建一个新的“Win32ConsolApplication”工程,程

序的参考程序如清单1-3所示,编译成可执行文件并执行。

步骤3:在“命令提示符”窗口中运行步骤1中生成的可执行文件,测试步骤2中可执行文件在核心态运行和用户态运行的时间。

E:\课程\os课\os实验\程序\os12\debugtimeTEST.exe

步骤4:运行结果 (如果运行不成功,则可能的原因是什么?):processID:3716,EXEfile:3.exe,%dinKernelmode:60

步骤5:分别屏蔽While循环中的两个for循环,或调整两个for循环的次数,写出运行结果。

屏蔽i循环:

processID:1412,EXEfile:3.exe,%dinKernelmode:62屏蔽j循环:

processID:1816,EXEfile:3.exe,%dinKernelmode:34调整循环变量i的循环次数:

processID:2616,EXEfile:3.exe,%dinKernelmode:64调整循环变量j的循环次数:

processID:1868,EXEfile:3.exe,%dinKernelmode:50

3、 实验结论

对Win32 Consol Application有进一步的认识,WIN32 API也就是Windows32平台的应用程序编程接口。用户态运行和核心态运行,核心态就是一个是直接的代码运行,即win32consolApplication下代码运行;而用户态是在DOS下运行的,对编译好的程序进行的运行,核心态速度较快,没有太多的约束,而用户态的运行需要时间较长,

由于有相应的约束。

实验二 进程管理

背景知识

Windows所创建的每个进程都从调用CreateProcess()API函数开始,该函数的任务是在对象管理器子系统初始化进程对象。每一进程都以调用ExitProcess()或TerminateProcess()API函数终止。通常应用程序的框架负责调用ExitProcess()函数。对于C++运行库来说,这一调用发生在应用程序的main()函数返回之后。

创建进程

CreateProcess() 调用的核心参数是可执行文件运行时的文件名及其命令行。表 3-4详细地列出了每个参数的类型和名称。

表3-4CreateProcess() 函数的参数

参数名称

参数名称

使用目的

全部或部分地指明包括可执

LPCTSTRlpApplivationName

行代码的EXE文件的文件名

LPCTSTRlpComma

文档评论(0)

hao187 + 关注
官方认证
内容提供者

该用户很懒,什么也没介绍

认证主体武汉豪锦宏商务信息咨询服务有限公司
IP属地上海
统一社会信用代码/组织机构代码
91420100MA4F3KHG8Q

1亿VIP精品文档

相关文档