




版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
1、自考操作系统实验环节实施方案根据操作系统课程教学要求,实验环节应要求完成五个实验项目。考虑到自考课程教学实际情况,结合我院实验室的条件,经任课教师、实验指导教师、教研室主任和我院学术委员会认真讨论,确定开设三个实验项目。实验项目、内容及要求详见我院编制的操作系统课程实验大纲。一、 实验环境目前,我院根据编制的操作系统课程实验大纲,实验环境基本能满足开设的实验项目。实验环境主要设备为:硬件:一台能正常启动的计算机软件:Visual C+ 6.0, Windows2003等 二、 实验报告要求与成绩评定学生每完成一个实验项目,要求独立认真的填写实验报告。实验指导教师将根据学生完成实验的态度和表现,
2、结合填写的实验报告评定实验成绩。成绩的评定按百分制评分。三、 实验考试学生在完成所有实验项目后,再进行一次综合性考试。教师可以根据学生完成的实验项目,综合出3套与实验相似的考试题,由学生任选一套独立完成。教师给出学生实验考试成绩作为最终实验成绩上报。四、 附件附件1 操作系统课程实验大纲附件2 实验报告册样式以上对计操作系统课程实验的实施方案,妥否,请贵校批示。 重庆科创职业学院 2009年3月20日附件1 操作系统课程实验教学大纲实验课程负责人:赵志斌 开课学期:第四学期 实验类别:专业基础课程 实验类型:应用性实验 实验要求:必修 适用专业:通信工程 课程总学时:12学时 课程总学分: 1
3、分 操作系统课程实验项目及学时分配序号 实验项目 实验内容及要求 学时 实验类型 备注 1 实验一:页式存储管理方案页式内存管理系统模拟程序模拟页式存储管理,页面的分配与回收,能显示位视图和页表4应用型实验2 实验二 文件管理文件管理模拟程序模拟操作系统中的 建立文件、打开文件、读文件、写文件、关闭文件、删除文件、建立目录、显示目录内容、显示文件内容、改变文件属性等操作。8应用型实验3实验三 操作系统基础操作应用操作系统基础应用操作2基础应用实验实验一 页式存储管理 一、实验目的 掌握页面存储管理的内存分配方法,位视图的表示。二、实验内容1、运行程序,由检查教师给出文件名,该文件中存有内存目前
4、状况的位示图的数据(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、运
5、行程序主要的程序代码如下:#include<stdio.h>#include<iostream.h>#include<string.h>const int PAGES=256; /定义总块数const int WORD=32; /定义字长const int WORDNUM=PAGES/WORD; /定义总字数typedef struct nodechar jobname20;int num;int numsPAGES;struct node *next;jobs;int tableWORDNUMWORD;int freenum=0;jobs *head;/初
6、始化函数void initial()/读入位示图初始数据void readData()/新加入作业函数void add()/完成作业函数void finish()/显示当前位示图函数void view_table()/显示所有页表函数void view_pages()/显示版权信息函数void version()void main()int t=1,chioce;version();initial();readData();while(t=1) cout<<endl<<"="<<endl; cout<<" 页式内存管
7、理系统模拟程序"<<endl; cout<<"="<<endl; cout<<"1.加入新作业 2.完成作业 3.显示当前内存位示图 4.显示所有作业页表 0.退出"<<endl; cout<<"请选择:" cin>>chioce; switch(chioce) case 1: add(); break; case 2: finish(); break; case 3: view_table(); break; case 4: view_pa
8、ges(); break; case 0: t=0; break; default: cout<<"选择错误"<<endl; 六、思考题1.页面的分配和回收是如何操作的.七、实验报告要求认真填写试验报告,程序代码清单要完整,准确。实验二 文件管理一、实验目的掌握操作系统文件管理的基本方法。二、实验内容 编写程序代码,模拟操作系统对文件的操作。1、运行程序,由检查教师给出文件名,该文件中存有相应的若干命令。(程序应做提示,界面友好)。 2、要求实现两个命令: mkdir 目录名(目录已存在,应给出错误信息。) cd 目录名(目录不存在,应给出错误信息。
9、) 3、你所编制的程序应读入文件,并执行其中的每一条命令。 4、在屏幕上显示文件目录的结构。(界面自己设计,但要清晰明了。)三、实验环境 (宋体小四加粗)1、一台能正常启动的P4 1.5G HZ以上个人计算机2、安装有Visual C+ 6.0软件四、实验原理与方法模拟一个文件系统,包括目录文件,普通文件,并实现对它们的一些 基本操作。 假定每个目录文件最多只能占用一个块;一个目录项包括文件名(下一级目录 名),文件类型,文件长度,指向文件内容(下一级目录)的指针内容。普通文件可以 只用目录项(FCB)代表。(详细的数据结构见后面的说明)程序功能方面的要求: 需要实现一个命令行操作界面,包含如
10、下命令: 1 改变目录 格式:CD目录名 功能:工作目录转移到指定的目录下,只要求完成改变到当前目录的某一个子目录 下的功能,不要求实现相对目录以及绝对目录。 2 创建文件 格式:CREATE文件名文件长度 功能:创立一个指定名字的新文件,即在目录中增加一项,不考虑文件内容,但必 须能输入文件长度。 3 删除文件 格式:DEL希望删除的文件名 功能:删除指定的文件 4 显示目录 格式:LSALL 功能:显示全部目录以及文件,输出时要求先输出接近根的目录,再输出子目录。 图示如图。 5 创建目录 格式:MD目录名 功能:在当前路径下创建指定的目录 6 删除目录 格式:RD目录名 功能:删除当前目
11、录下的指定目录,如果该目录为空,则可删除,否则应提示是否 作删除,删除操作将该目录下的全部文件和子目录都删除。 对于上述功能要求,完成1-4为及格,完成1-5为良,完成1-6为优。 程序实现方面的要求: 1 对于重名(创建时),文件不存在(删除时),目录不存在(改变目录时)等错误* 作情况,程序应该作出相应处理并给出错误信息,但是程序不得因此而退出。 2 界面友好,程序强壮。 3 界面的提示符为#,提示的命令以及调试的方法应和前面的要求一致。不要自己设计命 令或者附加不要求的功能。 4 在考卷的说明部分(背面)有一段程序的源代码以及对源代码的说明,考试的编码应 在这个程序的基础上修改而成。这段
12、源代码中规定了文件系统使用的数据结构和需要实 现的函数框架,请将你的实现代码填写到合适的位置中去,可以自己添加辅助数据结构、 变量、常量以及函数,但是不得改变已有的代码(如数据结构的定义以及函数的名称以 及参数说明)。 5 考试提交的源程序请命名为filesys.c。 6 程序设计环境使用TC2.0,在DOS操作系统下完成全部程序代码。 本程序包括实现: 1 改变目录 格式:CD目录名 功能:工作目录转移到指定的目录下,只要求完成改变到当前目录的某一个子目录 下的功能,不要求实现相对目录以及绝对目录。 2 创建文件 格式:CREATE文件名文件长度 功能:创立一个指定名字的新文件,即在目录中增
13、加一项,不考虑文件内容,但必 须能输入文件长度。 3 删除文件 格式:DEL希望删除的文件名 功能:删除指定的文件 4 显示目录 格式:LSALL 功能:显示全部目录以及文件,输出时要求先输出接近根的目录,再输出子目录。 图示如图。 5 创建目录 格式:MD目录名 功能:在当前路径下创建指定的目录 6 删除目录 格式:RD目录名五、实验步骤 1、启动Visual C+6.0,创建一个新的C+程序2、输入相应的代码。3、保存程序4、运行程序主要的代码如下:include<stdio.h>#include<string.h>#include<iostream.h>
14、;#include<math.h>#include<stdlib.h>#include<iomanip.h>/ *目录和文件的结构定义*typedef struct nodechar name50; /*目录或文件的名字*/int type; /*0代表目录,1代表普通文件*/struct node *next; /*指向下一个兄弟结点的指针*/struct node *sub; /*指向第一个子结点的指针*/struct node *father; /*指向父结点的指针*/ int size; /*如果是文件则表示文件的大小*/dirNode;dirNod
15、e *workDir; /定义当前工作目录dirNode root; /定义根目录char path100; /定义路径信息/初始化函数void initial()strcpy(,"root");root.type=0;root.next=NULL;root.sub=NULL;root.father=NULL;root.size=0;workDir=&root;strcpy(path,"root");/初始化新结点函数dirNode *init()dirNode *p;p=new dirNode;strcpy(
16、,"");root.type=0;root.next=NULL;root.sub=NULL;root.father=NULL;root.size=0;return p;/1 改变目录void CD(char dirName)dirNode *p;int flag=0;p=workDir->sub;if(p=NULL) cout<<"错误,""<<dirName<<""子目录不存在"<<endl;else while(p) if(p->type=0) if(
17、!strcmp(p->name,dirName) flag=1; break; p=p->next; if(flag=1) workDir=p; strcat(path," "); strcat(path,p->name); cout<<"工作目录已进入""<<dirName<<"""<<endl; else cout<<"错误,""<<dirName<<""子目录
18、不存在"<<endl; /2 创建文件void CREATE(char fileName,int fileSize)int flag;dirNode *p,*q;q=new dirNode;strcpy(q->name,fileName);q->sub=NULL;q->type=1;q->next=NULL;q->father=workDir;q->size=fileSize;p=workDir->sub;if(p=NULL) workDir->sub=q; cout<<"""<
19、;<fileName<<""文件创建成功"<<endl;else flag=0; while(p) if(p->type=1) if(!strcmp(p->name,fileName) flag=1; cout<<"错误,""<<fileName<<""文件已存在"<<endl; p=p->next; if(flag=0) p=workDir->sub; while(p->next) p=p->
20、;next; p->next=q; cout<<"""<<fileName<<""文件创建成功"<<endl; /3 删除文件void DEL(char fileName)dirNode *p,*q;int flag=0;p=workDir->sub;if(p=NULL) cout<<"错误,""<<fileName<<""文件不存在"<<endl;else while
21、(p) if(p->type=1) if(!strcmp(p->name,fileName) flag=1; break; p=p->next; if(flag=1) if(p=workDir->sub) workDir->sub=p->next; else q=workDir->sub; while(q->next!=p) q=q->next; q->next=p->next; delete p; cout<<"""<<fileName<<""
22、;文件已删除"<<endl; else cout<<"错误,""<<fileName<<""文件不存在"<<endl; /4 显示所有目录 /显示本目录下所有兄弟目录和文件void dir(dirNode *p)while(p) if(p->type=0) cout.setf(2); cout<<setw(14)<<p->name<<setw(12)<<"<DIR>"<
23、<endl; else cout.setf(2); cout<<setw(14)<<p->name<<setw(12)<<"<FILE>"<<setw(10)<<p->size<<endl; p=p->next;/void dirs(dirNode *p,char str)char newstr100;dirNode *q;cout<<str<<"下子目录及文件:"<<endl;dir(p);q=p;
24、if(q->sub) strcpy(newstr,""); strcat(newstr,str); strcat(newstr,""); strcat(newstr,q->name); dirs(q->sub,newstr);q=p;while(q->next) if(q->next->sub) strcpy(newstr,""); strcat(newstr,str); strcat(newstr," "); strcat(newstr,q->next->name)
25、; dirs(q->next->sub,newstr); q=q->next;/ 显示所有目录 void LSALL()dirNode *p;cout<<"显示所有目录结构"<<endl<<"-"<<endl;p=root.sub;dirs(p,"root");/5 创建目录void MD(char dirName)int flag;dirNode *p,*q;q=new dirNode;strcpy(q->name,dirName);q->sub=NULL
26、;q->type=0;q->next=NULL;q->father=workDir;q->size=0;p=workDir->sub;if(p=NULL) workDir->sub=q; cout<<"""<<dirName<<""子目录创建成功"<<endl;else flag=0; while(p) if(p->type=0) if(!strcmp(p->name,dirName) flag=1; cout<<"错
27、误,""<<dirName<<""子目录已存在"<<endl; p=p->next; if(flag=0) p=workDir->sub; while(p->next) p=p->next; p->next=q; cout<<"""<<dirName<<""子目录创建成功"<<endl; /6 删除目录void RD(char dirName)/*删除当前目录下的指定目录,
28、如果该目录为空,则可删除,否则应提示是否 作删除,删除操作将该目录下的全部文件和子目录都删除*/dirNode *p,*q;int flag=0;p=workDir->sub;if(p=NULL) cout<<"错误,""<<dirName<<""子目录不存在"<<endl;else while(p) if(p->type=0) if(!strcmp(p->name,dirName) flag=1; break; p=p->next; if(flag=1) if(
29、p=workDir->sub) workDir->sub=p->next; else q=workDir->sub; while(q->next!=p) q=q->next; q->next=p->next; delete p; cout<<"""<<dirName<<""子目录已删除"<<endl; else cout<<"错误,""<<dirName<<"&qu
30、ot;子目录不存在"<<endl; /显示版权信息函数void version()cout<<endl<<endl;cout<<" "<<endl;cout<<" 模拟文件管理模拟系统 "<<endl;cout<<" "<<endl;cout<<" 重庆科创职业学院 "<<endl;cout<<" "<<endl;cout<&
31、lt;" 2009年3月19日 "<<endl;cout<<" "<<endl;cout<<endl<<endl;void main()int len,fileSize,flag,comm;char string50;char command10;char name40;char *s,*s1;version();initial();flag=1;while(flag) cout<<endl<<" 模拟文件管理模拟系统"<<endl; co
32、ut<<endl<<"CD 改变目录 CREATE 创建文件 DEL 删除文件 "<<endl<<"LSALL 显示目录 MD 创建目录 RD 删除目录"<<endl<<"exit 退出"<<endl; cout<<endl<<"-"<<endl; printf("%s:>#",path); gets(string); len=strlen(string); if(len
33、=0) strcpy(command,"errer"); else /获得命令 s=NULL; s=strchr(string,' '); if(s!=NULL) *s='0' strcpy(command,string); /测试命令类型 if(!strcmp(command,"CD")|!strcmp(command,"cd") comm=1; else if(!strcmp(command,"CREATE")|!strcmp(command,"create"
34、) comm=2; else if(!strcmp(command,"DEL")|!strcmp(command,"del") comm=3; else if(!strcmp(command,"LSALL")|!strcmp(command,"lsall") comm=4; else if(!strcmp(command,"MD")|!strcmp(command,"md") comm=5; else if(!strcmp(command,"RD")|!s
35、trcmp(command,"rd") comm=6; else if(!strcmp(command,"EXIT")|!strcmp(command,"exit") comm=0; else comm=100; switch(comm) case 1: /1 改变目录 strcpy(name,s+1); CD(name); break; case 2: /2 创建文件 s1=strchr(s+1,' '); *s1='0' strcpy(name,s+1); fileSize=atoi(s1+1);
36、CREATE(name,fileSize); break; case 3: /3 删除文件 strcpy(name,s+1); DEL(name); break; case 4: /4 显示目录 LSALL(); break; case 5: /5 创建目录 strcpy(name,s+1); MD(name); break; case 6: /6 删除目录 strcpy(name,s+1); RD(name); break; case 0: /0 退出系统 flag=0; break; default: cout<<"命令错误"<<endl; 六、
37、思考题 1、新建文件是如何实现的。2、程序是如何对文件进行修改并保存的。七、实验报告要求认真填写试验报告,程序代码清单要完整,准确。 实验三 操作系统基础应用实验 一、实验目的 掌握操作系统的常规操作和应用。二、实验内容1、 查看windows本地安全策略,并修改为定期强制修改密码。写出本地安全策略的审核的内容。2、 获得此计算机网卡的网络配置及mac地址。 3、 在D盘新建一个文件夹,以自己的拼音缩写命名,并利用命令将其映射为I盘。4、 查看系统所有组件配置。包括驱动程序,装载的所有程序,windows组件,硬件组件的IRQ等。5、 查看windows的版本及注册信息。6、 利用windows自带的聊天工具,进行局域网内的聊天,并写出详细步骤。 7、 利用命令查看windows进程中每个进程所提供的服务。 8、 修改windows服务选项,将windows的远程用户修改注册表的服务设置成禁止。 9、 修改windows的虚拟内存交换空间为1024M。10、 修改windows使得win
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 中国陶瓷用草酸钙项目经营分析报告
- 2025年中国日用化学品项目商业计划书
- 北京减震器项目投资分析报告模板
- 2025年(完整版)基础护理学试题库及答案
- 橡塑海绵保温材料项目可行性研究报告申请报告
- 中国焊用钢丝行业市场前景预测及投资价值评估分析报告
- 合肥民政局离婚协议书
- 2025年苦咸水淡化装置项目投资分析及可行性报告
- 中国高纯锡项目商业计划书
- 2025年新能源汽车行业政策法规影响评估报告
- 阀门基础知识培训课件
- 2018年10月自考00107现代管理学试题及答案
- 数字图像处理冈萨雷斯课件
- 客户服务满意度调查表
- 伊美雅(异帕米星),抗感染的信心之选20130415课件
- 《人的正确思想是从哪里来的》教案
- 民政局社会组织执法文书模板(DOC72)
- 可编程控制器(PLC)应用技术说课课件
- 有关山茶花的传说故事
- 星河湾立面工艺篇
- 中国医院质量安全管理 第4-9部分:医疗管理危急值管理 T∕CHAS 10-4-9-2019
评论
0/150
提交评论