存储管理实验报告

存储管理实验报告
存储管理实验报告

实验三、存储管理

一、实验目的:

? 一个好的计算机系统不仅要有一个足够容量的、存取速度高的、稳定可靠的主存储器,而且要能合理地分配和使用这些存储空间。当用户提出申请存储器空间时,存储管理必须根据申请者的要求,按一定的策略分析主存空间的使用情况,找出足够的空闲区域分配给申请者。当作业撤离或主动归还主存资源时,则存储管理要收回作业占用的主存空间或归还部分主存空间。主存的分配和回收的实现虽与主存储器的管理方式有关的,通过本实验理解在不同的存储管理方式下应怎样实现主存空间的分配和回收。

在计算机系统中,为了提高主存利用率,往往把辅助存储器(如磁盘)作为主存储器的扩充,使多道运行的作业的全部逻辑地址空间总和可以超出主存的绝对地址空间。用这种办法扩充的主存储器称为虚拟存储器。通过本实验理解在分页式存储管理中怎样实现虚拟存储器。

在本实验中,通过编写和调试存储管理的模拟程序以加深对存储管理方案的理解。熟悉虚存管理的各种页面淘汰算法通过编写和调试地址转换过程的模拟程序以加强对地址转换过程的了解。

二、实验题目:

设计一个可变式分区分配的存储管理方案。并模拟实现分区的分配和回收过程。

对分区的管理法可以是下面三种算法之一:(任选一种算法实现)

首次适应算法

循环首次适应算法

最佳适应算法

三.实验源程序文件名:cunchuguanli.c

执行文件名:cunchuguanli.exe

四、实验分析:

1)本实验采用可变分区管理,使用首次适应算法实现主存的分配和回收

1、可变分区管理是指在处理作业过程中建立分区,使分区大小正好适合作业的需求,并

且分区个数是可以调整的。当要装入一个作业时,根据作业需要的主存量查看是否有足够的空闲空间,若有,则按需要量分割一个分区分配给该作业;若无,则作业不能装入,作业等待。随着作业的装入、完成,主存空间被分成许多大大小小的分区,有的分区被作业占用,而有的分区是空闲的。

为了说明那些分区是空闲的,可以用来装入新作业,必须有一张空闲说明表

? 空闲区说明表格式如下:?

第一栏

第二栏

其中,起址——指出一个空闲区的主存起始地址,长度指出空闲区的大小。

长度——指出从起始地址开始的一个连续空闲的长度。

状态——有两种状态,一种是“未分配”状态,指出对应的由起址指出的某个长度的区域是空闲区;另一种是“空表目”状态,表示表中对应的登记项目是空白(无效),可用来登记新的空闲区(例如,作业完成后,它所占的区域就成了空闲区,应找一个“空表目”栏登记归还区的起址和长度且修改状态)。由于分区的个数不定,所以空闲区说明表中应有适量的状态为“空表目”的登记栏目,否则造成表格“溢出”无法登记。

2、当有一个新作业要求装入主存时,必须查空闲区说明表,从中找出一个足够大的空闲区。

有时找到的空闲区可能大于作业需要量,这时应把原来的空闲区变成两部分:一部分分

给作业占用;另一部分又成为一个较小的空闲区,留在空闲区表中。为了尽量减少由于分割造成的空闲区,尽可能分配低地址部分的空闲区,而尽量保存高地址部分有较大的连续空闲区域,以利于大型作业的装入。为此,在空闲区说明表中,把每个空闲区按其地址顺序从低到高登记,即每个后继的空闲区其起始地址总是比前者大。为了方便查找还可使表格“紧缩”,总是让“空表目”项留在表格的后部。

3、采用最先适应算法(顺序分配算法)分配主存空间。

按照作业的需要量,查空闲区说明表,顺序查看登记栏,找到第一个能满足要求的空闲区。当空闲区大于需要量时,一部分用来装入作业,另一部分仍为空闲区登记在空闲区说明表中。

由于本实验是模拟主存的分配,所以把主存区分配给作业后并不实际启动装入程序装入作业,而用输出“分配情况”来代替。

4、当一个作业执行完成撤离时,作业所占的分区应该归还给系统,归还的分区如果与其它空闲区相邻,则应合成一个较大的空闲区,登记在空闲区说明表中。例如,在上述中列举的情况下,如果作业2撤离,归还所占主存区域时,应与上、下相邻的空闲区一起合成一个大的空闲区登记在空闲区说明表中。

2)流程图:

<1> 主存回收算法

,2>首次适应分配模拟算法

3)源程序:

#include

#include

#define NULL 0

#define getjcb(type) (type*)malloc(sizeof(type))

#define getsub(type) (type*)malloc(sizeof(type))

int num,num2; //要调度的作业数和要回收的区域数

int m=0; //已分配作业数

int flag; //分配成功标志

int isup,isdown; //回收区域存在上邻和下邻的标志

int is=0;

struct jcb{

char name[10];

char state;

int ntime; //所需时间

int size; //所需空间大小

int addr; //所分配分区的首地址

struct jcb *link;

} *ready =NULL, *p,*q,*as=NULL;//作业队列ready,已分配作业队列as typedef struct jcb JCB;

struct subarea{ //分区块

char name[10];

int addr; //分区首地址

int size; //分区大小

char state;

struct subarea *link;

} *sub=NULL,*r,*s,*cur; //空闲分区队列sub,当前分区指针cur

typedef struct subarea SUB;

void sort() /* 建立对作业按到达时间进行排列的函数,直接插在队列之尾*/ {

JCB *first;

if(ready==NULL) ready=p;

else{

first=ready;

while(first->link!=NULL)

first=first->link;

first->link=p;

p->link=NULL;

}

}

void sort3() /*建立对已分配作业队列的排列函数,直接插在队列之尾*/ {

JCB *fir;

if(as==NULL) as=q;

else{

fir=as;

while(fir->link!=NULL)

fir=fir->link;

fir->link=q;

q->link=NULL;

}

m++;

}

void input() /* 建立作业控制块函数*/

