操作系统实验指导书Word文件下载.docx

上传人:b****6 文档编号:21031765 上传时间:2023-01-27 格式:DOCX 页数:12 大小:431.06KB
下载 相关 举报
操作系统实验指导书Word文件下载.docx_第1页
第1页 / 共12页
操作系统实验指导书Word文件下载.docx_第2页
第2页 / 共12页
操作系统实验指导书Word文件下载.docx_第3页
第3页 / 共12页
操作系统实验指导书Word文件下载.docx_第4页
第4页 / 共12页
操作系统实验指导书Word文件下载.docx_第5页
第5页 / 共12页
点击查看更多>>
下载资源
资源描述

操作系统实验指导书Word文件下载.docx

《操作系统实验指导书Word文件下载.docx》由会员分享,可在线阅读,更多相关《操作系统实验指导书Word文件下载.docx(12页珍藏版)》请在冰豆网上搜索。

操作系统实验指导书Word文件下载.docx

实验二进程管理

1、实验目的

2、实验内容和步骤

(1).创建进程

按下ctrl+alt+del,调用windows的任务管理器,记录进程相关的行为属性:

PID:

3676 

, 

句柄数:

11 

内存使用:

1080K 

页面错误:

263 

页面缓存:

15K

在“命令提示符”窗口加入参数重新运行生成的可执行文件。

运行结果:

PID:

2821 

832K 

修改清单2-1中的程序,将nClone的定义和初始化方法按程序注释中的修改方法进行修改,编译成可执行文件(执行前请先保存已经完成的工作)。

再按步骤2中的方式运行,看看结果会有什么不一样。

第一次修改:

结果不变。

第二次修改:

是一个死循环,不断弹窗。

从中你可以得出什么结论:

nClone的作用:

控制程序的执行,当nClone大于等于5时可跳出程序。

变量的定义和初始化方法(位置)对程序的执行结果有影响吗?

为什么?

_有,nClone被修改后会对程序的结束控制产生影响

(2).父子进程的简单通信及终止进程

在VC的工具栏单击“ExecuteProgram”(执行程序)按钮,或者按Ctrl+F5键,或者在“命令提示符”窗口运行步骤1中生成的可执行文件。

按源程序中注释中的提示,修改源程序2-2,编译执行(执行前请先保存已经完成的工作)。

在程序中加入跟踪语句,或调试运行程序,同时参考MSDN中的帮助文件CreateProcess()的使用方法,理解父子进程如何传递参数。

给出程序执行过程的大概描述:

通过main(int 

argc, 

char* 

argv[])传递参数,每次运行时先检测argc的值,若小于1,程序运行结束,否则继续往下执行

CreateProcess()函数有5个核心参数?

本实验程序中设置的各个参数的值是:

a.szFilename;

b.szCmdLine;

c.NULL;

d.NULL;

e.FALSE;

f.CREATE_NEW_CONSOLE;

g.NULL;

h.NULL。

按源程序中注释中的提示,修改源程序2-2,编译执行。

参考MSDN中的帮助文件CreateMutex()、OpenMutex()、ReleaseMutex()和WaitForSingleObject()的使用方法,理解父子进程如何利用互斥体进行同步的。

给出父子进程同步过程的一个大概描述:

CreateMutex()创建互斥体,OpenMutex()打开互斥体,ReleaseMutex()释放互斥体,WaitForSingleObject()检测hHandle事件的信号状态,通过这些方法可实现当前只有一个进程被创建或使用,实现进程的同步。

实验结论

通过对进程的操作,如创建进程,实现对进程的简单控制。

创建互斥体,解决了进程的同步问题,两者相互使用,使进程的运行情况得到了很好的管理。

实验三进程同步的经典算法

(1).生产者消费者问题

在“命令提示符”窗口运行步骤1中生成的可执行文件。

_______________________________________________________________________________

仔细阅读源程序,找出创建线程的WINDOWSAPI函数,回答下列问题:

线程的第一个执行函数是什么(从哪里开始执行)?

它位于创建线程的API函数的第几个参数中?

答:

第一个执行函数是Producer;

位于第三个参数中。

修改清单3-1中的程序,调整生产者线程和消费者线程的个数,使得消费者数目大与生产者,看看结果有何不同。

_

生产速度快,生产者经常等待消费者;

反之,消费者经常等待。

修改清单3-1中的程序,按程序注释中的说明修改信号量EmptySemaphore的初始化方法,看看结果有何不同。

Null

根据步骤4的结果,并查看MSDN,回答下列问题

1)CreateMutex中有几个参数,各代表什么含义。

有三个参数. 

1. 

LPSECURITY_ATTRIBUTES 

lpMutexAttributes 

