欢迎来到天天文库
浏览记录
ID:48543887
大小:271.90 KB
页数:47页
时间:2020-01-27
《安徽工业大学操作系统实验报告.doc》由会员上传分享,免费在线阅读,更多相关内容在行业资料-天天文库。
1、操作系统教程实验报告班级:学号:姓名:指导老师:赵帼英时间:2012-12-1147实验一WINDOWS进程初识1、实验目的(1)学会使用VC编写基本的Win32ConsolApplication(控制(2)台应用程序)。(3)掌握WINDOWSAPI的使用方法。(4)编写测试程序,理解用户态运行和核心态运行。2、实验内容和步骤(1)编写基本的Win32ConsolApplication步骤1:登录进入Windows,启动VC++6.0。步骤2:在“FILE”菜单中单击“NEW”子菜单,在“projects”选项卡中选择“Win32ConsolApplication”,然后在“Proje
2、ctname”处输入工程名,在“Location”处输入工程目录。创建一个新的控制台应用程序工程。步骤3:在“FILE”菜单中单击“NEW”子菜单,在“Files”选项卡中选择“C++SourceFile”,然后在“File”处输入C/C++源程序的文件名。步骤4:将清单1-1所示的程序清单复制到新创建的C/C++源程序中。编译成可执行文件。步骤5:在“开始”菜单中单击“程序”-“附件”-“命令提示符”命令,进入Windows“命令提示符”窗口,然后进入工程目录中的debug子目录,执行编译好的可执行程序:E:课程os课os实验程序os11debug>hello.exe运行结
3、果(如果运行不成功,则可能的原因是什么?):Hello,Win32ConsolApplication(2)计算进程在核心态运行和用户态运行的时间步骤1:按照(1)中的步骤创建一个新的“Win32ConsolApplication”工程,然后将清单1-2中的程序拷贝过来,编译成可执行文件。步骤2:在创建一个新的“Win32ConsolApplication”工程,程序的参考程序如清单1-3所示,编译成可执行文件并执行。47步骤3:在“命令提示符”窗口中运行步骤1中生成的可执行文件,测试步骤2中可执行文件在核心态运行和用户态运行的时间。E:课程os课os实验程序os12debug
4、>timeTEST.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
5、调整循环变量j的循环次数:processID:1868,EXEfile:3.exe,%dinKernelmode:501、实验结论对Win32ConsolApplication有进一步的认识,WIN32API也就是Windows32平台的应用程序编程接口。用户态运行和核心态运行,核心态就是一个是直接的代码运行,即win32consolApplication下代码运行;而用户态是在DOS下运行的,对编译好的程序进行的运行,核心态速度较快,没有太多的约束,而用户态的运行需要时间较长,由于有相应的约束。47实验二进程管理背景知识Windows所创建的每个进程都从调用CreateProcess(
6、)API函数开始,该函数的任务是在对象管理器子系统内初始化进程对象。每一进程都以调用ExitProcess()或TerminateProcess()API函数终止。通常应用程序的框架负责调用ExitProcess()函数。对于C++运行库来说,这一调用发生在应用程序的main()函数返回之后。1.创建进程CreateProcess()调用的核心参数是可执行文件运行时的文件名及其命令行。表3-4详细地列出了每个参数的类型和名称。 表3-4CreateProcess()函数的参数参数名称使用目的LPCTSTRlpApplivationName全部或部分地指明包括可执行代码的EXE文件的文件名
7、LPCTSTRlpCommandLine向可执行文件发送的参数LPSECURIITY_ATTRIBUTESlpProcessAttributes返回进程句柄的安全属性。主要指明这一句柄是否应该由其他子进程所继承LPSECURIITY_ATTRIBUTESlpThreadAttributes返回进程的主线程的句柄的安全属性BOOLbInheritHandle一种标志,告诉系统允许新进程继承创建者进程的句柄DWORDdwCreation
此文档下载收益归作者所有