- 1、本文档共51页,可阅读全部内容。
- 2、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
- 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 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
您可能关注的文档
最近下载
- YAESU八重洲FT-8800R中文使用说明书 2014-05-05.pdf
- 小学体育教学课件:走进体育与健康的世界——常见运动损伤的预防和处理.pptx
- 2023-2024学年福建省厦门一中七年级(上)入学数学试卷(含答案).pdf VIP
- 3.1.1 椭圆及其标准方程 课件(共37张ppt) ——高二数学人教A版(2025)选择性必修第一册(含音频+视频).pptx VIP
- 2025江苏财经职业技术学院第二批招聘24人短期笔试模拟试题及答案解析.docx VIP
- 教师职称晋升教育教学能力水平测试复习资料.pdf VIP
- 天津大学《工程经济学》内部题库练习期末真题汇编及答案.pdf
- 2024年海南省中考地理试题卷(含答案解析) +2023年中考地理及答案.docx
- APQC跨行业流程分类框架(PCF)[最新V7.4版-2024年8月21日版-雷泽佳编译).docx VIP
- 肿瘤患者预防跌倒公休会ppt.pptx
文档评论(0)