《操作系统》实践教学大纲

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

自考《操作系统》实验环节实施方案

根据《操作系统》课程教学要求,实验环节应要求完成五个实验项目。考虑到自考课程教学实际情况,结合我院实验室的条件,经任课教师、实验指导教师、教研室主任和我院学术委员会认真讨论,确定开设三个实验项目。实验项目、内容及要求详见我院编制的《操作系统》课程实验大纲。

一、实验环境

目前,我院根据编制的《操作系统》课程实验大纲,实验环境基本能满足开设的实验项目。实验环境主要设备为:

硬件:一台能正常启动的计算机

软件:VisualC++ 6.0, Windows2003等

二、实验报告要求与成绩评定

学生每完成一个实验项目,要求独立认真的填写实验报告。实验指导教师将根据学生完成实验的态度和表现,结合填写的实验报告评定实验成绩。成绩的评定按百分制评分。

三、实验考试

学生在完成所有实验项目后,再进行一次综合性考试。教师可以根据学生完成的实验项目,综合出3套与实验相似的考试题,由学生任选一套独立完成。教师给出学生实验考试成绩作为最终实验成绩上报。

四、附件

附件1 《操作系统》课程实验大纲

附件2实验报告册样式

以上对《计操作系统》课程实验的实施方案,妥否,请贵校批示。

重庆科创职业学院

2009年3月20日

附件1 《操作系统》课程实验教学大纲

实验课程负责人:赵志斌开课学期:第四学期

实验类别:专业基础课程实验类型:应用性实验

实验要求:必修适用专业:通信工程

课程总学时:12学时课程总学分: 1分

《操作系统》课程实验项目及学时分配

实验一页式存储管理

一、实验目的

掌握页面存储管理的内存分配方法,位视图的表示。

二、实验内容

1、运行程序,由检查教师给出文件名,该文件中存有内存目前状况的位示图的数据(0和1的文件)。(程序应做提示,界面友好)。

2、你所编制的程序应读入数据,存放在相应的数据结构中。

3、显示友好的用户界面,由检查教师输入内存申请(总块数)。4、根据申请和位示图状态,为用户分配内存,并建立页表。

5、输出位示图和页表。

三、实验环境

1、一台能正常启动的P4 1.5G HZ以上个人计算机

2、安装有Visual C++6.0软件

四、实验原理与方法

内存被划分成2048块(页)。用32位字长的字存放位示图,为0的位表示该块尚未分配,为1的位表示该块已分配。

五、实验步骤

1、启动Visual C++ 6.0,创建一个新的C++源程序

2、输入相应的代码。

3、保存程序

4、运行程序

主要的程序代码如下:

#include

#include

#include<string.h>

constint PAGES=256; //定义总块数

const int WORD=32; //定义字长

const int WORDNUM=PAGES/WORD;//定义总字数

typedef struct node{

char jobname[20];

intnum;

int nums[PAGES];

struct node *next;

}jobs;

int table[WORDNUM][WORD]; int freenum=0;

jobs *head;

//初始化函数

void initial(){

int i,j;

jobs *p;

//初始化位示图

for(i=0;i

for(j=0;j

table[i][j]=0;

}

//初始化作业表头

p=new jobs;

strcpy(p->jobname,"null"); p->num=0;

p->next=NULL;

head=p;

}

//读入位示图初始数据

void readData()

{

int i,j;

FILE *fp;

char fname[20];

cout<<"请输入初始位示图数据文件名:"<>fname;

if((fp=fopen(fname,"r"))!=NULL){

for(i=0;i

for(j=0;j<WORD;j++){

fscanf(fp,"%d",&table[i][j]);

if(table[i][j]==1)

freenum++;

}

}

cout<<"初始位示图"<<endl; for(i=0;i<WORDNUM;i++){

for(j=0;j

cout<

cout<<endl;

}

cout<<"总空闲块数:"<

}

else{

cout<<"文件不能打开"<<endl;

//新加入作业函数

void add()

{

char jobname[20];

int num;

jobs *p;

int i,j,k=0;

cout<<"请输入新增的作业名:";

cin>>jobname;

cout<<"新增作业所需页数:";

cin>>num;

if(num<=freenum){

freenum-=num;

p=newjobs;

strcpy(p->jobname,jobname);

p->num=num;

for(k=0;k

i=0;

j=0;

while(table[i][j]==1){ j=0;

while(table[i][j]==1)j++;

相关文档
最新文档