搜档网
当前位置:搜档网 › 指导书-《操作系统课程设计》-09软件工程(1-5班)

指导书-《操作系统课程设计》-09软件工程(1-5班)

指导书-《操作系统课程设计》-09软件工程(1-5班)
指导书-《操作系统课程设计》-09软件工程(1-5班)

附件5:

课程设计指导书

一、课程设计目的

《操作系统》是计算机专业的一门专业基础课,主要内容是介绍操作系统的原理和策略;《操作系统课程设计》是在学生学习完该课程以后(或学习过程中)进行的设计性实验课程,目的是使学生加深理解操作系统中的策略与思想,并能编程实现。

课程设计的项目中,包含了若干子项目,分别设计实现这些子项目和算法策略,并用程序模拟运行。这种训练把知识获取和项目实践二者有机结合,增强对课程内容的理解和掌握,并获得有关项目管理和团队合作等方面的训练和经验。

二、课程设计主要内容及要求

任务一:信号量控制线程同步

该任务含两个程序的设计与编写,程序1同步两个线程,其一输出奇数,另一线程输出偶数,且二者交叉数据输出;程序2实现男女共用浴室的情况下的同步与互斥,男女到达浴室的时间数据放在文本文件。对于给定的输入文件,观察测试输出结果的正确性。

课时4个学时。

任务二:程序模拟存储管理之“伙伴系统”算法

设计与编写程序实现动态内存管理之“伙伴系统”算法。初始内存的大小(必须是2的幂)、申请内存的进程大小及次序等数据放在文本文件中。对于给定的输入文件,输出进程申请与退出每步的内存分配状态。

课时4个学时。

任务三:老化算法模拟分页系统

设计与编写程序使用老化算法模拟一个分页系统。页面访问序列从文件(文本文件)中读取。对于一个给定的输入文件,列出每1000个内存访问中发生缺页中断的数

目。

课时4个学时。

任务四:使用工具分析Windows之NTFS文件系统

使用WinHex工具分析当前操作系统(通常是Windows XP)的NTFS或FAT32文件系统组织方式。(具体要求随后提供。)

课时2-4个课时。

三、课程设计基本步骤及进度安排

1.学生分组(建议2-4人一组)、了解课程要求及熟悉任务一。(第10周)

2.完成任务一的程序设计、编写与测试工作。(第11周)

3.开始任务二的程序设计工作。(第12周)

4.完成任务二的程序设计、编写与测试工作。(第13周)

5.开始任务三的程序设计工作。(第14周)

6.完成任务三的程序设计、编写与测试工作。(第15周)

7.熟悉任务四所使用的工具WinHex,并分析当前电脑的操作系统,以任一

文件为实例分析文件系统的管理组织机制。(第16周)

8.编写课程设计报告并进行答辩。(第17周)

详情见“实践教学日历”

四、考核方法:

按学院要求进行考核,打分:

1、平时成绩。包括课堂出勤情况、文档提交情况等内容。占总成绩的20%。

2、项目答辩成绩。每个题目均需要进行项目答辩,答辩时采取单人答辩

的方式,根据所做题目评委出题进行答辩。占总成绩的30%。

3、课程设计报告成绩。占总成绩的50%。

4、优秀率不超过15%。

附录

题目一:信号量控制线程同步

设计内容:

程序1:

1.两个线程,一者输出1-30的偶数,一者输出1-30的奇数。

2.使用一个信号量,控制二线程分别输出(即一个线程完成数据输出后,

另一个线程方可开始数据输出。)

3.使用二个信号量,控制二线程其中之一输出一个数后,随后另一个线程

也输出一个数,交替输出直至结束。

程序2:(教材P98页51题)

假设一个大学为了卖弄其政治上的正确性,准备把美国最高法院的信条“平等但隔离其本身就是不平等”既运用在种族上也运用在性别上,从而结束校园内长期使用的浴室按性别隔离的做法。但是,为了迁就传统习惯,学校颁布法令:当有一个女生在浴室里,那么其他女生可以进入,但是男生不行,反之亦然。在每个浴室的门上有一个滑动指示符号,表示当前处于以下三种可能状态之一:

●空

●有女生

●有男生

用你偏好的程序设计语言编写下面过程(可以随意采用所希望的计数器和同步技术):

●woman_wants_to_enter

●man_wants_to_enter

●woman_leaves

●man_leaves

设计要点与关键技术:

1.线程的同步与互斥

2.信号量上的P、V操作算法

3.使用Visual Studio2008开发平台

题目二:程序模拟存储管理之“伙伴系统”

设计内容:

1.依据下图所示的算法或严蔚敏《数据结构(C语言版)》P203的内容编写

程序。

2.测试数据依据下图并将其放在一个文本文件中。

设计要点与关键技术:

1.动态内存管理之伙伴系统算法

2.递归算法

3.使用Visual Studio2008开发平台

题目三:老化算法模拟分页系统

设计内容:

1.编写一个程序,它使用老化算法模拟一个分页系统。页帧的数量是参数。

页面的访问序列从文件中读取。对于一个给定的输入文件。列出每1000

个内存访问中发生缺页中断的数目,它是可用页帧数的函数。(教材P141,41题)

2.一个简单的典型测试数据:

分配的内存帧数:3

进程页访问序列:0、1、2、3、4、1、2、0、1、2、3、4、0、1、2、3

3.按要求设计测试比较更大数据量的页面访问

设计要点与关键技术:

1.老化算法的理解

2.使用Visual Studio2008开发平台

题目四:使用工具分析Windows之NTFS文件系统

设计内容:

1.学习WinHex工具软件的使用;

2.利用WinHex工具对根目录下的文件进行删除、隐蔽、恢复、属性修改

及寻找其数据的存储位置;

3.对非根目录下的文件进行上述(2)项的操作;

4.利用工具移动某个文件的数据块。

也可在FAT32文件系统中进行上述操作

设计要点与关键技术:

1.对NTFS或FAT32的组织结构的认识

2.工具的使用熟练度

操作系统课程设计

课程设计报告 2015~2016学年第一学期 操作系统综合实践课程设计 实习类别课程设计 学生姓名李旋 专业软件工程 学号130521105 指导教师崔广才、祝勇 学院计算机科学技术学院 二〇一六年一月

- 1 -

- 2 -

一、概述 一个目录文件是由目录项组成的。每个目录项包含16B,一个辅存磁盘块(512B)包含32个目录项。在目录项中,第1、2字节为相应文件的外存i节点号,是该文件的内部标识;后14B为文件名,是该文件的外部标识。所以,文件目录项记录了文件内、外部标识的对照关系。根据文件名可以找到辅存i节点号,由此便得到该文件的所有者、存取权、文件数据的地址健在等信息。UNIX 的存储介质以512B为单位划分为块,从0开始直到最大容量并顺序加以编号就成了一个文件卷,也叫文件系统。UNIX中的文件系统磁盘存储区分配图如下: 本次课程设计是要实现一个简单的模拟Linux文件系统。我们在内存中开辟一个虚拟磁盘空间(20MB)作为文件存储器,并将该虚拟文件系统保存到磁盘上(以一个文件的形式),以便下次可以再将它恢复到内存的虚拟磁盘空间中。文件存储空间的管理可采用位示图方法。 二、设计的基本概念和原理 2.1 设计任务 多用户、多级目录结构文件系统的设计与实现。可以实现下列几条命令login 用户登录 logout 退出当前用户 dir 列文件目录 creat 创建文件 delete 删除文件 open 打开文件 close 关闭文件 - 3 -

read 读文件 write 写文件 mkdir 创建目录 ch 改变文件目录 rd 删除目录树 format 格式化文件系统 Exit 退出文件系统 2.2设计要求 1) 多用户:usr1,usr2,usr3,……,usr8 (1-8个用户) 2) 多级目录:可有多级子目录; 3) 具有login (用户登录)4) 系统初始化(建文件卷、提供登录模块) 5) 文件的创建:create (用命令行来实现)6) 文件的打开:open 7) 文件的读:read8) 文件的写:write 9) 文件关闭:close10) 删除文件:delete 11) 创建目录(建立子目录):mkdir12) 改变当前目录:cd 13) 列出文件目录:dir14) 退出:logout 新增加的功能: 15) 删除目录树:rd 16) 格式化文件系统:format 2.3算法的总体思想 - 4 -

软件工程实验教案网络

课程教案 课程名称:软件工程实验 任课教师:陈利平 所属院部:计算机与信息科学学院 教学班级:计科1301-02网络1301-03 教学时间:2015-2016 学年第2 学期 湖南工学院

课程基本信息

实验一Microsoft Visio软件的使用(选做) 一、实验目的 1.熟悉Visio的工作环境及组成; 2.掌握用Visio软件绘制图表的基本操作; 3.能熟练全用Visio软件绘制各种较复杂的专业图表; 4.掌握各种图表文档创建方法. 二、实验环境 1.安装有Microsoft Visio 2010软件的计算机系统; 2.准备将使用Microsoft Visio 2010绘制图。 三、实验内容 1.熟悉Microsoft Visio 2010的建模环境; 2.根据教材和实验老师的演示,从教材或实验指导书中找到一个数据流图,用Microsoft Visio将它画出。可以使用实验指导书的图1-5所示的数据流图. 3.根据教材和实验老师的演示,从教材或实验指导书中找到一个状态图,用Microsoft Visio将它画出。可以使用实验指导书的图1-9所示的状态图。 4.根据教材和实验老师的演示,从教材或实验指导书中找到一个E-R图,用Microsoft Visio将它画出。可以使用实验指导书的图1-19所示的实体关系图。 四、实验注意事项 在实验过程中,要注意观察Microsoft Visio相关操作的实现。 五、实验成果 完成实验后,每人提供一份实验报告,简述Microsoft Visio的使用、特点、组成及安装要点,重点说明其建模环境及使用,至少包含三个已绘制的Microsoft Visio文件。 六、实验思考 1.反复练习Microsoft Visio绘制各种图。 实验后记: 实验一Microsoft Visio软件的使用(选做) 一、实验目的 1.熟悉Visio的工作环境及组成;

操作系统课程设计报告书

题目1 连续动态内存管理模拟实现 1.1 题目的主要研究内容及预期达到的目标 (1)针对操作系统中内存管理相关理论进行设计,编写程序并进行测试,该程序管理一块虚拟内存。重点分析三种连续动态内存分配算法,即首次适应算法、循环首次适应算法和最佳适应算法。 (2)实现内存分配和回收功能。 1.2 题目研究的工作基础或实验条件 (1)硬件环境:PC机 (2)软件环境:Windows XP,Visual C++ 6.0 1.3 设计思想 首次适应算法的实现:从空闲分区表的第一个表目起查找该表,把最先能够满足要求的空闲区分配给作业,这种方法的目的在于减少查找时间。为适应这种算法,空闲分区表中的空闲分区要按地址由低到高进行排序。该算法优先使用低址部分空闲区,在低址空间造成许多小的空闲区,在高址空间保留大的空闲区。 循环首次适应算法的实现:在分配内存空间时,不再每次从表头开始查找,而是从上次找到空闲区的下一个空闲开始查找,直到找到第一个能满足要求的的空闲区为止,并从中划出一块与请求大小相等的内存空间分配给作业。该算法能使内存中的空闲区分布得较均匀。 最佳适应算法的实现:从全部空闲区中找到能满足作业要求的、且最小的空闲分区,这种方法能使碎片尽量小。为适应此算法,空闲分区表中的空闲分区要按从小到大进行排序,从表头开始查找第一个满足要求的自由分配。 1.4 流程图 内存分配流程图,如图1-1所示。

图1-1 内存分配流程图内存回收流程图,如1-2所示。

图1-2 内存回收流程图 1.5 主要程序代码 (1)分配内存 void allocate(char z,float l) { int i,k; float ad; k=-1; for(i=0;i= l && free_table[i].flag == 1) if(k==-1 || free_table[i].length

操作系统课程设计报告

操作系统课程设计报告

东莞理工学院 操作系统课程设计报告 学院:计算机学院 专业班级: 13软件工程1班 提交时间: 2015/9/14 指导教师评阅意见: . 项目名称:进程与线程管理功能 一、设计目的 用语言来模拟进程和线程管理系统,加深对进程和线程的理解,掌握对进程和线程各种状态和管理的算法原理。

二、环境条件 系统: WindowsXP、VMWare、Ubuntu Linux 语言:C/C++ 开发工具:gcc/g++、Visual C++ 6.0 三、设计内容 1. 项目背景 计算机的硬件资源有限,为了提高内存的利用率和系统的吞吐量,就要根据某种算法来管理进程和线程的状态从而达到目的。 进程与线程管理功能完成基于优先级的抢占式线程调度功能,完成进程虚拟内存管理功能。 进程与线程管理功能 基本要求:完成基于优先级的抢占式线程调度功能,完成进程虚拟内存管理功能。 提高要求:(增加1项就予以加分) (1) 实现多种线程调度算法; (2)通过“公共信箱”进行通信的机制,规定每一封信的大小为128字节,实现两个用户进程之间通过这个“公共信箱”进行通信。 (3) 实现多用户进程并发的虚拟内存管理功能。

(4) 实现用户进程间通信功能,并用生产者/消费者问题测试进程间通信功能的正确性。 (5) 实现改进型Clock页面置换算法。 (6) 实现Cache功能,采用FIFO替换算法。 2. 扩展内容 实现多种线程调度算法:时间片轮转调度算法 四、人员分工 优先级调度算法:钟德新,莫友芝 时间片轮转调度算法:张德华,袁马龙 设计报告由小组队员共同完成。小组成员设计的代码分工如下:钟德新编写的代码:void Prinft(){ PCB *p; system("cls");//清屏 p=run; //运行队列 if(p!=NULL) { p->next=NULL; } cout<<"当前正在运行的进程:"<procname<<"\t\t"<pri<<"\t"<needOftime<<"\t\t"<runtime<<"\t\t"<state<next; } cout<

软件工程实验指导书(2016年修订)

数学与信息学院(软件学院) 《软件工程实验》指导书 编写:梁早清朱凯严尚维林毅申 完成人信息 学号姓名主要角色和任务比重 朱凯2016年修订 分组至少3人至多4人。 备注:此文档仅作为《软件工程》实验指导用,其他课程的文档模板请根据其他老师提供的模板撰写。

软件工程实验课实验说明 本实验指导书是数学与信息学院、软件学院《软件工程实验》课程的指导书,目的在于让同学们通过这些实验,体会软件开发的过程(从需求分析到设计和测试计划)。老师们试图通过一个较为简单的易实现的软件系统,让同学们分阶段完成需求分析、体系结构设计、部件级设计等设计和功能测试的工作,并完成相应的文档。同学们之间根据规范相互评审每一阶段的文档,过后老师再统一评讲。以此让同学们加深对结构化分析与设计、功能测试的方法的理解。(特别指出:因课时所限,软件工程中面向对象的设计与分析方法不在本实验课上讨论,学院另外开设有《面向对象的设计与分析》课程。) 题目如下: 一、软件系统需求的文本描述 《课程成绩管理系统》提供一个方便我校任课老师管理学生成绩的小型软件系统。该系统为教师提供方便的成绩管理功能,也为学生提供查询成绩的功能。系统描述如下:学生的成绩包含以下4个部分:课堂点名成绩、课堂考试成绩、课后作业成绩和期末考试成绩。各成绩评判标准和在总成绩中所占比例如下: 1.课堂点名3次,每次点名没有到的不得分(即记0分),到了的100分。第一次点 占总成绩的1%,第二次和第三次各占总成绩的2%,课堂点名占总成绩的5%; 2.课堂考试3次,每次满分100分,具体成绩由老师给出。其中,第一次和第二次占 总成绩的7%,第三次占总成绩的6%,共20%; 3.课后作业3次,每次满分100分,具体成绩由老师给出。其中,第一次和第二次占 总成绩的8%,第三次占总成绩的9%,共25%; 4.期末考试试卷满分100分,占总成绩的50%。 教师能通过成绩管理软件来管理学生的成绩,包含添加、删除、修改、查看、统计学生的成绩。各个功能具体描述如下: 1.添加学生成绩:填写学号,点击添加,然后在添加界面上录入对应学生的第一次点 名、第二次点名、第三次点名、第一次课堂考试、第二次课堂考试、第三次课堂考 试、第一次课后作业、第二次课后作业、第三次课后作业,期末考试卷面成绩。点

操作系统课程设计报告

上海电力学院 计算机操作系统原理 课程设计报告 题目名称:编写程序模拟虚拟存储器管理 姓名:杜志豪.学号: 班级: 2012053班 . 同组姓名:孙嘉轶 课程设计时间:—— 评语: 成绩: 目录 一、设计内容及要求 (4) 1. 1 设计题目 (4) 1.2 使用算法分析: (4)

1. FIFO算法(先进先出淘汰算法) (4) 1. LRU算法(最久未使用淘汰算法) (5) 1. OPT算法(最佳淘汰算法) (5) 分工情况 (5) 二、详细设计 (6) 原理概述 (6) 主要数据结构(主要代码) (6) 算法流程图 (9) 主流程图 (9) Optimal算法流程图 (10) FIFO算法流程图 (10) LRU算法流程图 (11) .1源程序文件名 (11) . 2执行文件名 (11) 三、实验结果与分析 (11) Optimal页面置换算法结果与分析 (11) FIFO页面置换算法结果与分析 (16) LRU页面置换算法结果与分析 (20) 四、设计创新点 (24) 五、设计与总结 (27)

六、代码附录 (27) 课程设计题目 一、设计内容及要求 编写程序模拟虚拟存储器管理。假设以M页的进程分配了N

块内存(N

(上课)软件工程实验一

实验指导书 课程名称软件工程导论 学院信息工程学院 班级 学号 姓名 2018年 2 月 24 日 实验名称分析系统业务流程和绘制系统业务流程图 实验目的: 1、掌握结构化分析方法 2、掌握业务流程分析方法和业务流程图的绘制 实验内容: 任务一绘制系统业务流程图 试绘制工资管理系统的系统流程图,根据系统流程图的符号说明仔细理解如图含义: 任务二分析系统业务流程和绘制系统业务流程图 案例一:总务办公管理系统

系统简介:某单位准备开发一个购买办公用品和设备的总务办公管理系统。办公用品的购买申请由各科室提出,由负责总务工作的办公室统一收集。其中,购买申请的金额低于500元(含500元)可以由总务办公室直接审批,而高于500元的购买申请由机构主管领导审批,批准的购买申请形成采购清单由采购员负责购买,同时应记录每次实际购买清单,进行入账。在提出购买申请时要包括下述数据:申请单位、物品名称、物品数量、预计价格、物品用途等。每次购买完成后应记录以下数据:物品名称、物品数量、价格、总金额、购买日期、经办人等。 案例二:火车票预订系统 系统简介:某高校后勤集团为了学生寒暑假返乡,办理代学生预订返乡火车票事务,订票必须提前三天办理,后勤订票处提前三天向火车站办理购票事务。订票处使用一台微机处理订票后购票事务,学生订票一次称为一个事务,由订票员将其输入在微机中,系统核实订单后,将订票信息记录放在订票库中。系统每天打印预订三天的购票单,并更新订票库。 请对以上系统进行业务流程分析后,绘制出该系统的系统流程图。 实验原理: 系统流程图是描绘物理系统的传统工具。是用图形符号以黑盒子形式描绘系统里面的每个部件(程序、文件、数据库、表格、人工过程等等)。表达的是信息在系统各部件之间流动的情况,而不是对信息进行加工处理的控制过程。 系统业务流程图的符号:

软件工程实验指导书71436

软件工程实验指导书 南昌航空大学信工学院 2010年01月

目录 实验1 用PowerDesigner建模工具绘制数据流图 (3) 1 实验环境 (3) 2 实验目的 (3) 3 实验内容 (3) 4 实验要求 (3) 5 实验步骤 (3) 实验2 用PowerDesigner建模工具设计数据库 (5) 1 实验环境 (5) 3 实验内容 (5) 4 实验要求 (6) 5 实验步骤 (6) 实验3 用Microsoft Visio工具设计用户界面 (10) 1 实验环境 (10) 2 实验目的 (10) 3 实验内容 (10) 4 实验要求 (10) 5 实验步骤 (10) 实验4 用Rational Rose绘制用例图 (14) 1 实验环境 (14) 2 实验目的 (14) 3 实验内容 (14) 4 实验要求 (14) 5 实验步骤 (15) 实验5 用Rational Rose工具绘制类图 (18) 1 实验环境 (18) 2 实验目的 (18) 3 实验内容 (18) 4 实验要求 (18) 5 实验步骤 (18)

实验1 用PowerDesigner建模工具绘制数据 流图 1 实验环境 Windows 2000、Sybase公司的Power Designer应用软件 2 实验目的 1)了解Power Designer工具软件的组成及功能 2)掌握Power Designer中的Process Analyst(PA)模块的建 模方法及其工具的使用方法 3 实验内容 1)设计数据流图(DFD) 2)利用外部实体、过程处理、数据流及数据存储绘制数据流图。 4 实验要求 建立一个PAM(Process Analyst Model)的应用实例。 为方便旅客,某航空公司拟开发一个机票预定系统。旅行社把预定机票的旅客信息(姓名、性别、工作单位,身份证号码、旅行时间、施行目的地等)输入该系统,系统为旅客安排航班,印出取票通知和帐单,旅客在飞机起飞前一天凭取票通知单和帐单交款取票,系统校对无误即印出机票给旅客。 绘制该机票预定系统的数据流图。注意:功能分解的细化程度视具体情况而定。该实验中分解到第三层止。 5 实验步骤 数据流图是系统处理模型的主要组成部分。其中心问题是把功能逐层分解为多个子功能。 1)建立根处理模型 S1:在Windows桌面上双击Process Analyst程序图标,打开Process Analyst应用程序。 S2:建立一个处理过程P1。单击工具栏中的Process工具,在模型工作区内单击会出现一个处理过程的符号,它是建立的第一个处理过程。单击鼠标右键释放Process工具,再双击新建立的处理过程符号,出现特性对话框,对

软件工程实践实验指导书XXXX

《软件工程实践》实验指导书 学院:数学与计算机学院 专业:计算机专业 年级: 指导教师:汪璟玢 系主任(或教研室主任):

本课程实验教学目的和基本要求: 知识方面:通过本课程设计,让学生进一步了解软件项目管理、需求分析、系统设计和软件测试的基本原理和方法,在软件开发的各个阶段熟悉并掌握一种表达工具,实现一个小规模的系统开发。 能力方面:在本课程设计过程中,注重培养学生分析问题和独立解决问题的能力。 素质方面:通过本课程设计,着重培养学生具备以下两方面的良好素质:一是针对实际系统中存在的问题,能够善于运用所学基本理论知识分析问题;二是规范地表达分析和设计方案。 本课程设计要求学生3-6人一组完成一个系统,并按照软件工程的规范形成相关文档资料。 参考资料: 1.《软件工程实践者的研究方法》(第六版)(美)Roger S.Pressman著, 郑人杰马素霞白晓颖译,机械工业出版社 2.《软件工程实践者的研究方法》(第五版)(美)Roger S.Pressman著, 梅宏译,机械工业出版社 3.《软件工程》(第六版)(英)Ian Sommerville著,程一剑陈霞译,机 械工业出版社 4.《软件工程》郑人杰主编, 清华大学出版社 5.《软件工程—理论、方法与实践》孙家广主编,刘强编著,高等教育出版 社

实验一:项目选择与用例图表达 目的:结合具体的项目,要求学生结合用例图和用例文本的方法将系统功 能表达清楚。 内容:项目选择、参与者确定、用例识别、用例间的关系表达,用例文本的表达 要求:能够发现任务与用例的关系、用例间的关系并准确表达、用规范的 用例文本描述用例。 开发环境和工具要求掌握:Windows200 Advanced Server、Rational Rose2003、MS visio2003 实验二:系统需求分析报告—类图 目的:通过本次实验掌握对具体项目进行类的识别和分析,并完成系统类图。 内容:识别类、确定类的属性和操作、分析类间的关系完成类图 要求:调查工作要深入,对系统的业务流程要充分了解;结合系统的功能 进行类的分析。 开发环境和工具要求掌握:Windows200 Advanced Server、MS visio2003、Rational Rose2003 实验三:系统需求分析报告—数据流图 目的:结合具体项目,训练学生的抽象分析及分层描述问题的能力,联系 数据和功能,分层次表达系统的功能。 内容:任务分解;识别外部实体、加工、数据存储和数据流;分层次表达的方法。 要求:调查工作要深入,对系统的业务流程要充分了解;结合系统的功能 分解进行数据流图的绘制。 开发环境和工具要求掌握:Windows200 Advanced Server、MS visio2003

操作系统课程设计报告

东莞理工学院 操作系统课程设计报告学院:计算机学院 专业班级:13软件工程1班 提交时间:2015/9/14 指导教师评阅意见: . 项目名称:进程与线程管理功能 一、设计目的 用语言来模拟进程和线程管理系统,加深对进程和线程的理解,掌握对进程和线程各种状态和管理的算法原理。 二、环境条件 系统:WindowsXP、VMWare、Ubuntu Linux 语言:C/C++ 开发工具:gcc/g++、Visual C++ 6.0 三、设计内容 1. 项目背景

计算机的硬件资源有限,为了提高内存的利用率和系统的吞吐量,就要根据某种算法来管理进程和线程的状态从而达到目的。 进程与线程管理功能完成基于优先级的抢占式线程调度功能,完成进程虚拟内存管理功能。 进程与线程管理功能 基本要求:完成基于优先级的抢占式线程调度功能,完成进程虚拟内存管理功能。 提高要求:(增加1项就予以加分) (1) 实现多种线程调度算法; (2)通过“公共信箱”进行通信的机制,规定每一封信的大小为128字节,实现两个用户进程之间通过这个“公共信箱”进行通信。 (3) 实现多用户进程并发的虚拟内存管理功能。 (4) 实现用户进程间通信功能,并用生产者/消费者问题测试进程间通信功能的正确性。 (5) 实现改进型Clock页面置换算法。 (6) 实现Cache功能,采用FIFO替换算法。 2. 扩展内容 实现多种线程调度算法:时间片轮转调度算法 四、人员分工 优先级调度算法:钟德新,莫友芝 时间片轮转调度算法:张德华,袁马龙 设计报告由小组队员共同完成。小组成员设计的代码分工如下: 钟德新编写的代码:void Prinft(){ PCB *p; system("cls");//清屏 p=run; //运行队列 if(p!=NULL) { p->next=NULL; } cout<<"当前正在运行的进程:"<procname<<"\t\t"<pri<<"\t"<needOftime<<"\t\t"<runtime<<"\t\t"<state<next; } cout<procname<<"\t\t"<pri<<"\t"<needOftime<<"\t\t"<runtime<<"\t\t"<state<next; } cout<

实验——学生用指导书(1-3)软件工程作业

实验一:Visio工具的使用 一、实验目的: 1、了解Microsoft visio环境。 2、掌握数据流图的基本元素; 3、掌握建立数据流图; 4、掌握数据字典的建立。 二、实验准备 1、Visio基本绘图知识 Microsoft Visio 2003为我们提供了强大的绘图功能,使用Visio中提供的图形模板,我们可以轻松绘制数据流图、系统流程、程序流程图、ER图、UML类图、Gantt图等图形,这些图形是我们在软件工程系统分析和设计过程中使用的非常重要的系统描述工具。 利用Visio,我们不仅可以绘制ER图,还可以对一个现有的数据库结构进行反向工程来生成数据库的ER图和具体的表的定义结构。Visio支持包括Microsoft SQL Server、Microsoft Access、Oracle 和 IBM的DB2在内的多种数据库。 2、利用Visio进行绘图的大致步骤可以概括如下: ◆打开模板,添加图形; ◆移动图形或者改变图形的尺寸; ◆添加文本; ◆将图纸中的图形连接到一起; ◆格式化图形; ◆保存制图。 三、实验内容 1、熟悉Visio进行绘图的基本操作 ?绘图环境 ◆打开模板:文件→新建→选择绘图类型 ◆打开模具:文件→形状 ◆文档模具:开始绘图时,Visio创建的特定于该绘图文件的模具。文件→形状→显示 文档模具 ◆(说明:可以通过修改文档模具上的主控形状,修改绘图文件中所有页上形状的所有 实例。用户不能保存文档模具以用于其他绘图。) ?文件操作 ◆新建绘图文件:文件→新建 ◆创建新页:插入→新建页 ?基本绘图工具 ◆直线、弧线、矩形、椭圆、自由曲线

?图形的操作 ①图形的选择 ◆选择手柄:图形角上和边上的小框,用来改变图形的大小。 ②图形的连接 ◆连接点:蓝色的×符号 ◆连接线:可粘附在绘图中的两个图件之间的,用来连接它们的任何一条直线。 ◆连接方式: a.形状到形状连接:单击工具栏上“连接线”按钮,将要连接的形状拖到绘图页上。 或者单击“连接线”放到第一个形状的中心上,出现红色轮廓,再拖到第二个形状上。 b.点到点连接:拖动两个连接点。(右单击连接线可改变属性) ③图形排列 ◆对齐图形:“形状”→“对齐形状” ◆分布图形:“形状”→“分配形状” ?文本操作 ◆文本块:与某个形状相关联的唯一的文本区域称为文本块。 ◆选取文本块:单击“文本工具”旁的下三角按钮,选择“文本块工具”,单击相应的 形状来选取文本块。 ◆创建纯文本图形:单击工具栏中的“文本工具”图标按钮。 2、 Visio绘制组织结构图 ◆[例1]绘制信息学院组织结构图 图1 组织结构图示例 信息学院组织结构图2007-4-21 ◆[步骤] (1)新建文件:文件→新建→组织结构图→组织结构图 (2)添加图件:将“总经理”形状拖到绘图页上,再拖动“经理”形状放到“总经理” 图形上…… 拖动“多个形状”图件到到“经理”图形上 (3)布局排版:单击“组织结构图”工具栏中的:重新布局、水平布局、垂直布局、 调整布局、增大图形间间距(组织结构图→更改间距)、 (4)文字排版:给图形添加文字并进行排版、定义线条颜色

操作系统课程设计报告

东莞理工学院 操作系统课程设计报告 学院:计算机学院 专业班级:13软件工程1班 提交时间:2015/9/14 指导教师评阅意见: . 项目名称:进程与线程管理功能 一、设计目的 用语言来模拟进程和线程管理系统,加深对进程和线程的理解,掌握对进程和线程各种状态和管理的算法原理。 二、环境条件

系统:WindowsXP、VMWare、Ubuntu Linux 语言:C/C++ 开发工具:gcc/g++、Visual C++ 6.0 三、设计内容 1. 项目背景 计算机的硬件资源有限,为了提高内存的利用率和系统的吞吐量,就要根据某种算法来管理进程和线程的状态从而达到目的。 进程与线程管理功能完成基于优先级的抢占式线程调度功能,完成进程虚拟内存管理功能。 进程与线程管理功能 基本要求:完成基于优先级的抢占式线程调度功能,完成进程虚拟内存管理功能。 提高要求:(增加1项就予以加分) (1) 实现多种线程调度算法; (2)通过“公共信箱”进行通信的机制,规定每一封信的大小为128字节,实现两个用户进程之间通过这个“公共信箱”进行通信。 (3) 实现多用户进程并发的虚拟内存管理功能。 (4) 实现用户进程间通信功能,并用生产者/消费者问题测试进程间通信功能的正确性。 (5) 实现改进型Clock页面置换算法。 (6) 实现Cache功能,采用FIFO替换算法。

2. 扩展内容 实现多种线程调度算法:时间片轮转调度算法 四、人员分工 优先级调度算法:钟德新,莫友芝 时间片轮转调度算法:张德华,袁马龙 设计报告由小组队员共同完成。小组成员设计的代码分工如下:钟德新编写的代码:void Prinft(){ PCB *p; system("cls");//清屏 p=run; //运行队列 if(p!=NULL) { p->next=NULL; } cout<<"当前正在运行的进程:"<procname<<"\t\t"<pri<<"\t"<needOftime<<"\t\t"<runtime<<"\t\t"<state<next; } cout<procname<<"\t\t"<pri<<"\t"<needOftime<<"\t\t"<runtime<<"\t\t"<state<next; } cout<procname<<"\t\t"<pri<<"\t"<needOftime<<"\t\t"<runtime<<"\t\t"<state<

(上课)软件工程实验一

实验指导书课程名称软件工程导论 学院信息工程学院 班级 学号 姓名 2018年 2 月 24 日

系统简介:某单位准备开发一个购买办公用品与设备的总务办公管理系统。办公用品的购买申请由各科室提出,由负责总务工作的办公室统一收集。其中,购买申请的金额低于500元(含500元)可以由总务办公室直接审批,而高于500元的购买申请由机构主管领导审批,批准的购买申请形成采购清单由采购员负责购买,同时应记录每次实际购买清单,进行入账。在提出购买申请时要包括下述数据:申请单位、物品名称、物品数量、预计价格、物品用途等。每次购买完成后应记录以下数据:物品名称、物品数量、价格、总金额、购买日期、经办人等。 案例二:火车票预订系统 系统简介:某高校后勤集团为了学生寒暑假返乡,办理代学生预订返乡火车票事务,订票必须提前三天办理,后勤订票处提前三天向火车站办理购票事务。订票处使用一台微机处理订票后购票事务,学生订票一次称为一个事务,由订票员将其输入在微机中,系统核实订单后,将订票信息记录放在订票库中。系统每天打印预订三天的购票单,并更新订票库。 请对以上系统进行业务流程分析后,绘制出该系统的系统流程图。 实验原理: 系统流程图就是描绘物理系统的传统工具。就是用图形符号以黑盒子形式描绘系统里面的每个部件(程序、文件、数据库、表格、人工过程等等)。表达的就是信息在系统各部件之间流动的情况,而不就是对信息进行加工处理的控制过程。 系统业务流程图的符号:

基本符号 系统符号实验过程与结果: 一、操作步骤: 1.运行Microsoft Office Visio 2010

2.选择流程图中的基本流程图模板 3.用鼠标选拉图标进行绘图 二、实验结果:

操作系统(一个小型操作系统的设计与实现)课程设计

南通大学计算机科学与技术学院操作系统课程设计报告 专业: 学生姓名: 学号: 时间:

操作系统模拟算法课程设计报告 设计要求 将本学期三次的实验集成实现: A.处理机管理; B.存储器管理; C.虚拟存储器的缺页调度。 设计流程图 主流程图 开始的图形界面 处理机管理存储器管理缺页调度 先来先服务时 间 片 轮 转 首 次 适 应 法 最 佳 适 应 法 先 进 先 出 L R U 算 法

A.处理机调度 1)先来先服务FCFS N Y 先来先服务算法流程 开始 初始化进程控制块,让进程控制块按进程到达先后顺序让进程排队 调度数组中首个进程,并让数组中的下一位移到首位 计算并打印进程的完成时刻、周转时间、带权周转时间 其中:周转时间 = 完成时间 - 到达时间 带权周转时间=周转时间/服务时间 更改计时器的当前时间,即下一刻进程的开始时间 当前时间=前一进程的完成时间+其服务时间 数组为空 结束

2)时间片轮转法 开始 输入进程总数 指针所指的进程是 否结束 输入各进程信息 输出为就绪状态的进程的信息 更改正在运行的进程的已运行时间 跳过已结束的程序 结束 N 指向下一个进程 Y 如果存在下一个进程的话 Y N 输出此时为就绪状态的进程的信息 时间片轮转算法流程图

B.存储器管理(可变式分区管理) 1)首次适应法 分配流程图 申请xkb内存 由链头找到第一个空闲区 分区大小≥xkb? 大于 分区大小=分区大小-xkb,修改下一个空闲区的后向指针内容为(后向指针)+xkb;修改上一个空闲区的前向指针为(前向指针)+xkb 将该空闲区从链中摘除:修改下一个空闲区的后向地址=该空闲区后向地址,修改上一个空闲区的前向指针为该空闲区的前向指针 等于 小于延链查找下 一个空闲区 到链尾 了? 作业等待 返回是 否 登记已分配表 返回分配给进程的内存首地址 开始

操作系统课程设计报告

操作系统课程设计实验报告 实验名称:进程控制 姓名/学号: 一、实验目的 学习、理解和掌握Linux与windows的进行控制系统调用的功能,熟悉主要的几个系统调用命令的格式和如何利用系统调用命令进行编程。通过学习,理解如何创建一个进程、改变进程执行的程序、进程和线程终止以及父子进程的同步等,从而提高对进程和线程控制系统调用的编程能力。 二、实验内容 设计并实现Unix的“time”命令。“mytime”命令通过命令行参数接受要运行的程序,创建一个独立的进程来运行该程序,并记录程序运行的时间。 三、实验环境 CPU: Inter ×2 2.10GHz RAM: 3.00GB Windows 7 旗舰版 Linux Ubuntu 10.04 编译: VS2010 四、程序设计与实现 4.1进程控制系统的调用 4.1.1 windows进程控制调用程序中使用的数据结构及主要符号说明 SYSTEMTIME starttime,endtime; //进程开始时间和结束时间 PROCESS_INFORMATION pi //该结构返回有关新进程及 //其主线程的信息 STARTUPINFO si //该结构用于指定新进程的主窗口特性4.1.2 linux进程控制调用程序中使用的数据结构及主要符号说明 struct timeval starttime,endtime //进程开始时间和结束时间 pid_t pid //进程标志符

