安徽大学-操作系统实验指导-周爱武

  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。

操作系统实验指导

实验计划及实验项目

操作系统实验课程计划学时36学时,1学分,下表列出实验项目,其中必做实验24学时,选做实验12学时(从24学时的可选做实验项目中任选12学时)。

一、操作系统接口实验

实验目的

熟悉操作系统的命令接口、图形接口和程序接口。

实验内容

▪UNIX或LINUX环境:

✧熟悉开机登录进入系统、退出系统的过程。

✧使用UNIX或LINUX常用命令以及图形化接口X-Windows。

✧使用C语言编制一个小程序,使其可以通过某个系统调用来获

得操作系统的服务。

▪Windows环境:

✧熟悉开机登录进入系统、退出系统的过程。

✧熟悉使用命方式启动应用程序的过程、熟悉Windows图形用户

接口。

✧编程实现一个操作系统的简单命令解释程序。

✧使用汇编语言编制一个小程序,使其可以通过某些系统调用来获

得操作系统的服务。

实验分析和思考

▪操作系统向用户提供的各种接口分别适用于什么场合?

实验学时安排

6学时,在第一章学习完之后可以进行。(选做)

实验题目

(1)命令接口实验

利用操作系统的用户接口编写程序实现一个操作系统的简单shell程序,实现对一些简单命令的解释执行。具体内容包括:

✧查阅相关函数system(cmd)的调用方法,掌握它的用法;

✧掌握操作系统用户接口的使用方法;

✧编写主函数,实现一个微型命令解释程序,该程序可以接受并解释以下

命令:

⏹dir 列出当前目录

⏹copy file1 file2 拷贝文件

⏹del filename 删除文件

⏹echo string 显示字符串

⏹exit 结束、退出

(2) 程序接口实验

使用DOS系统功能调用进行编程,实现文件操作。(在DOS下用3ch号功能创建一个文件,3dh号功能打开一个文件,3eh好功能关闭一个文件,3fh号功能读文件,40h号功能写文件。 windows下用CreatFile创建一个文件,CloseHandle关闭文件,WriteFile写文件OpenFile打开文件,还有很多文件操作的api,可以查阅资料)

【示例1】用汇编语言编程把输入的信息写到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 ;要写的字节数

LEA DX,BUFFER

MOV AH,40H ;40H好功能调用,写文件

INT 21H

JMP END0

ERROR:

MOV AH,9

LEA DX,EMSG

INT 21H

END0:

MOV AH,4CH

INT 21H

CODE ENDS

END START

改进要求:

1)文件未关闭,请在合适位置增加关闭文件功能;

2)文件名改为从键盘输入;

3)字符串从键盘输入;

【示例2】将文本文件内容读入内存并显示在屏幕上。比如此文本文件叫做test.txt,内容是:(两行)

1234

56789

DSEG SEGMENT ;数据段:在此处添加程序所需的数据

PATHNM1 DB 'D:/TEST.TXT'

BUFFER1 DB 100 DUP (?)

DSEG ENDS

CSEG SEGMENT

assume cs:CSEG, ds:DSEG

START: mov ax, dseg

mov ds, ax

;打开文件TEST.TXT

MOV AH,3DH

LEA DX,PATHNM1

MOV AL,2

INT 21H

;读取文件内容,存入BUFFER1

LEA DX,BUFFER1

MOV BX,AX

MOV CX,100

MOV AH,3FH

INT 21H

;显示BUFFER1中的内容

MOV CX,AX

LEA SI,BUFFER1

NEXT:

MOV DL,[SI]

MOV AH,2

INT 21H

INC SI

LOOP NEXT

;关闭文件

MOV AH,3EH

INT 21H

;按任意键退出

mov ah,1

int 21h

mov ax, 4c00h ;程序结束,返回到操作系统系统

int 21h

CSEG ENDS

END START

改进要求:

1)文件名改为从键盘输入;

2)字符串写入另一文件;

相关文档
最新文档