计算机08操作系统课程设计题目与任务分配
操作系统课程设计任务书
操作系统课程设计任务书操作系统课程设计任务书一、设计目的:本课程设计是学生学习完《计算机操作系统》课程后,进行的一次全面的综合训练,通过课程设计,让学生更好地掌握操作系统的原理及实现方法,加深对操作系统基础理论和重要算法的理解,加强学生的动手能力。
二、设计要求:从课程设计的目的出发,通过设计工作的各个环节,达到以下教学要求:1、鼓励并优先个人独立选题设计,可从下面设计题目中选择,也可以自拟相关题目;如要合作,每组最多两名同学,且设计文档不能相同;2、题目选定后报给班长,班长要注意班级内题目的平衡,根据所选题目进行协调,不要都选一样的题。
3、设计完成后由老师进行统一答辩,答辩时不能对自己提供的设计进行讲解的同学,视为抄袭;4、要求每位同学写出一份详细的课程设计报告(A4纸),同组者程序相同,但报告要自己独立完成。
5、最后每位同学要将自己的设计报告和电子文档(包括报告和源程序)交给学习委员,并由学习委员统一刻盘后上交。
三、设计内容:课题一、编制银行家算法通用程序,在实现资源分配时,能够有效地避免死锁的产生。
课题二、处理机调度算法设计目的:在多道程序和多任务系统中,系统内同时处于就绪状态的进程可能有若干个。
也就是说能运行的进程数大于处理机个数。
为了使系统中的进程能有条不紊地工作,必须选用某种调度策略,选择一进程占用处理机。
要求学生设计一个模拟处理机调度算法,以巩固和加深处理机调度的概念。
设计要求:1.进程调度算法包括:先来先服务算法、时间片轮转法,短作业优先算法,动态优先级算法2.可选择进程数量,每个进程由一个进程控制块PCB来标识。
3.根据个人能力可实现其中的两种以上调度算法。
课题三、用多进程同步方法解决生产者-消费者问题设计要求:(1)每个生产者和消费者对有界缓冲区进行操作后,即时显示有界缓冲区的全部内容,当前指针位置和生产者/消费者线程的标识符.(2)生产者和消费者各有两个以上.(3)多个生产者或多个消费者之间须有共享对缓冲区进行操作的函数代码.提示:(1) 有界缓冲区可用数组实现.课题四、设计一个虚拟存储区和内存工作区,编程序演示下述算法的具体实现过程,并计算访问命中率:要求设计主界面以灵活选择某算法,且以下算法都要实现1、先进先出算法(FIFO)2、最近最久未使用算法(LRU)3、最佳置换算法(OPT)课题五、编程序实现下述磁盘调度算法,并求出每种算法的平均寻道长度:要求设计主界面以灵活选择某算法,且以下算法都要实现1、先来先服务算法(FCFS)2、最短寻道时间优先算法(SSTF)3、扫描算法(SCAN)4、循环扫描算法(CSCAN)课题六、编程模拟多进程共享临界资源:要求产生3个进程:1、两个进程模拟需要进入临界区的用户进程,当需要进入临界区时,显示:“进程x请求进入临界区…”,同时向管理进程提出申请;申请返回,表示进入了临界区。
操作系统课程设计题目和要求
操作系统课程设计一、课程设计目的通过课程设计,加深学生对教材中的重要算法的理解,同时通过用C语言编程实现这些算法,并在LINUX或Windows平台上实现,让学生更好地掌握操作系统的原理及实现方法,提高学生综合运用各专业课知识的能力。
二、课程设计内容课题1 进程调度算法的模拟1.用语言来实现对n个进程采用不同调度算法的进程调度。
2.每个用来标识进程的进程控制块PCB用结构来描述,包括以下字段:(1)进程优先数ID,其中0为闲逛进程,用户进程的标识数为1,2,3…。
(2)进程优先级Priority,闲逛进程(idle)的优先级为0,用户进程的优先级大于0,且随机产生,优先数越大,优先级越高。
(3)进程占用的CPU时间CPUtime,进程每运行一次,累计值等于4。
(4)进程总共需要运行时间Alltime,利用随机函数产生。
(5)进程状态,0:就绪态;1:运行态;2:阻塞态。
(6)队列指针next,用来将多个进程控制块PCB链接为队列。
3.优先数改变的原则(1)进程在就绪队列中每呆一个时间片,优先数增加1。
(2)进程每运行一个时间片,优先数减3。
4.在调度前,系统中拥有的进程数PCB_number由键盘输入,经初始化后,所有的进程控制块PCB链接成就绪队列。
以下两题任选一题课题2.1 系统动态分配资源的模拟编程序模拟银行家算法,要求能体现算法的全过程课题2.2 进程同步模拟编写程序模拟实现五哲学家就餐问题。
以下两题任选一题课题3.1 设计一个虚拟存储区和内存工作区,编程序演示下述算法的具体实现过程,并计算访问命中率:1、先进先出的算法(FIFO)2、最近最少使用算法(LRU)3、最佳淘汰算法(OPT)4、最不经常使用算法(LFU)课题3.2 内存管理模拟使用Windows 2000/XP 的API 函数,编写一个包含两个线程的进程,一个线程用于模拟内存分配活动,一个线程用于跟踪第一个线程的内存行为,而且要求两个线程之间通过信号量实现同步。
window2008课程设计
window 2008 课程设计一、教学目标本课程的教学目标是使学生掌握Windows 2008操作系统的基本原理和操作方法,培养学生具备独立操作计算机的能力,提高学生在实际工作中运用信息技术解决问题的能力。
具体目标如下:1.知识目标:(1)了解Windows 2008操作系统的特点和界面布局。
(2)掌握Windows 2008的基本操作,如文件管理、系统设置、网络配置等。
(3)熟悉Windows 2008的常用软件和应用程序,如Word、Excel、PowerPoint等。
2.技能目标:(1)能够熟练使用Windows 2008操作系统进行日常办公和娱乐活动。
(2)具备基本的系统维护和故障排除能力。
(3)能够运用Windows 2008进行网络通信和信息共享。
3.情感态度价值观目标:(1)培养学生对信息技术的兴趣和好奇心,提高学生的自主学习能力。
(2)培养学生遵守网络道德和法律法规,增强学生的信息安全意识。
(3)通过实际操作,让学生感受到信息技术在生活中的重要作用,培养学生的责任感和使命感。
二、教学内容本课程的教学内容主要包括以下几个方面:1.Windows 2008操作系统概述:介绍Windows 2008的特点、界面布局和基本操作。
2.文件和文件夹管理:讲解如何创建、复制、移动、删除文件和文件夹,以及如何进行文件搜索和压缩。
3.系统设置和网络配置:介绍如何设置系统环境、修改显示和声音设置,以及如何配置网络和进行网络通信。
4.常用软件和应用程序:讲解如何使用Word、Excel、PowerPoint等办公软件进行文档编辑、数据处理和演示制作。
5.系统维护和故障排除:介绍如何进行系统清理、病毒防护、故障排查和修复。
6.网络道德和信息安全:讲解网络道德规范、信息安全法律法规以及个人防护措施。
三、教学方法本课程采用多种教学方法相结合的方式,以激发学生的学习兴趣和主动性:1.讲授法:讲解基本概念、原理和方法,使学生掌握必要的理论知识。
操作系统课设任务
1.每个学生从以下给定题目中选做至少一项,也可以针对操作系统课程实验已完成的题目进行扩充完善;
2.设计周周末向各班学习委员交源程序、设计报告的电子版和打印版;
3. 编程工具不限
二、操作系统课程设计题目:(在以下题目中任选一个题目进行设计)
1.进程同步问题(信号量机制)(任选其一)
1)生产者消费者问题
2)哲学家进餐问题
3)读者-写者问题
4)吃水果问题
5)售票员售票问题
2. 进程(作业)调度算法(任选其中三种算法)
1)先来先服务算法
2)短进程(作业)优先算法
3)优先数优先算法
4)最高响应比优先算法
5)时间片轮转调度算法
3. 实时调度算法
1)最早截止时间优先
2)最低松弛度优选
4. 银行家算法(死锁避免)
5. 动态分区分配算法(连续存储器管理方式)
首次适应算法、循环首次适应算法、最佳适应算法、最差适应算法
6. 页面置换算法
最佳置换算法OPT、先进先出算法FIFO、最近最久未使用算法LRU
7. 磁盘调度算法
先来先服务算法、最短寻道时间优先算法、扫描算法(电梯调度算法)
8. 缓冲池管理
封皮
指导教师评语
第一部分:需求分析(课题描述、课题目的、理论依据)
第二部分:概要设计(设计方法、技术、运行环境等)
第三部分:详细设计(流程图、程序主要代码)
第四部分:运行结果及分析(运行结果(可以截图)、结果详细分析)第五部分:总结和心得
参考文献:
附录:程序源代码
注:程序详细代码附在电子版中即可,打印版可不打印。
课程设计时间:2018年1月1日——2018年1月5日。
操作系统精髓与设计原理第八版课程设计
操作系统精髓与设计原理第八版课程设计背景操作系统是计算机科学中的核心领域,其作为系统软件,承担着管理硬件资源和提供高效服务的工作,是计算机系统中至关重要的部分。
操作系统的发展历程相当漫长,经过了多个版本和迭代,不断加入新的功能和技术,才能适应现代计算机的需求。
目的本次课程设计旨在通过学习操作系统精髓与设计原理第八版这本经典教材,深入了解操作系统的核心思想、设计原理和实现方法,掌握操作系统的实现技术,并通过实践操作系统内核的设计和实现,提高学生的操作系统设计和实现能力。
同时,通过本次课程的学习,可以很好的帮助学生理解其他系统软件和计算机领域中的相关知识。
内容课程大纲1.操作系统简介2.进程和线程3.内存管理4.文件系统5.设备管理和驱动程序6.操作系统安全和保护7.操作系统性能和优化8.操作系统的未来课程要求和评估方式1.每周阅读指定章节并提交阅读报告;2.完成多个实践项目,包括进程调度、内存管理、文件系统等模块的设计和实现; 3.参与小组讨论和课堂演示,并提交课堂小结和总结; 4.期末考试,重点测试学生对操作系统的理解和实现能力。
实践项目1.实现一个简单的操作系统内核;2.实现进程调度算法,如FCFS、RR等;3.实现一个简单的内存管理器,如按需分配、固定大小分配等;4.实现一个简单的文件系统,如FAT32、Ext2等;5.编写设备驱动程序,如键盘驱动、磁盘驱动等。
难点和解决方案1.操作系统内核的实现:需要深入了解操作系统的体系结构和内核实现技术,可以参考已有的一些简单的内核实现和设计原理,如minix、linux的内核实现等。
2.进程调度算法的设计和实现:可以参考已有的一些经典算法和文献,如进程优先级调度、时间片轮转调度等。
3.内存管理器的设计和实现:需要掌握内存管理的基本原理和技术,如虚拟内存、内存页面置换等。
4.文件系统的设计和实现:需要深入了解文件系统的基本原理和技术,如文件存储结构、文件索引表等。
操作系统课程设计任务书
操作系统课程设计任务书一、课程设计目的操作系统课程设计是操作系统课程的重要实践教学环节,其目的在于:1、加深学生对操作系统原理的理解,使学生能够将理论知识与实际应用相结合。
2、培养学生的系统设计和开发能力,提高学生解决实际问题的能力。
3、增强学生的团队合作意识和沟通能力,培养学生的创新思维和实践能力。
二、课程设计要求1、学生应独立完成课程设计任务,不得抄袭他人成果。
2、课程设计应符合操作系统的基本原理和规范,具有一定的实用性和创新性。
3、学生应按照规定的格式撰写课程设计报告,报告内容应包括需求分析、设计方案、实现过程、测试结果和总结等部分。
三、课程设计题目题目 1:进程管理模拟系统设计一个模拟进程管理的系统,包括进程的创建、撤销、阻塞、唤醒、调度等功能。
要求使用合适的数据结构和算法来实现进程的状态转换和调度策略,并能够模拟多个进程的并发执行。
题目 2:内存管理模拟系统设计一个模拟内存管理的系统,包括内存的分配、回收、页面置换等功能。
要求使用合适的内存分配算法和页面置换算法,并能够模拟内存的使用情况和页面的换入换出过程。
题目 3:文件系统模拟系统设计一个模拟文件系统的系统,包括文件的创建、删除、打开、关闭、读写等功能。
要求使用合适的数据结构和算法来实现文件的存储和管理,并能够模拟文件的操作过程和文件系统的目录结构。
四、课程设计步骤1、需求分析仔细分析题目要求,明确系统的功能和性能需求。
确定系统的输入和输出,以及系统与用户的交互方式。
2、总体设计设计系统的总体架构,包括模块划分和模块之间的接口。
选择合适的数据结构和算法来实现系统的功能。
3、详细设计对每个模块进行详细设计,包括函数的定义、参数的说明和算法的实现步骤。
绘制程序流程图和模块结构图,以帮助理解程序的逻辑结构。
4、编码实现使用选定的编程语言实现系统的功能。
遵循良好的编程规范,保证代码的可读性和可维护性。
5、测试与调试设计测试用例,对系统进行全面的测试。
计算机08操作系统课程设计题目与任务分配
上海海事大学计算机08操作系统课程设计一、课程设计的基本要求课程设计是在有限的时间内实现模拟操作系统的部分功能,为使课程设计能够有效实施,并取得一定效果,把设计的重点放在操作系统核心内容的模拟上。
基本要求如下:1.详细描述整个系统设计的总体框架和设计思想,并给出系统的主要模块以及模块间关系。
2.详细描述整个系统所使用的全局数据结构,包括结构名称、作用和各个字段的含义。
3.给出所有模块的详细的设计说明,并画出流程图。
4.源代码格式规范,并给出注释,以标明函数和数据结构的功能。
5.系统完成后,提交完整的程序代码、课程设计报告及相关文档,并适当说明设计中遇到的问题及心得体会。
6.课程设计使用的开发工具不限,但程序必须是WINDOWS图形界面。
二、课程设计的题目1、进程调度模拟程序设计要求:编写一个进程调度程序,模拟实现进程的创建、运行、阻塞、完成等进程控制,允许多个进程并行的进程调度程序。
a. 系统能够真实模拟多任务操作系统中进程生命周期中的相关活动,主要功能涉及进程管理和进程调度。
b. 进程状态:每个进程的状态可以是就绪 W(Wait)、运行R(Run)、阻塞B(Blocked)或完成F(Finish)四种状态之一。
c. 每个进程相关的数据结构有:进程控制块(PCB)和进程生命周期数据。
♦进程控制块(PCB):至少应该包含如下信息:进程名、优先级、创建时间、需要运行时间、已使用CPU时间、进程状态、进程生命周期数据、队列链表等等。
♦进程生命周期数据:即CPU-I/O时间序列,它是进程调度、进入不同队列的依据。
如序列:10秒(CPU),500秒(I/O),20秒(CPU),100秒(I/O),30秒(CPU),90秒(I/O),110秒(CPU),60秒(I/O)……等,要求序列有一定长度,在进程创建时随机生成,作为进程PCB结构的一个数据项。
d. 系统管理的数据结构♦系统PCB结构数组;♦系统就绪队列、完成队列和阻塞队列;♦系统参数:时钟(可以调节速度,以利于观看系统运行)、时间片大小;e. 系统运行时的显示信息时钟以时间片为单位计数,系统每次有进程发生状态改变时都给出改变进程的显著提示信息,系统在运行完每个时间片后都要显示所有队列和相关进程的状态(基本是FCB的值,格式如下仅供参考),以便掌握系统的运行情况。
计算机操作系统课程设计——windows server 2008系统
本课程将带领我学习windows server 2008系统管理和维护的相关技能,包括安装和配置windows server 2008,创建和管理windows server 2008域,配置文件和打印服务器,进行磁盘管理、系统维护和服务器监控等。
通过本课程的学习,我将具备windows server 2008系统的基本配置和维护能力,满足小型企业windows网络部署和维护的要求。
1组装计算机操作系统................................................................................................................................. - 1 -1.1实验环境......................................................................................................................................... - 1 -1.2需求描述......................................................................................................................................... - 1 -1.3实验步骤......................................................................................................................................... - 1 -1.3.1按照需求安装计算机硬件................................................................................................. - 1 -1.3.2安装虚拟机......................................................................................................................... - 1 -1.3.3安装操作系统..................................................................................................................... - 1 - 2安装Windows Server 2008 企业版 .......................................................................................................... - 2 -2.1试验环境......................................................................................................................................... - 2 -2.2需求描述......................................................................................................................................... - 2 -2.3实验步骤......................................................................................................................................... - 2 -2.3.1 创建Windows Server 2008虚拟机 ................................................................................ - 2 -2.3.2设置计算机从关盘启动..................................................................................................... - 3 -2.3.3 安装过程中选择安装版本,设置安装位置,管理员密码等 ........................................ - 3 - 3应用ALP规则 ........................................................................................................................................... - 4 -3.1实验环境......................................................................................................................................... - 4 -3.2需求描述......................................................................................................................................... - 4 -3.3实验步骤......................................................................................................................................... - 4 -3.3.1将计算机加入工作组......................................................................................................... - 4 -3.3.2创建本地用户账户............................................................................................................. - 4 -3.3.3创建本地组......................................................................................................................... - 4 -3.3.5创建共享文件夹并设置权限............................................................................................. - 5 -3.3.6使用本地用户账户通过网络访问共享文件夹 ................................................................. - 5 -4 NTFS权限设置.......................................................................................................................................... - 6 -4.1实验环境......................................................................................................................................... - 6 -4.2需求描述......................................................................................................................................... - 6 -4.3实验步骤......................................................................................................................................... - 6 -4.3.1以用户账户usera在服务器上创建文件夹doc并设置NTFS权限 ............................... - 6 -4.3.2管理员administrator取得doc文件夹的所有权 ......................................................... - 6 - 5配置文件服务器......................................................................................................................................... - 7 -5.1实验环境......................................................................................................................................... - 7 -5.2需求描述......................................................................................................................................... - 7 -5.3实验步骤......................................................................................................................................... - 7 -5.3.1准备服务器及客户端......................................................................................................... - 7 -5.3.2创建并配置共享文件夹software.................................................................................... - 7 -5.3.3创建并共享文件夹product.............................................................................................. - 7 -5.3.4创建并配置共享文件夹finance...................................................................................... - 7 -5.3.5在客户端访问共享文件夹................................................................................................. - 8 - 6账户策略的应用......................................................................................................................................... - 9 -6.1实验环境......................................................................................................................................... - 9 -6.2需求描述......................................................................................................................................... - 9 -6.3实验步骤......................................................................................................................................... - 9 -6.3.1准备测试服务器................................................................................................................. - 9 -6.3.2设置本地安全策略中的账户策略..................................................................................... - 9 -6.3.3验证密码策略的配置结果................................................................................................. - 9 -6.3.4验证账户锁定策略的配置结果....................................................................................... - 10 -6.3.5对帐户usera解锁........................................................................................................... - 10 - 7安装活动目录........................................................................................................................................... - 11 -7.1实验环境....................................................................................................................................... - 11 -7.2需求描述....................................................................................................................................... - 11 -7.3实验步骤....................................................................................................................................... - 11 -7.3.1检查计算机DCX是否满足条件....................................................................................... - 11 -7.3.2安装活动目录................................................................................................................... - 11 -7.3.3将计算机加入域............................................................................................................... - 12 -7.3.4创建用户账户stuy并在客户机上登陆域 ..................................................................... - 12 - 8组策略的简单应用................................................................................................................................... - 13 -8.1实验环境....................................................................................................................................... - 13 -8.2需求描述....................................................................................................................................... - 13 -8.3实验步骤....................................................................................................................................... - 13 -8.3.1准备域控制器及客户机................................................................................................... - 13 -8.3.2在域中创建组策略对象并对其惊醒配置 ....................................................................... - 13 -8.3.3验证试验结果................................................................................................................... - 13 - 9简单卷的创建和扩展............................................................................................................................... - 14 -9.1实验环境....................................................................................................................................... - 14 -9.2需求描述....................................................................................................................................... - 14 -9.3实验步骤....................................................................................................................................... - 14 -9.3.1添加磁盘并初始化........................................................................................................... - 14 -9.3.2升级动态磁盘................................................................................................................... - 14 -9.3.3创建简单卷....................................................................................................................... - 14 -9.3.4扩展简单卷....................................................................................................................... - 15 - 10备份和还原域控制器的系统状态......................................................................................................... - 16 -10.1试验环境..................................................................................................................................... - 16 -10.2需求描述..................................................................................................................................... - 16 -10.3实验步骤..................................................................................................................................... - 16 -10.3.1准备环境......................................................................................................................... - 16 -10.3.2备份系统状态数据......................................................................................................... - 16 -10.3.3删除域用户账户usera.................................................................................................. - 16 -10.3.4还原系统状态数据......................................................................................................... - 16 -10.3.5验证还原效果................................................................................................................. - 16 - 11配置性能技术器警报............................................................................................................................. - 17 -11.1实验环境..................................................................................................................................... - 17 -11.2需求描述..................................................................................................................................... - 17 -11.3实验步骤..................................................................................................................................... - 17 -11.3.1使用可靠性和性能监视器新建性能计数器警报 ......................................................... - 17 -11.3.2使用事件查看器查看事件日志..................................................................................... - 17 - 实习心得...................................................................................................................................................... - 18 -1组装计算机操作系统1.1实验环境公司因无发展的需要,购置了一批计算机,出于成本的考虑,要求管理员购买配件进行组装,用于今后公司员工的办公。
08级操作系统课程设计报告书
题目1 进程调度算法的模拟1.1 题目的主要研究内容及预期达到的目标(1)编程序模拟实现进程调度算法中的FCFS、SJF和高响应比优先算法。
(2)基本完成了模拟实现FCFS、SJF 和HRN调度算法。
1.2 题目研究的工作基础或实验条件(1)硬件环境:windows系统(2)软件环境:Visual C++1.3 设计思想(1)FCFS:将系统中所有的就绪进程按照FCFS原则,排成一个队列。
每次调度时将CPU分派给队首进程,让其执行一个时间片。
时间片的长度从几个ms到几百ms。
在一个时间片结束时,发生时钟中断。
调度程序据此暂停当前进程的执行,将其送到就绪队列的末尾,并通过上下文切换执行当前的队首进程。
进程可以未使用完一个时间片,就出让CPU(如阻塞)。
(2)SJF:对预计执行时间短的作业(进程)优先分派处理机。
通常后来的短作业不抢先正在执行的作业。
(3)HRN:HRN调度策略同时考虑每个作业的等待时间长短和估计需要的执行时间长短,从中选出响应比最高的作业投入执行。
响应比R定义如下: R =(W+T)/T = 1+W/T其中T为该作业估计需要的执行时间,W为作业在后备状态队列中的等待时间。
1.4 流程图1.5 主要程序代码#include<iostream.h>#include<stdio.h>#include<stdlib.h>#define N 100typedef struct JCB{int ID; /*作业标识数*/int requesttime; /*作业运行所需时间*/int runtime; /*作业实际运行所需时间*/int priority; /*作业优先数*/int quick; /*作业紧迫程度*/}JCB;JCB jcb[N];int jcbnum; /*后备作业数*/void init(); /*赋值函数*/void FCFS(); /*定义FCFS函数*/void SJF();/*定义SJF函数*/void HRN();/*定义HRN函数*/void main() /*main函数*/{int i=0;init();cout<<"=============================="<<endl;cout<<"| 1:FCFS 2:SJF |"<<endl;cout<<"| 3:HRN |"<<endl;cout<<"=============================="<<endl;while(i<=0||i>=5) /*while循环选择算法*/{cout<<"Please select a number(1,2,3,4):"<<endl;cin>>i;}switch(i) /*switch语句选择执行函数*/{case 1:FCFS();break;case 2:SJF();break;case 3:HRN();break;}}void init() /*对定义的变量进行赋值的函数*/{int i=0;while(i<=0||i>=2000){cout<<"Input the JCB number:(1--2000)"<<endl;cin>>i;}jcbnum=i;for(i=0;i<jcbnum;i++) /*for循环赋值语句*/{jcb[i].ID=i+1;jcb[i].priority=rand()%100+1;jcb[i].quick=rand()%5+1;jcb[i].requesttime=rand()%1000+1;}}void FCFS()/*FCFS函数*/{int i;int w=0,t=0;int Waittime=0;/*给waitime赋值*/cout<<"This is frist come fist server:"<<endl;for(i=0;i<jcbnum;i++)/*for循环语句*/{cout<<"The NO."<<jcb[i].ID<<"JCB enter Memory."<<endl; Waittime+=jcb[i].requesttime;w=(Waittime-t)/(jcb[i].requesttime);cout<<"带权周转时间为:"<<w<<endl;t++;}}void SJF()/*SJF函数*/{int i,j,dest ,Waittime,w,t=0;/*定义的变量*/cout<<"This is shortest job first:"<<endl;while(jcbnum>0){dest=0;for(i=0;i<jcbnum;i++)/*for循环语句*/if(jcb[dest].requesttime>jcb[i].requesttime)/*条件语句*/dest=i;cout<<"The NO."<<jcb[dest].ID<<"JCB enter Mermory"<<endl;Waittime+=jcb[dest].requesttime;w=(Waittime-t)/(jcb[dest].requesttime);cout<<"带权周转时间为:"<<w<<endl;t++;for(j=dest;j<jcbnum-1;j++)/*用for语句进行赋值*/{jcb[j].ID=jcb[j+1].ID;jcb[j].requesttime=jcb[j+1].requesttime;}jcbnum--;}}void HRN()/*HRN函数*/{int i,j,dest;/*定义的变量*/int waittime=0;/*给waitime赋值*/cout<<"This is Highest responseratio first"<<endl;while(jcbnum>0){dest=0;for(i=0;i<jcbnum;i++)/*for循环语句*/if(waittime/(jcb[dest].requesttime)>(waittime/(jcb[i].requesttime)))/*条件语句*/ dest=i;cout<<"The NO."<<jcb[dest].ID<<"JCB enter Memory."<<endl;waittime+=jcb[dest].requesttime;/*给waittime赋新值*/for(j=dest;j<jcbnum-1;j++)/*用for语句进行赋值*/{jcb[j].ID=jcb[j+1].ID;jcb[j].requesttime=jcb[j+1].requesttime;}jcbnum--;}}1.6 运行结果及分析(1)FCFS算法运行结果(2)SJF算法运行结果:(3)HRN算法运行结果1.7 心得体会整个设计中最麻烦的就是程序模块的划分和各模块之间接口设计,编程经常犯想当然的错误,出现了不少奇怪的错误。
操作系统课程设计题目详细说明
说明:本课程设计题目共28个,原则上一人一题。
如果题目未加说明,则必须一人一题。
题目1:动态分区分配方式的模拟11设计目的了解动态分区分配中使用的数据结构和分配算法,并进一步加深对动态分区存储管理方式及其实现过程的理解。
2设计内容1)用C语言实现采用首次适应算法的动态分区分配过程alloc()和回收过程free()。
其中,空闲分区通过空闲分区链表来管理,在进行内存分配时,系统优先使用空闲区低端的空间。
2)假设初始状态如下,可用的内存空间为640KB,并有下列的请求序列;作业1申请130KB作业2申请60KB作业3申请100KB作业2释放60KB作业4申请200 KB作业3释放100 KB作业1释放130 KB作业5申请140 KB作业6申请60 KB作业7申请50KB作业6释放60 KB请采用首次适应算法进行内存块的分配和回收,同时显示内存块分配和回收后空闲内存分区链的情况。
3 思考1)采用首次适应算法和最优置换算法,对内存的分配和回收速度会造成什么不同的影响?2)如何解决因碎片而造成内存分配速度降低的问题?3设计目的了解动态分区分配中使用的数据结构和分配算法,并进一步加深对动态分区存储管理方式及其实现过程的理解。
4设计内容1)用C语言实现采用循环首次适应算法的动态分区分配过程alloc()和回收过程free()。
其中,空闲分区通过空闲分区链表来管理,在进行内存分配时,系统优先使用空闲区低端的空间。
2)假设初始状态如下,可用的内存空间为640KB,并有下列的请求序列;作业1申请130KB作业2申请60KB作业3申请100KB作业2释放60KB作业4申请200 KB作业3释放100 KB作业1释放130 KB作业5申请140 KB作业6申请60 KB作业7申请50KB作业6释放60 KB请采用循环首次适应算法进行内存块的分配和回收,同时显示内存块分配和回收后空闲内存分区链的情况。
3 思考1)采用循环首次适应算法和最优置换算法,对内存的分配和回收速度会造成什么不同的影响?2)如何解决因碎片而造成内存分配速度降低的问题?1设计目的了解动态分区分配中使用的数据结构和分配算法,并进一步加深对动态分区存储管理方式及其实现过程的理解。
系统软件课设题目分配(软件0801-0806)
系统软件课设题目分配(软件0801-0806)系统软件实践课程设计要求--Linux环境下C语言程序设计软件0801-0806下面有五个部分组成,每个部分内容不一样。
每一题后面红字部分表示的是这道题的难度系数。
每个同学从下面五个部分中自己挑选题目来做,可选择两到四道。
要求所选择的两到四题不能同属于同一部分,也就是说如果是三道题,那么这三道题分别是属于三部分的。
并且保证所选题目的难度系数之和不能小于4。
注意:所有同学所选择的题目不能完全一样。
自己独立完成,如发现抄袭现象,随机只记一个人分数(无论你是抄别人的还是被炒的)。
选完题目后每个班由班长或者学委统计每个同学所选择的题目后,0801-0803班发到邮箱:liupeixian989@/doc/1514785586.html,,0804-0806班发到邮箱:marui05@/doc/1514785586.html,。
如选择的是第一部分的第1题、第二部分的第7题、和第四部分的第9题。
可写成一(1)、二(7)和四(9),难度系数之和4。
第一部分makefile文件1、设计一个程序,要求计算学生的总成绩和平均成绩,并用make工程管理器编译。
(程序有主函数main和自定义函数fun_sum和fun_avg,再把函数声明都分割成独立的头文件,可将此程序分割成下列4个文件。
)编写makefile文件。
(难度系数:1)2、设计一个程序,程序运行时从三道题目中随机抽取一道,题目存放在二维数组中。
并用make工程管理器编译。
(注意分割文件,可参考第一题的提示。
)编写makefile文件。
(难度系数:1)3、有一个已经从小到大排列好的数组,先输入一个数,要求按照原来的规律将它插入到数组中。
并用make工程管理器编译。
(注意分割文件,可参考第一题的提示。
)编写makefile 文件。
(难度系数:1)4、编写程序,输入一个十进制整数,将其变换为二进制后存储在一个数组中。
操作系统课程设计题目【可修改文字】
可编辑修改精选全文完整版操作系统课程设计题目与要求一、课程设计要求:1.根据每道题的人数选定题目。
2.分析设计要求,给出解决方案,建立必要的数据结构,然后设计总体流程(包括界面)、详细设计必要的算法,并最终显示结果。
基于WINDOWS或LINUX操作系统都可以,用何种编程语言都有可以。
3.提交设计报告,包括设计要求、设计思想流程、设计所涉及的主要数据结构、程序清单、运行结果、设计心得、参考资料等。
4.严禁抄袭,复制设计内容,查出后相关同学设计成绩以零分处理。
5.所提交源程序应是能够运行通过的完整程序。
6.课程设计参考评分标准:设计思想说明(10分)。
数据结构的说明(6分)。
各模块的算法流程图(10分)。
程序清单:注意加注释(包含关键字、方法、变量等),在每个模块前加注释;(共70分,其中书面源程序占35分,实验的检查结果、程序的运行情况占35分)。
体会,总结(4分)。
二、设计题目1.Windows多线程控制台程序(2人)目的:学习和掌握如何编写Windows多线程控制台程序。
通过编写程序,加深对进程和线程关系的理解,掌握多线程程序的执行和编写技巧。
设计要求:写一个单进程多线程的Windows控制台程序,该程序在一个进程内建立N个线程来执行指定的任务。
N由命令行传递给系统。
Win32控制台程序中,主函数的格式如:Void main(int argc,char *argv[]),可以获取命令行参数。
通过VC++“工程/设置”的C/C++属性页设置应用程序为“MTD”多线程。
利用win32 API CreateThread()来生成线程。
2.睡眠理发师问题(2人)目的:了解信号量机制,了解并掌握进程同步和互斥机制,熟悉信号量的操作函数,利用信号量实现对共享资源的控制。
设计要求:(1)编写程序实现理发师与顾客进程的同步。
问题描述:这是一种经典的IPC问题,理发店有一位理发师,一把理发椅和n把用来等候理发的椅子。
08级计算机课设
08级计算机专业课程设计题目一、多功能流水灯1、功能要求设计一个彩灯流水控制电路,其主要部分实现定时功能,即在预定的时间到来时,如何产生一个控制信号控制彩灯的流向、间歇等,可通过利用中规模集成电路中可逆计数器和译码器来实现正、逆流水功能,利用组合电路实现自控、手控、流向控制等功能。
2、设计原理及方案:见脉冲与数字电路实验指导书。
二、汽车尾灯控制电路1、功能要求假设汽车尾部左右两侧各有三个指示灯(用发光二极管模拟),要求是:汽车正常运行时指示灯全灭;右转弯时,右侧3个指示灯按右循环顺序点亮;左转弯时左侧三个指示灯按左循环顺序点亮;临时刹车时所有指示灯同时闪烁。
2、设计原理及方案:见脉冲与数字电路实验指导书。
三、多路抢答器1、基本要求:利用数字电路设计一多路抢答器,要求允许多路参加,并具有锁定功能,用LED实现最先抢答的队号码,系统设置外部清除键,按动清除键,LED显示器自动清零灭灯。
2、设计原理及方案:见脉冲与数字电路实验指导书。
四、篮球竞赛30S计时器1、基本要求1)具有显示30S计时功能2)设置外部操作开关,控制计数器的直接清零,启动和暂停/连续功能3)在直接清零时,要求数码显示器灭灯4)计时器为30S递减计时,计时间隔为1S5)计时器递减计时到零时,数码显示器不能灭灯,同时发出光电报警信号〖主要参考元器〗:NE555(1),74ls161(1),74LSl92(2)五、电子节拍器1、基本要求要求本节拍器具有声光显示功能:设有2/4,3/4,4/4三档节拍转换开关,音响有强弱之分。
节拍速度连续可调。
2、参考原理框图〖主要参考元器件〗555:CD4017,8050,LM386六、LED猜盘游戏1、基本要求:系统有10个(或18个)LED组成轮盘,开始前,先猜测某个LED,然后按下按钮,LED高速旋转,速度逐渐减缓,最后停下已猜中未赢。
2、参考原理:系统由电压控制器(包括自激振荡器+2分频电路)、触发器、加\减控制、分频器组成。
《计算机操作系统》课程设计
计算机操作系统课程设计1. 引言计算机操作系统是计算机科学与技术专业中一门重要的课程,它介绍了操作系统的基本概念、原理和设计方法,培养学生对计算机操作系统的理解和应用能力。
本文将介绍《计算机操作系统》课程设计的目标、内容和方法,并提供一些实用的学习资源和建议。
2. 课程设计目标《计算机操作系统》课程设计的主要目标是通过实践,帮助学生加深对操作系统概念和原理的理解,培养学生编写和调试操作系统的能力,提高解决实际问题的能力。
具体目标如下:- 理解操作系统的基本概念和原理; - 掌握操作系统的设计与实现方法; - 学会使用工具和技术进行操作系统的调试和测试;- 培养团队合作和解决问题的能力。
3. 课程设计内容《计算机操作系统》课程设计的内容包括以下几个方面:1. 进程管理:学生需要设计和实现一个简单的进程管理系统,包括进程的创建、调度和终止等功能,并实现进程间的通信和同步。
2. 文件系统:学生需要设计和实现一个简单的文件系统,包括文件的存储和管理、文件的读写等功能,并实现文件的保护和共享。
3. 内存管理:学生需要设计和实现一个简单的内存管理系统,包括内存的分配和释放、页面置换等功能,并实现进程的虚拟内存。
4. 设备管理:学生需要设计和实现一个简单的设备管理系统,包括设备的分配和释放、设备的控制和调度等功能,并实现设备的并发和互斥。
4. 课程设计方法《计算机操作系统》课程设计采用项目驱动的方法,学生将组成小组,每个小组负责完成一个操作系统的设计和实现。
具体方法如下: 1. 项目选择:学生可以自由选择他们感兴趣的项目,也可以从老师提供的项目中选择。
2. 项目计划:学生需要制定项目计划,包括项目的目标、任务和时间安排等。
3. 项目开发:学生按照项目计划开展项目开发工作,包括需求分析、系统设计、编码和测试等环节。
4. 项目评审:学生需要定期进行项目评审,包括项目进展、问题解决和改进措施等。
5. 项目展示:学生需要最后展示他们的项目成果,包括设计文档、源代码和演示等。
操作系统课程设计任务1
操作系统课程设计任务1一、教学目标本章节的教学目标旨在让学生掌握操作系统的基本原理和概念,培养学生对操作系统的兴趣和热情,提高学生在实际应用中运用操作系统知识解决问题的能力。
具体来说,知识目标包括:1.掌握操作系统的定义、功能和作用;2.理解操作系统的主要组件和结构;3.熟悉操作系统的运行原理和过程;4.了解操作系统的发展历程和未来趋势。
技能目标包括:1.能够运用操作系统知识分析和解决实际问题;2.具备基本的操作系统使用和配置能力;3.掌握操作系统的基本编程方法和技巧。
情感态度价值观目标包括:1.培养对操作系统的认识和兴趣,提高学习的积极性和主动性;2.培养学生团队合作精神和沟通协调能力;3.培养学生遵守纪律、严谨治学的学术态度。
二、教学内容本章节的教学内容主要包括操作系统的定义、功能和作用,操作系统的主要组件和结构,操作系统的运行原理和过程,以及操作系统的发展历程和未来趋势。
具体来说,教学内容安排如下:1.操作系统的定义、功能和作用;2.操作系统的主要组件和结构,包括处理器管理、存储管理、文件管理和用户接口等;3.操作系统的运行原理和过程,包括进程管理、内存管理、设备管理和文件系统等;4.操作系统的发展历程和未来趋势,包括批处理系统、分时系统、实时系统和分布式系统等。
三、教学方法为了达到本章节的教学目标,将采用多种教学方法相结合的方式进行教学。
具体包括:1.讲授法:通过教师的讲解,让学生了解和掌握操作系统的基本原理和概念;2.案例分析法:通过分析实际案例,让学生了解操作系统的应用和实际问题解决方案;3.实验法:通过实验操作,让学生亲自体验操作系统的运行原理和过程;4.讨论法:通过小组讨论,让学生互相交流和学习,提高团队合作精神和沟通协调能力。
四、教学资源为了支持本章节的教学内容和教学方法的实施,将准备以下教学资源:1.教材:选用权威、实用的操作系统教材,作为学生学习的主要参考资料;2.参考书:提供相关的操作系统参考书籍,丰富学生的知识体系;3.多媒体资料:制作精美的PPT课件,配合教学视频和动画,提高学生的学习兴趣和效果;4.实验设备:准备充足的计算机设备,让学生能够进行实验操作,亲身体验操作系统的运行原理和过程。
操作系统课程设计题目及任务
题目1:时间片轮转调度算法模拟要求:用实验方法模拟单处理机系统的进程调度,并采用时间片轮转调度算法作为进程调度算法。
具体任务:1、理解掌握进程调度实现所涉及到的主要问题:如何组织进程、如何实现处理机调度。
进程控制块的作用和结构,进程控制块的链表组织。
进程调度程序包含从进程就绪队列选择并摘取进程、给该进程分配处理机。
2、设计进程控制块相关数据结构,进程状态跃迁的相关模拟;3、实现时间片进程调度算法模拟程序设计、编码及调试。
题目2:静态优先级调度算法模拟要求:用实验方法模拟单处理机系统的进程调度,并采用静态优先级调度算法作为进程调度算法。
具体任务:1、理解掌握进程调度实现所涉及到的主要问题:如何组织进程、如何实现处理机调度。
进程控制块的作用和结构,进程控制块的链表组织。
进程调度程序包含从进程就绪队列选择并摘取进程、给该进程分配处理机。
2、设计进程控制块相关数据结构,进程状态跃迁的相关模拟;3、实现静态优先级调度算法模拟程序设计、编码及调试。
题目3:最短剩余时间优先(动态优先)调度算法模拟要求:用实验方法模拟单处理机系统的进程调度,并采用最短剩余时间优先调度算法作为进程调度算法。
具体任务:1、理解掌握进程调度实现所涉及到的主要问题:如何组织进程、如何实现处理机调度。
进程控制块的作用和结构,进程控制块的链表组织。
进程调度程序包含从进程就绪队列选择并摘取进程、给该进程分配处理机。
2、设计进程控制块相关数据结构,进程状态跃迁的相关模拟;3、实现最短剩余时间优先调度算法模拟程序设计、编码及调试。
题目4 作业调度设计1、目的本实验的目的是通过模拟作业调度算法的设计加深对作业管理基本原理的理解。
2、内容⑴在后备作业队列中,输入5个作业各自运行所需要的时间及存储空间。
①按先来先服务的原则进行调度,输出作业调度的顺序及等待的时间。
②按最短作业(即运行时间最短)优先的原则进行调度,输出作业调度的顺序及等待时间。
③按最小作业(即存储空间最小)优先的原则进行调度,输出作业调度的顺序及等待的时间。
08级操作系统课程设计报告书 - 副本 1
课程设计指导教师评语成绩:____________指导教师签字:________________题目1 银行家算法的实现1.1 题目的主要研究内容及预期达到的目标编程序模拟实现银行家算法。
1.2 题目研究的工作基础或实验条件(1)硬件环境:widows(2)软件环境:JA V A,VC1.3 设计思想先对用户提出的请求进行合法性检查,即检查请求是否大于需要的,是否大于可利用的。
若请求合法,则进行预分配,对分配后的状态调用安全性算法进行检查。
若安全,则分配;若不安全,则拒绝申请,恢复到原来的状态,拒绝申请。
1.4 流程图1、系统主要过程流程图2、银行家算法流程图3、安全性算法流程图1.5 主要程序代码package bank;import java.util.Scanner;public class Test{int no1, no2;static int Max[][]; //最大需求static int Allocation[][]; //已分配资源数static int Need[][]; //仍需资源数static int Available[]; //可利用资源数static String name1[];static String name2[];static boolean[] Finish;static int[] temp = { 0 }; //存放安全序列static int work[];static int[] Request;Scanner input = new Scanner(System.in);public static void main(String[] args) {Test t = new Test();t.printFrame();//t.print();t.Safty();t.judge();}/* 输入初始化数据*/public void printFrame(){System.out.println("*****************************************************");System.out.println("* *");System.out.println("* 银行家算法设计与实现*");System.out.println("* *");System.out.println("*****************************************************");Syst em.out.print("请输入系统中进程的个数:");no1 = input.nextInt();System.out.print("请输入资源的种类数:");no2 = input.nextInt();Max = new int[no1][no2];Allocation = new int[no1][no2];Need = new int[no1][no2];Available = new int[no2];name1 = new String[no1];name2 = new String[no2];int sum[] = new int[3];for (int i = 0; i < no1; i++){System.out.print("请输入进程" + i + "的名字:");name1[i] = input.next();}for (int i = 0; i < no2; i++){System.out.print("请输入资源" + i + "的名字:");name2[i] = input.next();}for (int i = 0; i < no1; i++){for (int j = 0; j < no2; j++){System.out.print("请输入进程" + name1[i] + "的" + name2[j]+ "类资源最大需求量:");Max[i][j] = input.nextInt();}}for (int i = 0; i < no1; i++){for (int j = 0; j < no2; j++){System.out.print("请输入进程" + name1[i] + "的" + name2[j]+ "类资源已占有资源量:");Allocation[i][j] = input.nextInt();Need[i][j] = Max[i][j] - Allocation[i][j];}}for (int i = 0; i < no2; i++){System.out.print("请输入类资源" + name2[i] + "的可利用资源数:");Available[i] = input.nextInt();}for (int i = 0; i < no2; i++){Available[i] = Available[i] - sum[i];}}/*打印输出*/public void print(){System.out.println("**************此时刻资源分配情况**************");System.out.println(" Number Name Max Allocation Need");for (int i = 0; i < no1; i++){System.out.print( " "+ i +" ");System.out.print(name1[i]+" ");for (int j = 0; j < no2; j++){System.out.print(Max[i][j]+" ");}for (int j = 0; j < no2; j++){System.out.print(" "+ Allocation[i][j]);}for (int j = 0; j < no2; j++){System.out.print(" " + Need[i][j]);}System.out.println();}System.out.print("各个类资源可利用的资源数分别为:");for (int j = 0; j < no2; j++){System.out.print(" " + Available[j]);}System.out.println();}/*** 进行安全性检测*/public void Safty() {Finish = new boolean[no1];temp = new int[no1];int i, k = 0, m, apply,j;//k为安全序列的序列数int flag = 0;work = new int[no2];for (i = 0; i < no2; i++){work[i] = Available[i];}for (i = 0; i < no1; i++) //当前执行换后,重第一个开始检测{apply = 0;for (j = 0; j < no2; j++){if (Finish[i] == false && Need[i][j] <= work[j]) //{apply++;if (apply == no2){for (m = 0; m < no2; m++)work[m] = work[m] + Allocation[i][m];// 变分配数Finish[i] = true;temp[k] = i+1; //保存安全序列i = -1; //k++;flag++;}}}}for (i = 0; i < no2; i++){if (Finish[i] == false) {System.out.println("系统不安全!");} else{System.out.print("系统是安全的,安全序列为:");for (i = 0; i < no1; i++) // 输出运行进程数组{ System.out.print(temp[i] + "-->"); }System.out.println();print();}}}/* 进行资源分配*/public void changdata(int i){int j;for (j = 0; j < no2; j++){Available[j] = Available[j] - Request[j];Allocation[i][j] = Allocation[i][j] + Request[j];Need[i][j] = Need[i][j] - Request[j];}}/* 利用银行家算法对申请资源对进行判定*/void judge(){Request = new int[no2];char ch='y';int i = 0, j = 0;System.out.print("请输入您要分配的资源进程号:");for(j=0;j<10;j++){i = input.nextInt();if(i>no1){System.out.println("输入错误,请重新输入:");continue;}else break;}// System.out.println("错误次数太多,看来您今天不适合进行操作,系统退出!");// System.exit(0);}System.out.println("请输入进程" + i + "申请的资源:");for (j = 0; j < no2; j++){System.out.print(name2[j] + "类资源请求:");Request[j] = input.nextInt();// 输入需要申请的资源}for (j = 0; j < no2; j++){if (Request[j] > Need[i][j]) // 判断申请是否大于需求,若大于则出错{System.out.println("进程" + i + "申请的资源大于它所需要的资源。
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
上海海事大学计算机08操作系统课程设计
一、课程设计的基本要求
课程设计是在有限的时间内实现模拟操作系统的部分功能,为使课程设计能够有效实施,并取得一定效果,把设计的重点放在操作系统核心内容的模拟上。
基本要求如下:
1.详细描述整个系统设计的总体框架和设计思想,并给出系统的主要模块以及模块间
关系。
2.详细描述整个系统所使用的全局数据结构,包括结构名称、作用和各个字段的含义。
3.给出所有模块的详细的设计说明,并画出流程图。
4.源代码格式规范,并给出注释,以标明函数和数据结构的功能。
5.系统完成后,提交完整的程序代码、课程设计报告及相关文档,并适当说明设计
中遇到的问题及心得体会。
6.课程设计使用的开发工具不限,但程序必须是WINDOWS图形界面。
二、课程设计的题目
1、进程调度模拟程序
设计要求:编写一个进程调度程序,模拟实现进程的创建、运行、阻塞、完成等进程控制,允许多个进程并行的进程调度程序。
a. 系统能够真实模拟多任务操作系统中进程生命周期中的相关活动,主要功能涉及进程
管理和进程调度。
b. 进程状态:每个进程的状态可以是就绪 W(Wait)、运行R(Run)、阻塞B(Blocked)
或完成F(Finish)四种状态之一。
c. 每个进程相关的数据结构有:进程控制块(PCB)和进程生命周期数据。
♦进程控制块(PCB):至少应该包含如下信息:进程名、优先级、创建时间、需要
运行时间、已使用CPU时间、进程状态、进程生命周期数据、队列链表等等。
♦进程生命周期数据:即CPU-I/O时间序列,它是进程调度、进入不同队列的依据。
如序列:10秒(CPU),500秒(I/O),20秒(CPU),100秒(I/O),30秒(CPU),90秒(I/O),110秒(CPU),60秒(I/O)……等,要求序列有一定长度,在进
程创建时随机生成,作为进程PCB结构的一个数据项。
d. 系统管理的数据结构
♦系统PCB结构数组;
♦系统就绪队列、完成队列和阻塞队列;
♦系统参数:时钟(可以调节速度,以利于观看系统运行)、时间片大小;
e. 系统运行时的显示信息
时钟以时间片为单位计数,系统每次有进程发生状态改变时都给出改变进程的显著提示信息,系统在运行完每个时间片后都要显示所有队列和相关进程的状态(基本是FCB的值,格式如下仅供参考),以便掌握系统的运行情况。
每个时间片后,系统动作大体顺序如下:
♦根据进程调度算法决定需要更改的进程PCB数据,并调整相关队列,给出提示信息(最好单独出现信息窗口);
♦更新显示窗口信息;
f. 进程调度算法:
①采用最高优先数优先的调度算法(即把处理机分配给优先数最高的进程)和先来先
服务算法。
进程的优先数由随机数产生。
②采用时间片轮转调度算法和先来先服务算法。
③采用动态优先级调度算法(优先级的计算自己决定,但一个进程的优先级要随时间
改变,即UNIX的策略)和先来先服务算法。
2、存储管理模拟程序
设计要求:设计请求页式存储管理方案,并编写模拟程序实现之。
页面淘汰算法采用:
①FIFO和LRU页面淘汰算法②FIFO和OPT页面淘汰算法。
方案提示:
♦系统参数:页面尺寸(例如以1K或2K为1页)、每个进程内存页表的最大长度;
♦选择生成序列功能后,随机产生一个进程的随机大小,构建页表并对页表进行初始化,随后随机生成访问的指令地址流(是一系列需要访问的指令的地址)并显示在
界面上,并将转换后的页面访问序列也显示在界面上。
不失一般性,可以适当地(人。