代表安全属性的指针 

2. 

BOOL 

bInitialOwne代表布尔bInitialOwner

3. 

LPCTSTR 

lpName代表LPCTSTR类型lpName

2)CreateSemaphore中有几个参数,各代表什么含义,信号量的初值在第几个参数中。

四个参数:

1、表示采用不允许继承的默认描述符

2、设置信号机的初始计数

3、设置信号机的最大计数 

4、指定信号机对象的名称。

3)程序中P、V原语所对应的实际WindowsAPI函数是什么,写出这几条语句。

P:

Take() 

V:

Append()

4)CreateMutex能用CreateSemaphore替代吗?

尝试修改程序3-1,将信号量Mutex完全用CreateSemaphore及相关函数实现。

写出要修改的语句:

可以 

Mutex=CreateSemaphore(NULL,false,false,NULL);

(2).读者写者问题

根据实验

(1)中所熟悉的P、V原语对应的实际WindowsAPI函数,并参考教材中读者、写者问题的算法原理,尝试利用WindowsAPI函数实现第一类读者写者问题(读者优先)。

将信号量看作生产或消费的一个对象,对信号量的生成和销毁操作如同P操作和V操作一样,生成者消费者问题模拟的就是对信号量的生成和销毁,其中牵涉了信号量的同步,这也是该问题为何称为同步的经典问题的原因。

实验四存储管理

(1)观察和调整Windows2000/XP的内存性能。

1)什么是“分页过程”?

分页过程就是将信息从主内存移动到磁盘进行临时存储的过程。

2)什么是“内存共享”?

允许访问某些内存空间而不危及它和其他应用程序的安全性和完整性

3)什么是“未分页合并内存”和“分页合并内存”?

Windows2000中,未分页合并内存的最大限制是多少?

未分页合并内存:

分页合并内存是存储迟早需要的可分页代码或数据的内存部分。

分业合并内存:

未分页合并内存包含必须驻留在内存中的占用代码或数据。

在Windows200中为分业合并内存的最大限制是256MB。

4)Windows2000分页文件默认设置的最小容量和最大容量是多少?

内存数量的1.5倍作为分页文件的最小容量,这个最小容量的两倍作为最大容量。

请在表4-3中记录:

表4-3实验记录

映像名称

PID

CPU

CPU时间

内存使用

WINWORD.EXE 

2710

00 

0:

00:

15

14020K 

请描述使用第二个实例占用的内存与使用第一个实例时的内存对比情况:

第二个实例占用内存22612K,比第一个实例占用的内存大很多。

总数(K):

98640K

分页数:

52840

未分页(K):

45800K_

仍以刚才打开观察的应用程序(例如Word)为例,请在表4-4中记录:

表4-4实验记录

页面缓冲池

非页面缓冲池

2596 

53088K 

473K 

16K

请在表4-5中记录:

表4-5实验记录

布局

类型

文件系统

容量

状态

C:

磁盘分区

基本

FAT32

96.75GB

状态良好(系统)

D:

95.58GB

状态良好(页面文件)

LENOVO_PART

28.52GB 

状态良好

(EISA 

配置)

请记录:

所选驱动器(C:

)的页面文件大小:

驱动器:

_C:

_

可用空间:

________31637_ 

MB 

所选驱动器 

(D:

) 

的页面文件大小:

(如果有的话) 

驱动器D:

20682 

初始大小 

(MB) 

_756MB_ 

最大值 

1512MB 

所有驱动器页面文件大小的总数:

允许的最小值:

推荐:

_1522 

当前已分配:

756MB

物理内存 

(K) 

总数:

___1039660K______ 

可用数:

_502544K________ 

系统缓存:

504332K________ 

认可用量 

____400156K___

限制:

____1714520K_________

峰值:

____427648K_______ 

(2)了解和检测进程的虚拟内存空间。

根据运行结果,回答下列问题

虚拟内存每页容量为:

________4.00KB__

最小应用地址:

______________0x00010000_____________

最大应用地址:

_____________0x7ffeffff________________

当前可供应用程序使用的内存空间为:

_____1.99GB___________________

当前计算机的实际内存大小为:

_____0.99GB_______________

理论上每个Windows应用程序可以独占的最大存储空间是:

_____________

将系统当前的自由区(free)虚拟地址空间填入表4-6中。

简单描述windows进程的虚拟内存管理方案:

通过对文件的操作权限,有只读,读写,不允许访问等等和不同的调度方式实现对虚拟内存的管理。

展开阅读全文
相关资源
猜你喜欢
相关搜索

当前位置:首页 > 高等教育 > 经济学

copyright@ 2008-2022 冰豆网网站版权所有

经营许可证编号:鄂ICP备2022015515号-1