陕西省高等教育自学考试
操作系统 课程
实践环节考核报告
准考证号: 考生姓名:
所学专业: 计算机及应用 专业层次: 本科 考核地点: 西安电子科技大学 考核时间: 2015/11/22
实践考核评语及成绩评定(由指导教师填写) 教师签名: 年 月 日 主考院校:西安电子科技大学
实验内容
实验一、模拟分页式存储管理中硬件的地址转换和用先进先出调度算法(FIFO)处理缺页中断。
#include \#define size 1024 struct plist { }; struct
plist
int number; int flag; int block; int modify; int location;
p1[7]={{0,1,5,0,010},{1,1,8,0,012},{2,1,9,0,013},{3,1,1,0,021},{4,0,-1,0,022},{5,0,-1,0,023},{6,0,-1,0,121}};
struct ilist { };
struct ilist p2[12]={{\存\{\取\移位\{\存\取\存\ main() {
int
char operation[10]; int pagenumber; int address;
i,lpage,pflage,replacedpage,pmodify;///////////////////////////////////////////////////////////////////////////////////
int p[4]={0,1,2,3}; int k=0; int m=4;
long memaddress;
printf(\操作 \\t 页号 \\t页内地址 标志 绝对地址 修改页号 主存
块号 绝对地址\\n\
for(i=0;i<12;i++) {
lpage=p2[i].pagenumber; pflage=p1[lpage].flag; if(pflage==0) { }
memaddress=p1[lpage].block*size+p2[i].address; if(p2[i].operation==\
p1[lpage].modify=1;
replacedpage=p[k];
pmodify=p1[replacedpage].modify; p[k]=lpage; k=(k+1)%m;
p1[lpage].flag=1;//标志位改为1
p1[lpage].block=p1[replacedpage].block; p1[replacedpage].block=-1; p1[replacedpage].flag=0; p1[replacedpage].modify=0;
printf(\printf(\printf(\printf(\if(pflage==1)
printf(\
}
}
else
printf(\
if(pflage==1)
printf(\
else
printf(\
printf(\printf(\printf(\
实验二、模拟采用二级目录结构的磁盘文件系统中的文件操作。
1、数据结构设计
通过分析设计题目,具体设计出主要的三个数据结构。
UFD:通过结构体,将文件名,文件属性,记录长度和文件的地址结合在一体。 UOF:同样是通过结构体,将文件名,文件属性,记录长度,当前状态,读指针,写指针以及最后一块的指针结合在一起。
MFD:通过一个类来实现其功能。类中包括用户名,UFD及UOF中的文件个数,以及与用户相对应的UFD和UOF。另外还包括两个初始化函数。
模拟二级目录结构时,第一级为主文件目录MFD,第二级为用户文件目录UFD。假定系统可同时管理N个用户的文件,每个用户最多在磁盘上保存L个文件,则二级目录结构可用如下形式表示: