Advertisement

操作系统实验正在进行中。

  •  5星
  •     浏览量: 0
  •     大小:None
  •      文件类型:None


简介:
专业方向:软件工程-软件工程(ID:07701) 修订人:金虎 ________________________________________《操作系统大作业》教学大纲第一部分 课程目的与任务一、课程基础:在学这门课之前,学生必须预修过高级语言、数据结构、离散数学方面的基本知识,先修操作系统课程,延时完成操作系统大作业。二、适应对象:计算机科学与技术-计算机应用; 软件工程-软件工程; 电子信息科学类-电子信息科学与技术;管理类-信息管理专业三、教学目的:为配合《操作系统》课程的教学,通过模拟操作系统原理的实现,使学生能更深刻地领会操作系统工作原理和操作系统实现方法,并提高程序设计能力, 特开设此课程设计。四、内容提要:本课要求模拟采用多道程序设计方法的单用户操作系统,该操作系统包括进程管理、存储管理、设备管理和文件管理四部分。第二部分 内容及基本要求第1章、进程控制管理实现●基本要求:利用简单的结构和控制方法模拟进程结构、进程状态和进程控制。●参考学时:8学时●参考资料:用PCB表示整个进程实体,利用随机数方法或键盘控制方法模拟进程执行中产生的事件。或者利用鼠标或者键盘中断的基于图形接口方式的进程控制管理。1、 定义PCB(可以采用静态结构或动态结构):包括理论PCB中的基本内容,如内部ID、外部ID、进程状态、队列指针。由于无法实现真正的进程创建功能,在实验中只需建立PCB,用它代表完整的进程。2、 定义进程状态转换方式:进程的状态转换是由进程内部操作或操作系统的控制引起,由于无法实现这些功能,学生可以采用随机数方法或键盘控制方法模拟,并实现对应的控制程序。随机方法指产生1-6的随机数,分别代表创建进程(c)、结束进程(e)、进程阻塞(b)、激活进程(w)、调度进程(p)、时间片到(t)等事件;键盘模拟方法指定义6种按键代表以上6种事件。3、 根据四种事件处理就绪队列、阻塞队列和当前执行中的进程。每次事件处理后应形象地显示出当前系统中的执行进程是哪一个,就绪队列和阻塞队列分别包含哪些进程。第2章、请求分页式存储管理的地址转换过程实现:●基本要求:实现分页式存储地址转换过程,在此基础上实现请求分页的地址转换。实现请求页式地址转换中出现的缺页现象时,用到的先进先出FIFO、最近最久未使用LRU、最佳OPT置换算法。 ●参考学时:8学时●参考资料:利用键盘输入本模拟系统的物理块的大小,作业的页表中的块号;完成逻辑地址转换成相应的物理地址的过程。1、建立一张位示图,用来模拟内存的分配情况,利用随机数产生一组0和1的数对应内存的使用情况。2、输入块(页)的大小,通过模拟位示图为本作业分配内存空间建立相应的页表(长度不定);3、录入逻辑地址转换成相应的物理地址4、扩充页表,变成请求式的二维页表(增加存在位等)完成地址转换。5、输入分配给本作业的块数,模拟作业执行的逻辑地址转换成页面调度次序;6、分别采用OPT、FIFO、LRU置换算法,利用堆栈结构完成页面置换;记录被换出的页面和新换入的页面。第3章、设备管理实现:●基本要求:设备管理主要包括设备的添加和删除、设备的分配和回收、同时实现设备独立性。●参考学时:6学时●参考资料:假定模拟系统中有键盘、鼠标、打印机和显示器四个设备,三个控制器和两个通道,采用安全分配方式。1、设备管理子系统涉及到系统设备表(SDT)、通道控制表(CHCT)、控制器控制表(COCT)和设备控制表(DCT)来体现输入输出系统的四级结构和三级控制。我们模拟这样的数据结构来完成对外围设备的管理。(1)添加设备:增加对应的设备控制表和系统设备表中的表项,如果需要新建对应的控制器控制表。(2)删除设备:删除对应的设备控制表和系统设备表中的表项,如果需要删除对应的控制器控制表。 2、设备的分配和回收,进程申请设备的时候,建立起通路,即获成功;否则阻塞到通道、控制器或设备上面。进程回收设备的时候,把阻塞进程唤醒。3、设备分配必须满足设备的独立性要求。为了实现设备独立性,要求在驱动程序之上设计一层设备无关软件,其主要功能可分为:(1)执行所有设备的公有操作,主要包括:(a)独占设备的分配与回收;(b)将逻辑设备名映射为物理设备(LUT),进一步可以找到相应物理设备的驱动程序。(2)向用户层(或文件层)软件提供统一的接口。例如,对各种设备的读操作,在应用程序中都用read; 而对各种设备的写操作,则都使用write。第4章、文件管理系统实现:●基本要求:利用交互式命令实现树型目录结构和文件管理,同时利用位示图表示外存的分配情况,新建文件时分配必要的空间,模拟文件分配表记录文件在外存上的存储方式。 ●参考学时:8学时●参考资料:在文件中保存目录内容,创建文件或子目录可以用命令行命令:MD、CD、RD、MK(创建文件)、DEL(删除文件)和DIR。目录项包括文件或目录名称、类型(文件、目录或空目录项)、创建日期以及下一个目录项指针、下一级目录项指针。1、创建初始文件,建立根目录的“.”和“..”目录项。2、显示命令提示符“$”。3、输入命令后根据命令含义完成相应文件操作:MD:在目录文件中创建子目录,同时搜索当前目录最后一个目录项,并保存指针信息;CD:根据当前目录切换到指定目录;RD:搜索所要删除的目录是否为空目录,若是则删除;MK:在当前目录中创建文件名称;(申请空间利用位示图修改FAT)DEL:搜索所要删除的文件是否存在,若是则删除;(恢复位示图修改FAT)DIR:列出当前目录的所有目录项。4、在创建文件的时候分配空闲的磁盘空间,采用显示链接的方式,利用文件分配表(FAT)记录文件在外存上的存储情况。5、当删除文件时,回收外存上的空间,修改位示图和文件分配表。第5章、进程调度算法的实现:●基本要求:实现先来先服务FCFS、短作业优先SJF以及时间片轮转调度算法。 ●参考学时:6学时●参考资料:根据创建进程的系统时钟,取相对时钟作为进程的到达时间,利用随机数产生每个进程的估计运行时间。利用模拟系统中提供的算法分别计算其相应的周转时间和带权周转时间。1、利用绝对时间和相对时钟产生一组进程的到达时刻和运行时间。2、实现FCFS算法:根据进程的到达时间的先后次序来完成对若干进程的调度。3、实现SJF算法:根据当前时间已经到达进程的需要运行时间选取其中时间最小的进程最先运行。4、实现时间片轮转算法:首先要求确定时间片的大小,依据进程的到达时间依次加入队列,每次分配一个时间片大小的时间,如果没有完成参与下一次的竞争,当最后需要一个小于等于时间片的时间时本进程完成,同时退出队列。5、计算每种算法调度后,系统的平均周转时间和平均带权周转时间。

