《(精品)操作系统 实验指导书.ppt》由会员分享,可在线阅读,更多相关《(精品)操作系统 实验指导书.ppt(8页珍藏版)》请在taowenge.com淘文阁网|工程机械CAD图纸|机械工程制图|CAD装配图下载|SolidWorks_CaTia_CAD_UG_PROE_设计图分享下载上搜索。
1、实验实验 1Win32常用常用API的的使用使用 实验目的:掌握使用常用的实验目的:掌握使用常用的Windows API函数,函数,其中包括进程创建、等待进程结束和退出进程等。其中包括进程创建、等待进程结束和退出进程等。通过实验熟悉通过实验熟悉VC程序设计环境和程序设计环境和MSDN帮助的帮助的使用。使用。实验内容及要求:独立编写一个基于实验内容及要求:独立编写一个基于Windows的的应用程序,在程序中完成一个新的进程的创建,应用程序,在程序中完成一个新的进程的创建,并通过菜单控制新进程的结束。在新进程结束后并通过菜单控制新进程的结束。在新进程结束后自动结束该应用程序。自动结束该应用程序。S
2、ome Win32 API calls实验实验 1Win32常用常用API的使用的使用实验实验 1Win32常用常用API的使用的使用 STARTUPINFO si;PROCESS_INFORMATION pi;ZeroMemory(&si,sizeof(si);si.cb=sizeof(si);ZeroMemory(&pi,sizeof(pi);/Start the child process.if(!CreateProcess(D:WinampWinamp.exe,/Module name.NULL,/Command line.NULL,/Process handle not inheri
3、table.NULL,/Thread handle not inheritable.FALSE,/Set handle inheritance to FALSE.0,/No creation flags.NULL,/Use parents environment block.NULL,/Use parents starting directory.&si,/Pointer to STARTUPINFO structure.&pi)/Pointer to PROCESS_INFORMATION structure.):MessageBox(NULL,CreateProcess failed.,C
4、reateProcess failed.,MB_OKCANCEL);/Wait until child process exits.WaitForSingleObject(pi.hProcess,INFINITE);/Close process and thread handles.CloseHandle(pi.hProcess);CloseHandle(pi.hThread);ExitProcess(1);Example of Codes实验实验 2使用信号量解决生产者消费者问题使用信号量解决生产者消费者问题 实验目的:掌握信号量的使用,利用信号量解决实验目的:掌握信号量的使用,利用信号量解
5、决生产者消费者问题。生产者消费者问题。实验内容及要求:独立编写一个基于实验内容及要求:独立编写一个基于Windows的的应用程序,在程序中创建两个线程,其中一个作应用程序,在程序中创建两个线程,其中一个作为生产者,一个作为消费者,缓冲区的大小设置为生产者,一个作为消费者,缓冲区的大小设置为为1。首先不使用信号量同步两个线程,生产者。首先不使用信号量同步两个线程,生产者将将09十个数字依次放入缓冲区,消费者取出显十个数字依次放入缓冲区,消费者取出显示在显示器上,观察实验结果。接着使用信号量示在显示器上,观察实验结果。接着使用信号量同步,观察实验结果。最后对实验结果进行分析。同步,观察实验结果。最
6、后对实验结果进行分析。实验实验 2使用信号量解决生产者消费者问题使用信号量解决生产者消费者问题 CreateThread CreateSemaphoreWaitForSingleObject ReleaseSemaphore ExitThread SetThreadPrioritySeveral Candidate Win32 APIs实验实验 3调度算法模拟及分析调度算法模拟及分析 实验目的:通过模拟实验比较不同调度算法的性实验目的:通过模拟实验比较不同调度算法的性能,加深对进程调度算法的理解。能,加深对进程调度算法的理解。实验内容及要求:独立编写一个基于实验内容及要求:独立编写一个基于Wi
7、ndows的的应用程序,在程序中首先随机的或手工产生一个应用程序,在程序中首先随机的或手工产生一个CPU等待队列(包括到达时间和估计运行时间),等待队列(包括到达时间和估计运行时间),分别使用分别使用FCFS和和SJF调度算法对该队列进行调度,调度算法对该队列进行调度,计算平均轮转时间和系统吞吐率。最后对两种算计算平均轮转时间和系统吞吐率。最后对两种算法作出对比。法作出对比。Experiment 4 Program a simulation of the bankers algorithm.Your program should cycle through each of the bank c
8、lients asking for a request and evaluating whether it is safe or unsafe.Output a log of requests.Each client can be modeled by an array of resource requests.At each scheduling point,a request chosen randomly is evaluated(The lottery scheduling algorithm seems to be a good candidate).Record a log int
9、o an array and output it finally.Experiment 5 Write a program that simulates a paging system.At the start of the program,the user should be asked to choose a page replacement algorithm,e.g.FIFO,LRU.Input the numbers of referenced pages.Generate a list similar to Fig.4-25.Compare the performance of different page replacement algorithms,e.g.page fault rate.