操作系统试验

操作系统试验

ID:39445288

大小:542.00 KB

页数:44页

时间:2019-07-03

操作系统试验_第1页
操作系统试验_第2页
操作系统试验_第3页
操作系统试验_第4页
操作系统试验_第5页
资源描述:

《操作系统试验》由会员上传分享,免费在线阅读,更多相关内容在工程资料-天天文库

1、实验一进程控制和调度实验目的用高级语言编写和调试进程调度的模拟程序,以加深对进程调度算法的理解。实验内容1、自定义进程相关的数据结构;2、利用MFC类库中的栈(queue),链表(list),向量(vector)等模板模拟进程控制块队列、进程控制块优先级队列、统计信息链表及其指令集合;3、利用MSDN和MFCAPI编程实现常见的进程控制和调度策略(先来先服务算法、时间片轮转算法、最高优先权优先调度算法、最短进程优先调度算法);4、测试以上进程调度策略的周转时间、带权周转时间、平均周转时间和平均带权周转时间,并定性评价它们的性能。预

2、备知识1、信号相关的系统调用①SetConsoleCtrlHandler:定义或取消本进程的信号处理例程列表中的用户定义例程;②GenerateConsoleCtrlEvent:发送信号到与本进程共享同一控制台的控制台进程组;这一组系统调用处理的信号有5种,是Windows2000/XP特有的,包括CTRL_C_EVENT,CTRL_BREAK_EVENT,CTRL_CLOSE_EVENT,CTRL_LOGOFF_EVENT,CTRL_SHUTDOWN_EVENT。2、临界区有关的系统调用①InitializeCriticalSe

3、ction:初始化临界区对象;②EnterCriticalSection:等待占用临界区的使用权;③TryEnterCriticalSection:非等待方式申请临界区的使用权;④LeaveCriticalSection:释放临界区的使用权;⑤DeleteCriticalSection:释放与临界区对象相关的所有系统资源3、线程相关的系统调用①CreateThread:创建一个线程内核对象,线程执行指定的ThreadProc例程;②ThreadProc:线程执行例程;③ExitThread:终止线程的运行,同时操作系统清除该线程使

4、用的所有操作系统资源;④TerminateThread:撤消任何线程,线程的内核对象的使用计数也被递减,但系统不撤消该线程的堆栈;线程函数返回是确保所有线程资源被正确地清除的唯一办法。以上的系统调用详细资料参考MSDN网站或光盘。4、进程调度常用算法的相关知识参考课堂《计算机操作系统》教材5、MFC栈(queue),链表(list),向量(vector)相关知识参考MSDN网站或光盘实验指导1、进程相关的数据结构//进程状态enumPROCSTATUS{Ready,//就绪44Block,//阻塞Run,//运行};//进程优先级

5、enumPROCPRIORITY{Low,//低LowStandard,//低于标准Standard,//标准HighStandard,//高于标准High,//高RealTime,//实时};//调度算法enumSCHEDULEALGORITHM{FCFS,//先来先服务SPF,//短进程优先FPF_Reaved,//抢占式高优先级TimePiece,//时间片轮转};//进程标识符structPROCID{intnInID;//内部标识符intnOutID;//外部标识符};//处理机状态structPROCESSORSTAT

6、US{intnIP;//指令指针};//进程调度信息structPROCSCHINFO{PROCSTATUSstatusProc;//进程状态PROCPRIORITYprocPriority;//进程优先级};//进程控制信息structPROCCONINFO{PCB*pNextPCB;//下一PCB};//程序structPROGRAM44{intnProgLen;//程序大小intnIP;//指令指针SYSTEMTIMEtimeSystem;//程序请求运行时间INSTRUCTIONSETinstructionSet;//指令

7、集合};//统计信息structSTATINFO{intnRequestTime;//进程请求运行时间intnGetCPUTime;//系统为之提供服务时间};//进程控制块structPCB{STATINFOinfoStat;//统计信息PROCIDidProc;//进程标识符PROGRAMprogram;//该进程对应的程序PROCESSORSTATUSstatusProcessor;//处理机状态PROCSCHINFOinfoProcSch;//进程调度信息PROCCONINFOinfoProcCon;//进程控制信息};/

8、/统计信息:程序长度structSTATINFO_PROGLEN{intnProgLen;//程序长度intnProcID;//进程IDintnPeriod;//周转时间intnWeightPeriod;//带权周转时间booloperator<(

当前文档最多预览五页,下载文档查看全文

此文档下载收益归作者所有

当前文档最多预览五页,下载文档查看全文
温馨提示:
1. 部分包含数学公式或PPT动画的文件,查看预览时可能会显示错乱或异常,文件下载后无此问题,请放心下载。
2. 本文档由用户上传,版权归属用户,天天文库负责整理代发布。如果您对本文档版权有争议请及时联系客服。
3. 下载前请仔细阅读文档内容,确认文档内容符合您的需求后进行下载,若出现内容与标题不符可向本站投诉处理。
4. 下载文档时可能由于网络波动等原因无法下载或下载错误,付费完成后未能成功下载的用户请联系客服处理。