77范文网 - 专业文章范例文档资料分享平台

操作系统原理实验指导书

来源:网络收集 时间:2020-06-03 下载这篇文档 手机版
说明:文章内容仅供预览,部分内容可能不全,需要完整文档或者需要复制内容,请下载word后使用。下载word有问题请添加微信号:或QQ: 处理(尽可能给您提供完整文档),感谢您的支持与谅解。点击这里给我发消息

目 录

实验一 系统功能调用........................................................ 1 实验二 熟悉Linux环境 ...................................................... 5 实验三 shell脚本 ......................................................... 13 实验四 进程控制 .......................................................... 17 实验五 进程间通信......................................................... 21 (一) 信号量机制实验........................................................ 21 实验五 进程间通信......................................................... 27 (二) 进程的管道通信实验.................................................... 27 实验五 进程间通信......................................................... 31 (三) 消息的发送与接收实验 .................................................. 31 实验五 进程间通信 ......................................................... 36 (四) 共享存储区通信........................................................ 36 实验六 死锁避免的算法 ..................................................... 42 实验七 存储管理 .......................................................... 44 1. 常用页面置换算法..................................................... 44 2.动态分区分配算法 ..................................................... 53 实验八 文件操作 ........................................................... 54

实验一 系统功能调用

【实验目的】

1.熟悉操作系统的系统功能调用。

2.掌握用C语言实现系统功能调用的方法和步骤。

3.掌握利用10H号功能调用(BIOS的显示I/O功能调用)来实现对屏幕的操作与控制。

【预习内容】

1.预习DOS、BIOS系统功能调用。

2.预习C语言实现系统功能调用的方法。

【实验内容】

1.在屏幕的指定区域内显示字符串。(必做题) 2.在屏幕的指定区域内画框,在框内显示字符串。(提高题) 3. 在屏幕的指定区域内动画显示字符串。(附加题)

【实验报告】

1.列出调试通过程序的清单,并加注释。

2.给出必要的程序设计思路和方法(或列出流程图)。 3.总结上机调试过程中所遇到的问题和解决方法及感想。

【实验相关资料】

int86(0X10, &r, &r)函数:对BIOS调用的标准函数

其中0X10是BIOS调用类型号(相当于INT n调用的中断类型号n),是10H号中断调用,是一个显示I/O调用。BIOS借助此中断产生的功能调用控制PC机屏幕上的文本和图形。通过给AH 寄存器设置适当的值选择想要的功能调用,然后发中断10H。

第一个&r是指向联合类型REGS的指针,用于接收调用的功能号及其它一些指定的入口参数,以便传给相应寄存器。

第二个&r是指向联合类型REGS的指针,用于接收功能调用后的返回值,即出口参数。 在dos.h中REGS定义如下:

struct WORDREGS {

unsigned int ax,bx,cx,dx,si,di,cflag,flags; };

struct BYTEGEGS {

unsigned int al,ah,bl,bh,cl,ch,dl,dh; }

union REGS {

struct WORDREGS x;

struct BYTEGEGS h; }

1

10H号中断调用下所包含的部分功能调用:

AH 功能调用

00H 置显示方式 01H 置光标类型 02H 置光标位置 06H 当前显示页上滚 07H 当前显示页下滚 09H 写字符和属性

02H功能调用: 入口参数:AH=02H

DH 光标的行位置(行数),0行是顶行,24行是底行。 DL 光标的列位置(列数),0列是最左边一列。

BH 光标显示页数,40列方式,可用0到7,80列方式,可用0到3。 出口参数:无

06H号功能调用: 入口参数:AH=06H

AL 指明滚动的文本行数。如放置‘0’,则整个窗口为空白。 CH 指明窗口左上角的行位置(从0到24)。

CL 指明窗口左上角的列位置(从0到79,80列)。 DH 指明窗口右下角的行位置(从0到24)。

DL 指明窗口右下角的列位置(从0到79,80列)。 BH 指明加到窗口底部的空行显示属性。 对于彩色/图形适配器,属性字节如下所示:

位 说 明

7 置“1”用于字符闪烁,置“0”字符不闪烁。 6-4 背景色。可用的是:

6 5 4 颜色 0 0 0 黑 0 0 1 蓝 0 1 0 绿 0 1 1 青 1 0 0 红 1 0 1 绛 1 1 0 褐 1 1 1 浅灰

3 前景字符的亮度,置“1”高亮度,置“0”正常亮度。 2-0 前景色。可使用的彩色与背景色相同。 出口参数:屏幕上窗口适当地上滚。

09H号功能调用: 入口参数:AH=09H

BH 在文本方式中,此寄存器指明正在写的显示页。在40列方式中,可以用0到7页,

在80列方式中,可用0到3页。在图形方式中总是0。

AL 放要写字符的ASCII码。

BL 在文本方式中,为写字符的属性。

2

CX 将字符和属性写到屏幕上的次数。 出口参数:一个字符或多个字符显示在屏幕上。 清屏子程序: void cls(void) { union REGS r;

r.h.ah=6; r.h.al=0; r.h.ch=0; r.h.cl=0;

r.h.dh=24; r.h.dl=79;

r.h.bh=7; int86(0x10,&r,&r); }

/*子功能号*/

/*左上角坐标*/ /*右下角坐标*/ /*7表示黑色*/ /*系统功能调用*/

定位子程序:

void locate(int x, int y) { union REGS r;

r.h.ah=2; /*子功能号*/ r.h.dh=x; /*定位点坐标*/ r.h.dl=y; r.h.bh=0;

int86(0x10,&r,&r); }

在指定位置写参数:

void writech(int x , int y, char ch ,int attr) { union REGS r; locate(x ,y); r.h.ah=9; r.h.bh=0; r.h.al=ch; r.h.bl=attr r.x.cx=1;

int86(0x10,&r,&r); }

屏幕画框可以用制表符来画。其主要方法是不断调用writech函数,在指定区域周围显示制表符,从而勾勒出一个窗口的轮廓。

制表符 ASCII码 ┏ 218 ┓ 191 ┗ 192 ┛ 217 ┃ 179 ━ 196

3

内容一参考程序: #include #include #include #define SCR 0x10 void cls(void)

{ union REGS r; r.h.ah=6; r.h.al=0; r.h.cl=0; r.h.ch=0; r.h.dh=24; r.h.dl=79; r.h.bh=7; int86(SCR,&r,&r); }

void locate(int x,int y) { union REGS r; r.h.ah=2; r.h.dh=x; r.h.dl=y; r.h.bh=0; int86(SCR,&r,&r); }

void writech(int x,int y,char ch,int attrib) { union REGS r; locate(x,y); r.h.ah=9; r.h.bh=0; r.h.al=ch; r.h.bl=attrib; r.x.cx=1; int86(SCR,&r,&r); }

int main() { int i,x=10,y=10; cls(); for(i=0;i<26;i++) writech(x,y+i,65+i,7); getch(); return(0);}

4

百度搜索“77cn”或“免费范文网”即可找到本站免费阅读全部范文。收藏本站方便下次阅读,免费范文网,提供经典小说教育文库操作系统原理实验指导书在线全文阅读。

操作系统原理实验指导书.doc 将本文的Word文档下载到电脑,方便复制、编辑、收藏和打印 下载失败或者文档不完整,请联系客服人员解决!
本文链接:https://www.77cn.com.cn/wenku/jiaoyu/1086232.html(转载请注明文章来源)
Copyright © 2008-2022 免费范文网 版权所有
声明 :本网站尊重并保护知识产权,根据《信息网络传播权保护条例》,如果我们转载的作品侵犯了您的权利,请在一个月内通知我们,我们会及时删除。
客服QQ: 邮箱:tiandhx2@hotmail.com
苏ICP备16052595号-18
× 注册会员免费下载(下载后可以自由复制和排版)
注册会员下载
全站内容免费自由复制
注册会员下载
全站内容免费自由复制
注:下载文档有可能“只有目录或者内容不全”等情况,请下载之前注意辨别,如果您已付费且无法下载或内容有问题,请联系我们协助你处理。
微信: QQ: