《MIS系统软件》实验教学大纲

课程编号 :

课程名称 :MIS系统软件 / Operation System

实验总学时数:18

适应专业:信息管理与信息系统

承担实验室:管理学院实验中心

一、实验教学的目的与任务

依据边学习、边实践的原则,让学生在学习过程中通过实验进一步巩固所学的理论与思想,培养学生的实际动手能力。

通过使用高级语言编写程序,加深对高级语言掌握和使用;通过用高级语言实现操作系统中的加密解密和进程管理的程序设计,从而加深对操作操作系统的理解和使用。

二、实验项目及学时分配

序号

实验项目名称

实验学时

实验类型

开出要求

1

加密解密算法

6

验证

必做

2

进程管理实验

12

综合

必做

三、每项实验的内容和要求

实验一、 加密解密算法

1、实验设备及耗材

实验室提供的计算机设备和基本的网络环境,并安装实验中所要使用的应用软件(Turbo C for Windows 集成实验与学习环境,或者Turboc++3.1 for Windows)。

2、目的要求

通过选取一种加密解密思想,用C语言编写和调试实现其加密解密过程的算法,熟悉和回顾C语言实验环境,以加深对该加密解密算法的理解。

3、实验分析

加密包含两个元素:加密算法和密钥。

加密算法就是用基于数学计算方法与一串数字(密钥)对普通的文本(信息)进行编码,产生不可理解的密文的一系列步骤。

密钥是用来对文本进行编码和解码的数字。将这些文字(称为明文)转成密文的程序称作加密程序。发送方将消息在发送到公共网络或互联网之前进行加密,接收方收到消息后对其解码或称为解密,所用的程序称为解密程序。

将自然语言格式转换成密文的基本加密方法有:替换加密和转换加密。

替换加密:原文的顺序没有改变,通过各种字母映射关系把原文隐藏起来。

转换加密:原文的顺序打乱,重新排列。

4、实验题:(任选一题)

单字母替换加密方法——恺撒密码

加密方法是把英文字母按字母表的顺序编号作为明文,将密钥定为m,加密算法为将明文加上密钥m,得到密码表,通过相反的过程由密文得到明文。

单字母替换加密方法——单表置换密码

由密钥Key构造字符置换表,完成加密和解密过程。

多字母替换加密方法——维吉利亚密码

假设明文m=m1 m2 m3 … mn;密钥k=k1k2 k3 … kn,对应密文c=c1 c2 c3 … cn,密文为:ci=(mi+ki )mod 26 ,26个字母的序号依次为0~25,ci , mi ,,ki是分别是密文明文密钥中第i个字母的序号。

转换加密方法

通过将明文每m个字符一组按顺序分为若干个字符串,再按照先列后行形成密文,并分析给出解密的方法。

或者通过给出一个密钥字符串,将明文按密钥字符串长度按顺序分为若干组字符串,再按照密钥字符串各个字符的顺序形成密文,并分析给出解密的方法。

实验二、进程管理实验

1、实验设备及耗材

实验室提供的计算机设备和基本的网络环境,安装实验中所要使用的应用软件(Turbo C for Windows 集成实验与学习环境,或者Turboc++3.1 for Windows)。

2、目的要求

用高级语言编写和调试一个进程调度程序,以加深对进程的概念及进程调度算法的理解。

3、实验分析: 设计一个有 N个进程共行的进程调度程序。

进程调度算法:采用最高优先数优先的调度算法(即把处理机分配给优先数最高的进程)和先来先服务算法。

每个进程有一个进程控制块( PCB)表示。进程控制块可以包含如下信息:进程名、优先数、到达时间、需要运行时间、已用CPU时间、进程状态等等。

进程的优先数及需要的运行时间可以事先人为地指定(也可以由随机数产生)。进程的到达时间为进程输入的时间。

每个进程的状态可以是就绪 W(Wait)、运行R(Run)、或完成F(Finish)三种状态之一。

就绪进程获得 CPU后都只能运行一个时间片。用已占用CPU时间加1来表示。

进程的运行时间以时间片为单位进行计算。如果运行一个时间片后,进程的已占用 CPU时间已达到所需要的运行时间,则撤消该进程,如果运行一个时间片后进程的已占用CPU时间还未达所需要的运行时间,也就是进程还需要继续运行,此时应将进程的优先数减1(即降低一级),然后把它插入就绪队列等待CPU。

每进行一次调度程序都打印一次运行进程、就绪队列、以及各个进程的 PCB,以便进行检查。

重复以上过程,直到所要进程都完成为止。

4、实验题:(任选一题)

编写并调试一个模拟的进程调度程序,采用“最高优先数优先”调度算法对五个进程进行调度。

“最高优先数优先”调度算法的基本思想是把CPU分配给就绪队列中优先数最高的进程。

静态优先数是在创建进程时确定的,并在整个进程运行期间不再改变。

动态优先数是指进程的优先数在创建进程时可以给定一个初始值,并且可以按一定原则修改优先数。例如:在进程获得一次CPU后就将其优先数减少1。或者,进程等待的时间超过某一时限时增加其优先数的值,等等

编写并调试一个模拟的进程调度程序,采用“轮转法”调度算法对五个进程进行调度。

轮转法可以是简单轮转法、可变时间片轮转法,或多队列轮转法。

简单轮转法的基本思想是:所有就绪进程按 FCFS排成一个队列,总是把处理机分配给队首的进程,各进程占用CPU的时间片相同。如果运行进程用完它的时间片后还为完成,就把它送回到就绪队列的末尾,把处理机重新分配给队首的进程。直至所有的进程运行完毕。

四、实验改革与特色

本课程实验相对其他信息专业的课程实验而言,相对比较抽象,实现的难度也较大。但是通过以上两个实验可以加深大家对操作系统进程管理、作业管理和存储管理的理解。

五、教材及实验指导书

教材及参考书:

书名

作者

出版社

《计算机操作系统》

汤子瀛等

西安电子科技大学出版社

《计算机操作系统》

郁红英 冯庚豹

人民邮电出版社

《操作系统原理》

Lubomir F.Bic Alan C. Shaw

清华大学出版社

《操作系统原理》

庞丽萍

华中理工大学出版社

实验指导书:

自编《MIS系统软件》实验指导书。