合肥学院存储课程论文(共5篇)
设计题目 动态分区分配存储管理
学生姓名学
号 专业班级 指导教师
吕 霆
20102675 计算机10-01班
第一章
课程设计概述
1.1 设计任务: 动态分区分配存储管理
1.2 设计要求
建立描述内存分配状况的数据结构; 建立描述进程的数据结构; 使用两种方式产生进程:(a)自动产生,(b)手工输入; 在屏幕上显示内存的分配状况、每个进程的执行情况; 建立分区的分配与回收算法,支持紧凑算法; 时间的流逝可用下面几种方法模拟:(a)按键盘,每按一次可认为过一个时间单位;(b)响应WM_TIMER;
将一批进程的执行情况存入磁盘文件,以后可以读出并重放;
支持算法:首次适应算法、循环首次适应算法、最佳适应算法:最坏适应算法。
1.3 设计目的
旨在让我们更好的了解动态分区管理方面的知识.第二章 原理及算法描述
2.1动态分区分配算法原理
首次适应算法
* 算法概述:分配内存时,从链首开始顺序查找,找到满足的空闲分区则划出空间分配,余下的空闲空间仍保留在空闲链表中
* 实现方法:分配时从数组第一个元素开始比较,若符合条件则将该元素减去对应作业的值
循环首次适应算法
* 算法概述:由首次适应算法演变,只是每次分配改为由上一次找到的空闲分区开始查找
* 实现方法:在首次适应算法的基础上增加一个值用于记录找到的空闲分区的位置
最佳适应算法
* 算法概述:每次为作业分配内存时,总是把能满足要求、又是最小的空闲分区
分配给作业
* 实现方法:我们决定每次分配先把空闲分区按从小到大的顺序排列,然后将第一个匹配分区分配给作业
最坏适应算法
* 算法概述:每次为作业分配内存时,总是挑选一个最大的空闲分区分割给作业使用
* 实现方法:算法与最佳适应算法几乎相同,仅在排序时把空闲分区表按从大到小的顺序排列,所以未作详细注释
回收分区
当进程运行完毕释放内存时,系统根据回收区的首址,从空闲区链(表)中找到相应的插入点,此时可能出现以下四种情况之一;1)回收区与插入点的前一个空闲分区F1相邻接,此时应将回收区与插入点的前一分区合并,不必为回收区分配新表项,而只需修改其前一分区F1的大小.2)回收分区与插入点的后一空闲分区F2相邻接,此时也可将两分区合并,形成新的空闲分区,但用回收区的首址作为新空闲区的首址,大小为两者之和.3)回收区同时与插入点的前,后两个分区邻接,此时将三个分区合并,使用F1的表项和F1的首址,取消F2的表项,大小为三者之和.4)回收区既不与F1相邻接,又不与F2邻接.这时应为回收区单独建立一新表项,填写回收区的首址和大小,并根据其首址插入到空闲链中的适当位置.紧凑算法
通过移动内存中的作业的位置,以把原来多个分散的小分区拼接成一个大分区的方法.第三章 开发环境
此程序是本人利用c++语言在vs2012的开发环境中实现的第四章 程序实现--数据结构
#include
int recycle;//需要回收的盘块序号 int id1;//算法选择号 int m;//内存区数 int n;//空闲区数 int q;//进程数
int r=0;//循环首次适应算法:对应的这次查找到的空闲分区序号 //打印输出函数 void vision(){
int i;int j;if(id1==1)stream.open(“first_fit.txt”, ios::app);if(id1==2)stream.open(“nextfirst_fit.txt”, ios::app);if(id1==3)stream.open(“best_fit.txt”,ios::app);if(id1==4)stream.open(“worst_fit.txt”, ios::app);if(id1==5)stream.open(“compact.txt”,ios::app);if(id1==6)stream.open(“huishou.txt”,ios::app);cout<<“-------------内存分配状态-------------”< } cout < } //作业信息的自动产生 void create_pro(){ } //作业的手动生成 void create_zuoye(){ int j;int choice2;int id3=rand()%10;m=id3;//内存区数量 cout<<“产生”< } cout<<“--------------------------”< //内存信息的自动产生 void create_apply(){ int k=0;//空闲区数量 for(i=0;i if(ary1[i][3]!=2){ary2[k][0]=ary1[i][0];ary2[k][1]=ary1[i][1];ary2[k][2]=ary1[i][2];k++;} int i;for(i=0;i } ary1[i][0]=i+1;ary1[i][1]=rand()%100;if(i==0){ } ary1[i][3]=rand()%3;//cout <>choice2;q=choice2;cout<<“输入想创建的作业请求大小”< } cout<<“你创建了”< } //内存信息的手动生成 int create_fenqu(){ } //首次适应算法 void first_fit()int k,x,y,o=0;int a=0;cout<<“输入想创建的内存分区块数 : ”;cin>>k; cout<<“输入”< } cout<<“输入内存块的分配状态”< } ary1[0][2]=0;ary1[1][2]=ary1[0][1];for(int i=2;i for(int i=0;i } n=a;return m,n;if(ary1[i][3]!=2){ } ary2[a][0]=ary1[i][0];ary2[a][1]=ary1[i][1];ary2[a][2]=ary1[i][2];a++;ary1[i][2]=ary1[i-1][2]+ary1[i-1][1];//起始地址 cin>>y;if(y==2){ } ary1[i][3]=y;//状态 n++;ary1[i][0]=i;//序号 cin>>x;ary1[i][1]=x;//大小 } n=k;//空闲块数量 { vision();int i;int j;int k;int l;int d;//用来保存第k个的值 int id2=0;for(i=0;i for(j=0;j if(ary2[j][1]>=ary3[i])//进程占用空间小于等于其中一个空闲区的大小 { cout<<“[”< ary1[ary2[j][0]-1][3]=2;for(k=j+1;k ary2[k-1][0]=ary2[k][0];ary2[k-1][1]=ary2[k][1];ary2[k-1][2]=ary2[k][2];} n--; }else//否则的话,空闲链对应的地方盘块大小小了进程占用的大小,并且内存分配从对应的 { l=ary2[j][0];d=ary1[l-1][1];//大小 ary1[l-1][1]=ary3[i];ary1[l-1][3]=2;m++;for(k=m;k>ary2[j][0]+1;k--){ ary1[k-1][0]=ary1[k-2][0]+1;ary1[k-1][1]=ary1[k-2][1];ary1[k-1][2]=ary1[k-2][2];ary1[k-1][3]=ary1[k-2][3];那一项开始增加一项 } l=ary2[j][0]; } } { if(ary1[id2][3]!=2) } } n=k;} break;} else { } cout<<“[”< { ary2[k][0]=ary1[id2][0];ary2[k][1]=ary1[id2][1];ary2[k][2]=ary1[id2][2];k++;} ary1[l][0]=l+1;ary1[l][1]=d-ary3[i];ary1[l][2]=ary1[l-1][1]+ary1[l-1][2];ary1[l][3]=0;k=0;for(id2=0;id2 //首次循环适应算法 void next_fit(){ vision();int i;int j;int k;int s;int d;int id2;for(i=0;i { for(j=r;j if(ary3[i]<=ary2[j][1]){ cout<<“[”< { } else//对应的空闲块大小大于进程需要大小 { //-----改变内存分配情况-----r=(r+1)%n;//改变第k块的内容 k=ary2[j][0];d=ary1[k-1][1];ary1[k-1][1]=ary3[i];ary1[k-1][3]=2;//从k+1之后所有向后移一格 m++;//内存块数增加1 for(s=m-1;s>k;s--){ ary1[s][0]=ary1[s-1][0]+1;ary1[s][1]=ary1[s-1][1];ary1[s][2]=ary1[s-1][2];//---改变内存分配---k=ary2[j][0];//得到对应空闲块对应内存块的序号 k--;ary1[k][3]=2;//把对应内存块标志位上改成已分配 //------------------//--改变空闲块表:把从这块空闲块以下的所有空闲块向上移一格--n--;for(k=j;k } vision();//------------------break;ary2[k][0]=ary2[k+1][0];ary2[k][1]=ary2[k+1][1];ary2[k][2]=ary2[k+1][2];stream<<“[”< } } //思路:先把空闲列表检索一遍,选出最佳答案,进行分配 void best_fit()//最佳算法--按顺序检索,把与进程要求内存大小最接近的快分配给进程 { int i;int s;int j=-9999;//用来保存最接近的答案 int e;//用来存放进行比较时的中间结果 } { if(ary1[id2][3]!=2) } } else{ } cout<<“[”< { ary2[k][0]=ary1[id2][0];ary2[k][1]=ary1[id2][1];ary2[k][2]=ary1[id2][2];k++;} ary1[s][3]=ary1[s-1][3];} //改变第k+1块内容:对应的数组是ary1[k] ary1[k][0]=ary1[k-1][0]+1;ary1[k][1]=d-ary1[k-1][1];ary1[k][2]=ary1[k-1][1]+ary1[k-1][2];//--------------------------//----改变空闲表分配情况----k=0;for(id2=0;id2 }else { cout<<“[”< for(s=0;s } if(j<0){ cout<<“[”<=ary3[i])&&(e>ary2[s][1]))//满足分配要求 { e=ary2[s][1];} j=s;for(i=0;i } else for(l=k;l } n--;ary2[l-1][0]=ary2[l][0];ary2[l-1][1]=ary2[l][1];ary2[l-1][2]=ary2[l][2];ary1[k-1][3]=2;k=ary2[j][0]; } //最坏适应算法 void worst_fit() } { if(ary1[id2][3]!=2) } } vision();n=k; } for(k=j+1;k { ary2[k][0]=ary1[id2][0];ary2[k][1]=ary1[id2][1];ary2[k][2]=ary1[id2][2];k++;} { //把对应的内存分配进行更改 k=ary2[j][0];d=ary1[k-1][1];ary1[k-1][1]=ary3[i];ary1[k-1][3]=2;m++;for(l=m;l>ary2[j][0]+1;l--){ } k=ary2[j][0];ary1[k][0]=k+1;ary1[k][1]=d-ary1[k-1][1];ary1[k][2]=ary1[k-1][1]+ary1[k-1][2];ary1[k][3]=0;k=0;ary1[l-1][0]=ary1[l-2][0]+1;ary1[l-1][1]=ary1[l-2][1];ary1[l-1][2]=ary1[l-2][2];ary1[l-1][3]=ary1[l-2][3];for(id2=0;id2 { }else { cout<<“[”< int e=-9999;//用来存放进行比较时的中间结果 int k;int l;int d;int id2;vision();{ j=-9999;e=-9999;for(s=0;s } if(j<0){ cout<<“[”<=ary3[i])&&(e if(ary2[j][1]==ary3[i]){ k=ary2[j][0]; ary1[k-1][3]=2; for(l=k;l { if(ary1[id2][3]!=2) } } vision();n=k; } for(k=j+1;k { ary2[k][0]=ary1[id2][0];ary2[k][1]=ary1[id2][1];ary2[k][2]=ary1[id2][2];k++;} } else { //把对应的内存分配进行更改 k=ary2[j][0];d=ary1[k-1][1];ary1[k-1][1]=ary3[i];ary1[k-1][3]=2;m++;for(l=m;l>ary2[j][0]+1;l--){ } k=ary2[j][0];ary1[k][0]=k+1;ary1[k][1]=d-ary1[k-1][1];ary1[k][2]=ary1[k-1][1]+ary1[k-1][2];ary1[k][3]=0;k=0;ary1[l-1][0]=ary1[l-2][0]+1;ary1[l-1][1]=ary1[l-2][1];ary1[l-1][2]=ary1[l-2][2];ary1[l-1][3]=ary1[l-2][3];} n--;ary2[l-1][2]=ary2[l][2];for(id2=0;id2 } //回收内存算法: /* 有共计八种情况,1.(1)回收区上邻接着空闲盘块,下连接着已分配盘块(2)回收区下邻接着空闲盘块,上邻接着已分配盘块(3)回收区上下连接的都是空闲盘块(4)空闲区上下邻接的都是已分配盘块 (5)要回收的盘块就是第一个盘块,并且向下邻接着空闲盘块(6)要回收的盘块就是第一个盘块,但是向下邻接着已分配盘块(7)要回收的盘块就是最后一个盘块,并且向上邻接的是空闲盘块(8)要回收的盘块就是最后一个盘块,但是向上邻接的是已分配盘块 */ void apply_recycle(){ ary1[0][1]=ary1[0][1]+ary1[1][1];ary1[0][3]=0;for(i=1;i if(recycle==1){ //cout< if(ary1[1][3]!=2){ cout<<“要回收的盘块就是第一个盘块,并且向下邻接着空闲盘块”< } else { ary1[0][3]=0;n++;ary2[0][0]=1;ary2[0][1]=ary1[0][1];ary2[0][2]=ary1[0][2];vision();} stream<<“要回收的盘块就是第一个盘块,并且向下邻接着空闲盘块”< ary2[k][0]=ary1[j][0]; ary1[0][3]=0;k=0;for(j=0;j //cout<<“ary1[j][3]”< } else{ cout<<“要回收的盘块就是第一个盘块,但是向下邻接着已分配盘块”< } n=k;vision(); } ary2[k][0]=ary1[j][0];ary2[k][1]=ary1[j][1];ary2[k][2]=ary1[j][2];k++; { } m--;// cout<<“" k=0;vision();//cout<<”ary1[0][3]“< cout<<”ary1[j][3]“< } else{ cout<<”要回收的盘块就是最后一个盘块,但是向上邻接的是已分配盘块“< } n=k;vision(); } ary2[k][0]=ary1[j][0];ary2[k][1]=ary1[j][1];ary2[k][2]=ary1[j][2];k++; ary1[recycle-2][3]=0;ary1[recycle-2][1]=ary1[recycle-2][1]+ary1[recycle-1][1];m--;k=0;for(j=0;j //cout<<”ary1[j][3]“< } else if(recycle==m){ if(ary1[recycle-2][3]!=2){ cout<<”要回收的盘块就是最后一个盘块,并且向上邻接的是空闲盘块“< } n=k;vision(); } ary2[k][1]=ary1[j][1];ary2[k][2]=ary1[j][2];k++;stream<<”要回收的盘块就是最后一个盘块,并且向上邻接的是空闲盘块“< ary2[k][0]=ary1[j][0];ary2[k][1]=ary1[j][1];ary2[k][2]=ary1[j][2];k++; } else{//剩下比较复杂的四种情况 if((ary1[recycle-2][3]!=2)&&(ary1[recycle][3]==2))//回收区上邻接着空闲盘块,下连接着{cout<<”回收区上邻接着空闲盘块,下连接着已分配盘块“< } } n=k;vision(); } ary2[k][0]=ary1[j][0];ary2[k][1]=ary1[j][1];ary2[k][2]=ary1[j][2];k++; ary1[recycle-1][3]=0;k=0;for(j=0;j //cout<<”ary1[j][3]“< stream<<”回收区上邻接着空闲盘块,下连接着已分配盘块“< ary1[recycle-2][1]=ary1[recycle-2][1]+ary1[recycle-1][1];for(i=recycle-1;i } m--;k=0;for(j=0;j //cout<<”ary1[j][3]“< } if((ary1[recycle-2][3]!=2)&&(ary1[recycle][3]!=2))//回收区上下连接的都是空闲盘块 { cout<<”回收区上下连接的都是空闲盘块“< } vision(); } ary2[k][0]=ary1[j][0];ary2[k][1]=ary1[j][1];ary2[k][2]=ary1[j][2];k++; } n=k;vision();} if((ary1[recycle][3]!=2)&&(ary1[recycle-2][3]==2))//回收区下邻接着空闲盘块,上邻接着{ cout<<”回收区下邻接着空闲盘块,上邻接着已分配盘块“< stream<<”回收区下邻接着空闲盘块,上邻接着已分配盘块“< ary1[recycle-2][3]=0;ary1[recycle-2][1]=ary1[recycle-2][1]+ary1[recycle-1][1];for(i=recycle-1;i } m--;k=0;for(j=0;j //cout<<”ary1[j][3]“< } } } if((ary1[recycle-2][3]==2)&&(ary1[recycle][3]==2))//空闲区上下邻接的都是已分配盘块 { } ary1[recycle-1][3]=0;k=0;for(j=0;j } vision();//cout<<”ary1[j][3]“< } ary2[k][0]=ary1[j][0];ary2[k][1]=ary1[j][1];ary2[k][2]=ary1[j][2];k++;cout<<”回收区上下连接的都是空闲盘块“< } m=m-2;k=0;for(j=0;j } vision();//cout<<”ary1[j][3]“< } ary2[k][0]=ary1[j][0];ary2[k][1]=ary1[j][1];ary2[k][2]=ary1[j][2];k++;ary1[recycle-1][0]=ary1[recycle+1][0]-2;ary1[recycle-1][1]=ary1[recycle+1][1];ary1[recycle-1][2]=ary1[recycle+1][2];ary1[recycle-1][3]=ary1[recycle+1][3];n=k;n=k; } //紧凑算法 void compact(){ num_avl=0;for(id2=0;id2 int num_avl;//记录空闲盘块数量 int sum_avl=0;//总共空闲区大小 int num_apl=0;//统计总共空闲区有多大 vision();for(id2=0;id2 } //最后一块空闲块 ary1[num_apl][0]=num_apl+1;ary1[num_apl][1]=sum_avl;ary1[num_apl][2]=ary1[num_apl-1][1]+ary1[num_apl-1][2];ary1[num_apl][3]=0;m=num_apl+1;//包括最后一个空闲区 if(ary1[id2][3]==2){ } ary1[num_apl][0]=num_apl+1;ary1[num_apl][1]=ary1[id2][1];if(num_apl==0){ } ary1[num_apl][3]=2;num_apl++;//cout<<”num_apl“< } //主函数入口 void main(){ if(choice1==1){ } num=rand()&10;q=num;int id3=2+rand()%8;m=id3;//内存区数量 create_apply();create_pro();int i;int j;int num;int choice1;//操作选择标记 int choice2;int flag=1;//标记是否再执行 while(flag==1){ cout<<”********************************************“< } n=num_avl;vision(); } ary2[num_avl][0]=ary1[id2][0];ary2[num_avl][1]=ary1[id2][1];ary2[num_avl][2]=ary1[id2][2];num_avl++;if(choice1==2){ } vision(); cout<<”**------------------请选择处理算法----------------------**“< } } cout<<”**************************** “< cout<<”**1首次适应算法-----2循环首次适应算法-----3最佳适应算法 **“< } {first_fit();} {next_fit();} {best_fit();} {worst_fit();} { compact();} if(id1==6){ cout<<”*******************生成内存状态******************“< } cout<<”错误:内存中不存在此块!“< } if(id2==-9999){ apply_recycle();} if(ary2[i][0]==recycle){ } 网络存储伴随网络技术的发展,是传统存储在安全性、便捷性、容量受限等方面不能满足客户需求的背景下出现的。它既能为网络应用提供快速简便的存储,也便于对存储资源进行集中管理,因而成为当前最理想的存储模式[1]。目前,网络存储已经成为IT界的前沿热点,几乎所有著名的IT企业都设立了存储部门并且迫切需要大量熟悉网络存储技术的专业人才[2]。对此,很多学校设有网络专业,前瞻性地开设了网络存储课程,既拓展了学生的知识面,又开辟了学生就业新方向。南京晓庄学院信息工程学院的网络工程专业于2014年开设了《网络存储和虚拟化技术》课程,作为面向计算机专业的一门专业选修课程。 由于每个学校计算机各专业的课程体系、实验室基础、师资条件以及专业发展方向不尽相同,使得网络存储课程的开设没有一个比较成熟可借鉴的建设方案.因此,本课题组的教师必须根据自身的软硬件条件,从紧跟学科发展前沿的角度进行该课程的建设,包括设置教学内容、课堂教学形式、实验内容等。 1课程定位及实验室建设 1.1以物联网、网络存储课程为起点的课程体系建设 随着网络技术的发展、智能终端的普及,以及电子商务、社交网络、电子地图等的全面应用与物联网的兴起,各种数据正以前所未有的速度不断地增长和累积,大数据时代已经来到。学术界、工业界甚至于政府机构都已经开始关注大数据问题,并对其产生浓厚兴趣。大数据时代的战略意义是对数据的分析和使用,目前公认的大数据使用模式是基于服务计算的模式Web-based application ,具体实现途径即基于云计算的方式:因为大(数据规模),需要大容量的存储(网络存储—云存储);因为复杂(数据结构),需要高性能的计算能力(云计算)。由此可见,网络存储、物联网、大数据以及云计算之间有着密切的联系[3]。 本专业在2012年已开设了物联网方向,通信原理、物联网技术均为该方向的主干课程,后期将陆续开设大数据、云计算等专业选修课程,结合目前重点建设的网络存储课程,形成一个完整的课程体系。 1.2综合性实验室建设 笔者所在学院综合性实验室建设主要基于2014年立项的中央财政支持地方高校发展专项资金项目《物联网实践创新工程基地建设》以及2015年立项的《南京市可信云计算与大数据重点实验室》两个项目。将斥资数百万元建立一个集物联网、网络存储和虚拟化、大数据以及云计算为一体的云平台大数据综合实验室。实验室将于2016年底建成并投入使用,目前,调研、采购计划、实验室规划已完成,实验室场地改造、产品招标工作正在有序进行。实验室将购置云计算服务器、网络设备、存储设备、机柜等硬件设施,配置服务器虚拟化中间件、搭建云计算管理平台,包括大数据分析系统分布式云存储系统等,建成之后可作为云实训平台、虚拟资源库、在线课堂、网络教学平台等。 该实验室可作为教学和科研使用。 该平台可开展以下内容教学:网络存储与虚拟化技术的教学和培训,基于云计算的物联网数据存储与分析、云计算资源管理和使用教学,云计算环境下的数据安全、数据加密,快速构建大规模云存储系统,大数据分析系统的搭建和使用等。可以开展的科研方向有:开展云计算核心算法、核心架构的研究,包括IaaS、PaaS、SaaS等软硬件体系结构研究、自主知识产权的虚拟化技术、智慧城市云平台、物联网协议标准、中间件架构、RFID识别算法等方面的研究、分析、开发创新等。云平台大数据实验室方案拓扑如图1所示。 2课程建设 2.1课程教学内容及教学形式建设 综合该课程与当前计算机领域研究热点,物联网、大数据以及云计算等技术有密切的联系。因此,无论实验室建设还是教学内容设置都将几种技术融为一体,而不是孤立存在。 2.1.1教学内容 (1)基本知识点。教学内容除包括网络存储及虚拟化技术的基本知识点[4-5],还加入了与物联网、大数据、云计算相融合部分的介绍,由于目前大数据、云计算相关课程还没有开设,因此会对这两部分的整体架构、主流技术等作比较多的讲解。以使学生清晰的认识几种技术之间的联系。 (2)案例扩展。穿插的案例均取材于实验室建设初期的调研资料、招标产品公司来校宣讲的实验室建设方案和其它成功案例,如:南京理工大学云平台大数据实验室、北京邮电大学云平台大数据实验室以及公司主流产品介绍等。具体的教学内容及学时分配如表1所示。 2.1.2授课形式 课题组为该课程制定了“教师讲授+经典视频播放+ 学生分组答辩+ 案例多元化引入”的四位一体的教学模式,具体如下: (1)教师讲授。课程中基本知识点采用教师讲授和学生分组串讲两种教学形式。对于比较难的知识点主要以教师讲授为主。 (2)经典视频播放。为了活跃课堂氛围,由课题组教师负责搜集整理线上公认的课程视频,当涉及到视频中相关知识点时,在课堂上穿插视频播放,既能吸引学生的兴趣,同时又能提高教学质量。 但是,视频播放的时间以15分钟以内为宜,内容仅涉及某个重要且难懂的知识点。否则,很难保证学生的听课效果。 (3)学生分组答辩。其它比较基本的概念、基础知识、 应用等知识点采用学生分组串讲的形式。具体做法如下: 将学生分成若干组,如10组(根据学生人数而定),再由每2组组成一个答辩讨论组,每组5~6人,由教师布置讲解内容,答辩讨论组内1组(2组)所有成员在课下共同搜集资料并制作5~10分钟的PPT课件,内容包括所有知识点并有一定扩充和延伸。课上1组(2组)派出2名同学(分两次课)作知识点讲解,讲解结束后,由2组(1组)同学负责提出2~3个问题,由1组(2组)讲解同学或其他人来回答,并由2组(1组)同学负责记录和打分:记录问题和答案,打分项包括PPT制作分数、讲解分数、问题回答分数以及总分。该记录将作为1组(2组)同学的平时成绩。整个过程老师负责引导。这种形式既能调动学生的积极性,让学生在课堂上有参与感,同时又能加深学生对知识点的理解,锻炼学生的自学能力、表达能力,促进学生之间相互讨论,营造学习氛围。 (4)案例多元化引入。案例的呈现形式主要有照片、 文档、录制的视频以及ppt等。后期实验室建设的整个过程都将为网络存储和虚拟化课程以及后期将要开设的大数据、云计算等课程提供大量的教学资源,包括硬件设备、 分层架构的逐层搭建、整体架构的形成过程及运作、相关软件的部署及性能、综合布线以及机房的供电、散热等技术。这些内容将在实验室建设过程中逐步加入到课程的教学和实践内容中。授课人员可由全程参与并经过培训的教师来担任,也可以由企业工程技术人员来担任部分内容的讲解,甚至在实验室搭建过程中定期组织学生实地参观并讲解,让学生触摸到高新技术的底层并逐步上升到更高的技术层次。 2.2实验教学内容 目前本课程还处于理论教学阶段,但是相关实验内容已经列入教学计划,在实验室建设完成后便可以开放。具体内容涉及以下几个方面:1存储硬件产品构造和工作过程,磁盘阵列RAID几个主要级别的软硬件配置等;2存储软件产品的安装与调试;3根据不同的业务需求作基于DAS、NAS和SAN等存储方案以及虚拟化存储方案设计;4数据容灾和备份方案设计和性能比较;5存储虚拟化体系架构搭建;6集物联网、数据存储、云计算于一体的综合科研项目—教育过程及行为的记录分析,作为教师科研项目,同时也可以作项目分解,使同学参与或给同学讲解。 3结语 本文介绍了南京晓庄学院信息工程学院计算机专业以中央财政项目以及市重点实验室项目建设为契机,通过云平台大数据综合实验室的建设,为本专业课程体系建设提供良好的定位以及教学和实践资源。文中以网络存储和虚拟化技术课程为例,介绍了实验室建设为其提供的教学和实验内容以及教学模式,今后,还会以类似的模式进行大数据及云计算课程建设。 摘要:以云平台大数据综合实验室建设为契机,物联网技术、网络存储与虚拟化技术等课程开展为起点,建设集物联网、网络存储与虚拟化、大数据及云计算等在内的一整套课程体系。介绍上述前沿技术之间的联系,并以此联系为依据确定实验室建设的内容和服务于教学及科研的双重作用。结合实验室的建设方案和资源,构建网络存储课程的教学和实验内容,采取了“教师讲授+经典视频播放+学生分组答辩+案例多元化引入”四位一体的教学模式,可为后续课程建设提供参考。 关键词:网络存储,虚拟化,云平台,大数据,物联网 参考文献 [1] 李淑堃.高校课程中心网络存储建设与实践研究——以中南大学为例[J].现代教育技术,2012,22(12):57-60. [2] 梁正平,王志强,申向军,陈剑勇.“网络存储技术”课程教学探讨与实践[J].计算机教育,2009(3):96-99. [3] 刘锋.互联网进化论[M].北京:清华大学出版社,2012. [4] 张冬.大话存储(终极版存储系统底层架构原理极限剖析)[M].北京:清华大学出版社,2015. 梁万生 (浙江师范大学教育评论研究所浙江 金华343009) 摘要:作为美国高等教育系统的一个组成部分,社区学院在其100余年的发展过程中,形成了自己鲜明的办学特色,其中课程的开发是其特色的重要体现。本文试图通过系统地介绍美国社区学院课设置的特点,以期对对我国社区学院的课程开发和设置提供有益的借鉴。 以促使我国社区学院的良性发展。 关键词:社区学院; 课程设置 美国社区学院在其100余年的发展过程中,因课程设置丰富多样,办学灵活多变,学生 开放入学,学费低廉等优点,从而获得了巨大的成功。成为美国高等教育结构中的重要组成部分,被人称为美国高等教育的“沃尔玛(Wal--Mart,世界第三大连锁超市)”。并且以其“出售”的各种课程,成为社区学院运作的核心。我们知道,社区教育是通过各类社区教育课程具体实施的。社区教育作为社区教育的核心,它的建设将有助于社区教育的规范化发展,从而促进社区教育在新世纪高起点、高质量地发展具有十分重要的的意义。美国社区学院在其100多年的发展过程中,已经探索出比较科学和系统的课程体系。了解美国社区学院的课程设置,将有助于我国借鉴其有益经验为我国社区学院的发展服务。 一、概念探析 课程一词源于拉丁语,原意是“跑”或“跑道”,西方最常见的课程定义是“学习的进程”,简称“学程”。当然,对课程的理解有多种理解与界定,诸如把课程作为学科理解,把课程作为学习者的体验理解,把课程作为计划或目标理解。这些理解都是从某种角度或层面强调课程的内涵,实际上也反映了人们对课程概念认识的一种历史轨迹。随着人们认识水平的不断提高,人们对于课程的理解已经从静态的知识、内容结构化、系统化状态,到动态的实践性、弹性甚至是非结构化的活动和过程的变化,不仅扩大了课程的范围和外延,而且也反映了对课程内涵及其本质的深入认识和把握。 根据上述关于课程意义的定义,我们可以演绎出社区教育课程的定义:社区教育课程是由社区教育机构为一定区域内的各种学习者设计并提供,并由学习者自主选择的关于学习的内容、学习进程、学习活动和学习方式的全部安排。 课程设置是指一定学校选定的各类各种课程的设立和安排。以往,人们把“课程设置”仅仅理解为学科课程的开设,这是不够全面的。课程设置主要规定课程类型和课程门类的设立及其在各年级的安排顺序和学时分配,并简要规定各类各科课程的学习目标、学习内容和学习要求。 课程设置主要包括:合理的课程结构和课程内容。合理的课程结构指各门课程之间的结构合理,包括开设的课程合理,课程开设的先后顺序合理,各课程之间衔接有序、能使学生通过课程的学习与训练,获得某一专业所具备的知识与能力。合理的课程内容指课程的内容安排符合知识论的规律,课程的内容能够反映学科的主要知识,主要的方法论及时代发 展的要求与前沿。课程设置必须符合培养目标的要求,它是一定学校的培养目标在一定学校课程计划中的集中表现。 二、美国社区学院的课程设置特点 (1)重学术课程与职业课程的整合。随着经济的不断发展,美国需要大量具有实际操作能力的高素质技术人才,而当时的美国教育并不能提供这么多数量的空缺,或者说即使培养出来的人也会因为缺乏熟练的技术不能顺利上岗。因此从20世纪90年代开始,美国颁布了一系列的法律法规,鼓励社区学院通过课程与教学更好地整合学术课程和职业课程。目的在于:一是使职业教育从狭窄的、针对具体职业岗位的、技能本位培训的模式转变为宽泛的、针对岗位群的、以个性为本位的培训模式;二是随着经济和新技术的发展,毕业生不但要具备一定的职业能力还必须具备一定的学术能力。只有这样他们才能在寻求工作的过程中具有较强的竞争力。 (2)注重课程设置的多样化。美国社区学院的课程可谓是种类繁多。有的有学分, 修满必须的学分可获得副学士学位或者职业证书;有的没有学分, 仅以娱乐、休闲、提高素养品位为目的。这些种类繁多的课程向公众开放,目的是将高等教育的大门向普通民众打开,使每一个进入社区学院学习的学院都能够从中受益。 (3)课程的设置强调实践性。与普通高等院校可课程设置相比,美国社区学院的课程设置更加体现其实践性。学生有更多的时间去实验室或企业进行实习。他们认为,学习完一门课程就要真正掌握一项技能,并且能够熟练地应用它,而不是仅仅停留在对该课程知识的了解程度上。为了保证课程的实用性,美国社区学院的专业和课程都是在充分的社会调查基础上确定的,并强调与实践相结合,其专业系科的实践课程学时占总学时的50%或更多,实践课程由学院和企业派专人指导,学生必须到实际岗位上参加生产劳动。通过与社会的广泛接触,亲身参与到社会实践中,使得社区学院的学生在职场上更加具有竞争力。同时也受到了社会各界的广泛赞誉。 (4)课程的设置始终以社区为中心,以社区的需要为出发点。美国社区学院在诞生之初,其宗旨便是为本社区的发展服务。因此在课程设置上始终以本社区为中心,突出本社区的特色,始终以以社区的近期、长远需要及当地工商业的需要和就业趋势为依据。在招生方面,也是以招收本社区学院为主,并鼓励学院在毕业后能留下来为社区建设服务。 (5)课程的设置注重因材施教理念的贯彻。由于每个人的兴趣爱好不同,因此在课程的选择上也会大相径庭。美国社区学院为了能充分挖掘学员的潜能,根据学员的需要设置了众多的课程以便学员能够根据自己的兴趣爱好进行选择。这样做不仅满足了不同学员学习的需要,更重要的是,把服务于个人的利益看作最优先的领域,其首要目标是认识、提高个人的尊严和能力。 (6)注重终身教育理念的贯彻。美国社区学院的课程设置自始至终秉承着终身教育的理念,即学习不光是为了谋取一份职业或是获得一项技能,更多的是领会终身学习的真谛。通过“ 学校—工作”方案,将职业技术课程融入学术性课程,克服了学生的长期“ 升学” 与“ 就业”的分离,并且在“ 学校—工作”实施过程中,通过角色扮演、企校合作、社会参与等方式,不仅获得了职业技能,更获得了一种兴趣和终身学习的思想。 三、对我国的启示 社区学院在我国存在的时间不长,在这短短的三十年间,我国的学院在课设置上主要是借鉴和摸索的道路。其中也不免走了一些弯路。以上是美国社区学院的课程设置的特点,其中是有很多方面值得我们学习和借鉴的。 社区学院的性质,决定了社区教育的课程比正规学校教育的课程具有广阔的外延和内涵。社区教育课程从价值取向上,应以居民需求本位为主,兼顾学科本位。因此,社区教育课程体系应以居民学习需求的结构图来构建知识、技能体系。因此,非正规的课程资源在社区教育中应占有主体地位,发挥更大的作用。结合我国社区学院的基本情况,笔者认为我国社区学院课程设置应该具有以下特点: (1)课程的设置应具有本土化特色。社区学院的首要职责是为本社区的发展服务。因此,社区学院在课程设置上既要与全国的的发展要求相适应,但主要是根据当地社会、文化、经济发展的需求和条件。在经济发达的地区,经济实力强,人们的生活水平高,社区学院的课程的课程资源就应该相对丰富,能够很好的体现出当地现代化、国际化,体现满足人们对高质量生活的追求。在经济欠发达的地区,社区学院的课程应该根据当地的经济增长点,设置当地的优势产业课程,满足人们就业、致富的需求。比如,在浙江省萧山区的社区学院根据当地的优势农作物青梅而开发出了具有当地特色的“青梅生产标准”课程,提高了梅农的经济收入,很受欢迎。现在,进化“青梅生产标准”的培训课程,已经成为“青梅系列”的精品课程。 (2)社区学院的课程在设置上应该体现实践性和实用性。社区学院的课程必须解决实际问题,所以更强调实践性和实用性。在生活中学习,在学习中生活;边工作,边学习。有条件的话,可以将课堂搬到田地里,搬到工厂里。这样,让学员亲身体验课程内容,而不是将一味地去接受书本上的理论知识。 (3)课程内容应该具有动态性。社区学院的课程内容要根据人的发展需要,要根据社区发展的需要进行不断的调整,社区学员课程的脉搏与人们的生活、社区的发展相一致。学校的课程重在给学生传授系统知识,具有基础性、相对稳定的特点;而社区学院的课程更多的是关注人们的生活需要和兴趣,课程是按居民需求设置的,居民有充分的选择权。社区学院的课程比学校的课程更注重课程的实用性与针对性,课程的内容与现代生活、现代社会文化和科技发展的联系更加紧密,这使得社区学院的课程内容领域宽泛、实用性强,更加贴近社区居民的生活实际需求。因此,社区学院的课程内容应该具有一个动态的过程。 (4)课程对象的广泛性。社区教育具有全民教育的特点,教育对象十分广泛,包括所有生活、工作、学习在社区的人,不论年龄的大小,不论性别、职业。因此,社区学院的课程对象应该是区域内的所有成员。但是需要强调的是,随着社会的不断发展,社区学院的课程对象会应其社会背景的不同而发生改变。比如,现阶段的我国社区学院,其主要任 务是为国家培养有知识、有技能的社会劳动者。因此,课程应该集中在职业技能的培训上面。在一些发达地区,由于居民的生活水平有了较大的提高,这样自然会对精神生活、对知识有了更大的渴求。这样,社区学院的课程设置应该以更多的以社区生活、社区文化为主。 (5)课程目标的自主性。由于社区学院课程对象的广泛性,所以,表现在学习需求上就会呈现差异性。同时,普通学校教育更多的由于教育者确定的,而社区教育的目标更多的是由学习者自主确定的。社区学院课程目标,必须满足学习者的个性化需求。因此,社区学院课程目标的制定应以学习者的实际需要为依据,它是由学习者自主确定的。 (6)课程的设置应以调查为前提。社区学院应该形成调查的好习惯,即在课程的设置前到社区实地考察,通过各种形式的调查,分析当前该社区最需要的是什么,并依此制定相应的课程内容。比如萧山社区学院,结合萧山社会主义新农村的建设需要和造就新型农民的需要,制定了相应的课程。其课程的对象是以农民为主,重点关注弱势群体。其课程在实施上以小城镇为基本单位,课程内容的确定以来自小城镇的发展需要和农民的需要为依据,随发展需要和需求变化不断调整。总之,其宗旨始终是以服务新农村建设,造就新型农民为中心。 此外,在课程结构上,应该强调课程结构的非常规性。社区教育是为了满足不同的人群的不同的需要而开展的教育活动,除了部分课程是以学科本位呈现的常规性课程,更多的课程应该是以需求本为导向的。因此,社区学院在课程设置上,不应该像普通高校那样一学科知识的系统性为价值取向的,而应该是以解决工作、生活中的具体问题为价值取向的。在课程管理上,应该强调开放性。不应该像普通学校的课程管理那样比较严格,而应该给其更大的自主权。这样,也就要求社区学院在课程的管理方面,能够大胆地创新,采取更为开放、灵活方法。 参考文献: [1]刘晓保.美国社区学院课程设置的特点[J].上海电机技术高等专科学校学报,2003.(1).[2] 李阳琇.美国社区学院课程设置特点及其基本理念[J].比较教育研究,2004,(4).[3]黄丽娜.美国社区学院课程设置对我国高等专科教育的启示[J].理工高教研究,2005.(5).[4]何锡涛.借鉴国际课程理论与实践促进我国高职课程的改革[J].职成教育研究 一、前言 笔者查阅了中国期刊全文数据库至今关于独立学院公共体育课程的教学现状类文章;通过本市独立学院的网站,收集了本市独立学院体育课程建设以及教学方面的相关资料;与泰州市独立学院公共体育课程设置的主要负责人进行座谈,并和相关体育教师深入研讨,获取了第一手资料。分别对课程设置、课程内容、考核机制、课外体育以及教材和教学文件五个方面进行了整理归纳。 二、课程设置 泰州市的独立学院的公共体育课程模式分别是选项课、俱乐部制以及基础课程结合选项轮换。面向一、二年级开设体育必修课程,三年级以上学生仅仅开设部分选修课,甚至不开设任何课程。实际教学中几乎不涉及保健生的课程。课堂教学安排都是每周一次,每次课程时间为80分钟至100分钟之间,每学期32至36学时,每一节课学生人数在30至45人之间。 三、课程内容 泰州市的独立学院公共体育课程的主要内容大约分为,三大球:篮球、足球、排球;三小球:网球、羽毛球、乒乓球;体艺类:健美操、体育舞蹈;传统项目:武术、太极拳;时尚类:女子防身术、跆拳道、瑜伽、定向越野、体育游戏等。内容相对还是很丰富的,基本能够满足学生的.需求。 四、考核机制 主要分技术考核和平时表现两部分。从调查结果看,专项技术成绩占40%至60%,平时成绩占10%,理论成绩占10%(通过作业或测验的形式),体能素质占20%至50%,有独立学院将课外锻炼的考勤也计入考核范围,每学期考核1至2次。评价内容基本仍旧是以老师考评为主,虽然在过程性上有所加强,力求淡化结果性考核,但是“以人为本”的学生的主体性没能体现出来。 五、课外体育 根据《全民健身计划工程211》的要求,各类别各层次学校应当保证学生每天1小时体育锻炼活动。但从本调查来看,泰州市的独立学院都没有很好的实施,仅仅存在于纲领性文件中,流于形式。相对于课外体育的组织,运动竞赛方面,各个学院开展的尚可,但没有常年运动队伍,课余体育锻炼与训练基本无计划,大多是在赛前1个月至3个月左右,挑选运动员组织集训。调查得知,目前泰州市独立学院无常设高水平运动队,有一般运动队,但是训练计划文件不详细或者没有。 六、教材和教学文件 泰州市独立学院公共体育课程选用的几乎都是自编教材。在教案编写与完善方面,独立学院的体育教师都能够做到认真编写教案,但是修订与完善方面,基本属于滞后状态,或者为了应对职称评审、教学检查等情况,突击修正。不能做到教案与课程实施计划一致,不能及时完善。很少有老师能做到持教案上课,授课计划与教案、大纲完全保持一致的很少。 七、结论 综上所述,泰州市独立学院公共体育课程的现状,问题重重。 1、课程模式大同小异,未达到根本性的改革效果。 2、课程考核评价方面,依旧体现不了学生的“本体性”。 3、一线教学岗位的教师不能够踏实教学,潜心研究,几乎做不到“以生为本”。 4、多数高等院校对公共体育课程不够重视,很多工作的开展得不到支持。 八、建议 1、教育行政部门要加强对独立学院学校体育的宏观管理。 2、完善体育课程的管理制度,改进学生学习评价方式。 3、完善和落实独立学院体育师资队伍的建设计划,提升师资队伍水平。 培训的基本情况: 本次培训以国家级“精品课程”建设为核心从我国职业教育课程存在的问题,高职高专精品课程开发方法、模式,精品课程建设案例展示、国家级精品课程指标解析、精品课程申报技巧等方面,以理论和实践的交流方式,通过案例解析系统讲授和培训,使与会代表确实掌握职业教育的课程设计方法。 培训会开幕式上,深圳职业技术学院副院长致欢迎辞,并简要介绍了深圳职业技术学院在国家级精品课程建设带动专业建设,进而提升人才培养质量的做法和情况。培训期间,全国高职高专人才培养工作水平评估专家、深圳职业技术学院示范校建设办刘跃南主任作了题为《高职院校精品课程的建设与管理》的报告,报告结合近两年国家精品课程评审的基本情况,分析国家精品课程申报途径、课程选择策略;介绍深圳职业技术学院组织精品课程建设及管理经验。深圳职业技术学院电子信息工程专业宋荣主任作了题为《课程内涵建设的理论、方法与案例分析》报告,从课程建设与教学实施的角度,解读对基于工作过程的教学过程设计思想及国家精品课程评价体系;深职院老师xx、xxx、xxx、xxx分别以各自主持开发的《国际物流报关实务》、《单片机应用技术》、《大型数据库(SQL Server)》、《商务现场口译》国家级精品课程为例,剖析国家精品课程建设中的课程规划、定位与特色;解析精品课程的评审指标、建设思路与方法。 本次培训,给我们教师搭建了一个切磋教学技能,展示精品课程建设成果的平台。这次培训内容具有十分重要的指导意义,可以使我们在精品课程建设过程中少走很多的弯路,也使我们了解了课程改革和教学改革的最新动态,提高了教育教学素质。 本次培训,给我们提供了一个交流、讨论的机会,我们感觉到了来自方方面面的领导的支持。在交流、评论中,教师共同探究、集思广益、各抒己见,大家的观点来得直接、朴素、真实。 虽然培训时间短,但通过请教专家和与同行老师们的交流,感触颇多,参照一些兄弟院校的做法,为加强我校精品课程建设,提高精品课程质量,发挥精品课程的示范作用,本人认为我校应进一步采取系列措施,加大力度促进精品课程建设。主要体现在以下几个方面: 1、精品课程建设是一个统一的整体。首先,精品课程包括了教师、学生、教材、教学技术手段、教学制度等要素。因此,精品课程就不单指教材或书本,也不单指教师,更不单指教学技术手段。在考虑精品课程建设时,必须要有整体的、全局的观念和视野。其次,精品课程建设也不单指高校教学计划内的课程,还包括学校非正式、非正规的课程,即潜在课程。因此,精品课程建设要树立大课程意识。大课程或全课程意识,并不意味着我们在建设精品课程时面面俱到,没有重点,全面开花,而是意味着我们在突出某一重点领域时,不能忘记和忽视作为全面领域的部分,对这些部分的重视,可以成为重点建设和中心建设的强有力的支撑力量。 2、为加强精品课程日常建设、管理,确保其建设质量,我校应采取多种激励机制,如将参与精品课程建设与骨干教师的评定工作挂钩,将各级精品课程建设工作纳入科研工作量考核范畴,鼓励教师积极投入到精品课程的申报、建设中来。 2、我校以科学发展观为指导,以就业为导向,以能力为本位,以岗位需要和职业标准为依据,按照工学结合的要求,全面推进课程体系改革。在课程专家的指导下,积极吸收企业专家共同参与课程建设,从改造教师观念入手,彻底改革传统的学科体系课程模式,并按照实际工作任务、工作过程和工作情境来组织课程,形成以任务引领型课程为主体的基于工作过程的高职项目课程体系,为提高精品课程的建设内涵迈出了坚实的步伐。 3、我校应鼓励专业积极实行工学结合、顶岗实习、项目载体、任务驱动等教学模式。鼓励教师合理运用现代信息技术进行教学活动,大力推进考试方法改 革,提倡教考分离,实行形成性考核和总结性考核相结合,扩大形成性考核在课程评级中的比例,突出职业技能考核。 4、在教学队伍建设方面,首先应重视专业带头人人和骨干教师队伍建设,每年安排专项资金用于专业带头人和骨干教师的引进和培养,通过外聘专家、外出培训、下企业培训、专业进修和学历进修等多种途径加大培养力度,提高教师从事精品课程建设的能力。其次,我校在注重提高师资队伍“双师素质”的同时,尤其要重视从企业、行业聘请既有理论知识,又有丰富实践经验和动手能力的技术骨干任兼职教师,完善“双师结构”。为了建立起稳定的兼职教师聘请渠道,应建立起我校兼职教师资源库,并优先充实到精品课程的建设中,提高精品课程的建设质量。 5、积极开发项目课程,项目课程要以实际工作任务、工作过程和工作情景为参照点设置课程。一个项目是一组相关的工作任务组成的工作领域,每个项目又可以分解成小的任务。项目课程以过程为导向,具有学做一体、理实结合、能力为本、强化技能的特征,学生通过项目课程的学习,可以使知识、技能、态度、素质等方面得到整体的提高。 总结人: xxx 【合肥学院存储课程论文】推荐阅读: 合肥学院毕业论文11-29 合肥学院物流管理专业毕业论文选题06-28 金属工艺学课程实习教学大纲-合肥学院06-24 合肥师范学院考试01-16 1合肥学院建设方案06-19 合肥学院认知实习总结09-28 合肥学院人才培养10-06 合肥师范学院图文简介07-05 合肥学院是一本还是二本11-27 合肥工业大学管理学院10-13} ary3[0]=42;ary3[1]=86;ary3[i]=rand()%100;if(ary3[i]==0){i--;} {
if(ary2[j][1]==ary3[i]){
合肥学院存储课程论文 篇2
美国社区学院课程设置及其启示 篇3
合肥学院存储课程论文 篇4
合肥学院存储课程论文 篇5