{

int i;

printf("\n请输入要调度的总作业数:");

scanf("%d",&num);

for(i=0;i

{

printf("\n作业号No.%d:\n",i);

p=getjcb(JCB);

printf("\n输入作业名:");

scanf("%s",&p->name);

printf("\n输入作业的大小:");

scanf("%d",&p->size);

printf("\n输入作业所需运行时间:");

scanf("%d",&p->ntime);

p->state='w';

p->link=NULL;

sort(); /* 调用sort函数*/

}

printf("\n 按任一键继续......\n");

getch();

}

void input2() /*建立要回收区域的函数*/

{

JCB *k;

int has;

q=getjcb(JCB);

printf("\n输入区域名(作业名):");

scanf("%s",&q->name);

p=as;

while(p!=NULL)

{if(strcmp(p->name,q->name)==0) /*在已分配作业队列中寻找*/

{

q->addr=p->addr;

q->size=p->size;

has=1; /*输入作业名存在标志位*/

if(p==as) as=p->link; /*在已分配作业队列中删除该作业*/

else

{k=as;

while(k->link!=p) k=k->link;

k->link=k->link->link; /*删除*/

}

printf("输出该作业首地址:%d\n",q->addr);

printf("输出该作业大小:%d\n\n",q->size);

q->link=NULL;

break;

}

else

{p=p->link; has=0;} /*输入作业名不存在标志*/

}

if(has==0)

{printf("\n输入作业名错误!请重新输入!\n");

input2();

}

}

void print()

{printf("\n\n\n\n");

printf("\t\t**************************************\n");

printf("\t\t\t三.存储管理实验演示\n");

printf("\t\t**************************************\n\n\n"); printf("\t\t\t\t覃晓花\n");

printf("\t\t\t\t计算机学院\n");

printf("\t\t\t\t计科01班\n");

printf("\t\t\t\t3204007102\n");

printf("\t\t\t\t2009年12月\n");

printf("\n\n\n");

printf("\t\t\t按任意键进入演示");

getch();

system("cls");

}

void init_sub() /*初始化空闲分区表*/

{

r=getsub(SUB);

strcpy(r->name,"0"); r->addr=5; r->size=10; r->state='F'; sub=r;

s=getsub(SUB);

strcpy(s->name,"1"); s->addr=20; s->size=120; s->state='F'; sub->link=s;r=s;

s=getsub(SUB);

strcpy(s->name,"2"); s->addr=160; s->size=40; s->state='F'; r->link=s;r=s;

s=getsub(SUB);

strcpy(s->name,"3"); s->addr=220; s->size=10; s->state='F';

r->link=s;r=s;

s=getsub(SUB);

strcpy(s->name,"4"); s->addr=250; s->size=20; s->state='F';

r->link=s;r=s;

s=getsub(SUB);

strcpy(s->name,"5"); s->addr=300; s->size=80; s->state='F';

r->link=s;

}

//-------------------------------------------------------------------------- void disp() /*空闲分区表的显示函数*/

{

printf("\n\n");

printf("\t\t 分区首地址长度状态 \n");

r=sub;

while(r!=NULL)

{

printf("\t\t %s\t\t%d\t\t%d\t\t%c\n",r->name,r->addr,r->size,r->state);

r=r->link;

}

printf("\n");

}

void disp2() /*显示已分配内存的作业表函数*/

{

printf("\n\n");

printf("\t\t 作业名首地址长度状态 \n");

p=as;

while(p!=NULL)

{

printf("\t\t %s\t\t%d\t\t%d\t\t%c\n",p->name,p->addr,p->size,p->state);

p=p->link;

}

printf("\n\n");

}

void assign2(JCB *pr) /*首次适应作业分区*/

{

SUB *k;

r=sub; /*从空闲表头开始寻找*/

while(r!=NULL)

{

if(((r->size)>(pr->size))&&(r->state=='n')) /*有空闲分区大于作业大小的情况*/

{

pr->addr=r->addr;

r->size-=pr->size;

r->addr+=pr->size;

flag=1; /*分配成功标志位置1*/

q=pr;

q->state='r';

sort3(); /*插入已分配作业队列*/

printf("作业%s的分区为[%s],首地址为%d.\n",p->name,r->name,pr->addr);

break;

}

else if(((r->size)==(pr->size))&&(r->state=='n')) /*有空闲分区等于作业大小的情况*/

{

pr->addr=r->addr;

flag=1; /*分配成功标志位置1*/

q=pr;

sort3(); /*插入已分配作业队列*/

s=sub; /*空闲分区已完成分配,应删除*/

while(s->link!=r) s=s->link;

s->link=s->link->link; /*删除空闲分区*/

printf("作业%s的分区为[%s],首地址为%d.\n",p->name,r->name,pr->addr);

break;

}

else

{r=r->link; flag=0;}

}

if(flag==0) /*作业过大的情况*/

{

printf("作业%s长度过大,内存不足,分区分配出错!\n",p->name);

is=1;

}

}

void reclaim2(JCB *pr) /*首次适应与循环首次适应区域回收*/

{

SUB *k;

r=sub;

while(r!=NULL)

{

if(r->addr==((pr->addr)+(pr->size))) /*回收区域有下邻*/

{

pr->size+=r->size;

s=sub;

isdown=1; /*下邻标志位置1*/

while(s!=NULL)

{

if(((s->addr)+(s->size))==(pr->addr)) /*有下邻又有上邻*/

{

s->size+=pr->size;

k=sub;

while(k->link!=r) k=k->link;

k->link=k->link->link;

isup=1; /*上邻标志位置1*/

break;

}

else

{s=s->link; isup=0;} /*上邻标志位置0*/

}

if(isup==0) /*有下邻无上邻*/

{

r->addr=pr->addr;

r->size=pr->size;

}

break;

}

else

{r=r->link; isdown=0;} /*下邻标志位置0*/

}

if(isdown==0) /*区域无下邻*/

{

s=sub;

while(s!=NULL)

{

if(((s->addr)+(s->size))==(pr->addr)) /*无下邻但有上邻*/ {

s->size+=pr->size;

isup=1; /*上邻标志位置1*/

break;

}

else

{ s=s->link; isup=0;} /*上邻标志位置0*/

}

if(isup==0) /*无下邻且无上邻*/

{

k=getsub(SUB); /*重新生成一个新的分区结点*/

strcpy(k->name,pr->name);

k->addr=pr->addr;

k->size=pr->size;

k->state='n';

r=sub;

while(r!=NULL)

{

if((r->addr)>(k->addr)) /*按分区首地址排列,回收区域插在合适的位置*/ {

if(r==sub) /*第一个空闲分区首址大于回收区域的情况*/

{ k->link=r; sub->link=k; }

else

{

s=sub;

while(s->link!=r) s=s->link;

k->link=r;

s->link=k;

}

break;

}

else r=r->link;

}

if(r==NULL) /*所有空闲分区的首址都大于回收区域首址的情况*/

{

s=sub;

while(s->link!=NULL) s=s->link;

s->link=k;

k->link=NULL;

}

}

}

printf("\n区域%s己回收.",pr->name);

}

menu()

{

printf("\n\n\n\t\t**************************************\n");

printf("\t\t\t存储管理实验演示\n");

printf("\t\t**************************************\n\n\n");

printf("\t\t\t 1. 显示空闲分区 \n");

printf("\t\t\t 2. 分配和回收作业 \n");

printf("\t\t\t 0. 退出 \n");

printf("\t\t\t请选择你要的操作:");

switch(getchar())

{

case '1':

system("cls");

disp();

getch();

system("cls");

menu();

break;

case '2':

printf("\n首次适应算法");

input();

printf("\n");

while(num!=0)

{

p=ready;

ready=p->link;

p->link=NULL;

assign2(p);

num--;

}

printf("\n显示回收后的空闲分区表和已分配作业表...");

getch();

printf("\n\t\t 完成分配后的空闲分区表 \n"); disp();

printf("\n\t\t 已分配作业表 \n"); disp2();

if(is==0)

printf("\n 全部作业已经被分配内存.");

else printf("\n 作业没有全部被分配内存.\n");

printf("\n\n按任意键进行区域回收.");

printf("\n");

while(as!=NULL)

{getch();

input2();

printf("按任意键继续...");

getch();

printf("\n");

reclaim2(q);

printf("\n显示回收后的空闲分区表和已分配作业表...");

getch();

printf("\n\t\t 回收后的空闲分区表 \n"); disp();

printf("\n\t\t 已分配作业表 \n"); disp2();

printf("\n继续回收...(Enter)");

}

printf("\n所有已分配作业已完成!");

printf("\nPress any key to return...");

getch();

system("cls");

menu();

break;

case '0':

break;

default:

system("cls");

menu();

}

}

void main() /*主函数*/

{

init_sub();

print();

menu();

}

4)调试结果:

1>进入界面,显示操作:

2>选择操作1,显示目前的空闲分区:

3>返回界面,选择操作2,输入如下信息:

4>显示分配作业后的空闲区表和作业链表:

5>作业继续运行,完后回收作业,如下:

