《MIS系统软件》课程实验指导书 Operation System

《MIS系统软件》实验指导书课程名称:MIS系统软件/OperationSystem实验总学时数:14学时(适用15级)适应专业:信息管理与信息系统承担实验室:管理学院计算机实验室一、实验目的和任务依据边学习、边实践的原则,让学生在学习过程中通过实验进一步巩固所学的理论与思想,培养学生的实际动手能力。通过使用高级语言编写程序,加深对高级语言掌握和使用:通过用高级语言实现操作系统中的加密和进程管理的程序设计,从而加深对操作操作系统的理解和使用。二、实验项目及学时分配序号实验项目名称实验学时实验类型开出要求18综合必做加密解密算法26验证必做进程管理实验三、参考资料教材:《计算机操作系统》(第四版),汤小丹等,西安电子科技大学出版社,2014年5月实验指导书:自编《MIS系统软件》实验指导,2010年参考书:《操作系统原理》(第2版),庞丽萍,人民邮电出版社,2014年《Linux操作系统:基础、原理与应用》,张玲,清华大学出版社,2014《OperatingSystemConcepts》,(美)西尔伯查茨,高等教育出版社,2010四、实验评分标准
《MIS 系统软件》实验指导书 课程名称:MIS 系统软件 / Operation System 实验总学时数:14 学时(适用 15 级) 适应专业:信息管理与信息系统 承担实验室:管理学院计算机实验室 一、实验目的和任务 依据边学习、边实践的原则,让学生在学习过程中通过实验进一步巩固所学 的理论与思想,培养学生的实际动手能力。 通过使用高级语言编写程序,加深对高级语言掌握和使用;通过用高级语言 实现操作系统中的加密和进程管理的程序设计,从而加深对操作操作系统的理解 和使用。 二、实验项目及学时分配 序号 实验项目名称 实验学时 实验类型 开出要求 1 加密解密算法 8 综合 必做 2 进程管理实验 6 验证 必做 三、参考资料 教材:《计算机操作系统》(第四版),汤小丹等,西安电子科技大学出版社,2014 年 5 月 实验指导书: 自编《MIS 系统软件》实验指导,2010 年 参考书: 《操作系统原理》(第 2 版),庞丽萍,人民邮电出版社,2014 年 《Linux 操作系统:基础、原理与应用》,张玲,清华大学出版社,2014 《Operating System Concepts》,(美)西尔伯查茨,高等教育出版社,2010 四、实验评分标准

权重观测点考核目标1.实验大纲和实验指导书的预研对实验目的和基本原理实验对实验目的和内容的熟悉2.的认识程度,对实验方案20%1预习3..设计型实验,设计方案的科学性、可的设计能力行性和创新性1.是否按时参加实验对实验过程的熟悉程度2.着重考查学生的实验态实验3.对基本操作的规范程度度、基本操作技能;严谨30%1过程4.对突发事件的应急处理能力的治学态度、积极主动性5.实验原始记录的完整程度实验过程中的纪律和积极主动性6.1.所分析结果是否用原始记录数据考查学生对实验数据处计算结果是否正确2.结果理和现象分析的能力;对3.实验结果分析是否合理50%分析专业知识的综合应用能4.对于综合实验,各项内容之间是否有力;事实求实的精神分析、比较与判断等四、单项实验的内容和要求实验一加密解密算法1.实验目的与意义1.通过简单的加密解密算法的实现理解系统中加密解密的基本思想2.熟练掌握使用C语言基本语句2.基本原理和方法常见加密解密算法的实现思想3.主要仪器设备及耗材实验所用的主要仪器设备:计算机(安装C语言)实验所需主要耗材的品种及数量:无
观测点 考核目标 权重 实验 预习 1. 实验大纲和实验指导书的预研 2. 对实验目的和内容的熟悉 3. 设计型实验,设计方案的科学性、可 行性和创新性 对实验目的和基本原理 的认识程度,对实验方案 的设计能力 20% 实验 过程 1. 是否按时参加实验 2. 对实验过程的熟悉程度 3. 对基本操作的规范程度 4. 对突发事件的应急处理能力 5. 实验原始记录的完整程度 6. 实验过程中的纪律和积极主动性 着重考查学生的实验态 度、基本操作技能;严谨 的治学态度、积极主动性 30% 结果 分析 1. 所分析结果是否用原始记录数据 2. 计算结果是否正确 3. 实验结果分析是否合理 4. 对于综合实验,各项内容之间是否有 分析、比较与判断等 考查学生对实验数据处 理和现象分析的能力;对 专业知识的综合应用能 力;事实求实的精神 50% 四、单项实验的内容和要求 实验一 加密解密算法 1.实验目的与意义 1.通过简单的加密解密算法的实现理解系统中加密解密的基本思想 2.熟练掌握使用 C 语言基本语句 2.基本原理和方法 常见加密解密算法的实现思想 3.主要仪器设备及耗材 实验所用的主要仪器设备: 计算机(安装 C 语言) 实验所需主要耗材的品种及数量: 无

4.实验内容及步骤(1)从给定的五种加密解密算法中选定至少三种算法(转换加密必选),对该算法实现的思路进行分析;(2)编程实现选定的算法:(3)对所编写的程序进行调试(4)对程序运行的结果进行截图:(5)对实验结果进行分析。5.部分参考代码(1)单字母替换加密方法一一字母倒排序#defineM100mainOint s,i,a,char str]M]='0",str2[M]='0";printf("menuln"),printf("1.加密】n")printf("2.解密\n");printf("the way you choose:"),scanf("%d",&a),switch(a)1case 1:1printf("请输入要加密的原文n"),gets(strl);s=strlen(str1);for(i=0;i<s;i++)str2[]-219-str1[];printf("得到密文是:In");puts(str2),}break,case 2:1printf("请输入要解密的密文:ln");gets(strl);s=strlen(str1);for(i=0;i<s;i++)
4.实验内容及步骤 (1)从给定的五种加密解密算法中选定至少三种算法(转换加密必选),对 该算法实现的思路进行分析; (2)编程实现选定的算法; (3)对所编写的程序进行调试; (4)对程序运行的结果进行截图; (5)对实验结果进行分析。 5.部分参考代码 (1)单字母替换加密方法——字母倒排序 #define M 100 main() { int s,i,a; char str1[M]={'0'}, str2[M]={'0'}; printf("menu\n"); printf("1. 加密\n"); printf("2. 解密\n"); printf("the way you choose:"); scanf("%d",&a); switch(a) { case 1: { printf("请输入要加密的原文\n"); gets(str1); s=strlen(str1); for(i=0;i<s;i++) str2[i]=219-str1[i]; printf("得到密文是:\n"); puts(str2); }break; case 2: { printf("请输入要解密的密文:\n"); gets(str1); s=strlen(str1); for(i=0;i<s;i++)

str2[]-219-str1[];printf("得到原文:In");puts(str2);↓ break;default:printf("输入错误");7(2)kaiser加密算法具体程序:#include#includecharencrypt(charch,intn)/*加密函数,把字符向右循环移位n*/while(ch>=A'&&ch='a'&&ch<='z)return (a'+(ch-'a'+n)%26);1return ch,voidmenuO/*菜单,1.加密,2.解密,3.暴力破解,密码只能是数字*/clrscrO,printf("lnprintf("ln1.Encrypt the file"),printf("n2.Decrypt the file");printf("ln3.Force decrypt file");printf("n4.Quitln");In"),printf("printf("Please select a item:");return,mainOint i,n
str2[i]=219-str1[i]; printf("得到原文:\n"); puts(str2); } break; default:printf("输入错误"); } } (2)kaiser 加密算法 具体程序: #include #include char encrypt(char ch,int n)/*加密函数,把字符向右循环移位 n*/ { while(ch>='A'&&ch='a'&&ch<='z') { return ('a'+(ch-'a'+n)%26); } return ch; } void menu()/*菜单,1.加密,2.解密,3.暴力破解,密码只能是数字*/ { clrscr(); printf("\n===================================================="); printf("\n1.Encrypt the file"); printf("\n2.Decrypt the file"); printf("\n3.Force decrypt file"); printf("\n4.Quit\n"); printf("===================================================\n"); printf("Please select a item:"); return; } main() { int i,n;

char cho,chl;FILE *in,*out;char infile[20],outfile[20];textbackground(BLACK);textcolor(LIGHTGREEN);clrscrO,sleep(3);/*等待3秒*/menuO;ch0=getchO),while(ch0!=4")if(ch0=='1)clrscrO;printf("InPlease input the infile:"),scanf("%s",infile)/*输入需要加密的文件名*/if(in=fopen(infile,"r")--NULL)printf("Can not open the infile!/n'");printf("Press any key to exit!\n");getchO,exit(0),printf("Please input the key:");scanf("%d",&n);/*输入加密密码*/printf("Please input the outfile:");scanf("%s",outfile);/*输入加密后文件的文件名*/if(out=fopen(outfile,"w")-=NULL)printf("Can not open the outfile!n");printf("Press any key to exit!\n");fclose(in),getchO,exit(0);1while(feof(in)/*加密*/fputc(encrypt(fgetc(in),n),out);printf("nEncrypt is over!\n");fclose(in);
char ch0,ch1; FILE *in,*out; char infile[20],outfile[20]; textbackground(BLACK); textcolor(LIGHTGREEN); clrscr(); sleep(3);/*等待 3 秒*/ menu(); ch0=getch(); while(ch0!='4') { if(ch0=='1') { clrscr(); printf("\nPlease input the infile:"); scanf("%s",infile);/*输入需要加密的文件名*/ if((in=fopen(infile,"r"))==NULL) { printf("Can not open the infile!\n"); printf("Press any key to exit!\n"); getch(); exit(0); } printf("Please input the key:"); scanf("%d",&n);/*输入加密密码*/ printf("Please input the outfile:"); scanf("%s",outfile);/*输入加密后文件的文件名*/ if((out=fopen(outfile,"w"))==NULL) { printf("Can not open the outfile!\n"); printf("Press any key to exit!\n"); fclose(in); getch(); exit(0); } while(!feof(in))/*加密*/ { fputc(encrypt(fgetc(in),n),out); } printf("\nEncrypt is over!\n"); fclose(in);

fclose(out);sleep(1);if(ch0==2')1clrscrO,printf("InPlease input the infile:"),scanf("%s",infile)/*输入需要解密的文件名*/if(in=fopen(infile,"r")--NULL)1.printf("Can not open the infile!n");printf("Press any key to exit!\n"),getchO;exit(0);printf("Please input the key:");scanf("%d",&n);/*输入解密密码(可以为加密时候的密码)*/n=26-n,printf("Please input the outfile:"),scanf("%s",outfile);/*输入解密后文件的文件名*/if(out=fopen(outfile,"w")--NULL)1.printf("Can not open the outfile!n");printf("Press any key to exit!\n");fclose(in),getchO;exit(0);while(feof(in))fputc(encrypt(fgetc(in),n),out):printf("nDecrypt is over!\n");fclose(in);fclose(out),sleep(1);if(ch0=='3')tclrscrO;printf("nPlease input the infile:"),scanf("%s",infile):/*输入需要解密的文件名*/
fclose(out); sleep(1); } if(ch0=='2') { clrscr(); printf("\nPlease input the infile:"); scanf("%s",infile);/*输入需要解密的文件名*/ if((in=fopen(infile,"r"))==NULL) { printf("Can not open the infile!\n"); printf("Press any key to exit!\n"); getch(); exit(0); } printf("Please input the key:"); scanf("%d",&n);/*输入解密密码(可以为加密时候的密码)*/ n=26-n; printf("Please input the outfile:"); scanf("%s",outfile);/*输入解密后文件的文件名*/ if((out=fopen(outfile,"w"))==NULL) { printf("Can not open the outfile!\n"); printf("Press any key to exit!\n"); fclose(in); getch(); exit(0); } while(!feof(in)) { fputc(encrypt(fgetc(in),n),out); } printf("\nDecrypt is over!\n"); fclose(in); fclose(out); sleep(1); } if(ch0=='3') { clrscr(); printf("\nPlease input the infile:"); scanf("%s",infile);/*输入需要解密的文件名*/

if((in=fopen(infile."r"))--NULL)printf("Can not open the infile!\n");printf("Press any key to exit!\n"),getch();exit(0);~printf("Please input the outfile:"),scanf("%s",outfile);/*输入解密后文件的文件名*if(out=fopen(outfile,"w")==NULL)1printf("Can not open the outfile!\n");printf("Press any key to exit!\n");fclose(in),getchO;exit(0);for(i=1;i<=25;i++)/*暴力破解过程,在察看信息正确后,可以按Q'或者'q退出*/rewind(in);rewind(out),clrscrO;printf("=In");printf("The outfile is:In");printf("ln");while(lfeof(in)1ch1=encrypt(fgetc(in),26-i);putch(ch1);fputc(chl,out);In");printf("nprintf("Thecurrentkeyis:%d\n"i)/*显示当前破解所用密码*/printf("Press'Q' to quit and other key to continue....n"),printf(In");ch1=getch();if(ch1==qllch1==Q")/*按Q或者q时退出*
if((in=fopen(infile,"r"))==NULL) { printf("Can not open the infile!\n"); printf("Press any key to exit!\n"); getch(); exit(0); } printf("Please input the outfile:"); scanf("%s",outfile);/*输入解密后文件的文件名*/ if((out=fopen(outfile,"w"))==NULL) { printf("Can not open the outfile!\n"); printf("Press any key to exit!\n"); fclose(in); getch(); exit(0); } for(i=1;i<=25;i++)/*暴力破解过程,在察看信息正确后,可以按'Q'或者'q'退出 */ { rewind(in); rewind(out); clrscr(); printf("================================================\n"); printf("The outfile is:\n"); printf("======================================================== ==\n"); while(!feof(in)) { ch1=encrypt(fgetc(in),26-i); putch(ch1); fputc(ch1,out); } printf("\n==================================================\n"); printf("The current key is: %d \n",i);/*显示当前破解所用密码*/ printf("Press 'Q' to quit and other key to continue.\n"); printf("==================================================\n"); ch1=getch(); if(ch1=='q'||ch1=='Q')/*按'Q'或者'q'时退出*/

clrscrO,printf("lnGood Bye!\n");fclose(in);fclose(out);sleep(3);exit(0);11printf("nForce decrypt is over!n");fclose(in);fclose(out),sleep(1);menuO;ch0=getchO),1clrscrO,printf("nGood Bye!n");sleep(3),实验二进程管理实验1.实验目的与意义用高级语言编写和调试一个进程调度程序,以加深对进程的概念及进程调度算法的理解。2.基本原理和方法进程调度算法:采用最高优先数优先的调度算法(即把处理机分配给优先数最高的进程)和先来先服务算法。每个进程有一个进程控制块(PCB)表示。进程控制块可以包含如下信息:进程名、优先数、到达时间、需要运行时间、已用CPU时间、进程状态等等。进程的优先数及需要的运行时间可以事先人为地指定(也可以由随机数产生)。进程的到达时间为进程输入的时间
{ clrscr(); printf("\nGood Bye!\n"); fclose(in); fclose(out); sleep(3); exit(0); } } printf("\nForce decrypt is over!\n"); fclose(in); fclose(out); sleep(1); } menu(); ch0=getch(); } clrscr(); printf("\nGood Bye!\n"); sleep(3); } 实验二 进程管理实验 1.实验目的与意义 用高级语言编写和调试一个进程调度程序,以加深对进程的概念及进程调度 算法的理解。 2.基本原理和方法 进程调度算法:采用最高优先数优先的调度算法(即把处理机分配给优先数 最高的进程)和先来先服务算法。 每个进程有一个进程控制块( PCB)表示。进程控制块可以包含如下信息: 进程名、优先数、到达时间、需要运行时间、已用 CPU 时间、进程状态等等。 进程的优先数及需要的运行时间可以事先人为地指定(也可以由随机数产 生)。进程的到达时间为进程输入的时间

每个进程的状态可以是就绪W(Wait)、运行R(Run)、或完成F(Finish)三种状态之一。就绪进程获得CPU后都只能运行一个时间片。用已占用CPU时间加1来表示。进程的运行时间以时间片为单位进行计算。如果运行一个时间片后,进程的已占用CPU时间已达到所需要的运行时间,则撤消该进程,如果运行一个时间片后进程的已占用CPU时间还未达所需要的运行时间,也就是进程还需要继续运行,此时应将进程的优先数减1(即降低一级),然后把它插入就绪队列等待CPU。每进行一次调度程序都打印一次运行进程、就绪队列、以及各个进程的PCB,以便进行检查。重复以上过程,直到所要进程都完成为止。3.主要仪器设备及耗材实验室提供的计算机设备和基本的网络环境,安装实验中所要使用的应用软件(TurboCforWindows集成实验与学习环境,或者Turboc++3.1forWindows)。4.实验内容及步骤(1)选定一种进程调度算法,对该算法实现的思路进行分析;调度算法的流程图如下:
每个进程的状态可以是就绪 W(Wait)、运行 R(Run)、或完成 F(Finish) 三种状态之一。 就绪进程获得 CPU 后都只能运行一个时间片。用已占用 CPU 时间加 1 来 表示。 进程的运行时间以时间片为单位进行计算。如果运行一个时间片后,进程的 已占用 CPU 时间已达到所需要的运行时间,则撤消该进程,如果运行一个时间 片后进程的已占用 CPU 时间还未达所需要的运行时间,也就是进程还需要继续 运行,此时应将进程的优先数减 1(即降低一级),然后把它插入就绪队列等待 CPU。 每进行一次调度程序都打印一次运行进程、就绪队列、以及各个进程的 PCB,以便进行检查。 重复以上过程,直到所要进程都完成为止。 3.主要仪器设备及耗材 实验室提供的计算机设备和基本的网络环境,安装实验中所要使用的应用 软件(Turbo C for Windows 集成实验与学习环境,或者 Turboc++3.1 for Windows)。 4.实验内容及步骤 (1)选定一种进程调度算法,对该算法实现的思路进行分析; 调度算法的流程图如下 :

开始初始化PCB,输入进程信息各进程按优先数从高到低排列4就绪队列空?结东N就绪队列首进程投入运行时间片到,运行进程已占用CPU时间+1运行进程已占用已到达CPU时间已达到所潮的运行时间进程完成未到达数消谈进程使运行进程的优先激减1把运行进程插入就绪队列(2)编程实现所选定的进程调度算法(3)对所编写的程序进行调试(4)对程序运行的结果进行截图(5)对实验结果进行分析5.部分参考代码#include"stdio.h"#include#include#define getpch(type) (type*)malloc(sizeof(type)#defineNULL0structpcb/*定义进程控制块PCB*/char name[10];char state;int super,int ntime;int rtime,struct pcb* link;I*ready=NULL,*p;typedef struct pcb PCB;SortO/*建立对进程进行优先级排列函数*/
(2)编程实现所选定的进程调度算法 (3)对所编写的程序进行调试 (4)对程序运行的结果进行截图 (5)对实验结果进行分析 5.部分参考代码 #include "stdio.h" #include #include #define getpch(type) (type*)malloc(sizeof(type)) #define NULL 0 struct pcb { /* 定义进程控制块 PCB */ char name[10]; char state; int super; int ntime; int rtime; struct pcb* link; }*ready=NULL,*p; typedef struct pcb PCB; sort() /* 建立对进程进行优先级排列函数*/ {
按次数下载不扣除下载券;
注册用户24小时内重复下载只扣除一次;
顺序:VIP每日次数-->可用次数-->下载券;
- 《信息组织原理》课程教学大纲 Information Organization Principle.pdf
- 《信息管理概论》课程教学大纲(各章讲义).docx
- 复旦大学:《管理信息系统》课程电子教案(PPT教学课件,MIS第五版)第19章 信息道德与信息系统分析员修养.pptx
- 复旦大学:《管理信息系统》课程电子教案(PPT教学课件,MIS第五版)第18章 企业信息管理.pptx
- 复旦大学:《管理信息系统》课程电子教案(PPT教学课件,MIS第五版)第17章 系统实施、评价与运行管理.pptx
- 复旦大学:《管理信息系统》课程电子教案(PPT教学课件,MIS第五版)第16章 系统设计.pptx
- 复旦大学:《管理信息系统》课程电子教案(PPT教学课件,MIS第五版)第15章 系统分析.pptx
- 复旦大学:《管理信息系统》课程电子教案(PPT教学课件,MIS第五版)第14章 信息系统开发方法.pptx
- 复旦大学:《管理信息系统》课程电子教案(PPT教学课件,MIS第五版)第13章 信息系统规划.pptx
- 复旦大学:《管理信息系统》课程电子教案(PPT教学课件,MIS第五版)第12章 决策支持系统.pptx
- 复旦大学:《管理信息系统》课程电子教案(PPT教学课件,MIS第五版)第11章 行业信息系统.pptx
- 复旦大学:《管理信息系统》课程电子教案(PPT教学课件,MIS第五版)第10章 流程信息系统.pptx
- 复旦大学:《管理信息系统》课程电子教案(PPT教学课件,MIS第五版)第09章 层次信息系统.pptx
- 复旦大学:《管理信息系统》课程电子教案(PPT教学课件,MIS第五版)第08章 职能信息系统.pptx
- 复旦大学:《管理信息系统》课程电子教案(PPT教学课件,MIS第五版)第07章 数据资源管理技术.pptx
- 复旦大学:《管理信息系统》课程电子教案(PPT教学课件,MIS第五版)第06章 通信与网络.pptx
- 复旦大学:《管理信息系统》课程电子教案(PPT教学课件,MIS第五版)第05章 计算机硬件软件.pptx
- 复旦大学:《管理信息系统》课程电子教案(PPT教学课件,MIS第五版)第04章 计算机系统.pptx
- 复旦大学:《管理信息系统》课程电子教案(PPT教学课件,MIS第五版)第03章 管理信息系统对当代管理的影响.pptx
- 复旦大学:《管理信息系统》课程电子教案(PPT教学课件,MIS第五版)第02章 管理信息系统的三个理论来源.pptx
- 《MIS系统软件》课程实验教学大纲 Operation System.doc
- 《MIS系统软件》课程教学资源(试卷习题)模拟测试题三(答案).pdf
- 《MIS系统软件》课程教学资源(试卷习题)模拟测试题四(答案).pdf
- 《MIS系统软件》课程教学资源(试卷习题)模拟测试题五(答案).pdf
- 《MIS系统软件》课程教学资源(试卷习题)模拟测试题二(答案).pdf
- 《MIS系统软件》课程教学资源(试卷习题)模拟测试题四(题目).pdf
- 《MIS系统软件》课程教学资源(试卷习题)模拟测试题三(题目).pdf
- 《MIS系统软件》课程教学资源(试卷习题)模拟测试题一(答案).pdf
- 《MIS系统软件》课程教学资源(试卷习题)模拟测试题五(题目).pdf
- 《MIS系统软件》课程教学资源(试卷习题)模拟测试题二(题目).pdf
- 《MIS系统软件》课程教学资源(试卷习题)模拟测试题一(题目).pdf
- 《MIS系统软件》课程教学资源(试卷习题)第六章 文件管理(练习题及答案).doc
- 《MIS系统软件》课程教学资源(试卷习题)第七章 作业管理与OS接口(练习题及答案).doc
- 《MIS系统软件》课程教学资源(试卷习题)第八章 网络操作系统(练习题及答案).doc
- 《MIS系统软件》课程教学资源(试卷习题)第五章 设备管理(练习题及答案).doc
- 《MIS系统软件》课程教学资源(试卷习题)第四章 存储器管理(练习题及答案).doc
- 《MIS系统软件》课程教学资源(试卷习题)第一章 操作系统引论(练习题及答案).doc
- 《MIS系统软件》课程教学资源(试卷习题)第二章 进程管理(练习题及答案).doc
- 《MIS系统软件》课程教学资源(试卷习题)第三章 处理机调度与死锁(练习题及答案).doc
- 《MIS系统软件》课程教学资源(PPT课件)第八章 网络操作系统.ppt
