操作系统仿真平台设计报告

上传人:橙** 文档编号:333352059 上传时间:2022-09-01 格式:PDF 页数:38 大小:660.06KB
返回 下载 相关 举报
操作系统仿真平台设计报告_第1页
第1页 / 共38页
操作系统仿真平台设计报告_第2页
第2页 / 共38页
操作系统仿真平台设计报告_第3页
第3页 / 共38页
操作系统仿真平台设计报告_第4页
第4页 / 共38页
操作系统仿真平台设计报告_第5页
第5页 / 共38页
亲,该文档总共38页,到这儿已超出免费预览范围,如果喜欢就下载吧!
资源描述

《操作系统仿真平台设计报告》由会员分享,可在线阅读,更多相关《操作系统仿真平台设计报告(38页珍藏版)》请在金锄头文库上搜索。

1、软件课程设计实验报告课题:操作系统仿真平台设计班级作者学号:通信 0703 李铁源U200713433 电信 0707 艾崭 U200713259 电信 0707 章杰 U200713288 指导老师:许毅平时间:2010 年 2 月末课设评价:课设成绩:名师资料总结-精品资料欢迎下载-名师精心整理-第 1 页,共 38 页 -一.软件需求分析1 引言1.1 编写目的设计并实现操作系统内存管理和作业(进程)调度仿真平台,通过平台演示内存管理和进程调度的过程。1.2 背景一些说明:a.待开发的软件系统的名称为操作系统仿真平台;b.开发者为小组成员李铁源,艾崭,章杰;用户为老师及学习操作系统课程的

2、学生;实现该软件的计算中心或计算机网络为普通的PC 机。1.3 定义列出本文件中用到的专门术语的定义:MFC:微软基础类(Microsoft Foundation Classes),同VCL类似,是一种Application Framework,随微软 Visual C+开发工具发布,用于在 C+环境下编写应用程序的一个框架和引擎.优先法:照进程的优先级大小来调度,高优先级进程得到优先处理。(动态优先数)时间片轮转法:按照进程到达时间先后顺序组织进程就绪队列,选择队列中的第一个进程(FIFO)服务。缺页率:f=(缺页次数/访问页面总数)%最佳置换法OPT(Optimum Strategy):淘

3、汰在将来再也不被访问,或者是在最远的将来才能被访问的页。先进先出置换算法FIFO(first-in,first-out):选择最早进入主存的页面淘汰。把进入主存的各页面按进入主存的时间次序构成队列(链表或表格),总是淘汰队头的页面。最近最少使用置换算法LRU(Least Recently Used):选择最近一段时间内最长时间没有被名师资料总结-精品资料欢迎下载-名师精心整理-第 2 页,共 38 页 -访问过的页面淘汰。1.4 参考资料a.操作系统基础(第三版)屠祁屠立德编著,清华大学出版社;b.MFC 设计轻松入门欧阳志宏董霖钟俊华编著,人民邮电出版社。CCSDN,MSDN 2 任务概述2

4、.1 目标设计并实现操作系统内存管理和作业(进程)调度仿真平台,通过平台演示内存管理和进程调度的过程。2.2 用户的特点本软件本着简单方便快捷的目的面向普通用户,对操作人员没有特殊要求,凡是学习过操作系统课程的同学,均可通过运行本软件,熟悉和掌握进程度调度和内存管理算法,对于操作系统的学习有一定的帮助。3 需求规定基本要求:1、实现一种内存管理算法和一种进程调度算法;2、实现图形化用户管理界面,提供基本的操作界面,包括虚拟进程提交、内存查看、进程调度状态;可选要求:1、实现多种内存管理算法和进程调度算法,并且可以通过界面进行算法选择;2、软件实现采用面向对象的程序设计方法思想,具有良好的可扩充

5、性;3、界面友好,能够实时反映内存、进程运行状态名师资料总结-精品资料欢迎下载-名师精心整理-第 3 页,共 38 页 -4 运行环境规定4.1 设备普通 pc 机一台4.2 支持软件操作系统为windows 2000,windows XP 及以上版本名师资料总结-精品资料欢迎下载-名师精心整理-第 4 页,共 38 页 -二.总体方案设计说明1.预期操作流程框图2.开发工具所用语言思想:C+编写使用的平台:VC+所编写程序框架和引擎:MFC 选择模式OnButton1优先法Onbutton2 轮转法进程管理模块选择页面置换模块选择OnButton9最近最久Onbutton8 先进先出输入:对

6、相应list 中的参数进行设置,完成后,点击运行(进程模块为Onbutton4;页面模块为Onbutton10)输出:显示运行过程每 1.5 秒刷新一次状态名师资料总结-精品资料欢迎下载-名师精心整理-第 5 页,共 38 页 -三.详细方案设计说明1.程序特征类a.CAboutDlg b.CSoftdesignApp,c.CSoftdesignDlg,包括PCB 的定义:typedef struct node int name;/*进程标识符*/int prio;/*进程优先数*/int round;/*进程时间轮转时间片*/int cputime;/*进程占用CPU 时间*/int nee

7、dtime;/*进程到完成还要的时间*/int count;/*计数器*/char*state;/*进程的状态*/struct node*next;/*链指针*/PCB;优先数创建初始PCB 信息,轮转法创建进程PCB OnButton110:按钮的设置(包括进程算法的选择,确定和运行以及页面置换算法的选择,确定和运行等)OnTimer:定时器实现进程调度算法CSub:进程所需时间编辑框的实现CSub2:页架号的走向编辑框的实现2程序界面 Resource AIDD-ABOUTBOX BIDD-SOFTDESIGN-DIALOG 名师资料总结-精品资料欢迎下载-名师精心整理-第 6 页,共 3

8、8 页 -CIDD-SUB DIDD-SUB2 名师资料总结-精品资料欢迎下载-名师精心整理-第 7 页,共 38 页 -四.软件程序说明部分首先我们分析到这次的软件课程设计除了要考虑操作系统进程调度和页架管理本身涉及的算法还要考虑软件最后必须能够脱离开发环境运行,这就是说我们必须考虑图形界面设计方面的问题。考虑到开发时间和我们小组成员目前在软件开发方面的水平,我们采用了在visual c+集成编译环境下兴建MFC AppWizard(exe)工程文件的方法来解决。MFC 是微软基础类库的简称,是微软公司实现的一个c+类库,主要封装了大部分的windows API 函数,MFC 是一个很大的、

9、扩展了的 C+类层次结构,它能使开发 Windows 应用程序变得更加容易。MFC 是在整个 Windows 家族中都是兼容的,也就是说,无论是 Windows3.x,Windows95 还 是 Windows NT,所 使 用 的 MFC 是 兼 容 的。每 当 新的 Windows 版本出现时,MFC 也会得到修改以便使旧的编译器和代码能在新的系统中工作。MFC 也回得到扩展,添加新的特性、变得更加容易建立应用程序。与传统上使用 C 语言直接访问 Windows API相反,使用 MFC 和 C+的优点是 MFC 已经包含和压缩了所有标准的“样板文件”代码,这些代码是所有用 C 编写的 W

10、indows 程序所必需的。因此用 MFC 编写的程序要比用C 语言编写的程序小得多。另外,MFC 所编写的程序的性能也毫无损失。必要时,你也可以直接调用标准 C 函数,因为 MFC 不修改也不隐藏 Windows 程序的基本结构。先说明图形界面涉及到的相关程序。图形界面 A 对应的程序及相关说明如下:CAboutDlg:CAboutDlg():CDialog(CAboutDlg:IDD)/AFX_DATA_INIT(CAboutDlg)/AFX_DATA_INIT void CAboutDlg:DoDataExchange(CDataExchange*pDX)CDialog:DoDataEx

