77范文网 - 专业文章范例文档资料分享平台

13级操作系统课程设计指导书

来源:网络收集 时间:1970-01-01 下载这篇文档 手机版
说明:文章内容仅供预览,部分内容可能不全,需要完整文档或者需要复制内容,请下载word后使用。下载word有问题请添加微信号:或QQ: 处理(尽可能给您提供完整文档),感谢您的支持与谅解。点击这里给我发消息

《操作系统》课程设计指导书

李海霞 编

信息工程学院基础教学部

二0一五年七月

目 录

实验一 Windows中线程与线程同步 .................................................... 3 实验二 进程调度 .................................................................................... 6 实验三 银行家算法 ................................................................................ 8 实验四

请求页式存储管理中常用页面置换算法模拟 ...................... 14

实验一 Windows中线程与线程同步

一、实验目的

1、掌握Windows中线程的操作;

2、熟悉线程不同步时的现象及环境因素; 3、掌握一种同步对象的使用。 二、实验环境

PC机,Window操作系统,Vc++6.0。 三、实验理论基础及教材对应关系

1、线程和线程不同步的认识; 2、线程间的同步和通信。 四、实验内容与步骤

1、定义全局变量 int i, 初始值置为 0。

2、创建两个线程,一个对 i 执行加 1 操作,另一个对 i 执行减 1 操作。两个线程执行相同的次数。 #include #include

#define MaxCount 9000000 // 循环次数要很大,可多次尝试一些值 int i;

CRITICAL_SECTION cs;

DWORD __stdcall fun1( LPVOID p1) { {

} return 0;

i++;

for( int j =0 ;j < MaxCount;j++)

第 3 页 共 16 页

}

DWORD __stdcall fun2( LPVOID p1) { { }

显然,正常情况下,i 的仍然保持为 0。但是观察两个线程执行后的情况,可以发觉最后 i 的值不一定是 0, 有时是很大的正数,有时是很大的负数,这就是多个线程在操作同一个变量 i时,未同步时带来的严重问题。

3、在多个线程操作共享的变量时,才需要考虑同步问题。

给上述这两个线程加上同步代码(步骤2的函数稍微改动即可),再来观察对 i 值的影响:

#include #include

#define MaxCount 9000000 // 循环次数要很大,可多次尝试一些值 int i;

CRITICAL_SECTION cs;

DWORD __stdcall fun1( LPVOID p1) {

for( int j =0 ;j < MaxCount;j++){ }

::EnterCriticalSection(&cs); i++;

::LeaveCriticalSection(&cs); } return 0;

i--;

for( int j =0 ;j < MaxCount;j++)

return 0; }

第 4 页 共 16 页

DWORD __stdcall fun2( LPVOID p1) {

for( int j =0 ;j < MaxCount;j++){ }

::EnterCriticalSection(&cs); i--;

::LeaveCriticalSection(&cs);

return 0; }

加入同步代码的两个线程,无论如何执行,i 的值总是 0 ,结果是正确的。 4、主函数的写法 int main() { }

五、实验材料的提交与成绩评定

实验源程序一份,并附上心得体会和运行结果的word文档(电子版),提交至天空教室。

DWORD id1,id2; HANDLE hThread[2];

::InitializeCriticalSection(&cs);

hThread[0] = ::CreateThread(0,0,fun1,0,0,&id1); hThread[1] = ::CreateThread(0,0,fun2,0,0,&id2); ::WaitForMultipleObjects(2,hThread,1,INFINITE); printf(\::DeleteCriticalSection(&cs); getchar(); return 0;

第 5 页 共 16 页

百度搜索“77cn”或“免费范文网”即可找到本站免费阅读全部范文。收藏本站方便下次阅读,免费范文网,提供经典小说综合文库13级操作系统课程设计指导书在线全文阅读。

13级操作系统课程设计指导书.doc 将本文的Word文档下载到电脑,方便复制、编辑、收藏和打印 下载失败或者文档不完整,请联系客服人员解决!
本文链接:https://www.77cn.com.cn/wenku/zonghe/228706.html(转载请注明文章来源)
Copyright © 2008-2022 免费范文网 版权所有
声明 :本网站尊重并保护知识产权,根据《信息网络传播权保护条例》,如果我们转载的作品侵犯了您的权利,请在一个月内通知我们,我们会及时删除。
客服QQ: 邮箱:tiandhx2@hotmail.com
苏ICP备16052595号-18
× 注册会员免费下载(下载后可以自由复制和排版)
注册会员下载
全站内容免费自由复制
注册会员下载
全站内容免费自由复制
注:下载文档有可能“只有目录或者内容不全”等情况,请下载之前注意辨别,如果您已付费且无法下载或内容有问题,请联系我们协助你处理。
微信: QQ: