欢迎来到淘文阁 - 分享文档赚钱的网站! | 帮助中心 好文档才是您的得力助手!
淘文阁 - 分享文档赚钱的网站
全部分类
  • 研究报告>
  • 管理文献>
  • 标准材料>
  • 技术资料>
  • 教育专区>
  • 应用文书>
  • 生活休闲>
  • 考试试题>
  • pptx模板>
  • 工商注册>
  • 期刊短文>
  • 图片设计>
  • ImageVerifierCode 换一换

    操作系统原理实验.ppt

    • 资源ID:76295216       资源大小:459.50KB        全文页数:48页
    • 资源格式: PPT        下载积分:20金币
    快捷下载 游客一键下载
    会员登录下载
    微信登录下载
    三方登录下载: 微信开放平台登录   QQ登录  
    二维码
    微信扫一扫登录
    下载资源需要20金币
    邮箱/手机:
    温馨提示:
    快捷下载时,用户名和密码都是您填写的邮箱或者手机号,方便查询和重复下载(系统自动生成)。
    如填写123,账号就是123,密码也是123。
    支付方式: 支付宝    微信支付   
    验证码:   换一换

     
    账号:
    密码:
    验证码:   换一换
      忘记密码?
        
    友情提示
    2、PDF文件下载后,可能会被浏览器默认打开,此种情况可以点击浏览器菜单,保存网页到桌面,就可以正常下载了。
    3、本站不支持迅雷下载,请使用电脑自带的IE浏览器,或者360浏览器、谷歌浏览器下载即可。
    4、本站资源下载后的文档和图纸-无水印,预览文档经过压缩,下载后原文更清晰。
    5、试题试卷类文档,如果标题没有明确说明有答案则都视为没有答案,请知晓。

    操作系统原理实验.ppt

    操作系统原理实验操作系统原理实验主讲:张瑞红主讲:张瑞红操作系统实验课程操作系统实验课程一、课内学时分配一、课内学时分配内容学时实验报告次数实验0 linux基本环境20实验1 进程管理41实验2 进程间通信41实验3 存储管理81实验4 文件系统设计81课程设计1周1合计241周5操作系统实验课程操作系统实验课程二、考核方法二、考核方法 学生在实验前应该认真准备实验,根据实验讲义和课堂上学到的知识写出实验报告,带到实验现场。实验实验1 1 进程管理进程管理在本次实验中,在Linux环境下编写程序,完成:进程的创建结束 进程调度与切换 软中断机制的实现评分细则:参加实验:0.5分 完成实验报告:0.5分 完成进程创建结束程序设计:0.5分 完成软中断机制实现程序:0.5分操作系统实验课程操作系统实验课程实验实验2 2 进程间通信进程间通信 设计程序分别实现采用消息和管道进行进程间通信。评分细则:参加实验:0.2分 完成实验报告:0.2分 完成消息通信程序 0.3分 完成管道通信程序 0.3分 操作系统实验课程操作系统实验课程实验实验3 存储管理存储管理 在本次实验中,完成对页式虚拟存储系统的实现机理的分析,理解进程存储空间的表示、实现和管理,并设计简单的存储模拟系统。评分细则:参加实验:0.5分 完成实验报告:0.5分 完成对存储管理的源代码分析 1.0分 完成简单的存储模拟系统设计 1.0分操作系统实验课程操作系统实验课程实验实验4 文件系统设计文件系统设计 在本次实验中,根据Linux文件系统源代码,完成:分析Linux文件系统的实现的基本思想尝试设计简单的文件系统 评分细则:参加实验:0.5分 完成实验报告:0.5分 完成Linux文件系统分析 1.0分 完成模拟文件系统设计 1.0分操作系统实验课程操作系统实验课程 实验结束由实验指导教师根据实验记录,算出成绩。成绩等次如下:4.8分5.5分 及格 5.6分6.3分 中等 6.4分7.1分 良好 7.2分以上 优秀操作系统实验课程操作系统实验课程三、三、实验教科书、参考书实验教科书、参考书(一)教科书 张尧学 史美林计算机操作系统教程实验指导 清华大学出版社 2006(二)参考书 张尧学 史美林计算机操作系统教程清华大学出版社 2006 实验实验0 0 linux基本环境1 实验目的实验目的(1)熟悉Linux下的基本操作,学会使用各种Shell命令去操作Linux,对Linux有一个感性认识;(2)学会使用vi编辑器编辑简单的C语言程序,并能对其编译、调试和运行。实验实验0 0 linux基本环境2 实验预备内容实验预备内容(1)下载一款虚拟机,如VMWARE;(2)了解虚拟机的安装过程。实验实验0 0 linux基本环境3实验内容实验内容(1)常用命令使用常用命令使用 a)正确地登录和退出系统;login,logout等 b)熟悉date、cal、who、echo、clear、passwd命令;c)在用户主目录下对文件进行操作:复制一个文件、显示文件内容、查找指定内容、排序、文件比较、文件删除等;d)对目录进行管理:创建和删除子目录、改变和显示工作目录、列出和更改文件权限、链接文件等;e)利用man显示date、cp等命令的手册页;f)显示系统中的进程信息。实验实验0 0 linux基本环境3实验内容实验内容(2)vi编辑器编辑器 a)进入和退出vi以及保存;b)利用文本插入方式建立一个文本;c)在新建的文本文件上移动光标位置;d)对该文件执行删除、复原、修改、替换等操作。实验实验0 0 linux基本环境3实验内容实验内容 (3)常用开发工具常用开发工具 a)利用gcc编译C语言程序,使用不同选项,观察并分析显示结果;b)用gdb调试一个编译后的C语言程序;c)编写一个由多文件构成的C语言程序,编制makefile,运行make工具进行维护。4、思考、思考 (1)Linux系统在用户登陆和操作界面以及文件系统上有哪些特点?实验实验1 进程管理进程管理 1 实验目的实验目的(1)加深对进程概念的理解,明确进程和 程序的区别。(2)进一步认识并执行的实质。(3)分析进程争用资源的现象,学习解决 进程互斥的方法。(4)了解linux系统中进程通信的基本原理。实验实验1 进程管理进程管理2 实验预备内容实验预备内容(1)阅读linux的sched.h源码文件,加深对进程的管理概念的理解。(2)阅读linux的fork.c源码文件,分析进程的创建过程。实验实验1 进程管理进程管理3实验内容实验内容(1)进程的创建 写一段程序,使用系统调用fork()创建两个子进程。当此程序运行时,在系统中有一个父进程和两个子进程活动。让每一个进程在屏幕上显示一个字符;父进程显示字符a;子进程分别显示b和c。试观察记录屏幕上的显示结果,并分析原因。(2)进程的控制 修改已写的程序,将每一个进程输出一个字符改为每一个进程输出一句话,在观察程序执行时屏幕上出现的现象,并分析原因。如果在分析中使用系统调用lockf()来给每一个进程加锁,可以实现进程之间的互斥,观察并分析出现的现象。实验实验1 进程管理进程管理(3)编制一段程序,使其实现进程的软中断通信。要求:使用系统调用fork()创建两个子进程,再用系统调用signal()让父进程捕捉键盘上来的中断信号(即用ctrl+c键);当捕捉到中断信号后,父进程用系统调用kill()向两个子进程发去信号,子进程捕捉到信号后,分别输出以下信息后终止:child process 11 is killed by parent!Child process12 is killed by parent!父进程等待两个子进程终止后,输出以下信息后终止:parent process is killed!在上面的程序中增加语句signal(SIGINT,SIGIGN)signal(SIGOIT,SIG-IGN),并观察执行结果,并分析原因。实验实验1 进程管理进程管理()进程的管道通信 编制一段程序,实现进程的管道通信 使用系统调用pipe()建立一条管道线;两个子进程p1和p2分别向管道各写一句话:child1 is sending a message child2 is sending a message而父进程则从管道中读出子进程的信息,显示在屏幕上。要求进程先接受子进程P的信息,然后再接受子进程p发来的信息。增加内容增加内容:编写模拟进程调度程序。程序代码参照参考教材实验实验1 进程管理进程管理思考思考(1)系统是怎样创建流程的?(2)可执行文件加载时进行那些处理?(3)当首先调用新创建进程时,其入口在哪里?(4)进程通信有什么特点?(5)如果在一个进程中调用了一次lockf(),结果会如何?(6)pipe()是建立管道线,具体的空间大小有限制吗?能否改变管道的两个端口?实验实验2 进程间通信进程间通信 1实验目的实验目的 linux系统的进程通信机构(IPC)可以在任意进程间大批量地交换数据。本实验的目的是了解和熟悉通信的消息通信机制,共享存储区及信息量机制。2实验预备内容实验预备内容 阅读linux系统的msg.c和shm.c等源码文件,熟悉linux的三种通信机制。实验实验2 进程间通信进程间通信3实验内容实验内容(1)消息的创建,发送和接受。使用系统调用msgget(),msgsnd(),msgrev()j及msgctl()编制一长度为1k的消息发送和接受程序。思考:针对上面程序,说明控制消息队列系统调用msgctl()在此起什么作用?(2)共享存储区的创建,附接和断接 使用系统调用shmger(),shmat(),sgmdt(),shmctl().编制一个与上述功能相同的程序。(3)比较上述(1)、(2)两种消息通信机制中数据传输的时间。实验实验2 进程间通信进程间通信4、实验提示、实验提示(1)、消息的创建、发送和接受 程序设计:a)为了便于操作和观察结果,用一个程序作为“引子”,先后fork()两个子进程SERVER和CLIENT,进行通信。b)SERVER端建立一个KEY为75的消息队列,等待其他进程发来的消息。当遇到类型为1的消息,则作为结束信号,取消该队列,并退出SERVER。SERVER每接收到一个消息后显示一句“(server)received”。实验实验2 进程间通信进程间通信4、实验提示、实验提示(1)、消息的创建、发送和接受 程序设计:c)CLIENT端使用KEY为75的消息队列,先后发送类型从10到1的消息,然后退出。最后的一个消息,即是SERVER端需要的结束信号。CLIENT每发送一条消息后显示一句“(client)sent”。d)父进程在SERVER和CLIENT均退出后结束。实验实验2 进程间通信进程间通信(2)共享存储区的创建,附接和断接程序设计:a)为了便于操作和观察结果,用一个程序作为“引子”,先后fork()两个子进程SERVER和CLIENT,进行通信。b)SERVER端建立一个KEY为75的共享区,并将第一个字节置为-1。作为数据空的标志。等待其他进程发来的消息。当该字节的值发生变化时,表示收到了信息,进行处理。然后再次把他的值设为-1。如果遇到的值为0,则视为结束信号,取消该队列,并退出SERVER。SERVER每接收到一个数据后显示一句“(server)received”。实验实验2 进程间通信进程间通信(2)共享存储区的创建,附接和断接程序设计:c)CLIENT端建立一个KEY为75的共享区,当共享取得第一个字节为-1时,SERVER端空闲,可发送请求。CLIENT随即填入9到0。期间等待SERVER端的再次空闲。进行完这些操作后,CLIENT退出。CLIENT每发送一条数据后显示一句“(client)sent”。d)父进程在SERVER和CLIENT均退出后结束。实验实验2 进程间通信进程间通信(3)比较两种消息通信机制中的数据传输的时间 由于两种机制实现的机理和用处都不一样,难以直接进行时间上的比较。如果比较其性能,应更加全面地分析。a)消息队列的建立比共享区的设立消耗的资源少。前者只是一个软件上设定的问题,后者需要对硬件操作,实现内存的映像,当然控制起来比前者复杂。如果每次都重新进行队列或共享的建立,共享区的设立没有什么优势。实验实验2 进程间通信进程间通信(3)比较两种消息通信机制中的数据传输的时间 b)当消息队列和共享区建立好后,共享区的数据传输,受到了系统硬件的支持,不耗费多余的资源;而消息传递,由软件进行控制和实现,需要耗费一定的CPU资源。从这个意义上讲,共享区更适合频繁和大量的数据传输。c)消息的传递,自身就带有同步的控制。当等到消息的时候,进程进入睡眠状态,不再消耗CPU资源。而共享队列如果不借助其他机制进行同步,接收数据的一方必须进行不断的查询,白白浪费了大量的CPU资源。可见,消息方式的使用更加灵活。程序代码参照参考教材实验实验3 存储管理存储管理1实验目的实验目的 存储管理的主要功能之一是合理地分配和回收空间,请求页式管理是一种常用的虚拟存储管理技术。本实验的目的是(1)通过请求页式存储管理中页面置换算法模拟设计,了解虚拟存储技术的特点,掌握请求页式存储管理的页面置换算法。(2)通过设计程序模拟分区存储管理以实现存储管理的功能。实验实验3 存储管理存储管理2实验内容实验内容 通过随机产生一个指令序列,共320条指令。指令的地址下述原则生成:50%的指令是顺序执行的;25%的指令是均匀分布在前地址部分;25%的指令是均匀分布在后地址部分;具体的实施方法是:在(0,319)的指令地址之间随机选取一起点m;顺序执行一条指令,即执行地址为m+1的指令;在前地址0,m+1中随即选取一条指令并执行,该指令的地址为 m 顺序执行一条指令,其地址为 m+1 在后地址(m+2,319)中选取一条指令并执行:重复上述步 ,直到执行320条指令。实验实验3 存储管理存储管理(2)将指令系列变换成页地址流 设:页面大小为1k;用户内存容量为4页到32页;用户假设容量为32k在用户虚存中,按每K存放10条指令排列虚存地址,即320条指令在虚存中的存放方式:第 0条 第9条指令为第0页(对应虚存地址为0,9);第10条第19条指令为第1页(对应虚存地址为10,19);第310条第319条指令为第32页(对应虚存地址为310,319);按以上方式,用户指令可组成32页。实验实验3 存储管理存储管理(3)计算并输出下面算法在不同内存容量下的命中率。先进先出的算法(FIFO);最近最少使用算法(LRR);最佳淘汰算法(OPT):先淘汰最不常用的页地址;最少访问页面算法();最近最不经常使用算法(NUR);其中和的内容选择一个。命中率=1-页面失效次数/页地址流长度 本实验中,页面地址流长度为320,页面失效次数为每次访问相应指令数时。该指令所对应的页不在内存的次数。实验实验3 存储管理存储管理3随机数产生的办法随机数产生的办法 关于随机数产生办法,系统或提供函数srand()和rand(),分别进行初始化和产生随机数。例如:srand();语句可初始化一个随机数;a0=10*rand()/32767*319+1;a1=10*rand()/32767*a0;语句可用来产生a0与a1中的随机数。实验实验3 存储管理存储管理4、实验提示、实验提示 程序设计:本实验的程序设计基本上按照实验内容进行。即首先用srand()和rand()函数定义和产生指令序列,然后将指令序列变换成相应的页地址流,并针对不同的算法计算出相应的命中率。相关定义如下:(1)数据结构 页面类型 Typedef struct int pn,pfn,counter,time;p1-type;其中pn为页号,pfn为面号,counter为一个周期内访问该页面次数,time为访问时间。程序代码参照参考教材实验实验3 存储管理存储管理 页面控制结构 pfc_struct int pn,pfn;struct pfc_struct*next;typedef struct pfc_struct pfc_type;pfc_type pfctotal_vp,*freepf_head,*busypf_head;pfc_type*busypf_tail;其中pfctotal_vp定义用户进程虚页控制结构,*freepf_head为空页面头的指针,*busypf_head为忙页面头的指针,*busypf_tail为忙页面尾的指针。实验实验3 存储管理存储管理(2)函数定义 void initialize():初始化函数,给每个相关的 页面赋值。void FIFO():计算使用FIFO算法时的命中率。void LRU():计算使用LRU算法时的命中率。void OPT():计算使用OPT算法时的命中率。void LFU():计算使用LFU算法时的命中率。void NUR():计算使用NUR算法时的命中率。实验实验3 存储管理存储管理(3)变量定义 int atotal_instruction:指令流数据组。int pagetotal_instruction:每条指令所属页号。int offsettotal_instruction:每页装入10条 指令后取模运算页号偏移值。int total_pf:用户进程的内存页面数。int diseffect:页面失效次数。增加内容增加内容:采用首次适应算法、最佳适应算法和最坏适应算法模拟分区管理的内存分配与回收。实验四实验四 文件系统设计文件系统设计1实验目的实验目的 通过一个简单多用户文件系统的设计,加深理解文件系统的内部功能及内部实现。实验四实验四 文件系统设计文件系统设计实验内容实验内容 为linux系统设计一个简单的二级文件系统。要求做到以下几点:()可以实现下列几条命令(至少条);login 用户登陆 dir 列用户目录 create创建文件 delete 删去文件 open 打开文件 close 关闭文件 read 读文件 write 写文件()列目录要列出文件名,物理地址,保护码和文件长度;()源文件可以进行读写保护。实验四实验四 文件系统设计文件系统设计实验提示实验提示(1)首先应确定文件系统的数据结构:主目录,子目录和活动目录等。主目录和子目录都以文件形式存于磁盘,这样便于查找和修改。(2)用 户 创 建 的 文 件,都 以 编 号 存 于 磁 盘,如file0,file1.file2.并以编号作为物理地址,在目录中进行登记。(3)设计思想 本文件系统采用两极目录,其中第一级对应于用户账号,第二级对应于用户账号下的文件。另外,为了简单本文件系统未考虑文件共享、文件系统安全以及管道文件与设备文件等特殊内容。对这些内容感兴趣的同学,可以在本系统的程序基础上进行扩充。程序代码参照参考教材操作系统课程设计操作系统课程设计一、设计要求:一、设计要求:1根据设计任务,用自己熟悉的计算机语言编制程序,在机器上调试运行,并通过上机考核。2按照学校“课程设计报告格式”的要求,写出课程设计报告,并提交“课程设计说明书”的书面和电子两种版本,以及相关源程序和能够运行的执行文件;3课程设计报告在规定的时间内交上来。操作系统课程设计操作系统课程设计二、设计任务(两项任选一项)二、设计任务(两项任选一项)1、生产者、消费者问题实验目的实验目的:全面理解生产者与消费者问题模型,掌握解决该问题的算法思想,正确使用同步机制。实验内容:实验内容:在Windows xp环境下,创建一个控制台进程,此进程包含n个线程。用这n个线程来表示n个读者或写者。每个线程按相应测试数据文件(后面介绍)的要求进行读写操作。用信号量机制分别实现读者优先和写者优先问题。操作系统课程设计操作系统课程设计实验要求:实验要求:读者-写者问题的读写操作限制(包括读者优先和写者优先)1)写-写互斥:不能有两个写者同时进行写操作2)读-写互斥:不能同时有一个线程在读,而另 一个线程在写。3)读-读允许:可以有一个或多个读者在读。读者优先的附加限制:如果读者申请进行读操作时已有另一个读者正在进行读操作,则该读者可直接开始读操作。操作系统课程设计操作系统课程设计 写者优先的附加限制:如果一个读者申请进行读操作时已有另一个写者在等待访问共享资源,则该读者必须等到没有写者处于等待状态后才能开始读操作。运行结果显示要求:要求在每个线程创建、发出读写申请、开始读写操作和结束读写操作时分别显示一行提示信息,以确定所有处理都遵守相应的读写操作限制。操作系统课程设计操作系统课程设计2银行家算法实现实验目的:实验目的:熟悉银行家算法,加深死锁有关概念的理解。实验内容:实验内容:编制银行家算法通用程序,并检测思考题中所给状态的安全性。操作系统课程设计操作系统课程设计实验要求:实验要求:(1)下列状态是否安全?(三个进程共享12个同类资源)进程 已分配资源数 最大需求数 1 1 4 2 4 4 (状态a)3 5 8 1 1 4 2 4 6 (状态b)3 6 8操作系统课程设计操作系统课程设计(2)考虑下列系统状态 分配矩阵 最大需求矩阵可用资源矩阵 0 0 1 2 0 0 1 2 1 5 2 0 1 0 0 0 1 7 5 0 1 3 5 4 2 3 5 6 0 6 3 2 0 6 5 2 0 0 1 4 0 6 5 6 问系统是否安全?若安全就给出所有的安全序列。若进程2请求(0420),可否立即分配?操作系统课程设计操作系统课程设计三、课程设计说明书应具有的内容及其参三、课程设计说明书应具有的内容及其参 考评分标准:考评分标准:(1)设计思想说明(10分);(2)数据结构的说明(10分);(3)各模块的算法流程图(10分);(4)程序清单:注意加注释(包含关键字、方法、变量等),在每个模块前加注释;(共60分,其中书面源程序占20分,U盘(或光盘或网上传递来)的源程序中的文件系统及其各功能在计算机上实现程度占40分)(5)使用说明书(即用户手册)(内容包含如何登录、退出、读、写、等操作说明)(5分)(6)体会,建议(5分)操作系统课程设计操作系统课程设计四、注意事项四、注意事项1按“课程设计需提交内容”提交完整的相关设 计资料。2严禁抄袭,复制设计内容,查出后相关同学 设计成绩以零分处理。3所提交源程序应是能够运行通过的完整程序。4程序中所设置用户名和密码,应在课程设计 说明书中明确说明并实际运行通过。

    注意事项

    本文(操作系统原理实验.ppt)为本站会员(创****公)主动上传,淘文阁 - 分享文档赚钱的网站仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对上载内容本身不做任何修改或编辑。 若此文所含内容侵犯了您的版权或隐私,请立即通知淘文阁 - 分享文档赚钱的网站(点击联系客服),我们立即给予删除!

    温馨提示:如果因为网速或其他原因下载失败请重新下载,重复下载不扣分。




    关于淘文阁 - 版权申诉 - 用户使用规则 - 积分规则 - 联系我们

    本站为文档C TO C交易模式,本站只提供存储空间、用户上传的文档直接被用户下载,本站只是中间服务平台,本站所有文档下载所得的收益归上传人(含作者)所有。本站仅对用户上传内容的表现方式做保护处理,对上载内容本身不做任何修改或编辑。若文档所含内容侵犯了您的版权或隐私,请立即通知淘文阁网,我们立即给予删除!客服QQ:136780468 微信:18945177775 电话:18904686070

    工信部备案号:黑ICP备15003705号 © 2020-2023 www.taowenge.com 淘文阁 

    收起
    展开