欢迎来到天天文库
浏览记录
ID:39962920
大小:625.50 KB
页数:48页
时间:2019-07-16
《[工学]基于linux内核的操作系统实验体系》由会员上传分享,免费在线阅读,更多相关内容在教育资源-天天文库。
1、基于Linux内核的操作系统实验体系一、进程管理实验二、存储管理实验三、用户接口实验四、模块编程实验五、设备管理实验六、文件系统实验七、操作系统的构成实验实验一、进程管理实验一、实验目的二、实验要求三、准备知识四、实验步骤和指导实验目的加深对进程概念的理解,明确进程和程序的区别;进一步认识并发执行的实质;分析进程争用资源的现象,学习解决进程互斥的方法;了解Linux系统中进程通信的基本原理准备知识进程的概念;进程与程序的区别。并发执行的概念。进程互斥的概念。进程通信的基本原理实验内容编制一段程序,实现软中断通信使用系统调用fork()创建两个子进程,再用系统调用signal
2、()让父进程捕捉键盘上来的中断信号(即按Del键),当父进程接受到这两个软中断的其中某一个后,父进程用系统调用kill()向两个子进程分别发送整数值为16和17软中断信号,子进程获得对应软中断信号后,分别输出下列信息后终止:Childprocess1iskilledbyparent!!Childprocess2iskilledbyparent!!父进程调用wait()函数等待两个子进程终止后,输出以下信息后终止:Parentprocessiskilled!!多运行几次编写的程序,简略分析出现不同结果的原因。编制一段程序,实现进程的管道通信使用系统调用pipe()建立一条管道
3、线,两个子进程分别向管道各写一句话:Childprocess1issendingamessage!Childprocess2issendingamessage!而父进程则从管道中读出来自于两个子进程的信息,显示在屏幕上。要求:父进程先接收子进程P1发来的消息,然后再接收子进程P2发来的消息。实验二:存储管理实验一、实验目的二、实验要求三、准备知识四、实验步骤和指导实验目的理解内存页面调度的机理,掌握几种理论调度算法实现,并通过实验比较各种调度算法的优劣。此外通过实验了解HASH表数据结构的使用。准备知识C++。指针、结构体(类)。数据结构HASH表查找方式。操作系统相关内存
4、交换知识。可能用到的几个LINUX函数:intgetpid()//获得当前进程的idvoidsrand(inta)//以a为种子,为后面产生随机数作准备intrand()//根据前面的种子,返回一个随机数实验内容对比几种算法的命中率。先进先出的算法。FIFO(FirstInFirstOut)最近最少使用的算法。LRU(LeastRecentlyUsed)最近未使用算法。NUR(NeverUsedRecently)最佳置换算法。OPT(OptimalReplacement)实验指导FIFO原理简述算法实现提示⑴初始化。设置两个数组page[ap]和pagecontrol[pp
5、]分别表示进程页面数和内存分配的页面数,并产生一个的随机数序列main[total_instruction](当然这个序列由page[]的下标随机构成),表示待处理的进程页面顺序,diseffect置零。⑵看main[]中是否有下一个元素,有就由main[]中获取该页面下标,并转到⑶;没有,就转到⑺。⑶如果该page业已在内存中,就转到⑵;否则就到⑷,同时未命中的diseffect加1。⑷观察pagecontrol是否占满,如果占满需将使用队列(⑹中建立的)中最先进入的(就是队列第一个单元)pagecontrol单元“清干净”,同时将对应的page[]单元置为“不在内存中”
6、。⑸将该page[]与pagecontrol[]建立关系(可以改变pagecontrol[]的标示位,也可以采用指针连接,总之至少要使对应的pagecontrol单元包含两个信息:一是它被使用了,另外是哪个page[]单元使用的;page[]单元包含两个信息:对应的pagecontrol单元号、本page[]单元已在内存中);⑹将用到的pagecontrol置入使用队列(这里的队列当然是一种先进先出的数据结构了,而不是泛指),返回⑵;⑺显示命中率。最近最少使用的算法。LRU(LeastRecentlyUsed)最近未使用算法。NUR(NeverUsedRecently)最佳
7、置换算法。OPT(OptimalReplacement)请同学们自己设计实现改进的CLOCK算法。实验三:用户接口实验一、控制台命令接口二、系统调用控制台命令接口实验目的理解面向操作命令的接口SHELL。学会简单的SHELL编程。准备知识Bash的原理建立Bash脚本编辑文件测试脚本:$sourcescript更改脚本属性:$chmoda+xscript执行脚本:$./script实验内容查看Bash版本$echo$BASH_VERSION编写Bash脚本,统计/my目录下c语言文件的个数#!/bin/bashfu
此文档下载收益归作者所有