4.2 程序流程图 图1 windows进程控制调用图2 linux进程控制调用程序运行流程图程序运行流程图 五、实验结果和分析 5.1 windows实验结果和分析

计算机操作系统课程设计

计算机操作系统课程设计 班级:计091-1 姓名: 学号: 使用语言:C++ 指导老师: 学院:

一、系统要求 1、实验目的 通过一个简单多用户文件系统的设计,加深理解文件系统的内部功能及内部实现。 2、实验内容 为linux系统设计一个简单的二级文件系统。要求做到以下几点: (1)可以实现下列几条命令(至少4条); login 用户登陆 dir 列文件目录 create 创建文件 delete 删除文件 open 打开文件 close 关闭文件 read 读文件 write 写文件 (2)列目录时要列出文件名、物理地址、保护码和文件长度; (3)源文件可以进行读写保护。

二、系统分析 1、设计思想 本文件为二级文件系统,即要实现对文件的增删改查,同时又具备登陆系统、注册用户的功能,各个用户之间的文件系统互不干扰。 本文件系统采用两级目录,其中第一级对应于用户账号,第二级对应于用户帐号下的文件。另外,为了简便文件系统未考虑文件共享,文件系统安全以及管道文件与设备文件等特殊内容。 系统采用结构体来存储用户、文件目录、文件数据内容: 0 48*5 48*5+44*50 48*5+44*50+264*200 每个分区都是由结构体组成,每个个去的结构体的个数由格式化系统是决定。

整个系统的编码构成主要分为: Allstruct.h 定义了每个分区的结构体; Mysys.h 声明了对系统操作的各种方法;Myuserfile.h 声明了对文件操作的各种方法; Mymain.cpp 整个系统的主函数,操作入口; Mysys.cpp 包含了mysys.h,实现了操作系统的各种方法;Myuserfile.cpp 包含了myuserfile.h,实现了操作文件的各种方法; 2、主要数据结构 Allstruct.h文件的内容: struct s_user //用户区结构体 { long isuse; //是否使用 char name[20]; //用户名 char psd[20]; //密码 long address; //目录地址 };

操作系统课程设计报告模板

中国石油大学(华东)操作系统课程设计报告 姓名: 学号: 成绩: 目录

实验一、螺旋矩阵 (3) 实验二、用Shell程序实现文件的批量管理 (4) 实验三、驱动下的螺旋矩阵程序 (7) 实验四、哲学家进餐问题 (10) 实验五、NCURSE程序框架 (14) 实验一、螺旋矩阵

一、实验任务 用C语言编写一个螺旋矩阵程序,实现输入行数和列数即可形成A~Z的螺旋矩阵,并用Makefile完成编译。 二、实验环境和工具 VMware Workstation红帽子 Linux-2.4.20-8 三、关键代码 1、螺旋矩阵实现代码(SpiralMatrix.c) #include #define N 10 int main() { int row,col,i,j,x,y,startNum; int dx[4]={0,1,0,-1};//方向 int dy[4]={1,0,-1,0}; int Matrix[N][N]; printf("请输入行数和列数:"); scanf("%d %d",&row,&col); for (i=0;i=0&&x=0&&y

软件工程实验指导书汇总

软件工程实验指导书 适用专业:计算机科学与技术 编写人:闻晓、杨阳、范成瑜修改人:黄敏 修改时间:2013年9月1日 计算机与信息科学学院 2010年9月

前言 软件工程实验是为计算机相关专业本科《软件工程》课程配套设置的,是《软件工程》课程讲授中一个重要的、不可或缺的实践环节。其目的是使学生能够针对具体软件工程项目,全面掌握软件工程管理、软件需求分析、软件初步设计、软件详细设计、软件测试等阶段的方法和技术,通过该课程设计使学生进一步理解和掌握软件开发模型、软件生命周期、软件过程等理论在软件项目开发过程中的意义和作用,培养学生按照软件工程的原理、方法、技术、标准和规范,进行软件开发的能力,培养学生的合作意识和团队精神,培养学生对技术文档的编写能力,从而使学生提高软件工程的综合能力,提高软件项目的管理能力。 CDIO代表构思(conceive)、设计(design)、实施(implement)、运行(operate),是由美国麻省理工学院、瑞典皇家工学院、瑞典查尔摩斯工业大学和瑞典林雪平大学共同创立的工程教育改革模式。CDIO改革的愿景是为学生提供一种在实际系统和产品的构思-设计-实施-运行的背景环境下强调工程基础的工程教育,使学生能够掌握深厚的技术基础知识;领导新产品和新系统的开发与运行;理解工程技术的研究与发展对社会的重要性和战略影响。 按该课程的特点,实验内容包括软件开发的两大方法学的专题训练,即结构化(生命周期学)的方法学和面向对象的方法学,通过对一个简单项目,要求学生利用结构化软件开发技术或面向对象的软件开发技术完成对该项 目的开发。因此设置五个实验项目,从项目发的准备工作,系统分析过程,系统设计过程,软件测试到系统实施,覆盖软件开发的整个过程,此外又引入CDIO,以规范技术文档的书写标准,提高实验教学质量。 通过实验训练,达到如下目的: 使学生进一步了解和掌握软件工程原理,提高对实际项目的分析和设计能力,通过实验课程,熟悉和基本掌握软件工程方法学、软件开发的过程,文档资料的编写格式及规范,全面领会和贯通所学习的理论知识,从而培养学生综合运用所学课程知识,分析解决问题的能力,

相关主题