操作系统 实验

整理文档很辛苦,赏杯茶钱您下走!

免费阅读已结束,点击下载阅读编辑剩下 ...

阅读已结束,您可以下载文档离线阅读编辑

资源描述

实验一Windows进程观测一、实验目的通过对Windows编程,进一步熟悉操作系统的基本概念,较好地理解Windows的结构。1-1运行结果(如果运行不成功,则可能的原因是什么?):_________________1-2运行结果:____:__________在网络百度到解决方法:Windows项目要使用Windows子系统,而不是Console,可以这样设置:[Project]--[Settings]--选择Link属性页,在ProjectOptions中将/subsystem:console改成/subsystem:windows1-3运行结果:__________________1-4运行结果:__二实验心得:(1)通过实验我知道了操作系统是用来控制及指挥电脑系统运作的软件程序。操作系统管理和控制系统资源。计算机的硬件、软件、数据等都需要操作系统的管理。操作系统通过许多的数据结构,对系统的信息进行记录,根据不同的系统要求,对系统数据进行修改,达到对资源进行控制的目的。(2)windows进程的组成:a一个私有的虚拟地址空间b一个可执行程序c一个已经打开句柄的列表d一个被称为访问令牌的安全区e一个被称为进程id的唯一标识实验二Windows进程控制一、实验目的1)通过创建进程、观察正在运行的进程和终止进程的程序设计和调试操作,进一步熟悉操作系统的进程概念,理解Windows进程的“一生”。2)通过阅读和分析实验程序,学习创建进程、观察进程和终止进程的程序设计方法。请回答:Windows所创建的每个进程都是以调用_____CreateProcess()_____API函数开始和以调用_____ExitProcess()______或___TerminateProcess()___API函数终止。2-1步骤5:编译完成后,单击“Build”菜单中的“Build2-1.exe”命令,建立2-1.exe可执行文件。操作能否正常进行?如果不行,则可能的原因是什么?____可以正常进行____步骤6:在工具栏单击“ExecuteProgram”(执行程序)按钮,或者按Ctrl+F5键,或者单击“Build”菜单中的“Execute2-1.exe”命令,执行2-1.exe程序。步骤7:按Ctrl+S键可暂停程序的执行,按Ctrl+Pause(Break)键可终止程序的执行。清单2-1展示的是一个简单的使用CreateProcess()API函数的例子。首先形成简单的命令行,提供当前的EXE文件的指定文件名和代表生成克隆进程的号码。大多数参数都可取缺省值,但是创建标志参数使用了:___CREATE_NEW_CONSOLE___标志,指示新进程分配它自己的控制台,这使得运行示例程序时,在任务栏上产生许多活动标记。然后该克隆进程的创建方法关闭传递过来的句柄并返回main()函数。在关闭程序之前,每一进程的执行主线程暂停一下,以便让用户看到其中的至少一个窗口。CreateProcess()函数有_10_个核心参数?本实验程序中设置的各个参数的值是:___szFilename,szCmdLine,NULL,NULL,FALSE,CREATE_NEW_CONSOLE,NULL,NULL,&si,&pi___程序运行时屏幕显示的信息是:____________________2-2步骤10:编译完成后,单击“Build”菜单中的“Build2-2.exe”命令,建立2-2.exe可执行文件。操作能否正常进行?_可以正常运行_______步骤11:在工具栏单击“ExecuteProgram”(执行程序)按钮,执行2-2.exe程序。运行结果:当前PID信息:__ProcessID:3427,requiresOS:00当前操作系统版本:______RunningonOS:5.1系统提示信息:_____TaskManagershouldnowindicatethisprocessishighpriorityPressanykeytocontinue_____清单2-2中的程序向读者表明了如何获得当前的PID和所需的进程版本信息。为了运行这一程序,系统处理了所有的版本不兼容问题。接着,程序演示了如何使用GetVersionEx()API函数来提取OSVERSIONINFOEX结构。这一数据块中包括了操作系统的版本信息。清单2-2的最后一段程序利用了操作系统的版本信息,以确认运行的是Windows。代码接着将当前进程的优先级提高到比正常级别高。步骤12:单击Ctrl+Alt+Del键,进入“Windows任务管理器”,在“应用程序”选项卡中右键单击“2-2”任务,在快捷菜单中选择“转到进程”命令。在“Windows任务管理器”的“进程”选项卡中,与“2-2”任务对应的进程映像名称是:______MSDEV.EXE_____右键单击该进程名,在快捷菜单中选择“设置优先级”命令,可以调整该进程的优先级,如设置为“高”后重新运行2-2.exe程序,屏幕显示有变化吗?__ProcessID:3256requiresOS:00RunningonOS:6.1TaskManagershouldnowindicatethisprocessishighpriority.Pressanykeytocontinue2-3步骤15:编译完成后,单击“Build”菜单中的“Build2-3.exe”命令,建立2-3.exe可执行文件。操作能否正常进行?如果不行,则可能的原因是什么?_____________________________________步骤16:在工具栏单击“ExecuteProgram”按钮,执行2-3.exe程序。运行结果:Creatingthechildprocess.表示:创建一个子进程。Tellingthechildprocesstoquit.表示:告诉子进程放弃。Pressanykeytocontinue二实验心得:(1)进程是程序在内存中的一次运行。在Windows系统运行的进程中包括三种进程:系统进程—是系统运行的基本条件,附加系统进程—运行特定系统程序所需要的进程,普通进程—应用程序运行所产生的进程。(2)了解了windows进程的“一生”和创建进程、观察进程和终止进程的设计方法。实验三Windows内存结构与虚拟内存的管理一、实验目的1)通过实验了解Windows内存的使用,学习如何在应用程序中管理内存,体会Windows应用程序内存的简单性和自我防护能力。2)学习检查虚拟内存空间或对其进行操作;3)了解Windows2000的内存结构和虚拟内存的管理,进而了解进程堆和Windows为使用内存而提供的一些扩展功能。3-1步骤5:编译完成后,单击“Build”菜单中的“Build3-1.exe”命令,建立3-1.exe可执行文件。操作能否正常进行?如果不行,则可能的原因是什么?_________________________________步骤6:在工具栏单击“ExecuteProgram”(执行程序)按钮,执行3-1.exe程序。运行结果(如果运行不成功,则可能的原因是什么?):1)虚拟内存每页容量为:4.00KB2)最小应用地址:___0x00010000___3)最大应用地址:__0x7ffeffff__4)当前可供应用程序使用的内存空间为:___1.99GB___5)当前计算机的实际内存大小为:__2G__阅读和分析程序3-1,请回答问题:1)理论上每个Windows应用程序可以独占的最大存储空间是:___4GB__2)在清单3-1程序中,用于检查系统中虚拟内存特性的API函数是:____GetSystemInfo(&si)____3-2步骤4:编译完成后,单击“Build”菜单中的“Build3-2.exe”命令,建立3-2.exe可执行文件。操作能否正常进行?如果不行,则可能的原因是什么?可以正常运行__________________步骤5:在工具栏单击“ExecuteProgram”按钮,执行3-2.exe程序。1)分析运行结果(如果运行不成功,则可能的原因是什么?)。按committed、reserved、free等三种虚拟地址空间分别记录实验数据。其中“描述”是指对该组数据的简单描述,例如,对下列一组数据:00010000–000120008.00KBCommitted,READWRITE,Private可描述为:具有READWRITE权限的已调配私有内存区。将系统当前的自由区(free)虚拟地址空间填入表3-3中。表3-3实验记录地址大小虚拟地址空间类型访问权限描述00011000-00020000(60.0KB)free没有访问权限的空闲区00011000-00020000(60.0KB)free没有访问权限的空闲区freefreefreefree:::::free提示:详细记录实验数据在实验活动中是必要的,但想想是否可以简化记录的办法?将系统当前的已调配区(committed)虚拟地址空间填入表3-4中。表3-4实验记录地址大小虚拟地址空间类型访问权限描述00010000-00011000(4.00KB)committedREADWRITE具有READWRITE权限的已调配私有内存区0012c000-0012d000Committed,Private(4.00KB)committedGUARD,READWRITE,具有GREAD,WRITE权限的已调配私有内存区committedcommittedcommittedcommitted:::::committed将系统当前的保留区(reserved)虚拟地址空间填入表3-5中。表3-5实验记录地址大小虚拟地址空间类型访问权限描述00030000-0012c000(0.98MB),reservedREADONLY具有READONLY权限的已调配私有内存区00158000-00250000(992KB)reservedREADONLY具有READONLY权限的已调配私有内存区reservedreservedreservedreserved:::::reserved3-3运行结果:_________对照运行结果,分析程序3-3。为了给数据库保留1GB的段地址空间,清单3-3给出了内存分配的四种方法。·第一种技术即程序中说明为__//使用内存分配来获得1GB块___的程序段,该段程序试图利用标准C中的malloc()函数,从已经已调配的小内存区获得内存。从运行结果看,这种技术成功了吗?___没有__·第二种技术即程序中说明为__//使用虚拟分配以获得物理1GB块___的程序段,该段程序试图通过VirtualAlloc(),然后利用物理备用内存将整个块分配到虚拟内存空间的任何位置。这种技术只对拥有1GB以上的RAM且都有换页文件的计算机可行。从运行结果看,这种技术成功了吗?__没有_·第三种技术即程序中说明为_//使用虚拟分配以获得虚拟1GB块_的程序段,该段程序利用VirtualAlloc(),如果函数成功,则获得大块内存,但不将任何物理内存调配到此块中。从运行结果看,这种技术成功了吗?__没有_·第四种技术即程序中说明为_//使用虚拟分配调配获得虚拟1GB块,再为其调配1MB物理存储__的程序段,该段程序保留1GB的内存区,然后将物理内存调配给其中的很小一部分(1MB)。从运行结果看,这种技术成功了吗?___成功了_二实验心得:通过实验知道了windows内存的结构Windows是采用了页式虚拟存储技术操作系统期中大作业一、作业内容以生产者/消费者模型为依据,在Windows2000/xp环境下创建一个控制台进程,在该进程中创建n个线程模拟生产者和消费者,实现进程(线程)的同步与互斥。二、作业目的学习并理解生产者/消费者模型及其同步/互斥规则;学习了解Windows同步对象及其特性;设计程序,实现生产者/消费者进程(线程)的同步与互斥;三、试验结

1 / 20
下载文档,编辑使用

©2015-2020 m.777doc.com 三七文档.

备案号:鲁ICP备2024069028号-1 客服联系 QQ:2149211541

×
保存成功