操作系统原理实验报告.pdf

《操作系统原理》 实验报告 班级 : 姓名 : 学号 : 指导老师: 目录: 实验题目:实验一 线程创建与撤销 2 实验题目:实验二 线程同步 6 实验题目:实验三 线程互斥 11 实验题目:实验四 进程通信 17 实验题目:实验五 读者 -写者问题 21 实验题目:实验六 进程调度 37 实验题目:实验七 存储管理之动态链接库 52 实验题目:实验八 存储管理之内存分配 56 实验题目:实验九 存储管理之页面置换算法 69 实验题目:实验十 设备管理 84 实验题目:实验十一 文件管理之文件读写 98 实验题目:实验一 线程创建与撤销 完成人: XXX 报告日期: 2018 年 3 月 31 日 一、 实验内容简要描述 (1)熟悉 VC++ 、Visual Studio 开发环境。 (2 )使用相关函数创建和撤销线程。 (3 )在一个进程中创建 3 个线程,名字分别为 threada、threadb、threadc。 threada输出“ hello world! ”。 threadb 输出“ My name is …”。 threadc 输出“ Please wait ”…,然后 sleep 5秒钟,接着输出“ I wake up”。 二、 程序设计 1、 设计思路 该函数创建一个在调用进程的地址空间中执行的线程。 2、 主要数据结构 HANDLE CreateThread( LPSECURITY_ATTRIBUTES lpThreadAttributes, DWORD dwStackSize, LPTHREAD_START_ROUTINE lpStartAddress, LPVOID lpParameter, DWORD dwCreationFlags, LPDWORD lpThreadId ); VOID ExitThread(DWORD dwExitCode) ; VOID Sleep(DWORD dwMilliseconds); VOID Sleep(DWORD dwMilliseconds); 三、实验结果 1、基本数据 lpThreadAttributes:指向一个 SECURITY_ATTRIBUTES 结构,该结构决定了返 回的句柄是否可被子进程继承。 若 lpThreadAttributes 为 NULL ,则句柄不能被继 承。 在 WindowsNT 中该结构的 lpSecurityDescriptor 成员定义了新进程的安全性描述 符。若 lpThreadAttributes 为 NULL ,则线程获得一个默认的安全性描述符。 dwStackSize:定义原始堆栈提交时的大小 (按字节计 )。系统将该值舍入为最近的 页。若该值为 0,或小于默认时提交的大小,默认情况是使用与调用线程同样的 大小。更多的信息,请看 ThreadStackSize。 lpStartAddress:指向一个 LPTHREAD_START_ROUTlNE 类型的应用定义的函 数,该线程执行此函数。 该指针还表示溃程进程中线程的起始地址。 该函数必须 存在于远程进程中。 lpParameter:定义一个传递给该迸程的 32 位值。 dwCreationFIags : 定 义 控 制 进

文档评论(0)

1亿VIP精品文档

相关文档