11、change(pDX);/AFX_DATA_MAP(CAboutDlg)/AFX_DATA_MAP BEGIN_MESSAGE_MAP(CAboutDlg,CDialog)/AFX_MSG_MAP(CAboutDlg)/AFX_MSG_MAP END_MESSAGE_MAP()图形界面 B 对应的程序及相关说明如下:名师资料总结-精品资料欢迎下载-名师精心整理-第 8 页,共 38 页 -CSoftdesignDlg:CSoftdesignDlg(CWnd*pParent/*=NULL*/):CDialog(CSoftdesignDlg:IDD,pParent)/AFX_DATA_INIT(C

12、SoftdesignDlg)/NOTE:the ClassWizard will add member initialization here/AFX_DATA_INIT/Note that LoadIcon does not require a subsequent DestroyIcon in Win32 m_hIcon=AfxGetApp()-LoadIcon(IDR_MAINFRAME);void CSoftdesignDlg:DoDataExchange(CDataExchange*pDX)CDialog:DoDataExchange(pDX);/AFX_DATA_MAP(CSoft

13、designDlg)DDX_Control(pDX,IDC_LIST1,m_list);/NOTE:the ClassWizard will add DDX and DDV calls here DDX_Control(pDX,IDC_LIST2,m_list2);/AFX_DATA_MAP BEGIN_MESSAGE_MAP(CSoftdesignDlg,CDialog)/AFX_MSG_MAP(CSoftdesignDlg)ON_WM_SYSCOMMAND()ON_WM_PAINT()ON_WM_QUERYDRAGICON()ON_BN_CLICKED(IDC_BUTTON1,OnButt

14、on1)ON_BN_CLICKED(IDC_BUTTON2,OnButton2)ON_BN_CLICKED(IDC_BUTTON3,OnButton3)ON_BN_CLICKED(IDC_BUTTON4,OnButton4)ON_BN_CLICKED(IDC_BUTTON5,OnButton5)ON_BN_CLICKED(IDC_BUTTON6,OnButton6)ON_BN_CLICKED(IDC_BUTTON7,OnButton7)ON_BN_CLICKED(IDC_BUTTON8,OnButton8)ON_BN_CLICKED(IDC_BUTTON9,OnButton9)ON_BN_CL

15、ICKED(IDC_BUTTON10,OnButton10)ON_NOTIFY(NM_CLICK,IDC_LIST1,OnClickList1)ON_NOTIFY(NM_CLICK,IDC_LIST2,OnClickList2)ON_WM_TIMER()/AFX_MSG_MAP END_MESSAGE_MAP()/CSoftdesignDlg message handlers 名师资料总结-精品资料欢迎下载-名师精心整理-第 9 页,共 38 页 -BOOL CSoftdesignDlg:OnInitDialog()CDialog:OnInitDialog();/Add About.menu

16、item to system menu./IDM_ABOUTBOX must be in the system command range.ASSERT(IDM_ABOUTBOX&0 xFFF0)=IDM_ABOUTBOX);ASSERT(IDM_ABOUTBOX AppendMenu(MF_SEPARATOR);pSysMenu-AppendMenu(MF_STRING,IDM_ABOUTBOX,strAboutMenu);/Set the icon for this dialog.The framework does this automatically/when the applications main window is not a dialog SetIcon(m_hIcon,TRUE);/Set big icon SetIcon(m_hIcon,FALSE);/Set small icon m_list.SetExtendedStyle(LVS_EX_GRIDLINES|LVS_EX_FULLROWSELECT);m_list.InsertColumn(0,_T(名称),

展开阅读全文
相关资源
正为您匹配相似的精品文档
相关搜索

最新文档


当前位置:首页 > 中学教育 > 初中教育

电脑版 |金锄头文库版权所有
经营许可证:蜀ICP备13022795号 | 川公网安备 51140202000112号