《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<stdio.h>#include<conio.h>charencrypt(charch,intn)/*加密函数,把字符向右循环移位n*/while(ch>=A'&&ch<=Z)return (A'+(ch-A'+n)%26);1while(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<stdio.h> #include<conio.h> char encrypt(char ch,int n)/*加密函数,把字符向右循环移位 n*/ { while(ch>='A'&&ch<='Z') { return ('A'+(ch-'A'+n)%26); } while(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);