《操作系统原理》信管专业实验指导书
操作系统原理实验指导
3、实验题
(1)设计一个内存分配模拟程序。假定在计算机系统作业后备队列中有六个等待调度运行的作业,参与分配的内存大小为32KB,采用简单页式管理,每个页帧的大小为1KB。根据要求进行内存的分配和回收。要求打印内存分配表。有关作业的组织和作业有关参数的设置请自行设计,要大致符合实际情况。
main()
{
int i;
if (fork())
{
i=wait();
printf(“It is parent process.\n”);
printf(“The child process, ID number %d, is finished.\n”,i);
}
else{
print(“It is child process.\n”);
(2)自选设计一个进程调度算法,并加以实现。
实验三存储器管理
1、目的与要求
目的:存储器管理是操作系统重要的组成部分,提高存储器的效率始终是操作系统研究的重要课题之一。虚拟存储技术是用来扩大存储容量的一种重要方法。学生应独立地使用一种开发工具或高级语言编写几个常用的存储分配算法,并能设计一个存储管理的模拟程序,对各种算法进行分析比较,评测其性能优劣,从而加深对这些算法的理解,巩固所学的知识。
操作系统实验指导
操作系统是计算机的最重要的系统软件,它在计算机中具有核心地位,其作用是对计算机系统资源进行统一的调度和管理,提供各种强有力的系统服务,为用户创造灵活而又方便的使用环境。一个精心设计的操作系统能极大地扩充计算机系统的功能,充分地发挥系统中各种资源的使用效率,提高系统工作的可靠性。
操作系统原理是计算机科学与技术专业的一门主要专业课程,它涉及计算机系统中各种软、硬资源管理的实现原理与方法,内容非常丰富,综合性非常强,并且还具有很强的实践性。只有把理论与实践紧密地结合起来,才能取得较好地学习效果。
操作系统原理实验指导书
操作系统原理实验指导书实验一Linux基本操作实验LINUX常用命令1. cd (3)2. pwd (3)3. ls (3)4. passwd (4)5. who (4)6. cat (5)7. mkdir (5)8. rmdir (5)9. chmod (6)10. chown (6)11. chgrp (7)12. touch (7)13. cp (8)14. mv (8)15. rm (9)16. find (9)17. grep (9)18. more (10)19. less (10)20. head (10)21. tail (11)22. cut (11)23. crontab (11)24. sleep (12)25. kill (12)26. ps (13)28. top (14)29. man,info (14)30. alias (14)31. unalias (14)32. clear (14)1. cd格式: cd [dirName]说明: 变换工作目录至dirName。
其中dirName可为绝对路径或相对路径。
若目录命令省略,则变换至使用者登录时所在的目录(home directory )。
另外,"~" 也表示为home directory 的意思,"." 则是表示当前所在的目录,".." 则表示当前目录位置的上一层目录。
范例:1. 跳到当前目录的子目录(如:usr/bin)当中:cd /usr/bin2. 跳到自己的home directory :cd ~ (或cd )3. 跳到当前目录的上上两层:cd ../..4. 跳到父目录下的另外一个目录(如:conf):cd ../conf2. pwd格式: pwd说明: 显示当前所在目录3. ls格式: ls [-alrtAFR] [name...]说明: 显示指定工作目录下之内容(列出目前工作目录所含之档案及子目录)。
操作系统原理实验报告
南京理工大学课程论文作者: 傅志诚周堂明周盛超徐伟伟张锦娟席瑜学号:0507390140、300507390122、360507390112、5专业班级:信息管理与信息系统课程名称:操作系统原理题目:操作系统实验报告成绩:2008 年 1 月操作系统实验报告——进程同步实验(生产者与消费者问题算法实现)1.实验目标和要求进程的同步是操作系统处理机管理的重要内容,本实验要求学生理解生产者与消费者问题模型,掌握解决该问题的算法思想,学会使用同步机制。
2.实验内容一组生产者向一组消费者提供消息,它们共享一个有界缓冲池,生产者向其中投放消息,消费者从中取得消息。
假定这些生产者和消费者互相等效,只要缓冲池未满,生产者可将消息送入缓冲池;只要缓冲池未空,消费者可从缓冲池取走一个消息。
N个缓冲区根据进程同步机制,编写一个解决上述问题的可视化程序,可显示缓冲池状态、放数据、取数据等过程。
3.实验方法或步骤3. 1程序类图3. 2采用的同步方法1.利用函数CreateMutex(NULL,FALSE,NULL)创建互斥信号量g_hMutex,表示缓冲区当前的状态,若为true时,则表示缓冲区正被别的进程使用。
三个参数表示的意义分别为:指向安全属性的指针,初始化互斥对象的所有者,指向互斥对象名的指针,2.利用函数 CreateSemaphore(NULL,SIZE_OF_BUFFER-1,SIZE_OF_BUFFER-1,NULL)创建缓冲区满的信号量g_hFullSemaphore,值为true时表示缓冲区已满。
四个参数分别为:表示是否允许继承、设置信号机的初始计数、设置信号机的最大计数、指定信号机对象的名称(-1是因为计数从开始)3.利用函数CreateSemaphore(NULL,0,SIZE_OF_BUFFER-1,NULL)创建缓冲区空的信号量g_hEmptySemaphore,该值为true时表示缓冲区为空。
《操作系统原理》课程实验指导书
}
else { //大于0是父进程
printf("The parent:%d\n", getpid());
x=4;
}
printf("x=%d\n",x);
}
验证操作:
(45)程序运行共输出了几条语句?
(46)x的值输出了几次?
思考:
(47)x为什么会输出不同的值?
16.并发执行
#include <sys/types.h>
相关准备知识
Linux操作系统命令接口。
实验步骤
以图形化方式登录Linux系统,在桌面单击鼠标右键,选新建终端。
8.文件、目录管理。
(29)pwd
功能:显示用户当前所处的目录的绝对路径。
语法:pwd
例如,以root身份登录后,使用命令pwd将显示/root信息。
(30)ls
功能:列出目录的内容,类似于DOS下的dir命令。
(37)rm
功能:删除一个目录中的一个或多个文件或目录。
语法:rm 文件名…
例如,rm /tmp/my.c将删除/tmp目录下的my.c文件。
(38)clear
功能:清除屏幕上的信息,清屏后,提示符移动到屏幕左上角。
9.C程序开发
(39)使用vi编辑C语言源程序
(40)gcc编译和链接
(41)运行程序。
实验对象
本实验开设对象为计算机科学与技术和网络工程专业本科学生,本课程为必修课程。
课程简介
《操作系统原理》是计算机专业的核心课程之一。通过本课程的学习和实验,使学生掌握操作系统基本概念和原理,提高自身计算机的应用素质,并且培养学生熟练使用系统调用编程技能,为他们以后的专业学习奠定良好的基础。
《操作系统》课程实验指导书
操作系统实验指导书梁海英编系部:班级:学号:姓名:淮安信息职业技术学院2009年1月5日实验须知1、实验前,应认真阅读实验指导书,明确实验目的和实验内容,做好实验准备。
2、实验中,积极思考,及时记录,有疑问及时解决,当堂完成实验内容和实验报告。
3、严格遵守实验实管理规则,珍惜实验时间,不做与实验无关的事。
4、实验结束,按要求填写实验机器使用记录单,正确关闭实验用机,整理好键盘和椅子,值日生认真打扫实验室卫生。
5、如实认真填写实验报告相关内容。
目录前言 (1)实验一 (3)实验二 (12)实验三 (21)实验四 (26)实验五 (33)实验六 (37)实验七 (43)实验一进程管理与控制实验日期:实验成绩:一、实验目的进程管理是操作系统多用户与多任务管理的基本重要手段,用户作业与任务进入内存后采用进程模式进行管理,利用不同进程对资源的不同要求实现进程的并发管理是提高系统效率的有效途径。
本实验的目的是要求学生通过实验全面了解进程管理与控制的相关内容,并通过Windows 2000系统中管理控制工具了解常见系统进程,分析系统性能。
二、实验指导与内容任务管理器是Windows系统中一个非常实用的系统工具,它提供了有关计算机性能的信息,并显示了计算机上所运行的程序和进程的详细信息,可以显示最常用的度量进程性能的单位;如果连接到网络,那么还可以查看网络状态并迅速了解网络是如何工作的。
启动任务管理器最常见的方法是同时按下“Ctrl+Alt+Del”组合键,还可以右键单击任务栏的空白处,然后单击选择“任务管理器”命令,或者,按下“Ctrl+Shift+Esc”组合键也可以打开任务管理器,当然,也可以为\Windows\System32\taskmgr.exe文件在桌面上建立一个快捷方式,然后为此快捷方式设置一个热键,以后就可以一键打开任务管理器了。
任务管理器的用户界面提供了文件、选项、查看、窗口、关机、帮助等六大菜单项,其下还有应用程序、进程、性能、联网、用户等五个标签页,窗口底部则是状态栏,从这里可以查看到当前系统的进程数、CPU使用比率、更改的内存、容量等数据,默认设置下系统每隔两秒钟对数据进行1次自动更新,当然你也可以点击“查看→更新速度”菜单重新设置。
操作系统原理实验指导书课案
操作系统原理实验指导书广东东软学院计算机系网络工程教研室编目录第一部分基础知识篇第一章安装Ubutnu8.04 (1)第二章Linux常用命令手册 (13)第二部分基本实验篇实验一UNIX/Linux操作系统的实际使用 (17)实验二命令解释程序 (24)实验三进程管理 (34)实验四处理器调度 (42)实验五存储管理 (46)第三部分综合实验篇实验六简单的数据库管理系统设计 (53)实验七输入/输出管理 (78)实验八Linux文件系统设计 (83)附录: (93)第一章安装Ubutnu8.041、备份资料如果以前没有安装过Ubuntu的可以跳过这一步。
如果你没有把/home目录单独挂载出来,建议你把他备份到一个安全的地方,至于其他系统分区、软件分区、都可以不管,保留软件设置比软件重要。
2、准备分区这是问题最多的地方,如果你以前使用Windows,那么你需要单独给Ubuntu 划分一个空白分区,可以使用Windows 自带的分区工具,也可以使用PQ分区管理工具。
建立Linux 分区的操作建议在Ubuntu安装过程中进行。
如果还是对硬盘分区有疑问的可以参考这里关于最简单可行的分区方法1、先在windows 下,我的电脑上点右键-----管理------磁盘管理-----删除最后一个分区(先备份再做,也可以进行先删除分区后再调整下分区大小,保留一个分区未分就行)2、安装desktop 版ubuntu,安装的时候让它自动分区并钩选最大的连续空闲空间。
3、详细安装步骤做好了上面的准备,就可以插入光盘开始安装了,在这里强烈建议在安装前把先把网线拔了,这样后面安装出错的机会大幅降低。
做好了上面的3 个准备,现在就可以插入光盘开始安装了。
见到这个画面时候记得按F2 选择语言为中文:选择第一项“试用 Ubuntu 而不改变计算机中的任何内容”,进入 live 桌面后点击“安装”图标。
1)选择语言,可以根据你自己的喜好选择,当然是选择中文(简体)了。
操作系统实验指导书
操作系统实验指导书一、实验说明1、实验目的实验是操作系统原理课程中不可缺少的重要教学环节,实验目的是使学生理论联系实际,使学生在实践探索中去发现问题、去解决问题,提高了学生获取知识和应用技术的能力,培养了学生分析和解决问题的能力。
《操作系统原理》要求理论与实践相结合,本门实验课程是对《操作系统原理》课堂教学的一个重要补充,与理论学习起着相辅相成的作用,是实施《操作系统原理》教学的一个重要组成部分。
通过本实验课的实践学习,可以增强本专业的学生对系统实现的认识。
对加深理解和掌握操作系统相关原理有重要帮助。
2、实验要求进一步了解和掌握操作系统原理,提高系统设计的能力。
对每一实验题目,应独立完成,并要求:·上机前,学生必须做好充分的实验准备工作,掌握与实验相关的背景知识,用任一种高级语言编写程序。
·上机时,认真调试,并观察、记录程序运行过程中出现的现象和问题。
·上机后,分析实验结果并写出实验报告。
3、实验报告要求每个实验(包括选做的)均应编写实验报告,学生实验后要写出严谨的、实事求是的、文字通顺的、字迹公整的实验报告。
实验报告应包括以下内容:(1)实验题目(2)实验目的(3)实验内容●程序中使用的数据结构及符号说明●流程图●源程序清单并附上注释(4)实验结果及分析●运行结果(必须是上面程序清单所对应输出的结果)●对运行情况所作的分析以及本次调试程序所取得的经验。
如果程序未能通过,应分析其原因。
二、实验内容实验一熟悉使用计算机系统一、实验名称:熟悉使用计算机系统二、实验目的与要求通过对Windows操作系统的使用,熟悉Windows操作系统中的基本概念,如单用户、多任务、进程和文件等,熟悉Windows中命令行方式下常用命令的使用方法;进一步熟悉TC语言与开发环境,为以后的实验打好基础。
三、实验内容1.开机后,熟悉Windows的界面(桌面、任务栏、开始按钮<点击后出现“开始”菜单>、我的电脑图标、回收站、我的文档)。
操作系统原理课内实验指导书
操作系统原理课内实验指导书实验一:用户接口实验准备知识为了使用户通过操作系统完成各项管理任务,操作系统必须为用户提供各种接口来实现人机交互。
经典的操作系统理论将操作系统的接口分为控制台命令和系统调用两种。
前者主要提供给计算机的操作人员对计算机进行各种控制;而后者则提供个程序员,使他们可以方便地使用计算机的各种资源。
1.控制台命令接口操作系统向用户提供一组控制台命令,用户可以通过终端输入命令的方式获得操作系统的服务,并由此来控制自己作业的运行。
一般来讲,控制台命令应该包含:一组命令、终端处理程序以及命令解释程序。
1)bash的由来当登录Linux或者打开一个xterm时,当前默认的shell就是bash。
Bash是GNU Project 的shell。
GNU Project是自由软件基金会(Free Software Foundation)的一部分。
它对Linux 下的许多编程工具负责。
Bash(Bourne Again Shell)是自由软件基金会发布的Bourne shell 的兼容程序。
它包含了其他有些shell的许多良好的特性,功能非常的全面。
很多Linux版本都供bash。
2)bash的大致原理bash处理自己的脚本时,先找到需要处理的命令名称,进而在当前用户的默认命令目录中找到对应的命令,这些默认目录一般是/usr/bin、/bin或/sbin。
在执行这些命令时,先使用进程创建系统调用fork(),在使用exex()来执行这些命令。
3)建立bash脚本➢编辑文件可以用最熟悉的编辑器来编辑这个文本文件,比如文件名为script,在shell下输入:$ vi script#! /bin/bashEcho Hello World!然后保存,退出。
➢测试脚本。
使用指令:$ source script➢更改脚本属性使用指令:$ chmod a+x script将脚本程序设置为可执行。
➢执行脚本使用指令:$ ./script4)关键字参考Echo 在终端上显示Bash 特殊变量1~9,保存当前进程或脚本的前9个参数。
操作系统实验指导书
操作系统实验指导书《操作系统原理》实验指导书适用专业:课程代码: 8400220 学时: 10 学分:编写单位:编写人:审核人:审批人:年月《操作系统原理》实验指导书适用于计算科学与技术专业、信息科学专业前言操作系统原理是一门理论性与实践性较强的学科,开设本实验课程的目的在于培养学生的实践能力,促使理论与实践的结合。
实现操作系统功能和高级程序设计语言编程的应用,已成为我校计算机学科教学的主要内容。
本实验指导书介绍了实验环境、上机实验步骤、各实验项目的目的要求及内容,最后附有实验报告的格式,作为我校操作系统课程上机实验指导的主要依据。
根据实验大纲要求,包含两个实验及其相关实验作业。
要完成上述内容,单纯依靠课内上机是不够的,希望同学们课外多多花时间练习,熟能生巧。
对不同年级或专业的学生可根据学生具体情况调整实验内容。
目录前言 (1)一、实验环境 (3)二、上机实验步骤 (3)1.启动V ISUAL C++6.0开发环境 (3)2.创建一个项目 (3)3.关闭工作空间 (7)三、实验项目 (8)实验一进程的调度(5学时) (8)实验二存储管理(5学时) (10)四. 参考文献 (11)西华大学计算机系上机实践报告 (12)一、实验环境操作系统原理课程的实验环境如下:1. 硬件环境微型计算机(Intel x86系列CPU)一台2. 软件环境Windows98/2000/XP操作系统VC++6.0或其它的开发工具。
二、上机实验步骤下面以Visual C++ 6.0为例简单介绍开发Windows应用程序的步骤。
Visual C++ 6.0中的MFC AppWizard(应用程序向导)可以使用户自动生成一些常用的标准程序结构和编程风格。
例如一般的Windows 应用程序结构、DLL应用程序结构、单文档(SDI)应用程序结构、多文档(MDI)应用程序结构等。
下面详细介绍利用MFC AppWizard创建一个Windows应用程序的步骤:1.启动Visual C++ 6.0开发环境从“开始”菜单中选择“程序”| Microsoft Visual Studio 6.0 | Microsoft Visual C++6.0,显示Visual C++ 6.0开发环境主窗口。
《操作系统原理》课程设计任务书0834131
《操作系统原理》课程设计任务书0834131河南城建学院《操作系统原理》课程设计任务书班级:0834131专业:信息管理与信息技术(本科)课程名称:操作系统原理指导教师:魏新红计算机科学与⼯程学院2015年12⽉《操作系统》课程设计任务书⼀、设计时间及地点1、设计时间本课程设计时间为2周,安排在第5学期期末最后2个教学周进⾏,上午:8:00-12:00,下午:14:00-15:45。
设计周的最后⼀天为验收时间,每个⼈都要对设计结果进⾏答辩,指导教师根据评分标准给出设计成绩。
2、设计地点设计地点为计算机系实验中⼼10#A301,如有变动另⾏通知。
3、设计时间安排具体的设计时间和地点安排详见附表1。
⼆、设计⽬的和要求1、设计⽬的学习计算机软件技术,特别是计算机操作系统技术,除了需要刻苦努⼒外,还需要掌握软件和操作系统的原理与设计技巧。
如何学习和掌握操作系统技术的原理与实际技巧呢?除了听课和读书之外,最好的⽅法恐怕就是在实践中练习。
例如,⾃⼰设计⼀个⼩型操作系统,多使⽤操作系统,多阅读和分析操作源代码等。
但由于我们的条件和学时有限,在理论学习过程中没有给同学们提供更多的实验机会。
本操作系统课程设计,是给同学提供⼀个集中实验的机会。
希望同学们通过该设计加深对所学习课程的理解。
2、设计要求(1)纪律要求设计期间必须在机房或教室,时间上午:8:00-12:00,下午:14:00-15:45。
不得迟到、早退,有事请假,不得⽆故旷课,缺课超过总学时的1/3者,不得参与答辩,并以不及格论处。
1)严格遵循软件实习和课程设计的有关安排,按时完成设计任务。
2)严格遵守学校的纪律和机房各项管理规定。
3)严格请假制度,需请假时。
请假需要有辅导员签字的假条,且必须经指导⽼师批准。
(2)技术要求按软件⼯程的思想和⽅法进⾏设计,并把它作为⼀个⼯程来做。
设计的每⼀步都有要形成⽂档,“成品”出来以后要有使⽤说明书和测试报告。
最后按院⽅统⼀要求整理出软件实习“论⽂”,并分别以电⼦和书⾯⽂档的形式上交。
操作系统实验指导书
《操作系统原理》实验指导书羊四清编写适用专业:计算机科学与技术网络工程湖南人文科技学院计算机科学技术系2008年 8 月前言操作系统是计算机的核心和灵魂。
操作系统软件的设计对整个计算机的功能和性能起着至关重要的作用,所以此门课也是必不可少的,是面向计算机科学与技术、网络工程、软件工程等大多数计算机专业本科生开设的一门计算机专业课程。
操作系统是计算机系统的核心,《操作系统》课程是计算机科学与技术专业的重要必修课。
本课程的目的是使学生掌握现代计算机操作系统的基本原理、基本设计方法及实现技术,具有分析现行操作系统和设计、开发实际操作系统的基本能力。
操作系统实验是操作系统课程的重要组成部分,属于学科基础实验范畴。
作为与相关教学内容配合的实践性教学环节,应在操作系统理论课教学过程中开设。
操作系统是计算机科学与技术专业必修的专业基础课程,操作系统实验的作用是:理解操作系统的设计和实现思路,掌握典型算法。
基本要求是:理解进程的概念,理解死锁,掌握银行家算法;掌握请求页式存储管理的实现原理及页面置换算法。
学生应具有高级语言编程能力、具有数据结构等基础知识。
说明:本实验指导书所提供的源程序均已在VC6.0下调试运行过.目录实验一进程创建模拟 (1)实验二进程撤销模拟 (9)实验三 P、V 原语的模拟实现 (10)实验四带优先级的时间片轮换的进程调度算法的实现 (16)实验五银行家算法模拟 (26)实验六连续动态内存管理模拟实现 (29)实验七请求页式存储管理中常用页面置换算法模拟 (31)实验八 SCAN 磁盘调度模拟实现 (36)实验九 UNIX基本操作 (37)实验一进程创建模拟实验学时: 2实验类型:验证实验要求:必修一、实验目的1)理解进程创建相关理论;2)掌握进程创建方法;3)掌握进程相关数据结构。
二、实验内容本实验针对操作系统中进程创建相关理论进行实验。
要求实验者输入实验指导书提供的代码并进行测试。
代码简化了进程创建的多个步骤和内容。
操作系统实验指导书
操作系统实验指导书前言操作系统是计算机系统的核心,《操作系统》课程是计算机科学与技术专业的重要必修课。
本课程的目的是使学生掌握现代计算机操作系统的基本原理、基本设计方法及实现技术,具有分析现行操作系统和设计、开发实际操作系统的基本能力。
操作系统实验是操作系统课程的重要组成部分,属于学科基础实验范畴。
作为与相关教学内容配合的实践性教学环节,应在操作系统理论课教学过程中开设。
操作系统是计算机科学与技术专业必修的专业基础课程,操作系统实验的作用是:理解操作系统的设计和实现思路,掌握典型算法。
学生应具有高级语言编程能力、具有数据结构等基础知识。
实验要求为了顺利完成操作系统课程实验,学生应做到:(1)实验前,认真学习教材以及实验指导书的相关内容,提前做好实验准备。
(2)实验结束一周后提交实验报告。
实验报告内容应包括:实验目的、实验内容、设计思路和流程框图,源程序(含注释)清单、测试结果以及实验总结。
(3)遵守机房纪律,服从辅导教师指挥,爱护实验设备。
实验的验收将分为两个部分。
第一部分是上机操作,随机抽查程序运行和即时提问;第二部分是提交书面的实验报告。
此外杜绝抄袭现象,一经发现雷同,双方成绩均以0分计算。
目录第1章Windows的进程管理 (5)1.1 实验一:Windows基本进程的管理与控制 (5)1.2 实验二:线程的创建与撤销 (8)1.3 实验三:进程的同步与互斥 ........................................................ 错误!未定义书签。
1.4 实验四:进程调度 ........................................................................ 错误!未定义书签。
1.5 实验五:死锁的检测与避免 ........................................................ 错误!未定义书签。
3操作系统原理实验指导书 (1)
百度文库- 让每个人平等地提升自我!《操作系统原理》课程实验指导书(适用于网络工程专业)网络工程系辽宁工程技术大学软件学院年月日目录目录 (2)实验二银行家算法实现资源分配 (4)实验三调动算法的使用 (6)实验五文件管理实验 (12)实验一进程同步与互斥一、实验目的1.掌握基本的同步与互斥算法,理解生产者消费者模型。
2.学习使用Windows 2000/XP中基本的同步对象,掌握相关API的使用方法。
3.了解Windows 2000/XP中多线程的并发执行机制,实现进程的同步与互斥。
二、实验内容以生产者/消费者模型为依据,在Windows 2000环境下创建一个控制台进程,在该进程中创建n个线程模拟生产者和消费者,实现进程(线程)的同步与互斥。
三、实验性质验证性实验四、实验学时2学时五、实验环境《C与C++程序设计学习与实验系统》六、实验原理及步骤假设这些生产者和消费者相互是等效的,只要缓冲区不满,生产者便可将产品放入缓冲区;而只要缓冲区不为空,消费者便可从缓冲区取走一件产品。
需要两个私用信号量,empty表示缓冲区可接收产品的数目,full表示缓冲区已接收产品的数目。
empty的初值为N,即缓冲区的容量;full的初值为0。
我们还要增设一个公用信号量(mutex),初值为1,以保证这些生产者和消费者互斥地访问缓冲区。
此外,生产者和消费者必须同步,生产者不能向满缓冲区写数据,消费者不能从空缓冲区读数据。
1.测试用例文件测试用例文件用于描述各线程的有关信息,该文件内容及格式如下:31 P 32 P 43 C4 14 P 25 C 3 1 2 4说明:第一行给出的是程序中设置的临界区个数;其余各行是各进程信息。
每行中的数据之间用Tab键分隔。
第一列(除第一行外):线程号。
第二列:P——生产者,C——消费者。
第三列:线程在生产和消费前的休眠时间,单位为秒。
第四及以后各列:消费的产品所对应的生产者线程号。
《操作系统原理》课程设计指导书
《操作系统原理》课程设计指导书一、目的、意义本课程设计通过上机实验操作,使学生理解和掌握操作系统的基本概念与基本组成,准确掌握操作系统主要功能模块的工作原理和实现算法,进而在整体上对操作系统原理有深入的理解;通过熟练运用C或C++语言编程实现各操作系统模块功能,使学生掌握较好的软件模块设计技能;熟悉并能较好地利用软件开发环境独立编程、调试和分析程序运行情况,逐渐形成创新思维和从事系统软件的研究和开发能力。
培养学生利用计算机解决问题的基本思路和应用开发能力,培养学生综合运用知识、动手能力和解决实际问题的能力。
二、课程设计要求课设要求个人独立完成,并提交完整的课设报告。
课设报告的内容包括:l课设原理l设计思路l软件设计l源代码l可执行代码l用户使用说明l测试和运行效果l课设经验和总结三、学生课程设计前预习的内容1. 预习教材关于进程调度的原理2. 预习VC++进程创建和管理的相关编程技术课设内容:动态优先数高者优先进程调度算法一.实验目的1.加深对进程和进程调度概念的理解。
2.掌握VC编程技术。
二.实验内容使用C/C++高级语言和开发工具(VC++)编写和调试一个进程调度算法的模拟程序,调度算法采用动态优先数高者优先的原则。
三. 实验要求1、图形界面;2、动态显示地显示每个进程在每个CPU时间片的状态;3、文件记录调度过程。
三.实验原理1、调度算法和原则动态优先数高者优先调度算法把处理机分配给当前优先数最高的就绪进程,让其运行。
2、进程状态变迁为简便起见,每个进程的状态可以是就绪READY、运行RUNNING或完成FINISHED三种状态之一,其变迁图如下:图:进程的三个状态变迁进程优先数的具体改变(增加1或减少3)原则是进程在就绪队列中每等待1个时间片,其优先数加1;进程每运行1个时间片,其优先数减3,并置其于就绪状态等待重新调度。
进程控制块(PCB)的结构序号成员变量意义或操作方法1 进程名称ID 进程的标识2 优先数PRIORITY 越大优先权越高,在运行期间可以被动态改变。
《操作系统原理》报告
《操作系统原理》报告《操作系统原理》实验指导书班级:__信管***_____学号:__***__姓名:___***________信息管理与信息系统教研室目录实验题目二:模拟进程调度功能 (4)一、题目类型: (4)二、实验目的: (4)三、实验环境: (4)四、实验内容: (4)五、实验要求: (4)六、各功能简要说明: (5)七、程序清单: (5)八、程序中使用的数据结构及符号说明: (11)九、调试程序时出现问题说明及解决的方法: (11)实验题目五:模拟使用银行家算法判断系统的状态 (11)一、题目类型: (11)二、实验目的: (11)三、实验环境: (11)四、实验内容: (12)五、实验要求: (12)六、各功能简要说明: (13)七、程序清单: (13)(21)八、程序中使用的数据结构及符号说明: (21)九、程序调试时出现问题及解决的方法: (22)引言操作系统是信息管理与信息系统专业一门重要的专业理论课程,了解和掌握操作系统的基本概念、功能和实现原理,对认识整个计算机系统的工作原理十分重要。
操作系统实验是操作系统课程的一个重要组成部分,通过试验环节的锻炼使同学们不仅能够对以前的所学过的基础知识加以巩固,同时能够通过上机实验,对操作系统的抽象理论知识加以理解,最终达到融会贯通的目的,因此,实验环节是同学们理解、掌握操作系统基本理论的一个重要环节。
本实验指导书,根据教材中的重点内容设定了相应的实验题目,由于实验课程的学时有限,我们规定了必做题目和选做题目,其中必做题目必须在规定的上机学时中完成,必须有相应的预习报告和实验报告。
选做题目是针对有能力或感兴趣的同学利用课余时间或上机学时的剩余时间完成。
实验题目二:模拟进程调度功能一、题目类型:必做题目。
二、实验目的:通过本实验,进一步掌握进程调度的功能和实现原理。
三、实验环境:1、硬件:PC机及其兼容机。
2、软件:Windows OS,Turbo C或C++、VC++、、Java等。
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
《操作系统原理》实验指导书班级:_______________学号:_______________姓名:_______________山东建筑大学管理工程学院信息管理与信息系统教研室目录引言 (1)实验题目一 (2)实验题目二 (4)实验题目三 (6)实验题目四 (8)实验题目五 (10)实验题目六 (12)引言操作系统是信息管理与信息系统专业一门重要的专业理论课程,了解和掌握操作系统的基本概念、功能和实现原理,对认识整个计算机系统的工作原理十分重要。
操作系统实验是操作系统课程的一个重要组成部分,通过试验环节的锻炼使同学们不仅能够对以前的所学过的基础知识加以巩固,同时能够通过上机实验,对操作系统的抽象理论知识加以理解,最终达到融会贯通的目的,因此,实验环节是同学们理解、掌握操作系统基本理论的一个重要环节。
本实验指导书,根据教材中的重点内容设定了相应的实验题目,由于实验课程的学时有限,我们规定了必做题目和选做题目,其中必做题目必须在规定的上机学时中完成,必须有相应的预习报告和实验报告。
选做题目是针对有能力或感兴趣的同学利用课余时间或上机学时的剩余时间完成。
实验题目一:模拟进程创建、终止、阻塞、唤醒原语一、题目类型:必做题目。
二、实验目的:通过设计并调试创建、终止、阻塞、唤醒原语功能,有助于对操作系统中进程控制功能的理解,掌握操作系统模块的设计方法和工作原理。
三、实验环境:1、硬件:PC 机及其兼容机。
2、软件:Windows OS ,Turbo C 或C++、VC++、 、Java 等。
四、实验内容:1、设计创建、终止、阻塞、唤醒原语功能函数。
2、设计主函数,采用菜单结构(参见后面给出的流程图)。
3、设计“显示队列”函数,目的能将就绪、阻塞队列中的进程信息显示在屏幕上,以供随时查看各队列中进程的变化情况。
五、实验要求:1、进程PCB 中应包含以下内容:2、系统总体结构:其中:进程名用P1,P2标识。
优先级及运行时间:为实验题目二做准备。
状态为:就绪、运行、阻塞,三种基本状态。
指针:指向下一个PCB 。
六、各功能简要说明:1、创建:在本实验中,该功能仅实现建立PCB,初始化PCB,并将该PCB放入就绪队列中。
2、阻塞:在本实验中,实现的功能为,根据用户输入的进程名称在就绪队列中查找该进程,若该进程存在且在就绪队列中,则修改该进程PCB的状态,并将该进程从就绪队列转入阻塞队列;若该进程存在且已在阻塞队列中,则给出相应的提示信息;若该进程不存在,也需要给出相应的提示信息。
注意:若就绪队列为空,则不能执行阻塞功能。
3、唤醒:功能类似阻塞功能,注意:若阻塞队列为空,则不能执行唤醒功能。
4、终止:根据用户输入要结束的进程名称,从就绪队列或阻塞队列中找到相应的进程PCB,并将该PCB从相应队列中删除。
若该进程不存在,需要给出提示。
若就绪队列与阻塞队列均为空,则不能执行该功能。
5、显示:将就绪队列与阻塞队列中的进程列表显示出来。
七、其它注意事项:1、就绪队列与阻塞队列中不能存在同名进程,且总数最多为10个进程。
2、系统应有出错处理,如:功能选择不在0----5之间,应给出相应的提示,并重新选择功能。
3、界面应友好、美观,在任何情况下,都应有相应的提示信息。
例:创建进程时,屏幕上应提示用户输入什么信息:进程名:优先级:运行时间:4、完成时间: 4学时5、实验报告要求:第一页要求用专用的实验报告纸,其它可用8开的白纸。
报告内容包括:(1)实验题目:(2)实验目的:(3)实验环境:(4)实验内容:(5)算法流程图:(6)程序清单:(7)程序中使用的数据结构及符号说明:(8)调试程序时出现问题说明及解决的方法:实验题目二:模拟进程调度功能一、题目类型:必做题目。
二、实验目的:通过本实验,进一步掌握进程调度的功能和实现原理。
三、实验环境:同实验一。
四、实验内容:1、设计进程调度功能,至少模拟两种以上调度算法。
如:优先级调度算法、时间片调度算法等。
2、进程调度功能作为一个函数scheduler,加入到实验题目一中。
3、进程调度程序从就绪队列中挑选进程,若队列为空,应显示“无就绪进程无法调度”的提示信息。
4、若选上一个进程,以显示:进程名、状态、时间片、优先级等信息表示一个进程被执行。
若运行完,应删除相应PCB。
五、实验要求:1、在实验题目一中的主菜单中加入一个菜单项:6 调度,选择该菜单项后,系统进入进程调度。
2六、各功能简要说明:1、返回主菜单:当用户选择该项功能时,系统退出进程调度功能,返回到实验题目一中的主菜单。
2、优先级调度:选择该功能选项时,系统将从就绪队列中选择优先级最高的进程,使该进程处于执行状态(将进程PCB的内容显示在屏幕上,显示完成后,该进程结束,即撤销该进程的PCB)。
3、时间片调度:每选择一次该功能,将就绪队列中所有进程的内容显示在屏幕上,并将每个执行进程的执行时间减去一个时间片,若某进程的剩余时间小于等于0,则表明该进程运行结束,撤销该进程的PCB。
七、其它注意事项:1、设计界面要美观、友好。
2、若显示信息较多时,应考虑分屏显示。
3、完成时间:二周内。
4、时间充裕的同学,可参照下面的思想,对实验题目一、二进行修改:(1)为系统选定某种进程调度算法,选定后,系统将按照该调度算法进行进程的调度。
(2)创建进程:①当创建第一个进程时,该进程立即由就绪转入执行状态,作为运行的进程。
②若采用优先级调度算法,则考虑在创建新进程或唤醒某进程后,是否会引起重新调度。
(3)阻塞进程:只能阻塞当前正在执行的进程,阻塞后,需要按照调度算法,选择新的执行进程。
(4)唤醒进程:将阻塞队列中的某个进程唤醒转入就绪队列,注意,唤醒进程插入就绪队列后,是否会引起重新调度。
(5)终止进程:因为本实验中无法实现运行进程的自行终止,必须通过该功能实现进程的结束,因此,在设计系统时,要考虑,若终止的是执行进程,则会引起进程的重新调度。
若终止的不是执行进程,则不会引起重新调度。
(6)以上内容仅供同学们参考,有兴趣的同学可参照上面的基本思想及书上介绍的进程调度部分、进程基本状态之间的转换部分内容来完善该题目的设计。
八、实验报告要求:同实验一。
实验题目三:模拟动态分区首次适应分配和回收算法一、题目类型:必做题目。
二、实验目的:通过本实验,可加深理解动态分区分配、回收程序的功能和具体实现,特别是对回收分区的合并的理解。
三、实验环境:同实验一。
四、实验内容:1、 设计动态分区首次适应分配、回收算法。
2、 设计“未分配区说明表”,格式为:3、设计“已分配区说明表”,格式为:4、 设计显示程序,将“未分配区说明表”和“已分配区说明表”的内容,显示在屏幕上。
5、 初始分配从一个空闲区分配起,回收时要合并空区。
五、实验要求:1、 系统要求分配一个分区时,应输入:作业名、作业长度。
2、 回收一个分区时,应输入:回收的作业名。
回收的分区请注意是否需要进行合并。
3、五、各功能简要说明:1、分配功能:选择该功能后,首先输入需要分配空间的作业名及所需空间的大小。
然后,按照首次适用算法从空闲分区表中找到一个合适的分区,若找到,则划分相应的空闲分区给该作业(修改“未分配区说明表”和“已分配区说明表”中的内容);若没有找到,需要给出相应的提示信息。
2、回收算法:选择该功能后,首先输入需要回收的作业的名称,然后,系统按照该名称从“已分配区说明表”中找到该作业对应的表项,若找到,则回收该分区(修改“未分配区说明表”和“已分配区说明表”中的内容),要注意空闲分区的合并与空闲分区表需要按地址有序调整;若没有找到,则给出相应的提示信息。
3、显示分区表:将两个分区表的内容显示在屏幕上,以便随时查看程序的运行情况。
六、其它注意事项:1、“未分配区说明表”的初始化是指:将初始空闲分区的信息作为该表的第一个表项,且状态为1,其余空闲表项的状态为0。
2、分配时若剩余的碎片太小,则该小碎片不要作为空闲分区存在。
3、若无空闲分区满足一个作业的需求,但分散空闲分区的合并后能够满足该作业,考虑将适当的空闲分区合并。
4、“已分配区说明表”的初始化是指:将该表中每个表项的状态置为0。
5、显示分区表:只是将状态为1的表项显示出来。
6、完成时间:两周内。
七、实验报告要求:同实验一。
实验题目四:模拟请求分页管理中地址转换和缺页中断处理一、题目类型:必做题目。
二、实验目的:了解内存请求分页管理中地址转换过程与先进先出置换算法和缺页中断处理过程。
三、实验环境:同实验一。
四、实验内容:1、 在页式管理中,地址转换是由硬件完成的,实验中设计程序模拟地址转换过程。
2、 设计页表格式为:3、 设内存1块=1024B ,现有一个共8页的作业,其副本已存在磁盘上,设第0页至第2页已装入主存,其余5页都不在内存。
将页表进行初始化处理。
4、 假设每个作业只分配3块内存,按先进先出置换算法淘汰。
用“页面队列”表示淘汰的顺序。
页面队列5、设计缺页中断处理程序。
当对读入的逻辑地址,划分为页号、页内地址后,通过页表发现访问的页不在内存,转入“缺页中断处理”程序去处理。
1.指向最先调入的页2.采用“先进先出”页面置换算法进行缺页中断处理。
六、其它注意事项:1、输入的逻辑地址用十进制表示,但不超过7*1024 –1(因页表设了0---7个表目)。
2、可以尝试使用其它页面置换算法完成该题目。
3、完成时间:二周内。
七、实验报告要求:同实验一。
实验题目五:模拟使用银行家算法判断系统的状态一、题目类型:选作题目二、实验目的:银行家算法是操作系统中避免死锁的算法,本实验通过对银行家算法的模拟,加强学生对该算法的理解与应用。
三、实验环境:同实验一。
四、实验内容:1、建立T0时刻的资源分配表,初始化。
2、设计银行家算法,输入一个进程的资源请求,按银行家算法步骤进行检查。
3、设计安全性算法,检查某时系统是否安全。
4、设计显示函数,显示资源分配表,安全分配序列。
五、实验要求:1、T0时刻的资源分配表由进程数组,Max,Allocation,Need,Available 5个数组构成。
2、系统总体结构。
其中资源申请模块功能描述如下:六、各功能简要说明:1、资源申请:读入一个进程申请,按银行家算法,安全算法进行试分配。
2、显示资源分配表:分屏显示资源分配表某时刻状态。
3、退出:退出系统七、其它注意事项:1、设计界面要美观,友好2、显示资源分配表,可分屏显示3、完成时间:二周内(4学时)八、实验报告要求:同实验一。
实验题目六:模拟外存的分配与回收算法一、题目类型:选做题目。
二、实验目的:了解空闲盘块的组织方法,对空闲盘块的分配与回收,已分配盘块的组织方法。
三、实验环境:同实验题目一。