6>此时,作业已经全部回收,空闲区表内容跟初始空闲区表内容一样.

五.心得体会

这个实验完成得很不容易。

管理信息系统实验报告

实验一认识计算机硬件和网络结构 一、实验题目 认识计算机硬件和网络结构。 二、实验课时 2课时。 三、实验目的 认识计算机的主要构成部件、功能、型号、在计算机机箱内的位置、网络结构等。 四、实验内容和要求 1、利用多媒体演示计算机的主要组成部件:机箱、主板、CPU、内存条、硬盘、软驱、光驱、插槽、BUS总线、串行接口、并行接口、USB接口等; 2、打开机箱,实物展示并讲解个部件的功能及其连接; 3、机箱、主板、CPU、CPU风扇、内存条、显卡、网卡等分别如下所示。 机箱主板

内存条显卡网卡无线网卡 CPU CPU风扇硬盘 机箱背面并行接口串行接口USB接口 4、观察每个部件在机箱的位置,并掌握每个部件的功能和基本知识。 5、观察实验室网络结构图。 6、结合某网吧的例子更好地理解网络结构。 Parallel port Serial port USB port Keyboard and mouse ports

7、独立完成上述内容,并提交书面实验报告。 五、实验体会 通过本次实验,我了解了计算机的各种硬件和网络结构。知道了各种硬件的形状、功能、特征等。还知道了网络结构的流程、大体构造。这使我对计算机有了初步的认识,为以后更进一步的学习打下了坚实的基础。也为我以后的学习和生活提供了方便。 1、cpu——中央处理器,是一台计算机的运算核心和控制核心。 2、硬盘——是电脑的主要存储媒介之一。 3、主板——又叫主机板、系统板或母板,安装在机箱内,是微机最基本也是最重要的部件之一。 4、机箱——作为电脑配件的一部分,它起的主要作用是放置和固定各电脑配件,起到一个承托和保护作 用。 5、内存条——是连接CPU和其他设备的通道,起到缓冲和数据交换作用。

存储管理实验报告

实验三、存储管理 一、实验目的: ? 一个好的计算机系统不仅要有一个足够容量的、存取速度高的、稳定可靠的主存储器,而且要能合理地分配和使用这些存储空间。当用户提出申请存储器空间时,存储管理必须根据申请者的要求,按一定的策略分析主存空间的使用情况,找出足够的空闲区域分配给申请者。当作业撤离或主动归还主存资源时,则存储管理要收回作业占用的主存空间或归还部分主存空间。主存的分配和回收的实现虽与主存储器的管理方式有关的,通过本实验理解在不同的存储管理方式下应怎样实现主存空间的分配和回收。 在计算机系统中,为了提高主存利用率,往往把辅助存储器(如磁盘)作为主存储器的扩充,使多道运行的作业的全部逻辑地址空间总和可以超出主存的绝对地址空间。用这种办法扩充的主存储器称为虚拟存储器。通过本实验理解在分页式存储管理中怎样实现虚拟存储器。 在本实验中,通过编写和调试存储管理的模拟程序以加深对存储管理方案的理解。熟悉虚存管理的各种页面淘汰算法通过编写和调试地址转换过程的模拟程序以加强对地址转换过程的了解。 二、实验题目: 设计一个可变式分区分配的存储管理方案。并模拟实现分区的分配和回收过程。 对分区的管理法可以是下面三种算法之一:(任选一种算法实现) 首次适应算法 循环首次适应算法 最佳适应算法 三.实验源程序文件名:cunchuguanli.c

执行文件名:cunchuguanli.exe 四、实验分析: 1)本实验采用可变分区管理,使用首次适应算法实现主存的分配和回收 1、可变分区管理是指在处理作业过程中建立分区,使分区大小正好适合作业的需求,并 且分区个数是可以调整的。当要装入一个作业时,根据作业需要的主存量查看是否有足够的空闲空间,若有,则按需要量分割一个分区分配给该作业;若无,则作业不能装入,作业等待。随着作业的装入、完成,主存空间被分成许多大大小小的分区,有的分区被作业占用,而有的分区是空闲的。 为了说明那些分区是空闲的,可以用来装入新作业,必须有一张空闲说明表 ? 空闲区说明表格式如下:? 第一栏 第二栏 其中,起址——指出一个空闲区的主存起始地址,长度指出空闲区的大小。 长度——指出从起始地址开始的一个连续空闲的长度。 状态——有两种状态,一种是“未分配”状态,指出对应的由起址指出的某个长度的区域是空闲区;另一种是“空表目”状态,表示表中对应的登记项目是空白(无效),可用来登记新的空闲区(例如,作业完成后,它所占的区域就成了空闲区,应找一个“空表目”栏登记归还区的起址和长度且修改状态)。由于分区的个数不定,所以空闲区说明表中应有适量的状态为“空表目”的登记栏目,否则造成表格“溢出”无法登记。 2、当有一个新作业要求装入主存时,必须查空闲区说明表,从中找出一个足够大的空闲区。 有时找到的空闲区可能大于作业需要量,这时应把原来的空闲区变成两部分:一部分分

管理信息系统实验报告

《管理信息系统》实验报告 实验项目:教务处排课系统分析 实验学时:18学时 姓名: 学号: 专业班级: 实验时间: 实验成绩:

东北财经大学 《管理信息系统》实验报告实验项目名称:

管理系统实验报告 实验小组成员: 实验对象:教务处排课信息系统 实验对象背景介绍:教务管理系统是一个庞大而复杂的系统,它包括:学生学籍管理 系统、排课系统、教师管理系统、学生成绩系统、系统设置、班级信息系统、教学培养计划管理系统、教学资源管理系统、招生系统教务信息发布系统和事务处理系统。随着科学技术的进步与相应的管理信息系统的升级,教务系统管理平台充分利用互联网络B/S管理信息模式,以网络为平台,为各个学校教务系统的管理提供一个平台,帮助学校管理教务系统,用一个帐号解决学校教务教学管理,并且学校可以自由选择学校需要的教务管理系统,灵活地定制符合学校自己实际情况的教务系统。教务管理系统内部子系统多样庞杂,今天我们主要讨论的研究对象是排课管理信息系统。 排课管理系统是每个学校必不可少的内容,它的优劣直接学校教学工作质量和学校的正常教学活动秩序。随着现在生源数量的不断增长以及各行业竞争日益激烈,为了满足中国社会主义事业发展对高素质人才的需求,各大高校都在尽自己努力,以本校现状及需求作为基础,以科技发展进步作为依托,发展完善一个功能完整,操作简单快捷,高效率,与本校其他教务管理系统良好适应的排课系统与之配套,使教师等教学资源利用达到最大化,为学生提供优良的教育环境。因此,东北财经大学作为一个知名的财经类高校,要达到适应教育现状及提高自身教育层次的目标,完善教务排课管理系统显得尤为重要。 系统功能简述 排课管理系统需要合理调配各个班级专业所需的专业课程选修必修课程,相应教师,教师及上课班级,尽可能全面的考虑到教师的身体状况,工作条件,家庭状况甚至与学校距离,教师及学生时间,各种课程按重要程度以及学生兴奋点和接受能力合理排序,教师的容量用途,学校集体活动或教师会议等多方面因素,以计算机安排为主,手工调整为辅的方式做出各个院系各个专业各个班级的课程安排。 排课管理系统的目标不仅是对于原有系统进行改进提高,还使课程管理科学化系统化准确化,减少手工录入的误差可能性,方便操作者的随时添加、查询、修改,是统计表格格式规范化统一化,提高工作效率,降低人工成本,提高处理数据能力与速度,提高教学质量,优化学校教务管理系统,为学校的进一步发展提供技术支持与可能性。 系统分析 (1)系统分析任务:根据系统设计任务书所确定的范围,并在充分认识原有系统的基础上进行详细的调查分析,通过问题识别、可行性分析、详细调查、系统化分析,进而确定新系统的基本目标和逻辑功能结构,最后完成新系统的逻辑方案设计。 (2)可行性分析和详细调查概述:由于实验的限制,假定建立排课管理信息系统在管理上、技术上、经济上都是可行的。而详细调查采用一定的调查方法发现了现行系统有以下优缺点: 现有系统优缺点分析 1.选课分为预选、正选、补退选,一定程度上完善了选课系统。 2.在选课中,按年级差异区分次序,一定程度上缓解短时间内系统压力,保证了高年级学生顺利完成课业。

实验报告实验二存储管理

实验二存储管理 一.实验目的 存储管理的主要功能之一是合理地分配空间。请求页式管理是一种常用的虚拟存储管理技术。 本实验的目的是通过请求页式管理中页面置换算法模拟设计,了解虚拟存储技术的特点,掌握请求页式存储管理的页面置换算法。 二.实验内容 (1)通过计算不同算法的命中率比较算法的优劣。同时也考虑了用户内存容量对命中率的影响。 页面失效次数为每次访问相应指令时,该指令所对应的页不在内存页面失效次数 命中率?1?页地址流长度中的次数。,用户内存,用户虚存容量为 32k 在本实验中,假定页面大小为1k 32页。容量为4页到320条指令。produce_addstream通过随机数产生一个指令序列,共(2)指令的地址按下述原则生成:A、 的指令是顺序执行的)150% 的指令是均匀分布在前地址部分2)25% 的指令是均匀分布在后地址部分3)25% 体的实施方法是:、具B ;319]的指令地址之间随机选取一起点m)在[0,1 的指令;顺序执行一条指令,即执行地址为m+1)2 该指令的地址为中随机选取一条指令并执行,,m+1]3)在前地址[0 ;m' 的指令'+1)顺序执行一条指令,地址为m4 319]中随机选取一条指令并执行;[m在后地址'+2,5) 320次指令)~5),直到执行6)重复上述步骤1 将指令序列变换称为页地址流C、 条指令条指令排列虚存地址,即320k存放10在用户虚存中,按每在虚存中的存放方式为:;,9])第9条指令为第0页(对应虚存地址为[0第0条~ ;19])条指令为第1页(对应虚存地址为[10,第10条~第19 。。。。。。;,319])[310条~第319条指令为第31页(对应虚存地址为310第页。按以上方式,用户指令可组成32 计算并输出下属算法在不同内存容量下的命中率。)(3 );)先进先出的算法(FIFO1 ;最近最少使用算法(LRU)2) ;OPT)最佳淘汰算法()3 ;)LFR最少访问页面算法()4. 其中3)和4)为选择内容 三.系统框图

管理信息系统实验报告答案要点

实验

3、分组讨论并确定小组管理信息系统的题目,并给出题目的具体功能和要求。心得体 会:(可以从以下几个方面来总结:你在上机过程中遇到了哪些难题?你是怎么克服的?你的收获有哪些?你有什么没有解决的问题等) 实验

书E 选脚 ■1. 订盼蔚豆 建立学生表 则剩余不够的部分还须向其他书商订购,同时 在订购信息中添加该教材在另一个书商中订购的信息。 1、请画出上述内容的 E-R 图。 2、把E-R 图转换成合理的关系模式: 学 生(学号,姓名,性别,院系,年龄) 教 材(书号,书名,出版社,出版日期, 书商(商号,电话,联系人,商名) 山膿E 軀 nanie = ^Buy_Booksdb , j filename - J E: \Buy_Bcoksdb* mdf', size = 5j maxsize - 20, f llegrovrth = 1 ) log on ( rtajne-' Buy^Bookslog 1、 f ilenajue~, E:\Buy_Bcakslog. ldf'. size=2_, maxsize! 8, fllegrawth-1 ] Go 口. ■号, 3、在SQL Serve r (或Access )中建立数据库和表(截图) 建立数据库: create database Buy Books on primary 主键为学号 主编) 主键为书号 主键为商号 ' —i r - ! 見意「腿 性别 商号 1 ---------- 戟条人

CREATE TABLE St udent ( Sno char 9- primary key. Sname char (20 i unique, Ssex char (2), Sage smallint. Sdept char (2Q 1 ) f -f 建立教材表 CREATE TABLE Books ( Eno char 9) primary key Btitle char (40), Bauthor char ^20), Bpress char 40 Bdate datetime ): 建立书商表 -CREATE TABLE SSellcr BSno char 9[ priinaty key, BSnane char 201 . Tel char 30;. Person char (201 feedback char '40 1 鼻 /*书号* /車书名*/ 八作者于/ /廉也版社康/ " 由版日期柑

存储管理实验报告.doc

存储管理实验报告

北方工业大学 《计算机操作系统》实验报告 实验名称存储管理实验序号 2 实验日期2013.11.27实验人 一、实验目的和要求 1.请求页式存储管理是一种常用的虚拟存储管理技术。本实验目的 是通过请求页式存储管理中页面置换算法的模拟设计,了解虚拟存储 技术的特点,掌握请求页式存储管理的页面置换算法。 二、相关背景知识 1.随机数产生办法 关于随机数产生办法, Linux 或 UNIX 系统提供函数 srand() 和 rand() ,分 别进行初始化和产生随机数。 三、实验内容 (1).通过随机数产生一个指令序列,共320条指令。指令的地址按下述原则生成: 1.50% 的指令是顺序执行的; 2.25% 的指令是均匀分布在前地址部分; 3.25% 的指令是均匀分布在后地址部 分;具体的实施方法是: 1.在[0, 319]的指令地址之间随机选取一起点 m; 2.顺序执行一条指令,即执行地址为 m+1 的指令; 3.在前地址[0,m+1]中随机选取一条指令并执行,该指令的地址为m’; 4.顺序执行一条指令,其地址为 m’+1; 5.在后地址 [m ’+2, 319]中随机选取一条指令并执行; 6.重复上述步骤 1~5,直到执行 320 次指令。 (2)将指令序列变换成页地址流,设 1.页面大小为 1K ; 2.用户内存容量为 4 页到 32 页; 3.用户虚存容量为 32K 。 在用户虚存中,按每 K 存放 10 条指令排列虚存地址,即 320 条指令在虚存 中存放的方式为: 第 0 条至第 9 条指令为第 0 页(对应虚存地址为 [0, 9]); 第 10 条至第 19 条指令为第 1 页(对应虚存地址为 [10, 19]); 第 310 条至第 319 条指令为第 31 页(对应虚存地址为 [310,319]); 按以上方式,用户指令可以组成 32 页。 (3)计算并输出下述各种算法在不同内存容量下的命中率。

实验操作系统存储管理实验报告

实验四操作系统存储管理实验报告 一、实验目的 存储管理的主要功能之一是合理地分配空间。请求页式管理是一种常用的虚拟存储管理技术。 本实验的目的是通过请求页式管理中页面置换算法模拟设计,了解虚拟存储技术的特点,掌握请求页式存储管理的页面置换算法。 二、实验内容 (1)通过计算不同算法的命中率比较算法的优劣。同时也考虑了用户内存容量对命中率的影响。 页面失效次数为每次访问相应指令时,该指令所对应的页不在内存中的次数。 在本实验中,假定页面大小为1k,用户虚存容量为32k,用户内存容量为4页到32页。 (2)produce_addstream通过随机数产生一个指令序列,共320条指令。 A、指令的地址按下述原则生成: 1)50%的指令是顺序执行的 2)25%的指令是均匀分布在前地址部分 3)25%的指令是均匀分布在后地址部分 B、具体的实施方法是: 1)在[0,319]的指令地址之间随机选取一起点m; 2)顺序执行一条指令,即执行地址为m+1的指令; 3)在前地址[0,m+1]中随机选取一条指令并执行,该指令的地址为m’; 4)顺序执行一条指令,地址为m’+1的指令 5)在后地址[m’+2,319]中随机选取一条指令并执行; 6)重复上述步骤1)~5),直到执行320次指令 C、将指令序列变换称为页地址流

在用户虚存中,按每k存放10条指令排列虚存地址,即320条指令在虚存中 的存放方式为: 第0条~第9条指令为第0页<对应虚存地址为[0,9]); 第10条~第19条指令为第1页<对应虚存地址为[10,19]); 。。。。。。 第310条~第319条指令为第31页<对应虚存地址为[310,319]); 按以上方式,用户指令可组成32页。 (3)计算并输出下属算法在不同内存容量下的命中率。 1)先进先出的算法

网络存储实验报告

湖北文理学院《网络存储》 实验报告 专业班级:计科1211 姓名:*** 学号:*** 任课教师:李学峰 2014年11月16日

实验01 Windows 2003的磁盘阵列技术 一、实验目的 1.掌握在Windows 2003环境下做磁盘阵列的条件和方法。 2.掌握在Windows 2003环境下实现RAID0的方法。 3. 掌握在Windows 2003环境下实现RAID1的方法。 4. 掌握在Windows 2003环境下实现RAID5的方法。 5. 掌握在Windows 2003环境下实现恢复磁盘阵列数据的方法。 二、实验要求 1.在Windows 2003环境下实现RAID0 2.在Windows 2003环境下实现RAID1 3.在Windows 2003环境下实现RAID5 4.在Windows 2003环境下实现恢复磁盘阵列数据 三、实验原理 (一)磁盘阵列RAID技术的概述 RAID是一种磁盘容错技术,由两块以上的硬盘构成冗余,当某一块硬盘出现物理损坏时,换一块同型号的硬盘即可自行恢复数据。RAID有RAID0、RAID1、RAID5等。RAID 技术是要有硬件来支持的,即常说的RAID卡,如果没RAID卡或RAID芯片,还想做RAID,那就要使用软件RAID技术,微软Windows系统只有服务器版本才支持软件RAID技术,如Windows Server 2003等。 (二)带区卷(RAID0) 带区卷是将多个(2-32个)物理磁盘上的容量相同的空余空间组合成一个卷。需要注意的是,带区卷中的所有成员,其容量必须相同,而且是来自不同的物理磁盘。带区卷是Windows 2003所有磁盘管理功能中,运行速度最快的卷,但带区卷不具有扩展容量的功能。它在保存数据时将所有的数据按照64KB分成一块,这些大小为64KB的数据块被分散存放于组成带区卷的各个硬盘中。 (三)镜像卷(RAID1) 镜像卷是单一卷的两份相同的拷贝,每一份在一个硬盘上。它提供容错能力,又称为RAID1技术。 RAID1的原理是在两个硬盘之间建立完全的镜像,即所有数据会被同时存放到两个物理硬盘上,当一个磁盘出现故障时,系统仍然可以使用另一个磁盘内的数据,因此,它具备容错的功能。但它的磁盘利用率不高,只有50%。 四、实验设备 1.一台装有Windows Server 2003系统的虚拟机。 2.虚拟网卡一块,类型为“网桥模式”。 3.虚拟硬盘五块。 五、实验步骤 (一)组建RAID实验的环境 (二)初始化新添加的硬盘 (三)带区卷(RAID0的实现)

管理信息系统实验报告分析

实验报告 课程:管理信息系统 一、实验目的 验证有关概念和理论,加深对概念和知识的理解和认识;熟悉和掌握Visual Basic 6.0 软件的使用方法;初步具备信息管理知识和制作数据字典、系统数据流程图的能力。运用课程讲授的管理信息系统的系统分析方法、模块化系统设计方法以及系统的调试方法进行人事档案管理信息系统的分析、设计、开发、实现与调试。 二、实验方法 面向对象法 三、实验环境及开发工具 1.硬件环境 在最低配置的情况下,系统的性能往往不尽如人意,但现在的硬件性能已经相当的出色,而且价格便宜,因此通常给服务器的配置高性能的硬件。 处理器:Interl Pentium II 266 MX 或更高 内存:64M 硬盘空间:2 GB 显卡:SVGA 显示适配器 显示器:液晶17寸 2.软件环境 操作系统:Windows/98/ME/2000/XP或更高版本 数据库:Microsoft Access 2000 3.实验开发工具:Visual Bisic 6.0程序系统 四、实验内容

(一)、系统分析 1、系统数据流程图 2、数据字典 3、系统中所有实体(包括实体的属性)以及实体之间的联系类型分析 人员的个人资料经过专业的处理部门的处理形成个人档案。档案包括自然情况,工作情况,简历,政治情况等各方面信息,内容比较庞大复杂。将档案信息传送到人员信息库。同时还综合考虑档案管理工作的性质,总结归纳出所需实现

的功能。为人事档案进行服务,对人事的变动、人事资料、以及人事资料的查询,统计等功能。总体上说具有编辑,查询,用户管理,图表统计等功能。然后将最终结果提交到人力资源管理部门,由人力资源管理人员进行审查,以便于对职工的调配。 4、典型处理的表达 档案完整添加用户档案到档案库 个人信息成功添加到档案库 修改用户档案信息 失败退回用户档案 退回用户档案 (二)、系统设计 1、子系统划分(或功能划分或模块划分) 功能划分 1、用户管理 功能:设置使用人事管理系统的用户及其使用权限。整个人事管理系统由多个功能模块组成,不同的模块完成不同的功能,所以可以为不同的职工分配不同的功能,使其具有不同的权限,完成其权限所对应的功能,从而很好地管理好整个系统。 2、辅助表管理 功能:通过它的这个功能可以有效的对本单位人事部门的扩充进行及时的计算机管理。只要管理员进行简单的数据字段添加即可。辅助表管理功能是高级管理员及中级管理员拥有的权限,它的功能是对数据库进行新表的添加。 3、档案编辑 功能:档案编辑模块中有4个子模块。他们是档案卡片、个人简历、家庭成员、历史档案等功能。这些功能因管理员的权限不同所表示出的功能使用也不同,普通管理员没有数据修改及删除的权利。在这些功能里详细的记录了所有单位员工的资料。 4、档案查询 功能:对档案卡片的查询功能,在这里可以查到符合程序要求的任何信息。

人事管理系统实验报告

摘要 人事管理是企业管理中的一个重要内容,随着时代的进步,企业也逐渐变得庞大起来。如何管理好企业内部员工的信息,成为企业管理中的一个大问题。在这种情况下,开发一个人事管理系统就显得非常必要。本系统结合公司实际的人事、制度,经过实际的需求分析,采用功能强大的Visual Basic6.0作为开发工具而开发出来的单机版人事管人事理系统。整个系统从符合操作简便、界面友好、灵活、实用、安全的要求出发,本企业人事管理系统具有如下功能:员工基本信息的录入、修改、查询、删除模块,员工假条信息录入、修改、查询、删除模块,员工工资信息的录入,计算,查询,以及系统用户的设置以及系统的维护功能。为企业人事管理提供信息咨询,信息检索,信息存取等服务,基本上能够满足现代企业对人事管理的需要。本文系运用规范研究方法进行的专题研究。全文分六个部分:第一部分,是本课题的来源和课题研究的目的和意义;第二部分,是开发工具的选择,本系统主要运用的是Visual Basic 6.0作为系统前台应用程序开发工具,Access作为后台数据库;第三部分,是系统的需求分析,主要是人事管理系统的需求分析;第四部分,是系统分析与实现,包括系统功能模块的设计和数据库的设计;第五部分,是代码的设计与实现,系统事件运行的主要代码;第六部分,是系统的实现,最后,是软件的测试 关键词:人事管理系统设计SQL Server 2005数据库Visual Basic 6.0 维护测试

第一章绪论 1.1 引言 随着计算机技术的飞速发展,计算机在企业管理中应用的普及,利用计算机实现企业人事管理势在必行。人力资源管理是结合公司实际的人事、制度,经过实际的需求分析,采用功能强大的Visual Basic6.0作为开发工具而开发出来的单机版人事管人事理系统。整个系统从符合操作简便、界面友好、灵活、实用、安全的要求出发,本企业人事管理系统具有如下功能:员工基本信息的录入、修改、查询、删除模块,员工假条信息录入、修改、查询、删除模块,员工工资信息的录入,计算,查询,以及系统用户的设置以及系统的维护功能。为企业人事管理提供信息咨询,信息检索,信息存取等服务,基本上能够满足现代企业对人事管理的需要。 1.2 项目背景 本课题基于我国企业管理信息化建设现状,结合在实际工作中所遇到的问题和收获,对企业人事管理系统在设计开发等方面进行研究,重点研究系统开发中所采用的软硬件平台规范、数据库结构设计、开发工具的选择与使用,目的是从技术手段的角度阐述如何实现企业从传统经营管理模式向信息化管理模式转变的过程,以及人事管理系统在企业管理信息化中所起到的重要作用。本课题的开发主要是要花费相当多的人力和时间,虽然开发出来的软件可能离具体产生效益还有一定的距离。但是,出于通过毕业设计来丰富自己的专业知识,并从长远利益来考虑,本课题的设计开发还是具有相当大的经济可行性的。 1.3 实现意义 现代信息技术的发展,在改变着我们的生活方式的同时,也改变着我们的工作方式,使传统意义上的人事管理的形式和内涵都在发生着根本性的变化。在过去,一支笔和一张绘图桌,可能就是进行办公的全部工具。今天,电脑、扫描仪和打印机等,已基本取代了旧的办公用具。如今,人事管理己完全可以通过电脑进行,并在计算机辅助下准确快速地完成许多复杂的工作。这些都大大地缩短管理的时间。而今天,人事管理的内容己经转变为对更为广泛的系统价值的追求。信息管理,如今已是一个热门话题,它已为许

请求页式存储管理中常用页面置换算法模拟

信息工程学院实验报告 课程名称:操作系统Array实验项目名称:请求页式存储管理中常用页面置换算法模拟实验时间: 班级姓名:学号: 一、实验目的: 1.了解内存分页管理策略 2.掌握调页策略 3.掌握一般常用的调度算法 4.学会各种存储分配算法的实现方法。 5.了解页面大小和内存实际容量对命中率的影响。 二、实验环境: PC机、windows2000 操作系统、VC++6.0 三、实验要求: 本实验要求4学时完成。 1.采用页式分配存储方案,通过分别计算不同算法的命中率来比较算法的优劣,同时也考虑页面大 小及内存实际容量对命中率的影响; 2.实现OPT 算法 (最优置换算法)、LRU 算法 (Least Recently)、 FIFO 算法 (First IN First Out)的模拟; 3.会使用某种编程语言。 实验前应复习实验中所涉及的理论知识和算法,针对实验要求完成基本代码编写、实验中认真调试所编代码并进行必要的测试、记录并分析实验结果。实验后认真书写符合规范格式的实验报告,按时上交。 四、实验内容和步骤: 1.编写程序,实现请求页式存储管理中常用页面置换算法LRU算法的模拟。要求屏幕显示LRU算法 的性能分析表、缺页中断次数以及缺页率。 2.在上机环境中输入程序,调试,编译。 3.设计输入数据,写出程序的执行结果。 4.根据具体实验要求,填写好实验报告。 五、实验结果及分析: 实验结果截图如下:

利用一个特殊的栈来保存当前使用的各个页面的页面号。当进程访问某页面时,便将该页面的页面号从栈中移出,将它压入栈顶。因此,栈顶始终是最新被访问页面的编号,栈底是最近最久未被使用的页面号。当访问第5个数据“5”时发生了缺页,此时1是最近最久未被访问的页,应将它置换出去。同理可得,调入队列为:1 2 3 4 5 6 7 1 3 2 0 5,缺页次数为12次,缺页率为80%。 六、实验心得: 本次实验实现了对请求页式存储管理中常用页面置换算法LRU算法的模拟。通过实验,我对内存分页管理策略有了更多的了解。 最近最久未使用(LRU)置换算法的替换规则:是根据页面调入内存后的使用情况来进行决策的。该算法赋予每个页面一个访问字段,用来记录一个页面自上次被访问以来所经历的时间,当需淘汰一个页面的时候选择现有页面中其时间值最大的进行淘汰。 最佳置换算法的替换规则:其所选择的被淘汰页面,将是以后永不使用的或许是在最长(未来)时间内不再被访问的页面。 先进先出(FIFO)页面置换算法的替换规则:该算法总是淘汰最先进入内存的页面,即选择在内存中驻留时间最久的页面予以淘汰。该算法实现简单只需把一个进程已调入内存的页面,按先后次序链接成一个队列,并设置一个指针,称为替换指针,使它总是指向最老的页面。 三种替换算法的命中率由高到底排列OPT>LRU>FIFO。 本次的程序是在网上查找的相关代码然后自己进行修改,先自己仔细地研读了这段代码,在这过程中我对C++代码编写有了更深的了解。总之,本次实验使我明白要学会把课堂上的理论应用到实际操作中。我需要在今后熟练掌握课堂上的理论基础,只有坚实的基础,才能在实际操作中更得心应手。 附录: #include "iostream.h" #include const int DataMax=100; const int BlockNum = 10;

管理信息系统实验报告

. 经济管理学院 《管理信息系统》实验报告 集发农业生态观光园景区管理系统设计

专业资料 . 课程实验报告基本内容一、系统概述

1、系统背景 集发农业生态观光园作为秦皇岛大型旅游景区,其旅游项目较为齐全,景区内存在餐饮,住宿,娱乐,观光,植物采摘,民俗展示,购物中心等众多旅游项目,但经过我们的网上调查,其还没有建立自己的官方网站系统。我们通过与景区负责人员的沟通,了解到该景区有意向开发自己的官方网站系统,并且对于网站系统内部的板块设计提出了一些特定需求。 2、功能需求 (1)用户注册登录功能 用户可以注册为网站会员。会员支持修改、完善会员基本资料,自助修改密码,查看、管理订单、在线支付订单,对网站进行留言评论、查看留言。 (2)会员管理 后台可以直接添加会员,记录会员注册时间、注册IP、登录次数、最后登录时间,会员详细资料应记录会员发布的信息、商品、购买过的商品、评论留专业资料 . 言及相关资料信息,支持按用户名搜索用户、按注册时间范围显示用户,支持删除、关闭用户。 (3)后台用户 添加后台管理员,支持自定义设置姓名、密码、所属级别、设置

开通或者关闭或者删除的权限。自定义设置用户组的详细权限分配。(4)更新景区、活动、票务信息 随时更新景区景点的介绍,包括文字和图片;自定义设置添加网站活动名称、时间,详情;更改门票、住宿、餐饮的价格及相关信息(5)网站留言 网站动态,实时显示最新留言,会员可以编辑,提交留言,管理员可以回复、删除留言。 (6)支付接口 系统内置网上支付系统:支付宝、网银,配置好账号相关信息即可使用支付接口,支付接口适用于本系统的购物支付。由于时间关系与技术问题,支付功能暂时没有实现,也是本次网站设计课程的不足之处。 3、人员分工 A:系统背景、人员分工、系统目标、子系统划分、业务流程分析、课 程实验报告的汇总与修改 B:系统可行性分析、系统必要性分析 C:输入设计、输出设计、信息系统流程图设计 D:数据库设计、功能结构图设计、数据流程分析 二、系统规划 1、系统目标

存储管理实验报告

综合性实验报告 一、实验目的 通过请求页式存储管理中页面置换算法模拟设计,了解虚拟存储技术的特点,掌握请求页式管理的页面置换算法。 页面置换算法是虚拟存储管理实现的关键,通过本次实验理解内存页面调度的机制,在模拟实现FIFO、LRU、OPT、LFU、NUR几种经典页面置换算法的基础上,比较各种置换算法的效率及优缺点,从而了解虚拟存储实现的过程。 二、总体设计 1、编写函数计算并输出下述各种算法的命中率 ①OPT页面置换算法 OPT所选择被淘汰的页面是已调入内存,且在以后永不使用的,或是在最长时间内不再被访问的页面。因此如何找出这样的页面是该算法 的关键。可为每个页面设置一个步长变量,其初值为一足够大的数,对 于不在内存的页面,将其值重置为零,对于位于内存的页面,其值重置 为当前访问页面与之后首次出现该页面时两者之间的距离,因此该值越 大表示该页是在最长时间内不再被访问的页面,可以选择其作为换出页 面。 ②FIFO页面置换算法 FIFO总是选择最先进入内存的页面予以淘汰,因此可设置一个先进先出的忙页帧队列,新调入内存的页面挂在该队列的尾部,而当无空闲 页帧时,可从该队列首部取下一个页帧作为空闲页帧,进而调入所需页 面。 ③LRU页面置换算法 LRU是根据页面调入内存后的使用情况进行决策的,它利用“最近的过去”作为“最近的将来”的近似,选择最近最久未使用的页面予以 淘汰。该算法主要借助于页面结构中的访问时间time来实现,time记

录了一个页面上次的访问时间,因此,当须淘汰一个页面时,选择处于 内存的页面中其time值最小的页面,即最近最久未使用的页面予以淘 汰。 ④LFU页面置换算法 LFU要求为每个页面配置一个计数器(即页面结构中的counter),一旦某页被访问,则将其计数器的值加1,在需要选择一页置换时,则 将选择其计数器值最小的页面,即内存中访问次数最少的页面进行淘 汰。 ⑤NUR页面置换算法 NUR要求为每个页面设置一位访问位(该访问位仍可使用页面结构中的counter表示),当某页被访问时,其访问位counter置为1。需要 进行页面置换时,置换算法从替换指针开始(初始时指向第一个页面) 顺序检查处于内存中的各个页面,如果其访问位为0,就选择该页换出, 否则替换指针下移继续向下查找。如果内存中的所有页面扫描完毕未找 到访问位为0的页面,则将替换指针重新指向第一个页面,同时将内存 中所有页面的访问位置0,当开始下一轮扫描时,便一定能找到counter 为0的页面。 2、在主函数中生成要求的指令序列,并将其转换成页地址流;在不同 的内存容量下调用上述函数使其计算并输出相应的命中率。 三、实验步骤(包括主要步骤、代码分析等) 主要步骤: 、通过随机数产生一个指令序列,共320条指令。其地址按下述原则生成: ①50%的指令是顺序执行的; ②25%的指令是均匀分布在前地址部分; ③25%的指令是均匀分布在后地址部分; 具体的实施方法是: A.在[0,319]的指令地址之间随机选区一起点M; B.顺序执行一条指令,即执行地址为M+1的指令; C.在前地址[0,M+1]中随机选取一条指令并执行,该指令的地址为M’; D.顺序执行一条指令,其地址为M’+1; E.在后地址[M’+2,319]中随机选取一条指令并执行;

c#学生信息管理系统实验报告

摘要 本文描述的是基于Windows环境的学生信息管理系统,主要功能模块包括:学生信查询,学生信息管理,学生成绩录入,主要工具Microsoft Visual Studio 2005 设计窗体, SQL server2005建立数据库,实现学校信息管理的各个功能。 本程序提供了管理员权限和用户权限,其中管理员可以对信息进行管理,而用户只可以对信息进行查询,以确保程序的安全性。 本篇报告介绍一个学生信息管理系统的从分析到设计最后到开发的全过程为,给出了学生信息管理系统的设计和技术实现的过程,特别在细节上分析功能和函数的实现思想。涉及到学生信息管理的基本功能在本报告中都有相应的描述。 一、需求分析 1系统目标 1 学生信息、课程信息、成绩信息的增加、删除、修改、查询 2 分别设置管理员权限和用户权限 2功能需求分析 本系统的功能需求分析如下: (1)学生信息查询:学生可以根据学号、姓名等进行模糊查询. (2)学生信息管理:主要是用于学生信息更新、插入、删除; (3)学生成绩录入:用于学生成绩管理,录入学生成绩,也可以更新;3性能需求分析 (1)登录、用户界面需求:简洁、易懂、易用、友好的用户界面。 (2)安全保密性需求:只有凭借用户名和密码登陆系统,才能进行信息的管 理等。 二总体设计 1设计概述 根据需求把整个系统分化成不同的模块,每个模块完成一个特定的子功能。

把这些模块结合起来组成一个整体。逐一实现各个功能。2系统数据库的设计 1.所用到的数据库中的表信息: adminmsg(管理员表) 列名字段类型长度主/ 外键对应中文名 Userid int4编号Username Nvarchar50姓名Password Nvarchar50密码user(用户表) 列名字段类型长度主/ 外键对应中文名 Userid int4编号Username Nvarchar50姓名Password Nvarchar50密码Studentmsg(学生信息表) 列名字段类型长度主/ 外键对应中文名 Studentid int4Y 学号Studentname Nvarchar 50 姓名Sex Byte 1 性别department Nvarchar 50 所在系speciality Nvarchar50专业Coursemsg(课程信息表) 列名字段类型长度主/ 外键对应中文名 courseid int4Y 课程号coursename Nvarchar 50 课程名称required Nvarchar 10 性质credit int 4 学分Scoremsg(成绩表) 列名字段类型长度主/ 外键对应中文名 Studentno int4Y 学号courseid int 4 Y 课程号score int 4 成绩

实验四 操作系统存储管理实验报告

