安徽大学操作系统实验指导周爱武Word文档格式.docx
- 文档编号:15686341
- 上传时间:2022-11-15
- 格式:DOCX
- 页数:17
- 大小:92.74KB
安徽大学操作系统实验指导周爱武Word文档格式.docx
《安徽大学操作系统实验指导周爱武Word文档格式.docx》由会员分享,可在线阅读,更多相关《安徽大学操作系统实验指导周爱武Word文档格式.docx(17页珍藏版)》请在冰豆网上搜索。
存储器管理实验
综合
1.理解分区式存储管理的基本原理
2.熟悉分区分配和回收算法
4
虚拟存储器管理实验
验证
1.理解页式虚拟存储管理的基本原理
2.熟悉常用的页面置换算法
5
文件管理实验
设计
1.模拟文件系统的基本功能
2.了解文件系统的基本结构和文件管理方法
3-4
12
操作系统接口实验
1.熟悉操作系统的用户接口。
2.利用汇编语言编程进行系统功能调用。
7
银行家算法实验
1.了解死锁的产生和避免的办法
2.编程实现银行家算法,并设计实验数据验证其避免死锁的资源分配策略。
一、操作系统接口实验
实验目的
熟悉操作系统的命令接口、图形接口和程序接口。
实验内容
▪UNIX或LINUX环境:
✧熟悉开机登录进入系统、退出系统的过程。
✧使用UNIX或LINUX常用命令以及图形化接口X-Windows。
✧使用C语言编制一个小程序,使其可以通过某个系统调用来获得操作系统的服务。
▪Windows环境:
✧熟悉使用命方式启动应用程序的过程、熟悉Windows图形用户接口。
✧编程实现一个操作系统的简单命令解释程序。
✧使用汇编语言编制一个小程序,使其可以通过某些系统调用来获得操作系统的服务。
实验分析和思考
▪操作系统向用户提供的各种接口分别适用于什么场合?
实验学时安排
6学时,在第一章学习完之后可以进行。
(选做)
实验题目
(1)命令接口实验
利用操作系统的用户接口编写程序实现一个操作系统的简单shell程序,实现对一些简单命令的解释执行。
具体内容包括:
✧查阅相关函数system(cmd)的调用方法,掌握它的用法;
✧掌握操作系统用户接口的使用方法;
✧编写主函数,实现一个微型命令解释程序,该程序可以接受并解释以下命令:
⏹dir列出当前目录
⏹copyfile1file2拷贝文件
⏹delfilename删除文件
⏹echostring显示字符串
⏹exit结束、退出
(2)程序接口实验
使用DOS系统功能调用进行编程,实现文件操作。
(在DOS下用3ch号功能创建一个文件,3dh号功能打开一个文件,3eh好功能关闭一个文件,3fh号功能读文件,40h号功能写文件。
windows下用CreatFile创建一个文件,CloseHandle关闭文件,WriteFile写文件OpenFile打开文件,还有很多文件操作的api,可以查阅资料)
【示例1】用汇编语言编程把输入的信息写到txt文件中。
DATA
SEGMENT
BUFFER
DB
'
ABCDEF'
FILENAME
A.TXT'
EMSG
ERROR!
'
'
$'
DATA
ENDS
STACK1
PARA
STACK
DW
20H
DUP(0)
CODE
ASSUME
DS:
DATA,SS:
STACK1,CS:
CODE
START:
MOV
AX,DATA
DS,AX
AH,3CH
;
3CH号功能,创建文件,也可以用5BH号功能
CX,0
文件属性
LEA
DX,FILENAME
INT
21H
JZ
ERROR
若CF=1则出错处理
BX,AX
AX中为文件句柄
CX,6
要写的字节数
DX,BUFFER
AH,40H
40H好功能调用,写文件
JMP
END0
ERROR:
AH,9
DX,EMSG
END0:
AH,4CH
END
START
改进要求:
1)文件未关闭,请在合适位置增加关闭文件功能;
2)文件名改为从键盘输入;
3)字符串从键盘输入;
【示例2】将文本文件内容读入内存并显示在屏幕上。
比如此文本文件叫做test.txt,内容是:
(两行)
1234
56789
DSEGSEGMENT;
数据段:
在此处添加程序所需的数据
PATHNM1DB'
D:
/TEST.TXT'
BUFFER1DB100DUP(?
)
DSEGENDS
CSEGSEGMENT
assumecs:
CSEG,ds:
DSEG
START:
movax,dseg
movds,ax
;
打开文件TEST.TXT
MOVAH,3DH
LEADX,PATHNM1
MOVAL,2
INT21H
读取文件内容,存入BUFFER1
LEADX,BUFFER1
MOVBX,AX
MOVCX,100
MOVAH,3FH
显示BUFFER1中的内容
MOVCX,AX
LEASI,BUFFER1
NEXT:
MOVDL,[SI]
MOVAH,2
INCSI
LOOPNEXT
关闭文件
MOVAH,3EH
按任意键退出
movah,1
int21h
movax,4c00h;
程序结束,返回到操作系统系统
CSEGENDS
ENDSTART
1)文件名改为从键盘输入;
2)字符串写入另一文件;
二、作业调度模拟实验
用高级语言编写和调试一个或多个作业调度的模拟程序,以加深对作业调度算法的理解。
为单道批处理系统设计一个作业调度程序。
说明:
由于在单道批处理系统中,作业一投入运行,它就占有计算机的一切资源直到作业完成为止,因此调度作业时不必考虑它所需要的资源是否得到满足,它所占用的CPU时限等因素。
作业调度算法:
✧先来先服务(FCFS)调度算法,即按作业提交的先后次序进行调度,总是首先调度在系统中等待时间最长的作业。
✧短作业优先调度算法;
✧响应比搞着优先调度算法;
每个作业由一个作业控制块JCB表示,JCB可以包含如下信息:
作业名、提交时间、所需的运行时间、所需的资源、作业状态、链指针等等。
作业的状态可以是等待W(Wait)、运行R(Run)和完成F(Finish)三种状态之一。
每个作业的最初状态总是等待W。
各个等待的作业按照提交时刻的先后次序排队,总是首先调度等待队列中队首的作业。
每个作业完成后要打印该作业的开始运行时刻、完成时刻、周转时间和带权周转时间,这一组作业完成后要计算并打印这组作业的平均周转时间、带权平均周转时间。
调度算法的流程图如下:
▪什么类型的操作系统必须具有作业调度功能?
▪作业调度算法性能如何衡量?
▪多道批处理系统作业调度要考虑哪些因素?
6学时,在调度与死锁内容学习之后进行。
三、银行家算法实验
通过对银行家算法的模拟加深对死锁概念的认识,掌握解决死锁问题的方法。
用C语言、Pascal语言或其他开发工具实现银行家算法模拟程序,输入系统资源配置情况、进程资源最大需求、占用情况后,能够判断系统是否安全,对某进程的一次资源请求,能够决定是否实施分配。
算法具体内容参见《计算机操作系统》教材。
▪产生死锁的四个必要条件是什么?
▪解决死锁问题的方法有哪些?
▪银行家算法是如何解决死锁问题的?
(必做)
四、进程调度模拟实验
通过对进程调度算法的模拟加深对进程概念和进程调度过程的理解。
▪用C语言或Pascal语言实现对N(N=5)个进程的调度模拟,要求至少采用两种不同的调度算法(如简单轮转法RoundRobin和优先权高者优先算法HighestPriorityFirst),分别进行模拟调度。
▪每个用来标识进程的进程控制块PCB用结构(记录)来描述,根据需要,它包括以下字段:
✧进程标识数ID。
✧进程优先数Priority,并规定优先数越大的进程,其优先权越高。
采用简单轮转法时该字段无用。
✧进程已经占用的CPU时间CPUTIME。
✧进程还需占用的CPU时间ALLTIME。
当进程运行完毕时,ALLTIME变为0。
✧进程的阻塞时间STARTBLOCK,表示当进程再运行STARTBLOCK个时间片后,进程将进入阻塞状态。
✧进程被阻塞的时间BLOCKTIME,表示已经阻塞的进程再等待BLOCKTIME格时间片后,将转换成就绪状态。
✧进程状态STATE。
✧队列指针NEXT,用来将PCB排成队列。
▪优先数改变的原则(采用简单轮转法时该字段无用):
✧进程在就绪队列中等待一个时间片,优先数增加1;
✧进程每运行一个时间片,优先数减3。
▪假设在进行调度前,系统中有5个进程,它们的初始状态可以编程输入(更具有灵活性),例如可以初始化为如下内容:
ID
PRIORITY
CPUTIME
ALLTIME
STARTBLOCK
BLOCKTIME
STATE
9
READY
38
-1
30
29
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 安徽大学 操作系统 实验 指导 周爱武