《操作系统课程设计》题目要求
- 格式:doc
- 大小:41.00 KB
- 文档页数:2
操作系统课程设计一、课程设计目的通过课程设计,加深学生对教材中的重要算法的理解,同时通过用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 函数,编写一个包含两个线程的进程,一个线程用于模拟内存分配活动,一个线程用于跟踪第一个线程的内存行为,而且要求两个线程之间通过信号量实现同步。
操作系统课程设计一、关于选题与评分标准1、选题方法:课程设计题目一人一题,按照学号顺序号依次选题(你在班级的序号除以5求余数即为你的题目号),题目具体要求见题目所述。
2、操作系统课程设计成绩为:程序运行*60%+设计报告*40%,操作系统课程设计需要提交设计报告(打印稿,报告内容见附页)。
注意事项:操作系统实验严禁抄袭,无论是不同小组之间还是与往届之间,一旦确认为抄袭作品记为零分。
被抄袭的作品与抄袭作品的处理相同。
二、操作系统课程设计内容(一)、设计一个有N个进程的进程调度程序[问题描述]通过一个简单的进程调度模拟程序的实现,加深对各种进程调度算法,进程切换的理解。
[基本要求]1、进程调度算法:采用动态最高优先数优先的调度算法(即把处理机分配给优先数最高的进程)。
2、每个进程有一个进程控制块(PCB)表示。
进程控制块可以包含如下信息:进程名---进程标示数ID优先数PRIORITY 优先数越大优先权越高到达时间---进程的到达时间为进程输入的时间。
、进程还需要运行时间ALLTIME,进程运行完毕ALLTIME=0,已用CPU时间----CPUTIME、进程的阻塞时间STARTBLOCK-表示当进程在运行STARTBLOCK个时间片后,进程将进入阻塞状态进程的阻塞时间BLOCKTIME--表示当进程阻塞BLOCKTIME个时间片后,进程将进入就绪状态进程状态—STATE队列指针NEXT 用来将PCB排成队列。
3、调度原则:进程的优先数及需要的运行时间可以事先人为地指定(也可以由随机数产生)。
进程的到达时间为进程输入的时间。
进程的运行时间以时间片为单位进行计算。
进程在就绪队列中待一个时间片,优先数加1每个进程的状态可以是就绪R(READY)、运行R(Run)阻塞B(BLOCK)、或完成F(Finish)四种状态之一。
就绪进程获得CPU后都只能运行一个时间片。
用已占用CPU时间加1来表示。
如果运行一个时间片后,进程的已占用CPU时间已达到所需要的运行时间,则撤消该进程,如果运行一个时间片后进程的已占用CPU时间还未达所需要的运行时间,也就是进程还需要继续运行,此时应将进程的优先数减3,然后把它插入就绪队列等待CPU。
河南城建学院《操作系统》课程设计说明书设计题目:UNIX/Linux文件系统分析专业:计算机科学与技术指导教师:邵国金耿永军陈红军班级:0614082学号:061408261姓名:贠炳森同组人:叶矿辉、陈宇计算机科学与工程系2011年1月7日前言在现在计算机更新如此迅速的时代要学好计算机软件技术,特别是操作系统的学习,不仅要努力学好课本上的基础知识,还要经常在图书馆看些有关这方面的书籍,而更重要的是要有足够的实践经验,也要注重和同学的交流,经常尝试性的做些小的操作系统,对自己技术的提升会有很大的帮助。
同时,学习计算机操作系统技术,除了需要刻苦努力外,还需要掌握软件和操作系统的原理与设计技巧。
如何学习和掌握操作系统技术的原理与实际技巧呢?除了听课和读书之外,最好的方法恐怕就是在实践中练习。
例如,自己设计一个小型操作系统,多使用操作系统,多阅读和分析操作源代码等。
但由于我们的条件和学时有限,在理论学习过程中没有给同学们提供更多的实验机会。
本操作系统课程设计,是给同学提供一个集中实验的机会。
希望同学们通过该设计加深对所学习课程的理解。
本设计是基于课程中学到的UNIX系统调用,使用操作系统环境是Red Hat Linux 9,言语开发环境是Linux的GNU C或C++。
我做的课程设计是:Linux/Unix文件系统分析。
在Linux系统下,使用与文件相关的系统调用实现对物理设备文件的读写,参照Linux系统源代码以及Grub 系统的源代码,对不同介质上的FAT格式文件系统进行分析。
要求在Linux环境下设计出C语言程序,实现以下功能:1)分析UNIX SysV/Linux系统引导记录的作用;2)分析UNIX SysV/Linux的超级块及其结构,并建立相关数据结构,通过编程实现UNIX SysV/Linux文件系统内各部分的定位。
3)至少要实现对给定i节点文件的只读访问目录一.系统环境 (3)1.1硬件环境 (3)1.2软件环境 (3)二.设计目的及要求 (3)三.总体设计 (5)四.详细设计 (6)五.调试与测试 (6)六.设计中遇到的问题及解决方法 (6)七.Linux/Unix文件系统分析源程序清单 (7)7.1 头文件 (7)7.2 示例程序 (10)八.运行结果及分析 (16)8.1 linux文件系统读取 (16)8.2 UNIX文件系统读取 (18)九.心得体会 (19)十.参考文献 (20)Linux/Unix文件系统分析一.系统环境1.1硬件环境cpu为pentium4双线程技术,频率为2.8GHZ,内存为256MB。
操作系统课程设计Linux一、教学目标本课程的教学目标是使学生掌握Linux操作系统的核心概念、原理和应用技能。
通过本课程的学习,学生将能够:1.理解操作系统的基本原理,包括进程管理、内存管理、文件系统和输入/输出系统。
2.掌握Linux操作系统的安装、配置和管理方法。
3.熟练使用Linux命令行界面,进行日常操作和系统管理。
4.掌握Linux常用命令、 shell脚本编写和系统监控工具的使用。
5.了解Linux操作系统在服务器、嵌入式设备和云计算等领域的应用。
二、教学内容本课程的教学内容分为五个部分:1.操作系统概述:介绍操作系统的定义、功能和分类,以及Linux操作系统的历史和发展。
2.进程管理:讲解进程的基本概念、进程控制、进程同步和互斥、死锁及其解决方法。
3.内存管理:介绍内存分配与回收策略、内存保护、虚拟内存和分页分段机制。
4.文件系统:讲解文件和目录结构、文件访问控制、文件系统性能优化和磁盘空间分配策略。
5.输入/输出系统:介绍I/O设备管理、中断和DMA机制、设备驱动程序和I/O调度策略。
三、教学方法本课程采用多种教学方法相结合的方式,以提高学生的学习兴趣和主动性:1.讲授法:教师讲解操作系统的核心概念和原理,引导学生掌握基本知识。
2.讨论法:学生针对实际案例和问题进行讨论,培养学生的思考和分析能力。
3.案例分析法:分析Linux操作系统的实际应用案例,使学生了解操作系统的应用场景。
4.实验法:安排实验室课时,让学生亲自动手进行系统安装、配置和调试,提高学生的实践能力。
四、教学资源本课程的教学资源包括:1.教材:选用权威、实用的Linux操作系统教材,如《Linux操作系统原理与应用》。
2.参考书:提供相关的学术论文、技术博客和在线文档,供学生拓展阅读。
3.多媒体资料:制作课件、教学视频和演示文稿,辅助学生理解和记忆。
4.实验设备:提供Linux服务器、虚拟机和实验室环境,让学生进行实际操作。
《操作系统》课程设计教学大纲英文名称: Operating System课程编码:C047101计划周数:1周课程设计学分:1学分先修课程:计算机导论,高级语言程序设计,数据结构,汇编语言程序设计适用专业:计算机科学与技术(专升本)开课单位:计算机科学与技术系撰写人:何爱华审核人:姚保峰制定时间:2014年8月一、本课程设计的性质与目的《操作系统》是计算机科学与技术(专升本)专业的核心专业课,“操作系统课程设计”是理解和巩固操作系统基本理论、原理和方法的重要的实践环节。
《操作系统》课程主要讲述的内容是计算机操作系统的基本原理及组成,操作系统中常用的设计技巧和方法。
它与计算机原理、编译原理、汇编语言、计算机网络、程序设计等专业课程关系十分密切。
本课程设计的目的综合应用学生所学知识,建立系统和完整的计算机系统概念,理解和巩固操作系统基本理论、原理和方法;在算法基础上,解决实际问题,提高学生实际应用、编程的能力。
二、本课程设计的主要内容实验的内容侧重于对操作系统原理的模拟实现,主要包括对进程管理、内存管理、文件系统和设备管理的实践内容。
主要任务是实现操作系统和相关系统软件的设计,其中涉及进程创建,同步,进程间的通信,存储管理,文件系统等操作系统概念。
,主要内容如表1所示:表1 课程设计内容序号内容1 进程的管道通讯;编制一个程序,程序中创建一个子进程。
然后父子进程各自独立运行,父进程不断地在标准输入设备上读入小写字母,写入管道。
子进程不断地从管道中读取字符,转换为大写字母后输出到标准输出设备上。
当读到x时,结束。
2 信号量实现的同步互斥机制:编制一个程序,程序中创建5个子进程,代表五位哲学家,然后父进程结束。
使用信号量机制解决哲学家进餐问题。
3 页面置换算法:请求页式管理是一种常用的虚拟存储管理技术。
本设计通过请求页式存储管理中页面置换算法模拟设计,了解虚拟存储技术的特点,掌握请求页式管理的页面置换算法。
操作系统课程设计题目与要求(2006.1)一、题目模拟U N I X文件系统的设计及实现1.文件系统应具有的基本功能(1)多用户:u s r1,u s r2,u s r3,……,u s r8(1-8个用户)(2)多级目录:可有多级子目录;(3)具有l o g i n(用户登录)(4)系统初始化(建文件卷、提供登录模块)(5)文件的创建:c r e a t e(6)文件的打开:o p e n(7)文件的读:r e a d(8)文件的写:w r i t e(9)文件关闭:c l o s e(10)删除文件:d e l e t e(11)创建目录(建立子目录):m k d i r(12)改变当前目录:c d(13)列出文件目录:d i r(14)退出:l o g o u t2.选用程序设计语言:C++、C等。
3.设计参考资料:1)教材和课件的第9章。
2)其他参考文献:(1)王育勤等.计算机操作系统-基于U N I X系统V核心.清华大学出版社.2004(2)M a u r i c e J.B a c h著,陈葆珏等.U N I X操作系统设计.机械工业出版社.2000(3)胡希明.U N I X结构分析(核心代码的结构与算法).浙江大学出版社.2002二、课程设计需提交内容:1.以电子邮件的形式提交已调试通过的完整的“模拟U N I X文件系统”相关源程序和能够运行的执行文件;2.提交“课程设计报告”的书面和电子两种版本,其内容详见下面“课程设计说明书的要求”;3.提交时间:课程设计完毕之前。
4.提交方法:“课程设计报告”的书面版本需要交给老师,“课程设计报告”的电子版本、源程序代码和可执行的程序文件通过电子邮件形式提交,邮件地址待定。
注意:发送邮件时一定要申请回执,电子版提交成功与否以老师反馈的回执为准!三、课程设计报告应具有的内容及其参考评分标准:(1)设计思想说明(5分);(2)文件系统结构的说明(15分);(3)数据结构的说明(6分);(4)各模块的算法流程图(5分);(5)程序清单:注意加注释(包含关键字、方法、变量等),在每个模块前加注释;(共60分,其中书面源程序占20分,实验的检查结果、程序的运行情况占40分)(6)使用说明书(即用户手册)(内容包含如何登录、退出、读、写、等操作说明)(5分)(7)体会,建议(4分)四、注意事项1.按“课程设计需提交内容”提交完整的相关设计资料。
实践课设计报告课程名称操作系统课程设计模拟设计内存管理中的地址题目转换(动态分区、页式十进制)学院班级学号姓名指导教师年月日课程设计任务书学生姓名:专业班级:指导教师:工作单位:题目: 模拟设计内存管理中的地址转换(动态分区、页式十进制)初始条件:1.预备内容:阅读操作系统的内存管理章节内容,理解动态分区、页式、段式和段页式存储管理的思想及相应的分配主存的过程。
2.实践准备:掌握一种计算机高级语言的使用。
要求完成的主要任务:(包括课程设计工作量及其技术要求,以及说明书撰写等具体要求)1.下列内部存储器管理中地址转换,在完成指定存储管理技术中的地址转换基础上还可以选择其它内部存储器管理中的地址转换进行模拟设计并实现:⑴动态分区方案,用最先适用算法对作业实施内存分配,然后把作业地址空间的某一逻辑地址转换成相应的物理地址。
能够处理以下的情形:输入某一逻辑地址,程序能判断地址的合法性,如果合法,计算并输出相应的物理地址。
如果不能计算出相应的物理地址,说明原因。
⑵页式存储管理中逻辑地址到物理地址的转换(十进制)。
能够处理以下的情形:输入某一十进制逻辑地址,能检查地址的合法性,如果合法进行转换,否则显示“地址非法”;物理地址用十进制表示。
⑶页式存储管理中逻辑地址到物理地址的转换(八进制)。
能够处理以下的情形:输入某一八进制逻辑地址,能检查地址的合法性,如果合法进行转换,否则显示“地址非法”;物理地址用八进制表示。
⑷页式存储管理中逻辑地址到物理地址的转换(十六进制)。
能够处理以下的情形:输入某一十六进制逻辑地址,能检查地址的合法性,如果合法进行转换,否则显示“地址非法”;物理地址用十六进制表示。
⑸段式存储管理中逻辑地址到物理地址的转换。
能够处理以下的情形:指定内存的大小,进程的个数,每个进程的段数及段大小;能检查地址的合法性,如果合法进行转换,否则显示地址非法的原因。
⑹段页式存储管理中逻辑地址到物理地址的转换。
《操作系统》课程设计报告专业:计算机科学与技术班级:题目名称:睡眠理发师问题完成日期:目录1.问题描述 (4)2.课程设计目的 (4)3.课程设计思想 (4)3.1设计思想 (4)3.2多线程编程原理 (5)3.3创建一个线程 (5)3.4等待一个线程结束 (5)3.5信号量 (6)3.6 伪码实现 (6)4.程序采用的数据结构 (7)5.程序采用的系统调用 (7)6.程序开发及运行环境 (8)7.程序总体框图 (8)8.程序各模块的功能 (10)9.程序各模块的流程图 (10)9.1理发师(Barber)模块 (10)9.2顾客(Customer)模块 (11)10.程序的运行 (13)10.1 VC环境下源程序 (13)10.2 运行步骤及结果 (13)11.课程设计总结 (15)12.参考文献 (16)13.附录 (16)1.问题描述问题描述:这是一种经典的IPC问题,理发店有一位理发师,一把理发椅和n把用来等候理发的椅子。
如果没有顾客,则理发师在理发椅上睡觉,顾客理来时,如理发师闲则理发,否则如有空椅则坐等,没有空椅则离开,编写程序实现理发师和顾客程序,实现进程控制,要求不能出现竞争。
(2)将(1)题中问题修改为有两位理发师,设计程序实现同步控制。
问题提示:可以用一个变量waitting来记录等候理发的顾客数,另使用三个信号量:用来记录等候理发的顾客数customers;用来记录理发师是否空闲的信号量barbers,一个用于互斥访问waitting变量的mutex.。
2.课程设计目的目的:了解信号量机制,了解并掌握进程同步和互斥机制,熟悉信号量的操作函数,利用信号量实现对共享资源的控制。
3.课程设计思想3.1设计思想睡眠理发师问题是一种同步问题的抽象描述,该问题主要的活动单元是理发师和顾客到来这两个。
其中,理发师有活动有理发和睡觉两个事件;顾客有到来,等待和离去三个事件。
店里有固定的椅子数,上面坐着等待的顾客,顾客在到来这个事件时,需判断有没有空闲的椅子,理发师决定要理发或睡觉时,也要判断椅子上有没有顾客。
操作系统课程设计要求
一.设计目的
熟悉Linux编程环境,加强对Linux命令的理解及函数的运用
二.设计内容
1. 在Linux环境下模拟实现简单命令解释器。
(1)要求实现的基本命令包括:
pwd //显示当前所在目录的路径名
dir <目录名> //列出指定目录名中的所有目录及文件
cd <目录名或路径>//改变当前工作目录
newdir <目录名> //新建目录
deldir <目录名> //删除目录
exit //退出命令解释程序
(2)可选做的扩展命令包括:
rename <旧文件名> <新文件名> //重命名一个文件或目录
find <目录> -name <待查找的文件名> //在指定的目录及其子目录中查找指定的文件date //显示当前日期
(3)提示:整个程序的大致框架可参考如下:
while ( exit未被输入)
{ 接收键盘的一行输入
分析输入的命令
对输入的命令进行处理,调用系统函数实现功能
}
2. 设计要求
(1) 设计必须在Linux环境下进行。
(2) 命令解释程序的提示符为:姓名拼音@
(3) 程序编写中不得使用system()系统调用。
(4) 整个程序必须严格经过测试,完成所有基本功能。
源程序应有较详尽的注释。
3.可能用到的系统调用:
open(),close(),read(),write(),creat()
chdir(), opendir(),readdir(),rewinddir(),closedir(),rmdir(),mkdir()
getcwd(), ftw()
time(), localtime(), asctime()
三.提交要求:
1. 完成的源程序和可执行程序必须保存在Linux服务器上。
2. 要求实现的基本命令必须全部实现。
完成可选做的扩展命令将得到较高的分数。
容错性
强和功能细节考虑更完全也将得到较高的分数。
3. 每位同学必须完成操作系统课程设计说明书并上交纸质打印版(不少于3000字),设计
说明书格式请从ftp下载《操作系统课程设计说明书(模板)》查看。
(学习委员收齐后交到老师办公室)。
说明书电子版提交到老师的FTP
11计算机2班的同学:交给韦婷老师
说明书电子版提交到:ftp://we:345678@10.5.1.5
请提交到该ftp的“/作业/操作系统课程设计/”文件夹中
每位同学的课程设计说明书按以下格式命名:
“班内序号-姓名.doc”例如:05-李凯.doc
4. 独立完成,不得抄袭,凡是发现抄袭的(无论抄与被抄者),均不及格。
5. 课程设计上交截止日期:11月12 日
6. 设计提交后将抽取一部分同学进行答辩,答辩时间另行通知。
注意:
1. Linux服务器远程连接方式:telnet 10.5.1.6
(telnet连接服务器的过程可能需要十几秒,属正常现象,请耐心等待)
2. 登陆的用户名和密码
11计算机2班的同学:
用户名:112班内序号例如: 11计算机2班的5号同学的用户名是:11205
初始密码:123456
3. 在Linux环境编程,若要使用cin、cout,则必须用
#include<iostream>
using namespace std ;
并使用g++进行编译。
4. 本课程设计所需资料从ftp://we:345678@10.
5.1.5 “/下载/操作系统课程设计/”文件夹中
下载。