操作系统实验指导
实验计划及实验项目
操作系统实验课程计划学时36学时,1学分,下表列出实验项目,其中必做实验24学时,选做实验12学时(从24学时的可选做实验项目中任选12学时)。
序号名称类型开出
要求目的要求人∕组学时1进程调度模拟实验基础必做1.熟悉进程控制块的作用和实现技术;
2.熟悉操作系统的进程调度算法及实现方法。162作业调度模拟实验基础选做1.熟悉作业控制块的作用和实现技术;
2.熟悉操作系统的作业调度算法及实现方法。163存储器管理实验综合必做1.理解分区式存储管理的基本原理
2.熟悉分区分配和回收算法164虚拟存储器管理实验验证必做1.理解页式虚拟存储管理的基本原理
2.熟悉常用的页面置换算法165文件管理实验设计选做1.模拟文件系统的基本功能
2.了解文件系统的基本结构和文件管理方法3-4126操作系统接口实验验证选做1.熟悉操作系统的用户接口。
2.利用汇编语言编程进行系统功能调用。167银行家算法实验验证必做1.了解死锁的产生和避免的办法
2. 编程实现银行家算法,并设计实验数据验证其避免死锁的资源分配策略。16
一、操作系统接口实验
实验目的
熟悉操作系统的命令接口、图形接口和程序接口。
实验内容
UNIX或LINUX环境:
熟悉开机登录进入系统、退出系统的过程。
使用UNIX或LINUX常用命令以及图形化接口X-Windows。
使用C语言编制一个小程序,使其可以通过某个系统调用来获得操作系统的服务。
Windows环境:
熟悉开机登录进入系统、退出系统的过程。
熟悉使用命方式启动应用程序的过程、熟悉Windows图形用户接口。
编程实现一个操作系统的简单命令解释程序。
使用汇编语言编制一个小程序,使其可以通过某些系统调用来获得操作系统的服务。
实验分析和思考
操作系统向用户提供的各种接口分别适用于什么场合?
实验学时安排
6学时,在第一章学习完之后可以进行。(选做)
实验题目
(1)命令接口实验
利用操作系统的用户接口编写程序实现一个操作系统的简单shell程序,实现对一些简单命令的解释执行。具体内容包括:
查阅相关函数system(cmd)的调用方法,掌握它的用法;
掌握操作系统用户接口的使用方法;
编写主函数,实现一个微型命令解释程序,该程序可以接受并解释以下命令:
dir 列出当前目录
copy file1 file2 拷贝文件
del filename 删除文件
echo string 显示字符串
exit 结束、退出
(2) 程序接口实验
使用系统功能调用在下用3ch号功能创建一个文件,3dh号功能打开一个文件,3eh好功能关闭一个文件,3fh号功能读文件,40h号功能写文件。 windows下用CreatFile创建一个文件,CloseHandle关闭文件,WriteFile写文件OpenFile打开文件,还有很多文件操作的api,可以用汇编语言把输入的信息写到txt文件中DATA ? ? ? ? ? SEGMENT ?
? BUFFER ? ? ? DB ? ? 'ABCDEF' ?
? FILENAME ? DB ? ? 'A.TXT' ?
? EMSG ? ? ? ? ? DB ? ? 'ERROR!','$' ?
? DATA ? ? ? ? ? ENDS ?
? STACK1 ? ? ? SEGMENT ? PARA ? STACK ?
? DW ? ? ? ? ? ? ? 20H ? DUP(0) ?
? STACK1 ? ? ? ENDS ?
? CODE ? ? ? ? ? SEGMENT ?
? ASSUME ? ? ? DS:DATA,SS:STACK1,CS:CODE ?
? START: ?
? MOV ? ? AX,DATA ?
? MOV ? ? DS,AX ?
? MOV ? ? AH,3CH ? ? ? ? ? ? ? ? ? ? ? ;3CH号功能,创建文件,也可以用5BH号功能 ?? MOV ? ? CX,0 ? ? ? ? ? ? ? ? ? ? ? ? ? ;文件属性 ? ? LEA ? ? DX,FILENAME ?
? INT ? ? 21H ?
? JZ ? ? ? ERROR ? ? ? ? ? ? ? ? ? ? ? ? ;若CF=1则出错处理 ? ? MOV ? ? BX,AX ? ? ? ? ? ? ? ? ? ? ? ? ;AX中为文件句 ?
? MOV ? ? CX,6 ? ? ? ? ? ? ? ? ? ? ? ? ? ;