实验四 操作系统存储管理实验报告 一、实验目的 存储管理的主要功能之一是合理地分配空间。请求页式管理是一种常用的虚拟存储管理技术。 本实验的目的是通过请求页式管理中页面置换算法模拟设计,了解虚拟存储技术的特点,掌握请求页式存储管理的页面置换算法。 二、实验内容 (1) 通过计算不同算法的命中率比较算法的优劣。同时也考虑了用户内存容量对命 中率的影响。 页面失效次数为每次访问相应指令时,该指令所对应的页不在内存中的次数。 在本实验中,假定页面大小为1k ,用户虚存容量为32k ,用户内存容量为4页到32页。 (2) produce_addstream 通过随机数产生一个指令序列,共320条指令。 A 、 指令的地址按下述原则生成: 1) 50%的指令是顺序执行的 2)25%的指令是均匀分布在前地址部分 3) 25%的指令是均匀分布在后地址部分 B 、 具体的实施方法是: 1) 在[0,319]的指令地址之间随机选取一起点m ; 2) 顺序执行一条指令,即执行地址为m+1的指令; 3) 在前地址[0,m+1]中随机选取一条指令并执行,该指令的地址为m ’; 4) 顺序执行一条指令,地址为m ’+1的指令 5) 在后地址[m ’+2,319]中随机选取一条指令并执行; 6) 重复上述步骤1)~5),直到执行320次指令 页地址流长度页面失效次数命中率- =1

C、将指令序列变换称为页地址流 在用户虚存中,按每k存放10条指令排列虚存地址,即320条指令在虚存中 的存放方式为: 第0条~第9条指令为第0页(对应虚存地址为[0,9]); 第10条~第19条指令为第1页(对应虚存地址为[10,19]); 。。。。。。 第310条~第319条指令为第31页(对应虚存地址为[310,319]); 按以上方式,用户指令可组成32页。 (3)计算并输出下属算法在不同内存容量下的命中率。 1)先进先出的算法(FIFO); 2)最近最少使用算法(LRU); 3)最佳淘汰算法(OPT); 4)最少访问页面算法(LFR); 其中3)和4)为选择内容

管理信息系统实验报告 (4)

经济管理学院 《管理信息系统》实验报告 ***网上购书系统设计 专业班级 小组成员 学号

一、系统概述 1.系统背景 网上购书系统是一种应用于图书销售领域的动态网站。近年来随电子商务在图书销售领域广泛应用,网上书店如雨后春笋在全国迅速展开。与传统的书店相比,网上书店既可以避免书目订货的局限和盲目,又可以克服看样订货投入大,费用高,管理难的不足,而且网上选择范围广能直观看样,可浏览内容,可随时添订,结算及时,快捷方便,周转高速。这些优势是其它交易方式难以达到的。图书网上交易是图书销售领域未来发展之必然,也是出版发行业摆脱困境,建立新的流通渠道,繁荣出版,繁荣市场的必由之路。目前当当、科利华、江苏考试书店等网上书店都在网上市场竞争中争的自己的一席之地。然而中小型的书店开展网上交易的数量,却显的凤毛麟角。一方面:中小型的书店向大型书店发展受到了资金、管理水平的限制;另一方面当今的互联网技术的发展赋予中小型图书销售商开展灵活快捷售书的机遇。 网上购书系统正是基于这种市场潜力,面向全国中小型图书销售商而开发的,力争为全国的中小型书店提供一款功能完善、界面友好、性能可靠的网上销售系统。 2.人员分工 A:收集相关资料信息,可行性和必要性分析。 B:主要数据流程图等的分析绘制,系统分析。 C:E-R图等的分析绘制,系统分析。 D:分析开发背景,系统概述与规划。 二、系统规划 (一)系统目标 1、改变企业竞争方式 企业上网不仅可以给消费者和企业提供了更多的选择消费与开拓销售市场的机会,而且也可以提供更加密切的信息交流场所,从而提高企业把握市场和消费者了解市场的能力。同时企业上网扩大企业的竞争领域,使企业从常规的广告

信息管理系统实验报告

信息管理系统实验报告 班级:09财务管理(3、4)班 成员:章雅青2009101238(三班) 温小美2009101253(四班) 高艺佳2009101284(三班) 温丽妮2009101302(四班) 指导老师:胡蓉 2012-4-26

食堂信息系统调查大纲 ?一、引言 ?二、系统需求分析 ?三、可行性分析 ?四、概念结构设计 ?五、逻辑结构设计 ?六、物理结构设计 ?七、数据库结构的实现 ?注:本设计暂只完成到第三步 一、引言 1.1 背景 随着高校办学规模不断扩大,高校的后勤管理工作也日益繁杂,许多大型高校拥有多个校区,这也要求食堂的规模不断扩大,这些食堂地理位置分散,又要实现统一协调管理,就不得不借助现代化的管理模式---网络管理模式。 1.2目的 学生信息量的成倍增长给食堂管理工作提出了巨大的考验。为了提高工作效率,避免以前手工作业的麻烦,使管理者能够准确,有效的管理餐饮,同时也让同学们有序文明的进餐,对学校食堂进行信息化管理是十分有必要的。 二、系统需求分析 信息管理系统是一门新兴的、集管理科学、信息科学、系统科学及计算机科学为一体的综合性学科,研究的是信息管理活动的全过程,以便有效的管理信息,提供各类决策信息,辅助企业进行现代化管理。管理信息系统它具备数据处理、计划、控制、预测和辅助决策功能,具体作用如下五点内容: ⑴用统一标准处理和提供信息,排除使用前后矛盾的不完整数据。 ⑵完整、及时提供在管理机决策中需要的数据。 ⑶利用指定的数据关系分析数据,客观预测未来。 ⑷向各级管理机构提供不同详细程度的报告,缩短分析和解释的时间。 ⑸用最低的费用最短的时间提供尽可能精确、可靠的信息,以便使决策者选择最佳的实 施方案,以提高企业的经济效益。

页式虚拟存储管理中地址转换和缺页中断实验报告

页式虚拟存储管理中地址转换和缺页中断实验报告一.实验目的 1.深入了解页式存储管理如实现地址转换; 2.进一步认识页式虚拟存储管理中如处理缺页中断。 二.实验仪器 PC、windows操作系统、Visual C++6.0 三.实验原理 编写程序完成页式存储管理中地址转换过程和模拟缺页中断的处理。实验具体包括:首先对给定的地址进行地址转换工作,若发生缺页则先进行缺页中断处理,然后再进行地址转换;最后编写主函数对所做工作进行测试。 四.实验步骤 代码一 #include #include #define n 64 //模拟实验中假定的页表长度 #define length 10 struct { int lnumber;//页号 int flag;//表示页是否在主存,"1"表示在,"0"表示不在 int pnumber;//该页所在主存块的块号 int write; //该页是否被修改过,"1"表示修改过,"0"表示没有被修改过

int dnumber;//该页存放在磁盘上的位置,即磁盘块号 }page[n];//页表定义 int m; //作业在主存中的主存块块数 int page_length;//页表实际长度 int p[length];//存放在主存中页的页号 int head;//主存中页号队列头指针 page_interrupt(lnumber) //缺页中断 int lnumber; { int j; printf("发生缺页中断* %d\n",lnumber); j=p[head];//淘汰页的页号 p[head]=lnumber; //新装入的页号 head=(head+1) %m; if (page[j].write==1) //如果该页被修改过 printf("将页%d写回磁盘第%d块\n",j,page[j].dnumber);//输出页号page[j].flag=0; //该页不在主存,执行缺页中断,将标志改为不在主存 page[lnumber].pnumber=page[j].pnumber; //使j转去执行缺页中断 page[lnumber].flag=1;//将所需页重新调入存 page[lnumber].write=0;//将标志改为未被修改过 printf("淘汰主存%2d 中的页数%2d,从磁盘第%d 块中调入

相关文档
最新文档