全部评论 (0)

还没有任何评论哟~
客服
客服
  • 程同步的探讨
    优质
    本文探讨了在操作系统实验中关于进程同步的关键概念、实现方法及实践技巧,分析其重要性与应用。 操作系统实验之进程同步已经包含报告内容,只需撰写个人感想部分。
  • 程调度的应用
    优质
    本实验旨在通过模拟和分析不同算法下的进程调度过程,探究其对系统性能的影响,加深学生对于操作系统的理解和实际运用能力。 文档内包含源程序和实验报告,源程序已调试完成。如果有任何问题可以向我询问。
  • PV的应用
    优质
    本课程通过实践探索PV操作原理及其在操作系统中的实现方式,旨在加深学生对进程同步机制的理解,并掌握其设计与调试方法。 桌子上放着一个盘子,最多能容纳两个水果,并且每次只能放入或取出一个水果。爸爸专门往盘子里放苹果,妈妈则负责向里面添加橘子;而两个儿子只等着吃盘中的橘子,同样地,两个女儿也只想享用里面的苹果。请使用PV操作来协调和管理爸爸、妈妈、儿子以及女儿之间的同步与互斥关系。
  • .docx
    优质
    本文档《操作系统中的进程实验》旨在通过实际操作帮助读者理解进程的概念、创建与管理,并包含详细的实验步骤和分析。 本段落介绍了操作系统进程实验一的实验目的与内容。该实验旨在帮助学生深入理解进程、进程状态及进程控制的基本概念,包括掌握 PCB(进程控制块)的概念及其实现方法,并了解如何组织和管理PCB。此外,实验还包括创建一个节点即包含用户标识域、状态域(执行中、等待、就绪)、链接域的PCB块;建立三个队列(执行队列、就绪队列与等待队列),并通过进程的状态转换来具体操作这三个队列。
  • 家算法
    优质
    本简介介绍如何在操作系统课程实验中实现银行家算法,通过模拟系统资源管理和进程调度过程,帮助学生理解死锁预防机制。 操作系统实验中的银行家算法的Java实现包含界面。
  • 程同步
    优质
    本实验旨在通过编程实践,深入理解并掌握操作系统中进程同步的基本原理与实现方法,确保多进程中数据的一致性和完整性。参与者将学习和应用信号量等机制解决经典问题如生产者消费者模型。 请选择一个进程同步的经典问题(如生产者消费者问题、写者问题、哲学家就餐问题或理发师睡眠问题),并编写程序来模拟该问题。
  • 程调度
    优质
    本实验旨在通过模拟和分析操作系统中的进程调度算法,帮助学生理解并掌握不同调度策略的特点及其在实际应用中的效果。 实验内容:编写一个进程调度模拟程序。假设系统中有10个需要在CPU上执行的进程,并使用以下三种算法进行调度: - 先进先出(FIFO)调度算法; - 基于优先级数的调度算法; - 最短剩余时间优先(SRTF)调度算法。 实验要求模拟这10个进程在不同调度策略下的CPU执行过程。每次进行任务切换时,需将以下信息显示在屏幕上: - 当前正在运行的任务名称; - 就绪队列中的所有任务及其状态和相关信息; - 等待队列中所有的任务及它们的状态。 实验目标包括: 1. 掌握处理机调度的原理与实现方法。 2. 了解进程的各种状态以及这些状态之间的转换过程。 3. 学习并应用进程控制块(PCB)的概念及其在操作系统中的作用。 具体操作要求如下: - 创建这10个进程中每个对应的PCB,其中应包含以下信息:任务名称、当前的状态、优先级级别(取值范围为1至10)、需要占用CPU的时间长度(以毫秒计)。 - 初始化这些进程的控制块,在创建时通过随机生成的方式确定它们是处于就绪状态还是等待状态。
  • 程管理
    优质
    本实验旨在通过实践操作深化理解操作系统中进程的概念、状态转换及调度算法,增强对进程同步与互斥机制的认识。 操作系统进程管理的C语言实验代码如下所示,这段代码绝对可以运行并且无错误。
  • 业调度
    优质
    本实验旨在通过模拟和分析作业调度算法在操作系统中的应用,加深对进程管理和资源分配的理解。参与者将实践优先级调度、轮转等策略,优化系统性能与响应时间。 这段文字描述的是实现内存冲突检测的代码,包括作业到达时间、开始时间、完成时间、所需内存大小以及磁带机数目等内容,并且运行按优先级次序进行。该程序实现了三队列调度功能。
  • 家算法报告
    优质
    本实验报告深入探讨了银行家算法在操作系统死锁预防策略中的应用。通过模拟资源分配与进程执行过程,验证了该算法的有效性及其在避免系统死锁方面的优越性能。 操作系统银行家算法的详细实验报告包含代码并可运行,配有图形化界面展示算法过程。