在线客服

操作系统实验报告实用13篇

引论:我们为您整理了13篇操作系统实验报告范文,供您借鉴以丰富您的创作。它们是您写作时的宝贵资源,期望它们能够激发您的创作灵感,让您的文章更具深度。

操作系统实验报告

篇1

计算机

任课教师

指导教师

评阅教师

实验地点

综合楼B102

实验时间

2012-9-26

实验课表现

出勤和个人表现Q1(15+15(组长评分)=30分)

得分:

实验

总分

(Q1+Q2+Q3+Q4)

实验完成情况Q2(45分(组长与教师评分的加权平均))

得分:

实验编号与实验名称:

实验七、常用页面置换算法模拟实验

实验目的:

通过模拟实现请求页式存储管理的几种基本页面置换算法,了解虚拟存储技术的特点,掌握虚拟存储请求页式存储管理中几种基本页面置换算法的基本思想和实现过程,并比较它们的效率。

实验内容及要求(详见实验讲义与实验指导书):

要求:

1)要求用你熟悉的程序设计语言编写和调试一个页面置换模拟程序;要求在主函数中测试。

2)实验报告中必须包括:设计思想、数据定义(包括详细说明)、处理流程(详细算法描述和算法流程图)、源代码、运行结果、体会等部分。

3)必须模拟本实验内容中提到的算法中的至少2种页面置换算法。

4)

比较不同页面置换算法的效率

内容:编写一个程序,使用以下页面置换算法中的某2种分别模拟一个分页系统,并统计同一个页面访问序列情况下不同页面置换算法引发的缺页中断次数。

1、第二次机会算法(Second

Chance)

2、最近最少使用算法(Least

Recently

Used,LRU

3、最不常用算法(Not

Frequently

Used,NFU)

4、最近未使用算法(Not

Recently

Used

,NRU)

5、时钟页面置换算法

6、老化算法(aging)

页框的数量固定为4,虚拟页面数为8。实验输入为访问页面序列,比如0,1

,3

,2,7,1

实验用到的软件(:)

DevC++,Visio

实验内容及关键步骤(代码)Q3(15分)

得分:

流程图:输入页面访问序列

取访问的页号

查页表

是否缺页?

置缺页标志flag为’*’

按算法不同淘汰一页面

调入所访问的页面

FIFO算法流程图

LRU算法流程图:

函数关系解释图:

实现结果:

图1

图2

代码:

#include

#include

#define

MEMORY_SIZE

4

/*物理块数*/

#define

PROESS_SIZE

8

/*页面号引用串个数*/#include

#include

/*全局变量*/

int

mSIZE=4;

int

pSIZE=8;

static

int

memery[4]={0};

/*物理块中的页号*/

static

int

page[8]={0};

/*页面号引用串*/

static

int

temp[8][4]={0};

/*辅助数组*/

/*置换算法函数*/

void

FIFO();

void

LRU();

void

OPT();

void

designBy();

/*辅助函数*/

void

print(unsigned

int

t);

/*主函数*/

int

main()

{

int

i,k,code;

designBy();

system(“color

0A“);

puts(“请依次输入页面号(8个):“);

for(i=0;i

scanf(“%1d“,&page[i]);

system(“cls“);

system(“color

0E“);

do{

puts(“输入的页面号引用串为:“);

for(k=0;k

{

for(i=20*k;(i

{

if(((i+1)%20==0)||(((i+1)%20)&&(i==pSIZE-1)))

printf(“%d\n“,page[i]);

else

printf(“%d

“,page[i]);

}

}

printf(“*

*

*

*

*

*

*

*

*

*

*

*

*

*

*

*

*

*

*

*

*

*

*\n“);

printf(“*

请选择页面置换算法:\t\t\t

*\n“);

printf(“*

-----------------------------------------

*\n“);

printf(“*

1.先进先出(FIFO)

2.最近最久未使用(LRU)

*\n“);

printf(“*

3.退出

*\n“);

printf(“*

*

*

*

*

*

*

*

*

*

*

*

*

*

*

*

*

*

*

*

*

*

*\n“);

printf(“请选择操作:[

]\b\b“);

scanf(“%d“,&code);

switch(code)

{

case

1:

FIFO();

break;

case

2:

LRU();

break;

case

3:

system(“cls“);

system(“color

0A“);

exit(0);

default:

printf(“输入错误,请重新输入:“);

}

printf(“按任意键重新选择置换算法:>>>“);

getch();

system(“cls“);

}while

(code!=3);

getch();

}

void

print(unsigned

int

t)

{

int

i,j,k,l;

int

flag;

for(k=0;k

{

for(i=20*k;(i

{

if(((i+1)%20==0)||(((i+1)%20)&&(i==pSIZE-1)))

printf(“%d\n“,page[i]);

else

printf(“%d

“,page[i]);

}

for(j=0;j

{

for(i=20*k;(i

{

if(i>=j)

printf(“

|%d|“,temp[i][j]);

else

printf(“

|

|“);

}

for(i=mSIZE+20*k;(i

{

for(flag=0,l=0;l

if(temp[i][l]==temp[i-1][l])

flag++;

if(flag==mSIZE)/*页面在物理块中*/

printf(“

“);

else

printf(“

|%d|“,temp[i][j]);

}

/*每行显示20个*/

if(i%20==0)

continue;

printf(“\n“);

}

}

printf(“----------------------------------------\n“);

printf(“缺页次数:%d\t\t“,t+mSIZE);

printf(“缺页率:%d/%d\n“,t+mSIZE,pSIZE);

printf(“置换次数:%d\t\t“,t);

printf(“访问命中率:%d%%\n“,(pSIZE-(t+mSIZE))*100/pSIZE);

printf(“----------------------------------------\n“);

}

/*先进先出页面置换算法*/

void

FIFO()

{

int

memery[10]={0};

int

time[10]={0};

/*记录进入物理块的时间*/

int

i,j,k,m;

int

max=0;

/*记录换出页*/

int

count=0;

/*记录置换次数*/

/*前mSIZE个数直接放入*/

for(i=0;i

{

memery[i]=page[i];

time[i]=i;

for(j=0;j

temp[i][j]=memery[j];

}

for(i=mSIZE;i

{

/*判断新页面号是否在物理块中*/

for(j=0,k=0;j

{

if(memery[j]!=page[i])

k++;

}

if(k==mSIZE)

/*如果不在物理块中*/

{

count++;

/*计算换出页*/

max=time[0]

for(m=2;m

if(time[m]

max=m;

memery[max]=page[i];

time[max]=i;

/*记录该页进入物理块的时间*/

for(j=0;j

temp[i][j]=memery[j];

}

else

{

for(j=0;j

temp[i][j]=memery[j];

}

}

print(count);

}

/*最近最久未使用置换算法*/

void

LRU()

{

int

memery[10]={0};

int

flag[10]={0};

/*记录页面的访问时间*/

int

i,j,k,m;

int

max=0;

/*记录换出页*/

int

count=0;

/*记录置换次数*/

/*前mSIZE个数直接放入*/

for(i=0;i

{

memery[i]=page[i];

flag[i]=i;

for(j=0;j

temp[i][j]=memery[j];

}

for(i=mSIZE;i

{

/*判断新页面号是否在物理块中*/

for(j=0,k=0;j

{

if(memery[j]!=page[i])

k++;

else

flag[j]=i;

/*刷新该页的访问时间*/

}

if(k==mSIZE)

/*如果不在物理块中*/

{

count++;

/*计算换出页*/

max=flag[0]

for(m=2;m

if(flag[m]

max=m;

memery[max]=page[i];

flag[max]=i;

/*记录该页的访问时间*/

for(j=0;j

temp[i][j]=memery[j];

}

else

{

for(j=0;j

temp[i][j]=memery[j];

}

}

//

compute();

print(count);

}

/*显示设计者信息*/

void

designBy()

{

printf(“━━━━━━━━━━━━━━━━━━━━━━━━━\n“);

printf(“┃㊣

实验七:页面置换算法

㊣┃\n“);

printf(“┃

学号:1001010042

┃\n“);

printf(“┃

姓名:黄浩全

4.9.9.0>┃\n“);

printf(“┣━━━━━━━━━━━━━━━━━━━━━━━━━┫\n“);

}

实验过程中遇到的问题解决办法与实验体会Q4(需手写,10分)

得分:

1、在FIFO算法可以很容易用数组实现,而LRU算法可以用数组实现,不过用结构体会更明显简单。结构体成员变量可以记录页号进入的时间,和最近使用的记录。相对比数组更容易理解和实现。

2:首先,FIFO(先进先出)算法和LRU(最近未使用算法)两者之间,FIFO算法明显会比LRU容易理解,而且比LRU算法较容易实现,但在性能方面,LRU的确在优化方面做的比较理想。再且在考虑页框和页表号之间的问题用代码可以容易模拟,但是真是在物理内存块中是如何实现,那确实是很难以理解,需要真正理解到内存内部的知识才知道这两个算法是怎么实现的。

评阅教师特殊评语:

篇2

学生姓名、学号、及合作者

实验日期和地点(年、月、日)

实验目的

目的要明确,在理论上验证定理、公式、算法,并使实验者获得深刻和系统的理解,在实践上,掌握使用实验设备的技能技巧和程序的调试方法。一般需说明是验证型实验还是设计型实验,是创新型实验还是综合型实验。

实验原理

在此阐述实验相关的主要原理。

实验内容

这是实验报告极其重要的内容。要抓住重点,可以从理论和实践两个方面考虑。这部分要写明依据何种原理、定律算法、或操作方法进行实验。详细理论计算过程。

实验步骤

只写主要操作步骤,不要照抄实习指导,要简明扼要。还应该画出实验流程图(实验装置的结构示意图),再配以相应的文字说明,这样既可以节省许多文字说明,又能使实验报告简明扼要,清楚明白。

实验结果

实验现象的描述,实验数据的处理等。原始资料应附在本次实验主要操作者的实验报告上,同组的合作者要复制原始资料。

对于实验结果的表述,一般有三种方法:

1. 文字叙述: 根据实验目的将原始资料系统化、条理化,用准确的专业术语客观地描述实验现象和结果,要有时间顺序以及各项指标在时间上的关系。

2. 图表: 用表格或坐标图的方式使实验结果突出、清晰,便于相互比较,尤其适合于分组较多,且各组观察指标一致的实验,使组间异同一目了然。每一图表应有表目和计量单位,应说明一定的中心问题。

3. 曲线图

应用记录仪器描记出的曲线图,这些指标的变化趋势形象生动、直观明了。

在实验报告中,可任选其中一种或几种方法并用,以获得最佳效果。

讨论

根据相关的理论知识对所得到的实验结果进行解释和分析。如果所得到的实验结果和预期的结果一致,那么它可以验证什么理论?实验结果有什么意义?说明了什么问题?这些是实验报告应该讨论的。但是,不能用已知的理论或生活经验硬套在实验结果上;更不能由于所得到的实验结果与预期的结果或理论不符而随意取舍甚至修改实验结果,这时应该分析其异常的可能原因。如果本次实验失败了,应找出失败的原因及以后实验应注意的事项。不要简单地复述课本上的理论而缺乏自己主动思考的内容。

另外,也可以写一些本次实验的心得以及提出一些问题或建议等。

结论

结论不是具体实验结果的再次罗列,也不是对今后研究的展望,而是针对这一实验所能验证的概念、原则或理论的简明总结,是从实验结果中归纳出的一般性、概括性的判断,要简练、准确、严谨、客观。

实验报告范文1一、实验目的及要求:

本实例的目的是设置页面的背景图像,并创建鼠标经过图像。

二、仪器用具

1、生均一台多媒体电脑,组建内部局域网,并且接入国际互联网。

2、安装windows xp操作系统;建立iis服务器环境,支持asp。

3、安装网页三剑客(dreamweaver mx;flash mx;fireworks mx)等网页设计软件;

4、安装acdsee、photoshop等图形处理与制作软件;

5、其他一些动画与图形处理或制作软件。

三、实验原理

设置页面的背景图像,并创建鼠标经过图像。

四、实验方法与步骤

1) 在“页面属性”对话框中设置页面的背景图像。

2) 在页面文档中单击“”插入鼠标经过图像。

五、实验结果

六、讨论与结论

实验结束后我们可以看到页面的背景变成了我们插入的图像,并且要鼠标经过的时候会变成另一个图像,这就是鼠标经过图像的效果。当然这种实验效果很难在实验结果的截图里表现出来。这个实验的关键在于背景图像的选择,如果背景图像太大不仅会影响网页的打开速度,甚至图像在插入会也会有失真的感觉,因此在插入前对图像进行必要的处理能使实验的效果更好。

实验报告范文2一、实验目的及要求:

本实例是要创建边框为1像素的表格。

二、仪器用具

1、生均一台多媒体电脑,组建内部局域网,并且接入国际互联网。

2、安装windows xp操作系统;建立iis服务器环境,支持asp。

3、安装网页三剑客(dreamweaver mx;flash mx;fireworks mx)等网页设计软件;

4、安装acdsee、photoshop等图形处理与制作软件;

5、其他一些动画与图形处理或制作软件。

三、实验原理

创建边框为1像素的表格。

四、实验方法与步骤

1) 在文档中,单击表格“”按钮,在对话框中将“单元格间距”设置为“1”。

2) 选中插入的表格,将“背景颜色”设置为“黑色”(#0000000)。

3) 在表格中选中所有的单元格,在“属性”面版中将“背景颜色”设置为“白色”(#ffffff)。

4) 设置完毕,保存页面,按下“f12”键预览。

篇3

3.要排版,格式应规范,截图一律采用JPG格式(非BMP格式)。为避免抄袭,用图像编辑软件在截图右下角“嵌入”自己的学号或姓名。实验报告的格式是否规范、截图是否嵌入了自己的学号或姓名,是评价报告质量的考量因素。

4.说明文字与实验截图相配合,若只有说明文字,或只有截图,则成绩为不及格。

5.只提交报告电子版。在规定的日期内,通过电子邮件发送到[emailprotected],若三天之内没有收到内容为“已收到”的回复确认Email,请再次发送或电话联系任课老师。

6.为了便于归档,实验报告Word文档的命名方式是“学号姓名-计算机病毒实验报告.doc”,如“20xx12345张三-计算机病毒课程报告.doc”。

注意:提交报告截止日期以QQ群通知时间为准(一般在考试周下周周三),若因没有及时提交实验报告,导致课程成绩为“缺考”的,责任自负。

实验一 程序的自动启动

一、实验目的

(1)验证利用注册表特殊键值自动启动程序的方法;

(2)检查和熟悉杀毒软件各组成部分的自动启动方法。

二、实验内容与要求

(1)在注册表自动加载程序主键中,添加加载目标程序键值(自己指派任意程序),重启操作系统,检查是否能自动成功加载目标程序。罗列5或5个以上能自动启动目标程序的键值,并用其中某一个启动自己指派的程序。

(2)检查/分析你所使用的计算机中杀毒软件系统托盘程序、底层驱动程序等组成部分的自动启动方式。

三、实验环境与工具

操作系统:Windows XP/Windows Vista/Windows 7

工具软件:RegEdit.exe,AutoRuns,或其他注册表工具软件;杀毒软件

四、实验步骤与实验结果

一)按启动文件夹的方法

1、“启动”文件夹是最常见的自启动文件夹。可以打开“开始”菜单—>“所有程序”,在所有程序里面可以找到“启动”文件夹找到“启动”文件夹的位置,在其中加入WPS的word的快捷方式,就可以在电脑开机时自启动word了.在AutoRuns中可以看到如下图中的结果,WPS文字的快捷方式在自启动项中。

二)利用注册表键值来实现程序的自启动

1、“Run”键值--在HKEY_LOCAL_MACHINESoftwareMicrosoftWindows

CurrentVersionRun新建一个wps_excel 数值数据为“C:Program FilesKingsoftWPS Office Personaloffice6et.exe” 可以实现WPS表格的自启动。在AutoRuns中可以看到下图内容:

2、“Load”键值--将HKCUSoftwareMicrosoftWindows NTCurrentVersion WindowsLoad中的数值数据更改为C:Program FilesKingsoftWPS Office Personaloffice6wpp.exe”,在AutoRuns中可以看到下图内容:

3、“Userinit”键值--用户可以在HKEY_LOCAL_MacHINESOFTWAREMicrosoft WindowsNTCurrentVersionWinlogonUserinit 中添加自启动程序

4、在HKCUSoftwareMicrosoftWindowsCurrentVersionRun 新一个建了 ppt键值,其数值数据为“c:program fileskingsoftwps office personaloffice6wpp.exe”,可实现WPS幻灯片程序的自启动。

5、在HKLMSOFTWAREMicrosoftWindows NTCurrentVersionWinlogon Userinit中可以添加自启动程序

6、“RunOnce”键值--在HKEY_CURRENT_USERSoftwareMicrosoftWindows CurrentVersionRunOnceSetup,和HKEY_LOCAL_MACHINESOFTWARE

MicrosoftWindowsCurrentVersionRunOnceSetup新建一个“金山卫士”键值,其数值数据为"C:Program FilesksafeKSafe.exe",可以实现“金山卫士”程序的自启动重启之后,先后启动了WPS文字,金山卫士,WPS表格和WPS幻灯片。

五、思考题

杀毒软件为什么要分成几个部分各自自动启动?

篇4

文章编号:1672-5913 (2007) 15-0027-04

Experimental Teaching System Construction for Embedded Software

Abstract:To train up a good deal of embedded software development talents adaptable to the society requirements, the embedded software system’s architecture and development contents are analysed in this paper, as well as the particular fashion of embedded software development and the developers’ knowledge system structure required by the community.

Several configuration schemes for embedded software experimental teaching system are also described in this paper, as well as the construct of multiple levels’ experimental projects. In the end, how to doing experimental teaching well and raise the teaching quality are summarized. This paper is a summarization for the many years’ embedded software practical teaching work by the authors. We hope that it could bring some enlightening reference to the community, and establish a basis for our next improvement.

Key words:embedded software; experimental teaching system

“嵌入式软件开发”是一门实践性相当强的课程,学生在学习了相关理论知识之后,如何能从实践的角度掌握更实用的开发方法和技能,是我们在规划、完善嵌入式软件教学体系中重点关注的问题。为此,我们以培养适应社会需求的嵌入式软件开发人才为目标,充分研究了嵌入式软件系统结构及开发内容、嵌入式软件开发方式的特殊性以及业界对嵌入式软件开发人才的知识体系结构需求,开发了以多种配置方案、多层次实验项目为主要内容的嵌入式软件实验教学系统。

1嵌入式软件系统结构及开发内容

嵌入式软件系统的典型结构如图1所示。

因此,嵌入式软件的开发自下而上可分为以下几种层次:

编写简单的板级测试软件,主要目的是辅助硬件的调试

(1) 开发基本的驱动程序(不针对特定的嵌入式操作系统)

(2) 开发特定嵌入式操作系统的驱动程序(即板级支持包BSP――Board Support Package,包括目标板的初始化、中断管理以及一些简单的驱动程序单元)

(3) 开发嵌入式系统软件,如嵌入式操作系统

(4) 开发嵌入式中间件,如嵌入式CORBA、嵌入式JAVA等

(5) 开发嵌入式应用软件

2嵌入式软件开发方式的特殊性

嵌入式软件开发方式有其特殊性,具体体现在如下几个方面:

(1) 开发方式:采用交叉开发的方式。这是与桌面软件开发不同的地方,其开发环境的建立相对复杂,不仅要安装开发工具软件,还需配置特定的目标硬件平台,并在开发平台与目标平台之间建立有效的物理连接和逻辑连接,相关概念易产生混淆。

(2) 对开发工具的要求比较高:一则需要有功能强大的集成环境提升开发过程的便捷性,二则不管是进行调试还是测试,均要求在目标端有相应的模块,以支持宿主端功能的实现,模块可以是用软件实现的,也可以是由硬件实现的。

(3) 硬件平台丰富多样,有共性,也有较大的差异性。据不完全统计,目前全世界嵌入式微处理器的品种总量已经超过千种,有几十种体系,主流的体系有ARM、MIPS、PowerPC、SH、X86,广泛应用于消费电子、通信、汽车、国防、航空航天、工业控制、仪表、办公自动化等领域。教学中应考虑采用各种典型的硬件平台,让学生学到的知识更能接近社会的需求。

3嵌入式软件开发的知识体系结构

嵌入式软件开发的范围和内容涉及很多方面,与桌面软件开发不同,业界对嵌入式软件开发人才有更多的要求:不仅要懂软件,还要具备基本的硬件知识。具体来讲,除具备计算机基础理论知识如计算机组成原理、操作系统、汇编语言、C语言、程序设计思想和方法等外,嵌入式软件开发的知识体系结构中还要求如图2所示的内容:

4实验系统构成及配置

嵌入式软件开发实验系统一般由下列元素组成:

(1) 嵌入式系统芯片及开发板(或评估板)

(2) 嵌入式软件开发工具(或集成开发环境)

(3) 嵌入式操作系统(可选)

(4) 其他监测仪器(硬件相关,可选)

(5) 实验项目

(6) 配套资料,如实验教学大纲、参考实验程序、参考实验报告、实验课件、实验教材。

针对嵌入式系统芯片及开发板、嵌入式操作系统及嵌入式软件开发工具多样性的特点,我们通过与嵌入式硬件厂商、软件供应商的广泛交流与合作,利用多方资源建设与丰富实验系统,规划和实现了多种配置的实验系统,可以配套具有不同教学侧重点的嵌入式软件课程,灵活性大。在配置实验系统时我们基于如下的一些考虑:

硬件平台方面:主要考虑选择属于不同系列的嵌入式微处理器构建目标平台,目前有如下几种配置:

(1) 嵌入式仿真PC平台

用软件仿真的方式在PC机上模拟一个嵌入式目标平台,学生利用PC机就可以自己动手搭建嵌入式系统的开发环境,熟悉应用开发,更快捷方便地学习和理解嵌入式系统的基础知识。基于这样的基础,再在真实的嵌入式目标硬件平台上进行开发,经历从纯软件到软硬件结合、从“纸”上谈兵到“板”上谈兵的一个学习实践过程,逐步递进,由浅入深,就能更加系统、透彻地掌握嵌入式软件开发的知识和技能。

(2) 基于ARM7的嵌入式硬件平台

ARM(Advanced RISC Machine)是目前业内主流的嵌入式微处理器系列,在众多的嵌入式领域中得到应用,已成为业界公认的嵌入式微处理器标准。ARM7在整个ARM系列中位于中低端的位置,采用ARM7为核心的嵌入式硬件板作为目标平台,既能让学生从一开始就了解和熟悉业内主流和先进的嵌入式微处理器的知识,又能降低实验系统构建的成本,便于普及。

(3) 基于SH3的嵌入式硬件平台

SuperH(简称SH)是由renesas(瑞萨)公司开发的用于高性能价格比、小型化和高性能功耗比的嵌入式RISC处理器。Renesas也是目前位居业界前列的微控制器供应厂商,其SH系列的嵌入式微处理器在汽车电子、网络设备、办公自动化设备、家用电器、工业设备等领域被广泛应用。

软件平台方面:

(1) 嵌入式操作系统:一种方案是采用开源的嵌入式操作系统作为学习和使用对象,例如uC/OS-II。由于开放源代码,学生能够看到嵌入式实时操作系统尤其是内核的典型实现,能够更好地激发他们的学习兴趣,可自己尝试修改如调度算法之类的内部机制,对于他们掌握好相关理论知识和提高实践水平很有好处。另一种方案是选择商用嵌入式操作系统,这些操作系统厂商可提供针对教育的版本,比如北京科银京成技术有限公司推出的国产自主品牌嵌入式实时操作系统DeltaOS。主流的商用嵌入式操作系统经过了市场应用的考验,在功能、性能、稳定性和可靠性方面都有较大优势,让学生学习了解它们也是有好处的。

(2) 嵌入式软件开发工具:尽量采用集成化程度高的、使用方便、易学习掌握的工具。因为在教学中工具不是重点,但又是实现开发所必需的。选择好的工具能让学生尽快熟悉嵌入式软件开发的过程尤其是交叉开发的方式,尽快跨越工具关,建立起开发环境,以便在有限的课时中把精力集中在嵌入式操作系统、嵌入式微处理器编程、驱动开发、应用软件开发等重点内容上。

基于上述考虑,我们规划的不同方案的实验系统配置如表1所示。

5实验项目体系设计

实验项目的设计遵循下面的一些原则:

(a) 由浅入深,由易到难

(b) 由硬件到软件、自下而上

(c) 由基础到综合、由验证到创新

基于这样的原则,我们设计的实验项目可分为以下类型:

(1) 嵌入式开发环境的建立:包括仿真开发环境的建立、交叉开发环境的建立,让学生体会不同开发方式的要点和差异(包括宿主平台及目标平台的软硬件配置、软件工具的安装及配置、硬件线路的制作及连接、物理连接的验证、逻辑连接的验证等),掌握开发工具的基本使用,熟悉嵌入式软件运行的载体――嵌入式目标平台;

(2) 嵌入式微处理器编程基础实验:包括汇编指令实验、处理器工作模式实验、存储器实验、I/O接口实验、中断实验等;

(3) BSP及硬件驱动开发实验:包括板级初始化、系统自举程序(boot loader)、实时时钟和定时器驱动、网络接口驱动、键盘驱动、显示(如LCD)驱动、串行总线(包括UART/USB/I2C等)驱动、多媒体接口设备(比如音频)驱动、可编程I/O端口操作等;

(4) 嵌入式系统软件开发实验:比如嵌入式操作系统内核移植、嵌入式操作系统组件(如GUI等)移植、开放源代码的嵌入式内核机制改造等;

(5) 嵌入式操作系统应用基础实验:对嵌入式操作系统尤其是内核的基本管理功能的验证性实验,包括任务管理、信号量机制、消息传送机制、优先级反转及解决策略、内存管理等,帮助学生掌握嵌入式操作系统的基本原理和使用。这类实验比较简单,只突出某一方面的主题;

(6) 嵌入式操作系统应用综合实验:学生在全面掌握基础理论知识和具备一定动手能力后,掌握嵌入式软件开发的过程和方法,将所有的基础软件部件贯穿起来,比如将嵌入式实时内核、文件系统和TCP/IP网络协议栈、嵌入式GUI进行综合应用;

(7) 嵌入式中间件应用实验:比如嵌入式JAVA程序设计、手机Java应用开发等;

(8) 嵌入式系统应用综合设计实验:从底层硬件的扩展和设计,到驱动开发,再到上层应用软件的设计,完成复杂应用开发。帮助学生了解真实的应用,并锻炼自己分析和解决问题的综合能力,掌握系统分析、设计及编程、调试和固化等多方面的技能。

6如何提高实验教学质量

(1) 积累、完善相关素材和配套资料(包括实验教学大纲、参考实验程序、参考实验报告、实验课件、实验教材等),进行充分的准备。

(2) 规划好实验步骤,规范化实验课程程序,完善相关管理制度,比如:将实验步骤以实验指导书的形式体现;实验前由老师讲解,并演示操作步骤;学生开始实验操作前教师明确实验项目的目标和要求,在实验过程中适时提供指导;实验结束后要求学生按标准格式书写实验报告,教师及时批改和总结。

(3) 根据所配套的理论课程,将实验项目合理组合搭配:在实验教学课时有限以及实验设备资源不是很充足的情况下,为了尽量多地让学生掌握嵌入式软件开发的知识和能力,对上述不同硬件平台和软件版本的实验系统进行选择,对不同类型的实验项目进行组合搭配,以取得更好的教学效果。

(4) 根据实验内容的难易程度和工作量大小,改变实验小组的构成形式。对于简单的和工作量小的实验项目,可要求学生独立完成。而对于综合性和创新性的实验,一般不是能由单个人独立完成的,需要学生们组成设计小组,协同分工,共同完成。

(5) 创新实验考核方式。针对不同类别的实验,采取不同的考核方式。对于一些简单的验证性实验,由教师直接在实验课上考核,在学生完成实验项目后检查其完成情况,酌情打分;另一方面,对学生提交的实验报告进行评价,关注他们是否能提出一些心得体会,以及对实验的建议。对于综合性的设计实验和创新性实验,关注学生个体或团队开展实验的过程,要求他们提交更为详细的实验报告,以及在实验过程中产生的其他工作产品(除了软件程序本身外,还要求有完善的设计文档),评价他们是否掌握了提出问题、分析问题和解决问题的基本方法,是否具备将相关理论和实践知识融汇贯通、举一反三的能力。

7结语

在现今计算机技术迅速发展和纵深应用的后PC时代,嵌入式系统的应用无处不在,业界对于嵌入式系统开发人才的需求与日俱增。这种人才需求不仅是数量上的,更是品质上的。国内各高校、职业技术学院及培训机构的嵌入式相关理论与实践课程的开设也从客观上证明了这种需求。本文是对作者多年嵌入式软件实践教学工作的总结,希望能给同业者带来一些启示和参考,也作为自身下一步工作改进的基础。

参考文献

[1] 罗蕾. 嵌入式实时操作系统及应用开发[M]. 北京:北京航空航天大学出版社,2005.

[2] 陈天洲. “嵌入式系统概论”课程设计[J]. 北京:计算机教育,2006,4.

[3] 王志军. 解构北京大学嵌入式系统课程建设[J]. 北京:计算机教育,2006,5.

篇5

2 《操作系统》实践环节的运作情况

经过对各高校《操作系统》实践教学的调查,《操作系统》实践部分的开设形式主要有以下四种:

2.1 验证操作系统部分功能的实验

这种实验方式最简单,主要思路是,以某个实际的商业操作系统为实验环境,学生可以尝试执行操作系统提供的某些功能,能力更强的学生还可利用操作系统提供的系统调用函数编写、运行程序,以改进功能。通过这两种方式,学生可体验操作系统原理在实际商用操作系统中是如何工作的。

这种方式的特点是,学生不必编写操作系统功能实现的代码,对完全理解操作系统的内涵意义不大。

2.2 模拟经典算法的实验

这是比较常见的一种实验方式。其执行过程是,由教师选取操作系统中的一些经典算法,如读者-写者问题,电梯算法,让学生使用其熟悉的编程语言(如:C语言、C++语言)来实现算法。

该方式与程序设计课程的上机环节相似,这有助于学生理解《操作系统》的理论和技术,但是,这种方式由于缺乏训练学生对操作系统完全性的把握,达不到培养学生完整掌握操作系统的目的。

2.3 替换实际操作系统的主要模块

这种方式对学生的编程能力要求较高。其执行过程是,以开源的操作系统为平台,要求学生选取其中的主要功能模块,并对其进行替换及扩展。然而,开源的操作系统一般比较庞大,结构环境复杂,对师生的要求很高,一般高校实施的效果不好,最终只有小部分学生达到实验目的,学生的受益面不大。[3]

2.4 设计一个操作系统雏形

这种方式的执行过程是,教学中可选取一个包含简单内核的教学操作系统,让学生逐步改进、扩展其功能;或者干脆让学生设计一个全新的操作系统雏形,该雏形包含操作系统的基本内核功能,如处理机管理、进程管理、内存管理、设备管理、文件管理功能。

该方式与课程实验教学目标一致,理论上比较理想,但在实际的执行过程中,由于操作系统是一个大型的系统软件,其设计、结构相当复杂,因此这种方式实施起来难度很大。

3 在教学操作系统GeekOS上完成实验教学

由于一般的商业操作系统设计复杂,结构庞大,学生规定课时内很难全面掌握,同时,这些操作系统已经非常成熟,差不多实现了全部功能,学生没有多少新的工作可做。所以,设计一个基于教学操作系统的实践教学平台显得尤为迫切和必要。

3.1 教学操作系统的分类

教学操作系统有两大类:一类是针对RISC结构MIPS处理器的,例:Nachos;另一类是针对CISC结构的X86通用处理器的,例:Minix、 GeekOS。

3.2 GeekOS操作系统概述

最通用的处理器是CISC结构的X86通用处理器。它是一个用C语言开发的操作系统,学生可以在Linux或UNIX环境下对其进行功能扩充,也可以在g(project1等项目中还包含有磁盘镜像diskc.img),makefile项目管理文件。

2) Include文件夹。包含两个子目录,分别是geekos和libc,在geekos子目录中有kthread.h,keyboard.h等头文件,在libc中包含有GeekOS支持的C语言标准字符串函数头文件string.h。

3) scripts文件夹。包含项目编译时用到的一些脚本文件。

4) src文件夹。包含系统内核源代码,用户修改GeekOS系统时要修改的源代码如main.c等都位于这个目录中,在User子文件夹中一般是用来存放用户的测试文件,在tools子目录中的代码是用来建立pfat测试文件系统的。

3.3.2七个项目的功能

project0:在该项目中,要求学生实现一个内核级的I/O进程,该进程能从键盘接收一个按钮,并显示在显示屏上。该项目的目的是让学生了理解GeekOS的编译、链接和运行,明白计算机系统是如何启动的。

project1:在该项目中,要求学生熟悉可执行链接文件(ELF)的格式,并通过编程程序来分析该文件,同时将分析结果送到加载器。该项目的目的是让学生理解ELF文件的结构,使学生掌握如何加载和运行可执行文件。

在提供的GeekOS内核系统的基础上,为学生设计了7个由易到难的设计项目用于GeekOS的改进。这些项目分别涵盖了操作系统内核的各个基本模块:系统启动,进程管理,存储管理,文件系统,访问控制以及进程间通信。7个项目都规定了改进的目标,并提供了一些设计指导性的意见,但没有提供源代码,所以学生首先必须熟悉GeekOS的基本工作原理,才能开展各个项目的设计与实现。

project2:在该项目中,要求学生编程来支持用户态进程,这种支持包括初始化用户态进程空间、初始化用户进程空间、切换用户进程、导入用户程序。该项目中,计算机存储分配方式还是采用段式分配。该项目实现后,学生就可以使用GeekOS提供的命令行解释器Shell运行一些命令来执行PFAT文件系统内的用户测试程序。

project3:在该项目中,要求学生改进GeekOS的调度程序,实现基于4级反馈队列的调度算法(初始GeekOS系统仅提供了FIFO进程调度算法),并实现信号量,支持进程间通信。

project4:在该项目中,要求学生编程实现分页虚拟存储管理,以替代前述项目中一直采用的段式存储管理。学生实现分页式虚存管理以后,系统在内存不足时,就可以将部分内存页面调出送到硬盘,以缓解内容压力,实现虚拟存储技术。

project5:在该项目中,要求学生实现GOSFS文件系统,该文件系统采用虚拟文件系统,可加载不同的文件系统,PFAT只读文件系统是默认加载的文件系统。该项目的目的是要实现一个多级目录的、可读写的文件系统。

project6:在该项目中,要求在文件系统中新增一个访问控制列表,并使用匿名半双工管道实现进程间通信。

4 《操作系统》实践环节的考核

《操作系统》实践环节的考核非常重要,好的考核将激励学生努力学习,达到实验效果,办法如下:

1)教师制定实验报告格式和要求,教师对学生完成的实验报告的作检查和评价;

2)对设计性实验,要求学生回答并作出评价,回答的问题主要有:阐述解决该问题的算法思想、所使用的数据结构是如何设计的、使用的测试用例是如何选取和设计的、算法性能怎么样。

篇6

作者简介:张莉莉(1967-) 女,硕士,三峡大学计算机学院讲师,研究方向为操作系统、系统结构。

0引言

物联网是在计算机互联网的基础上,利用RFID、无线数据通信等技术,构造一个覆盖世界上万事万物的“Internet of Things”。在这个网络中,物品能够彼此进行“交流”,而无需人的干预。物联网是继计算机、互联网和移动通信之后的又一次信息产业的革命性发展。物联网被正式列为国家重点发展的战略性新兴产业之一。在国家大力推动工业化与信息化两化融合的大背景下,物联网会是工业乃至更多行业信息化过程中一个比较现实的突破口,是一个未来新兴产业。应这种社会需求,2010年初教育部下达了高校设置物联网专业申报通知,众多高校争相申报。三峡大学计算机科学与技术专业开设了物联网工程方向,以培养能够系统地掌握物联网相关理论、方法和技能,具备通信技术、网络技术、传感技术等信息领域专业知识的高级工程技术人才。但是作为一个新兴的课程体系,教学内容选择、实践环节组织等问题依然处于探索阶段。三峡大学将《嵌入式操作系统》[1]作为一门专业基础课程被列入该专业方向必修课程,和传统操作系统课程相比,嵌入式操作系统有自己的特点,尤其是实践环节,本文就《嵌入式操作系统》课程实践教学部分进行研究。

1《嵌入式操作系统》教学存在的问题

首先,《嵌入式操作系统》是近年才出现的课程,可参考和借鉴的资料不多,各个学校都在探索一种适合该课程的教学模式。

其次,嵌入式系统是个综合性很强的系统,它涵盖计算机、通信、网络、RFID等各方面的技术,那么,作为嵌入式系统开发和执行平台的操作系统也要体现这方面的特征,而如何体现尚有待进一步探索。

再次,需要更多的经费投入,实验的开设往往不是一台PC机器就可以解决的。

2《嵌入式操作系统》实践教学内容的选定

《嵌入式操作系统》同一般操作系统课程相比有很多独特之处。一般操作系统都以PC机操作系统为平台,内容包括进程管理、存储管理、设备管理以及文件系统等内容。嵌入式操作系统作为嵌入式软件开发平台,最终要和应用软件一起固化在某种设备里,因此,嵌入式操作系统应该是易于裁剪和配置[2]的。如果这种设备要联网使用,还需具备网络功能,有的还需要特殊的文件系统,而且在进程和内存管理方面也不能过于复杂,在开设实验课程时要考虑这些因素。鉴于以上分析,实践教学内容可从4个方面考虑:

(1)模拟类实验。主要是通过编写程序模拟嵌入式操作系统的一些算法。嵌入式操作系统和PC操作系统相比有很多不同之处:嵌入式操作系统要适应多种处理器、可裁剪、轻量型、实时可靠、可固化。因此,嵌入式操作系统在进程管理、内存管理、文件系统、设备管理等方面有独特算法,可以开设实验编写程序模拟这类算法。此类实验通常作为课内实验与理论课同步进行,用于验证理论,属于验证型实验。

(2)分析裁剪类实验。主要利用免费操作系统,如linux、minix、ucos/Ⅱ等。先分析这些系统内核,再做适当裁剪或增加或替换。由于这类实验需要编译内核,所需时间比较长,可以作为课外选修的实验。

(3)应用型实验。通过系统调用来完成一些应用,这类实验可以是验证性的,也可以是设计类的。可以根据具体的应用,设计一个实验题目,让学生在理论和验证性实验的基础上进一步扩展。

(4)设计型实验。主要是设计一个小型的操作系统,这类实验难度较高,可以作为课程设计类实验。

三峡大学物联网方向的课内实验[1]主要是配合理论课内容而开设,总共8个实验,一个验证性实验,7个设计性实验,实验内容如表1所示。

在课内实验的基础上,再配以课外实验[1],可以提高学生的综合开发能力,课外实验可以采用项目方式进行。课内实验在虚拟机上完成,课外实验可以在基于ARM芯片的实时系统上开发;课内实验要求独立完成,课外实验可以以小组为单位完成。课外实验内容如表2所示。

3教学环境与教学方式

3.1教学环境

首先,操作系统的选择。嵌入式操作系统种类比较多,要根据先行课程和学生的层次选择不同的操作系统。对于有操作系统背景知识的学生,可以采用较为复杂的系统,如linux;

而对于没有操作系统背景的学生,可以选择简单的操作系统,例如UCOS/Ⅱ。

其次,开发工具的选择。嵌入式软件开发需要交叉编译和交叉链接。交叉编译器的主要功能是将主机上编写的源程序编译成可以在目标机上运行的代码。教学环境可以是仿真环境[2]或者是真实环境。仿真环境有嵌入式软件集成开发环境,例如lambdaTOOL,这个集成开发工具可以支持多种嵌入式操作系统,如linux或者ucos等操作系统,也支持32位的嵌入式处理器。该工具有面向教学的免费版本,利用这种工具进行实践教学的好处就是有一台PC机器即可,在实践教学经费缺乏的情况下是一种比较好的选择,对于初学者来说也是一款很方便的工具。

真实环境除了PC机器之外还需要开发板,在PC机器上编译、开发板上执行,这种环境可以锻炼学生的动手能力。真实环境开发工具和开发板有关联,这类开发工具一般有与相关开发板芯片配套的开发环境,可以针对这种开发环境设计实验内容。

3.2教学方法

过去常用的教学方式是配合理论教学开设课内实验,这类实验课时有限,每个实验偏重某个知识点,实验内容事先设定好,学生在开发板上一个一个地验证。这类实验缺乏系统性,做完后,学生缺乏完整概念,而且,这种按照指导书按部就班完成实验的方式,也缺乏创造性。对于《嵌入式操作系统》这门课程,单一地采用这种方式并不合适。

《嵌入式操作系统》实践教学可以采用多种方式,如课内课外实验相结合、验证性实验和设计性实验相结合等。课内实验开设应用型且学生在短时间内容易接受的实验,这类实验用于训练学生的基本技能。课外实验通过课程设计、大型作业等方式,要求学生开发一个小型的系统或对已有系统进行裁剪或修改。课外实验在时间上没有课内实验的限制,可以开设综合性的实验。

此外,还可以采用项目驱动式教学,如果有这个条件,可以让学生参与一些项目的开发,将科研与教学结合起来。

教学手段可以采用多媒体教学与网络辅助教学相结合的方式,多媒体教学用于面授,网络用于课外自学。《嵌入式操作系统》课程需要较强的理论知识,更需要在实践环节加强训练。多媒体教学可以作为实践教学环节的准备,形象、生动地将一些抽象的概念具体化,让学生有一个感性的认识,模拟一些在使用操作系统时看不见的过程,加深学生对知识的理解。

网络教学手段能够弥补课程教学的不足。可以充分利用现有的校园网资源开发一个网上答疑系统,学生与学生、学生与教师之间可以随时“交谈”,改变以教师为主的教学方式,转向以学生为主的教学方式。也可以尝试大规模网络开放课程(Massive Open Online Courses),这是一种依托互联网的教学模式,与传统的教学模式有很大差别,它在线提供课程教学的全过程,包括微证书的管理,是一种新型的适合高校教育的模式。在这种模式下,教室成为学习会所,教师在“云”端授课,可以不拘泥于场所、时间等因素,甚至可以让学生自行选取学习的内容。这个正好与《嵌入式操作系统》课程内容相吻合,因为嵌入式系统所涉及的领域十分广泛,在做教学计划时,将方向定在什么领域也十分困难,可以让学生自行根据爱好和市场需求制定学习模块,利用开放课堂进行学习。目前,全球比较成规模的MOOCs三大平台是Coursera、Udacity、edX,可以依托这些平台,建设《嵌入式操作系统》课程资源。

4教材

目前,《嵌入式操作系统》实践系列的教材还不多见,笔者推荐《嵌入式实时操作系统及应用开发》配套的实验方案[2]。该方案有两套,一套是利用仿真系统开发实验,工具是利用免费的开发环境Lambdatool,另一套是利用某种嵌入式微处理器开发的嵌入式软件交叉开发实验系统,也可以自行编写。

5考核方式

《嵌入式操作系统》课程教学考核方式应该多样化。传统的考核方式一般是学生按照事先设定的内容完成实验,然后提交实验报告,教师依据报告的内容给予成绩评定。《嵌入式操作系统》是一门综合性和实践性比较强的课程,用通常的机考、笔试等方式,要求在限定的短时间内完成考核存在一定的难度,因此考核方式应该多样化。将考核与教学方法相结合,对于课内实验,要求在固定时间内完成命题,这类命题一般为设计验证性的实验和难度偏低的内容;对于课外实验,考核命题可以由教师指定范围,学生自己拟定题目的方式。对于参与项目的学生,可以由项目负责人给予成绩评定。考核过程采用答辩和文字描述相结合的方式,学生提交实验报告或者设计报告,教师通过提问的方式来考核学生完成报告的程度。考核的最终成绩可以由以上3个方面来进行综合评定。

6结语

高校教育必须面向市场,不断地进行教学改革,提高教学质量。计算机专业更是一个较前沿的专业,新的概念和技术不断出现,《嵌入式操作系统》就是在物联网的新形式下开设的一门课程。鉴于嵌入式设计将操作系统和应用软件一体化的特点,《嵌入式操作系统》实践教学更要加快研究步伐,不断探索,实验内容通常每学年做一些修订,三年左右做一次较大修订。只有不断地改革《嵌入式操作系统》课程的实践教学环节,才能更好地培养动手能力强的学生,以适应物联网市场的人才需求。

参考文献参考文献:

[1]张莉莉.嵌入式操作系统课程教学探讨[J].软件导刊,2012(12):190-191.

[2]罗蕾.嵌入式实时操作系统及应用开发[M].第3版.北京:北京航空航天大学出版社,2011.

篇7

实验报告封面

实验名称:制作电子演示文稿

姓名:×××

专业年级:201x级××××学院××××专业

学号:

指导老师:任课教师姓名

201x~201x学年 第一学期

[实验目的]

1。掌握PowerPoint文档的创建、打开、关闭等基本操作

2。掌握幻灯片的插入、复制、删除操作

3。掌握幻灯片文本的编辑方法

4。掌握设置背景,母版,应用设计模板的方法

5。掌握插入图片,声音,视频和FLASH等操作

6。掌握幻灯片放映方法

[实验环境]

Windows XP操作系统、OFFICE20xx

[实验内容和实验步骤]

1.在D:盘建立一个名为“我的专业.ppt”的演示文稿,包括三张幻灯片 。

1)第一张:版式为“标题幻灯片”,主标题为“我的专业”,副标题为“选择因为喜爱” 步骤:

2)第二张:版式为“标题和文本”,标题内容为“专业简介”,内容自己输入。

步骤:

3)第三张:版式为“标题和两栏文本”,标题内容为“开设课程”,内容自己输入。 步骤:

4)将所有幻灯片切换设为“随机”。

步骤:

2.将给定的Powerpoint文件a.ppt(在IE浏览器中输入网址:

下载a.ppt)下载到本机后打开,再做以下操作:

1)将第一张幻灯片的背景纹理设为:画布;

步骤:

2)在第二张幻灯片上,添加标题:古典名著;字体为:隶书;且居中对齐;

步骤:

3)将第三张幻灯片的版式更改为“标题和两栏文本”,并设置幻灯片的切换效果为“溶解”。 步骤:

3.将给定的Powerpoint文件b.ppt(在IE浏览器中输入网址:

下载b.ppt)下载到本机后

打开,再做以下操作:

1)将第一张幻灯片的版式设为:标题幻灯片;

步骤:

2)将第二张幻灯片的切换方式改为:阶梯状向左下展开;

步骤:

3)设置第二张幻灯片标题框在3秒后自动播放;

步骤:

4)在第三张幻灯片后插入一张新幻灯片,标题为:新幻灯片

步骤:

[实验分析和实验心得]

自己书写。

[问题和建议]

篇8

一、引言

操作系统是计算机专业重要的核心课程,是一门理论性和综合性较强的学科,该课程的理论学习是理解计算机系统工作、用户与计算机系统交互和设计开发应用系统等基本知识结构的重要途径,而其实验教学则是学生得以深入理解和验证课堂教学内容的直接和有效手段。

操作系统实验教学能强化学生加深理解操作系统的概念、原理、组成等基本知识,能拓宽学生编程思路,培养动手操作能力与分析综合能力,所以实验教学的质量将直接影响学生的实践能力、创新能力、合作能力等。[1]在创新驱动战略的指引下进行操作系统实验教学的改革,面向市场不断创新实验教学的各项机制,提高学生的创新能力和实践能力,使实验教学、人才培养和服务社会有机融合、协同发展,培养更符合就业市场对计算机类技术应用型需求的人才。

二、操作系统实验教学现状及存在的问题

1.实验教学的重视度不够

在教育教学中,大多数的实验教学往往附属于理论教学,对学生的实验能力和创新精神的培养不够重视。而学生在实验环节中过于随意,学习纪律涣散,迟到、早退、旷课、请假等情况屡见不鲜。由于实验教学落不到实处,导致学生动手实践能力薄弱,创新能力差,缺乏适应企业需求的专业知识和实践能力,造成了学生就业困难的局面。

2.实验教学内容设置问题[2]

操作系统课程的实验教学内容主要是围绕教材中的主要算法进行验证性的实验,但是仅仅靠这几个算法很难让学生直观地理解众多抽象的概念,且学生在这些实验中学习的方法和技能并不能应用到实际项目开发中去,实验成为一种形式,理论与实践脱离严重。

3.实验教学平台的选择问题[1,2]

操作系统课程的实验教学环境选择较难,大部分的教材都是以Unix系统为例,但是Unix安装成本较贵,不太适宜用于学生实验。Windows系统是学生较为熟悉的操作系统,但是其大部分源代码不对外公开,学生实验时无法深入到操作系统内部进行学习和探究,不利于学生对操作系统的工作原理的理解。选用Linux作为实验操作系统,又因为学生对Windows系统较为熟悉,大部分没有接触过Linux系统,思维定势难免会给学习和认知带来难度,因而也限制了学生对操作系统工作原理的理解和创新能力的培养。

4.实验教学类型和手段的单一[3]

目前的实验教学大多是验证型和仿真型的,注重的是理论知识的检验和证明。这种实验以教师为中心,学生完全按照教师的意图进行实践操作,缺乏自己的思考和创新过程。实验教学没有发挥其应有的作用,还直接影响到学生的学习兴趣和积极性,也因此使学生的创新思维和能力的培养和提高受到了限制。

5.缺乏高水平的、双师型的实验教学师资队伍

高校教师大多是从学校到学校,缺乏校企沟通的理念和环境,缺乏企业工程化的实践工作经验,因而无法保证对学生的操作技能进行有效的指导,直接影响实践教学的效果和应用型人才的培养。

针对上述操作系统实验教学的现状,笔者结合学校“第四批精品课程立项项目”――计算机操作系统课程建设中的实验教学的改革实践,提出了创新驱动战略下实验教学体系改革的思路以及一些具体的措施。

三、创新驱动战略下实验教学改革思路

1.推进产学研合作,构建实验教学改革的条件

建立产学研技术创新战略联盟,为实验教学体系结构的改革提供有力的支持。具体包括两个方面的创新工作:

(1)创新制度建设,搭建高校和企业合作的外部环境。建立高校教师到企业挂职制度,改善教师的专业知识结构,通过结合技术创新的实践,提高专业技能、积累经验,从创新过程中加深教师对产业的认知。同时建立流动编制,从企业聘请集工程理论与技术专长为一体的工程师进行实验指导,并在制度上促进这一机制的形成。这种制度建设的改革,培养了高素质的、“双师型”实验师资队伍,使实验教学教师的知识结构与时俱进,从而保证了实验教学的质量。

(2)创新科研思路,将实验教学与科研进行有机融合,促进产学研合作机制的可持续发展。以科技或市场为驱动,加强与企业的联系,主动找准企业的关键点和兴趣点,建立以企业需求为导向的科研项目。同时将科研与实验教学相结合,以综合性的工程实践项目为主线,围绕综合实践项目内容将项目模块化,按照操作系统功能的五大模块:进程管理模块、存储管理模块、文件管理模块、设备管理模块、网络管理模块分配到实验教学内容各环节中,从而将实验教学与科研实现有机的融合。在提高教师的科研水平和业务水平的同时,实验教学的效果和质量得到了显著提高,实验教学内容也更加贴近了产业技术对人才的需求。

2.创新实验教学过程,分层次教学,逐步培养学生的学习能力

单一的验证型实验教学并不适合培养学生的独立设计能力和综合运用知识的能力,所以要创新实验课程内容,精简基础和验证性实验,增加模拟设计性、规划研究性和开放性的实验,使实验教学内容的层次分明。

在不同阶段实施不同的实验内容和形式,让实验教学循序渐进完成,以达到最佳实验效果。具体实验教学过程为:

(1)认知学习实验阶段。这种实验主要是验证型实验,包括基本的应用级和系统管理级的实验。如,操作系统的安装、文件操作等,实验中以教师辅导为主,教会学生如何安装虚拟机、如何加载虚拟机镜像、熟悉操作系统各项功能、掌握文件操作命令等。

(2)设计性实验阶段。以学生自学为主,学生自己编程模拟实现操作系统的某些功能模块。主要的实验有:动态优先权进程调度算法、时间片轮转调度算法、页面置换算法等。当学生遇到问题时,并不直接替他们排除故障,而是提出产生故障的几种可能性,鼓励学生提出问题和不同的见解并自行加以解决。例如,在动态优先权进程调度算法设计实验中,学生的设计思路不明确时,可从几个方面来帮助他们理清思路:是否考虑了进程的阻塞时间、在运行进程已占用CPU时间以达到所需运行时间时是否进程还未到达,等等,提出多种可能的情况,让学生自行思考、设计并解决问题。

(3)研究创新性实验阶段。在进行设计性实验后,学生已经从书本逐步走向实践,消除了对编写软件系统的心理障碍,提高了编程水平。此阶段是以提高素质为主,激发学生创新思维能力,强调的是主动研究式的实验学习过程。可选的实验内容较多,如进程创建、内存分配、文件的读/写等,教师给出其中较为有意思部分的源代码,要求学生阅读,然后让学生在此基础上自行提出课题和基本思路,并利用图书馆、网络等查找相关资料后独立完成。学生在这种研究性学习过程中主动获取知识,开动脑筋进行课题的思考和设计,因而有效地培养了学生的创新精神和实践能力。

(4)开放性实验阶段。[4]最后,安排学生进行开放性实验,培养学生的主体作用和主动学习能力。可让学生自成小组,在虚拟机平台上,从裸机开始,通过实例利用汇编与C语言编写一个小型的操作系统的框架,包括处理机管理、存储器管理、文件管理和简单的设备管理。团队协作分析和设计仿真操作系统的架构和各项功能、制定实验计划、编写代码并注释说明、分析实验结果、撰写说明书和实验报告,最后由团队统一提交。这样的实验有助于学生把握操作系统的精髓,真实地消化书本知识,同时培养和提高了学生自主学习能力、独立思考的探索精神和团队协作的能力。

3.创新实验教学方法和手段,激发学生的兴趣

在实验中创新实验教学方法和手段,使用多样的教学方法和手段并灵活应用来提高学习的积极性、激发学习的兴趣。

(1)借助合适的实验平台。在实验教学平台选择上,采用的是在Windows操作系统上运行虚拟机方式,利用一些虚拟机软件,如VisualPC,再运行Linux系统。通过学生较为熟悉的Windows操作系统的相关功能来对比学习Linux操作系统,这样的实验平台更容易让学生更易掌握和理解操作系统的工作原理。

(2)多媒体辅助实验教学。利用多媒体技术为实验教学提供交互式教学环境,让学生清楚实验的内容、重点、目的等,促进学生对知识的学习兴趣和热情。例如在银行家算法实验中,可以设计动态的场景,借助多媒体的应用,让学生充分了解在该实验中什么情况下会发生死锁现象,又如何设计实现安全状态来避免该现象的发生等。

(3)启发式实验教学。实验教学中可采用启发式的教学方法,加强学生对抽象知识的理解和掌握。例如在操作系统教学内容中有多处调度算法,如进程调度算法、虚拟内存的页面调度算法、磁盘调度算法等,在实验教学中可采用对比分析的启发式教学方法,让学生对不同内容的调度算法进行比较,从而对实现操作系统课程教学的目的起到很好的促进作用。

(4)案例驱动式实验教学。实验中通过具体案例来挖掘学生的创新潜能,要有意识地从应用及工程实践的角度,用案例、项目的方式对实验内容以多角度描述,然后让学生在案例基础上进行改进和创造。如,将开源操作系统Linux作为实例教学,引导和帮助学生进行深入分析,通过案例分析和“做中学”,使学生深刻理解操作系统中的原理和算法和实现技术,让学生在内核中添加或修改功能。培养了学生的创新能力,同时也培养了学生对系统软件进行分析、设计和开发的能力。

4.创新实验教学考核评价模式

探索、创新更加合理的实验教学考核评价模式,不再单纯地以上交的实验报告为最终成绩的评定。具体的方法有:提高实验成绩在总成绩中的比例,使得学生更加重视实验教学;对不同阶段的实验题目设置一定的权重,学生根据能力选择题目;深入学生实验项目中,随时提问,考察学生的学习态度、设计思路等;程序验收时,抽选部分学生进行答辩,考核学生的学习效果;结合学生平时的各项表现,批改实验报告,给出实验教学最终成绩。

四、结语

操作系统实验教学活动可以帮助学生加深对操作系统原理和算法的理解和掌握,让学生通过实验过程体会到计算机软硬件体系结构和操作系统的关系,以及计算机体系结构对操作系统发展的影响等。我们在学校立项的精品课程建设项目中,立足本校,更新实验教学理念,深化实验教学体系结构的改革,培养学生对技术发展的跟踪意识,提高学生的学习能力、实践能力、创新能力,锻炼他们的团队协作精神,以达到与企业的无缝链接,为社会培养能适应市场需求的创新型与技能性的计算机专业技术人才。

参考文献:

[1]孙述和等.操作系统实验教学研究与探索[J].计算机教育,2010,(1).

篇9

The Research and Practice on the Bilingual Teaching of Operation System(OS) Course

TIAN Jun, LI Dan

(School of Electronic and Information Engineering,Xuzhou Institute of Technology, Xuzhou,Jiangsu 221008,China)

Abstract:Bilingual teaching of Operation System(OS)course is the reform and innovation of teaching methods, on the basis of original teaching requirements.Then the students can master the operating system design principles and methods through the bilingual study about technical terms and algorithms. In the basis of the training goal of OS bilingual teaching,this article is focused on the three major aspects of the Practice Teaching Reform:teaching material,teaching methods and assessment methods.

Key words:operation system; bilingual teaching; discovery of teaching practice

随着科技发展与国际交流的关系日益密切,我国对双语人才的需求日渐增加,国家教育部在2001年提出加强大学本科教学的12项措施,其中要求各高校在三年内开设5%---10%的双语课程,并引进原版教材和提高师资水平[1]。在专业课授课中引入国外原版教材以及技术资料,开展相关课程的双语教学近年来已成为徐州工程学院提高本科教育教学质量的重要措施。作者承担了我校“操作系统”双语课程建设的工作,该文就将从操作系统双语教学实践中遇到的问题以及采取的改革措施进行初步的探讨。

1 OS开展双语教学的必要性

从计算机科技研发的发展过程看,重要的技术革新都源于欧美,这也局限了我们所接触的核心学术论文以及软硬件产品的技术资料等都是以英文来编写,计算机专业外语也形成了一个相对独立的体系[2,3],因此对计算机专业课程开设双语教学是实现我校计算机教育与国际接轨的重要手段,势在必行。

《操作系统》是为计算机应用技术和软件技术专业方向学生开设的专业必修课。该课程作为一门原理课程,各类算法以及学科前沿的相关资料都是英文版的,通过双语的学习,有益于学生在获得专业知识的同时掌握计算机专业外语,具备查阅英文文献的能力。此外,该课程开设在计算机专业本科学生的大三学年,考虑到学生已经具备了一定的英语听说读水平和专业基础知识,也是比较适当的。

2本课程双语教学的目标

5考核方式

以往的教学中考试成绩只是考虑了期末成绩以及平时作业、实验报告,难以体现出学生对OS理论知识的运用能力,因此在本课程的考核方式中引入了专题讨论成绩,实现了考核方式的多元化。每章节作业以及实验报告占10%,期末考试成绩50%,主要考察学生对OS原理的掌握;专题讨论占40%,而专题讨论又细化四部分(发现问题10%,算法改进15%,算法实现5%,比较分析10%),考察学生的实践能力。改革后课程成绩考核方法如图3所示。

6结论

对比我校近两届学生操作系统课程综合成绩,尤其是毕业设计选题及完成情况,学生平均课程成绩以及毕业设计选题的前沿性都有显著提高。说明学生较好的掌握了操作系统原理理论知识,培养了学生发现问题解决问题的能力,学生查阅英文文献的能力也得到培养和提高。可见,我校操作系统双语教学立足专业注重实践的基本方案是可行有效的,本方案的实施也为我校其他课程双语课程的开展具有一定参考价值。

参考文献:

[1]苏晓云.地方高校双语教学课程质量保障体系的研究与实践[J].中国电力教育,2010(19).

篇10

培养实用型、创新型人才,提升软件研发能力,构建系统、完善的理论及实践专业课程体系架构,一直是计算机专业课程和专业基础课程的根本目标。为积极落实计算机学院计算机科学与技术专业的专业培养目标,强化对学生应用编程实践能力的体系化培养,进一步构建、充实计算机软件、硬件紧密结合的基本知识架构,贯彻系统、可持续发展的培养思路和课程体系,在C语言程序设计、面向对象技术、计算机基础等先修课程基础上,加强学生软件开发能力的培养,设置并开设程序设计实践课程“计算机设计项目实践”。

课程设计方案针对专门的实用编程技术及其应用实现方法,进行特定系统功能的设计,确立实现方法,完成程序编码与调试。进一步加强程序设计基础理论技术的掌握,提升程序设计的深度和难度,培养学生设计实现较大程序的能力。为专业素质和能力的培养奠定扎实基础。

本课程的设计项目对方案设计目标、设计内容、设计思路、实施基本方法进行系统规划,学生能够了解面向具体应用的程序设计基本方法,明确系统功能、设计、实现的基本流程,理解一个实用应用程序的基本架构,掌握设计实现的应用程序的运行流程。在选择C语言编程环境及其方法的基础上,能够基于库函数或类库函数接口,运用具体编程方法,完成应用程序的设计、编码等开发工作。选择学生感兴趣的项目,构建用户自己的应用程序代码,达到熟练运用编译环境工具、开发较大型应用程序的目的。

课程方案设计的基本原则在于,通过精选应用系统的需求分析、功能设计、编码、实现、测试、提交等基本环节,展现软件开发基本过程,运用实用编程技术及其应用实现方法,培养学生实际开发经验,提升学生应用编程实力,巩固学生程序设计基本规范、基本流程的理解和实现技术,达到充实程序设计的应用知识体系、激发学生的学习兴趣和主动性、开拓学生的专业视野和实际工作能力的目的。

2教学方案设计

2.1应用系统的设计

通用操作系统的文件系统为用户数据的存储和读写等提供必备支持,应用程序设计也需要有关文件操作功能的支持,文件系统及其各项实现技术具有实用价值,C语言程序设计课程中,文件系统相关章节对文件的基本操作、编程接口、实现方法等内容进行了简要介绍,学生具备一定的理解文件系统功能和处理文件的知识基础[1]。

参考相关资料,使用高级语言实现的一个文件系统,作为一个应用原型系统,基于该系统,完成软件项目设计的各个过程[2]。

首先通过分析文件系统基本功能,理解文件系统的设计步骤,及设计实现一个简单、功能完善的模拟文件系统SMFS。该文件系统功能包括文件操作、文件存储管理、文件系统一致性和容错性管理[3]。

SMFS文件系统采用C语言设计实现。通过分析原型程序的数据结构设计、算法设计实现,掌握该应用软件的模块划分与集成,掌握编译环境、运行环境的构建与使用。

首先对现有原型系统初步改错并进行调试,查看运行结果,分析并找出原型系统仍然存在的问题。

再根据所设计的文件系统应用程序方案功能,进行设计和修改,对应用程序进行二次开发,完成应用程序的设计、编码、调试、运行。

方案的实施使学生应用能力得到锻炼和提高。学生可了解软件开发规律、开发思路和实现技术。

2.2开发平台的选择

使用PC机、Windows操作系统、高级语言编译工具及其环境,作为硬件、软件开发运行平台。选择Turbo C或 Borland C作为编译工具。开发、运行平台易建。原型软件程序已通过初步调试,可运行,为学生的调试、二次设计、开发提供有利支持和保证。方案可行性、可操作性较强。

3教学内容

3.1文件系统分析

以UNIX操作系统文件系统为例,对文件系统管理数据结构及基本构成进行必要分析,了解文件系统基本工作方式及其功能实现的基本方式。动手实现一个模拟文件系统――文件应用系统。

3.2文件应用系统规划

文件应用系统设计功能包括,提供一个文件操作接口函数库,基于该函数库实现一个简单的文件系统,提供高效的存储管理功能。该文件系统提供较好的容错性能,系统崩溃时进行数据的一致性检测,确保数据不丢失。

基于文件函数库的基本文件操作函数,设计实现一个简单的单用户文件系统。文件系统功能设计简化为以下几个模块。

Naming:将文件名映射为文件占用的磁盘块,空闲磁盘块管理的内存与磁盘数据结构,称为磁盘空闲表。该表可跟踪磁盘上每一个磁盘块分配使用情况,该表永久存放在磁盘上,文件系统启动时放入内存,指导文件的空间分配。

Allocated:磁盘块的分配记录,即文件系统的物理组织。采用索引节点方式进行文件分配磁盘块的管理。每个文件拥有唯一I节点,每个文件的属性信息存放在该文件的I节点中。此外,目录文件中包含该目录下子目录名及其I节点或文件名及其I节点,用于按目录逐级查找,将文件名映射到I节点上。

文件操作包括:创建文件;修改文件;删除文件等。

容错性、一致性的设计。文件系统的恢复策略。确保文件数据的完整性、持久性。

3.3文件应用系统数据结构设计

全局数据结构包括:文件系统文件最大数量;文件系统最大空间;文件系统操作提示符――字符串;文件系统名称――文件名表示;文件系统文件指针;文件I节点――结构体类型;文件I节点指针;文件I节点表――数组。

3.4文件函数库设计

文件系统应能永久存储数据,物理上存储数据的是磁盘。为简单起见,使用一个文件模拟磁盘。将文件磁盘块大小设定为4KB,每个磁盘块有唯一编号,每个文件以磁盘块为单位存储数据。

磁盘函数库模拟真实的硬件接口,设计为函数实现,函数接口提供良好的调试接口,为将磁盘驱动器接口映射为模拟的磁盘函数库函数接口。磁盘函数库设计如下函数:

void creat_file_system()

函数功能:创建一个文件,包括文件管理数据和实体数据结构,表示文件系统。

void open_file_system();

函数功能:打开或创建文件系统,错误返回error;正确则返回文件系统指定的文件管理数据和实体数据结构位置指针。

int new_a_file(char *file_name)

函数功能:搜索文件系统,查出可用空闲管理块,存入指定文件名,返回管理数据位置指针,否则,返回-1。

int del_a_file(char *file_name)

函数功能:搜索文件系统,查出指定文件,从文件系统中删除该文件,返回该文件位置指针,否则返回-1。

void list()

函数功能:搜索文件系统,只要文件名不为空,输出文件名和文件长度,文件计数。

int open_a_file(char *file_name)

函数功能:搜索文件系统,如指定文件存在,返回指定文件所在的序号。

int offset_by_i(int i)

函数功能:返回第i个文件在文件系统存储空间的偏移量。

int write(char *file_name,int offset,char *str,int count)

函数功能:打开文件file_name,写入文件,写入文件系统管理块信息。

int read(char *file_name,int offset,int count,char *str)

函数功能:打开文件file_name,读出该文件字符串内容。

void print_help()

函数功能:输出系统文件操作提示信息,供用户选择。

int main()

函数功能:启动文件系统,进入帮助界面,用户可以输入各项操作代码,循环执行对应文件操作,或结束系统运行。

合法操作包括:①创建文件系统;②新建一个文件;③删除一个文件;④显示文件列表;⑤写入文件;⑥输出文件;⑦退出文件系统。

3.5应用文件系统运行分析

测试中,查看存在的设计缺陷。如,文件系统中文件数量的检测和控制;文件长度的检测和控制;文件系统启动确认等[4]。

3.6应用文件系统的再设计方案

根据学生对原型系统的理解和掌握程度进行自行设计。测试改进方案的系统运行的完善性和健壮性。

4教学过程

本课程课堂授课课时为8学时,上机实践学时为24学时。教学采用讲课、上机交替进行的方式。便于学生及时把教师交付的每个任务贯彻落实、设计实现,教师能将学生实践中出现的问题,利用课堂教学及时反馈、说明、给出指导意见。

教师在授课期间,对设计方案的设计思想、设计方法、实现系统功能、实现技术及方法、编译运行环境等进行简要讲解、说明。学生在上机实践环节过程中,完成项目方案的设计实现,通过接受教师检查、验收、答辩等环节,提交实验报告。锻炼和提升分析,设计,文字、语言表述,实现,工具运用等能力。

该方案教学过程可设计为三个阶段。

4.1授课内容设计

该阶段完成进行系统开发的技术理论、程序架构、软硬平台搭建等准备工作。从项目设计目标、方案设计、实施过程及要求、编程技术分析、系统功能等方面进行授课。指导学生奠定扎实基础,为进行下一阶段的实践作好准备。为了比较系统全面了解有关软件开发的基本概念、基本过程,设计授课内容按系统功能驱动的方法展开,紧密结合实现编程技术,引导学生逐步系统了解开发一个特定应用系统所必需掌握的基本概念和基本技术。

教师在8学时的授课中,首先向学生明确说明方案系统的功能,然后进行功能的分解,直至完成模块的划分,讲解需要的编程技术,实现模块功能,学生在此基础上,设计模块内部的算法流程,并实现、调试、运行软件系统。

4.2实践内容设计

上机实践24学时。实践环节以课题组模式进行工作,利于互相帮助,培养合作能力和意识。学生以课题组为单位进行方案论证、设计、开发环境构建、分工、单元开发、调试、系统运行,完成项目实践报告的编写。组长是项目主持人。该过程能使学生明确软件开发的各个环节,结合自身条件对每个环节进行自己的设计实现。课题组学生可按以下实施内容及步骤开展工作,并按计划接受教师的检查和评估。

每2人自由结为一个课题组。可以均衡学生的能力,达到互助的目的。确立方案的功能及设计基本方法,设计模块函数功能及其编程接口。

安装开发环境、调试开发工具。对于开发使用的 C/C++语言环境及工具、函数等作必要的调试。

分析设计系统功能,划分每位同学的模块分工明细。完成各自的功能模块设计、编码实现、调试,并接受教师检查、评估。

课题组完成系统集成调试。提交调试报告和系统使用说明书,并接受教师软件验收。

项目实践上机环节的内容可操作性强、实施要求具体、目标明确,便于对学生的研究能力、协调协作能力、软件系统分析设计能力、编码能力,解决问题能力、语言、书面表述能力等作一个综合的培养、评价、考核。

5评价体系

对学生方案设计实现的评价,旨在通过实践的各个环节的监督检查,深入了解学生的进展情况、方案实施效果、出现的问题等,为学生提供指导、建议,考核设计与实现结果是否达到方案目标的要求。

针对项目实践课程的目标和特点,必须规划、确立学生成绩评价标准。否则,课程开设效果难以保证。对学生方案设计实现的评价,旨在通过实践的各个环节的监督检查,深入了解学生的进展情况、方案实施效果、出现的问题等,为学生提供指导、建议,考核设计与实现结果是否达到方案目标的要求。

课程实施过程分为:课堂教学,课题组完成系统分析设计的理解、模块功能设计与划分、编程实现与调试、软件验收、答辩等。

学生成绩评价体系设计根据每位学生的各个部分的实施情况进行评估。学生应提交规定格式、内容的文档、实验报告,完成编码、调试、软件验收,学生在阶段检查时对设计实现内容进行讲解、答辩。答辩对学生的系统总体设计模式与运行模式进行考核,确认学生是否对软件系统的设计流程、运行流程及其出现的问题,有全面的理解。敦促学生全面系统地完成项目实践整个实施计划与实施过程。

学生成绩评价体系包括文档成绩评估设计和软件验收答辩两个部分。

文档成绩评估设计。组长及其组员负责组织编写实验报告,实验报告的详细格式及内容的规范要求见附录。其中包括分析设计、系统调试、系统运行手册、设计实现的模块和调试等内容。根据实验报告的可读性、创新性、结构内容完整性、工作量等因素,评估每位学生的文档成绩。

软件验收答辩。根据教师提出的系统需求和设计方案建议,以课题组为单位进行系统分析设计,每人独立进行模块详细设计及编码调试工作,根据提交的模块设计实现文档和调试文档,学生对模块使用的数据结构及算法设计进行讲解、答辩。教师根据讲解简明、思路清楚、工作量饱满、使用技术有独到之处等方面给予成绩评定。根据提交的实验报告进行软件系统验收,根据系统的运行功能实现、界面设计、编码技术运用等评估学生的验收成绩。考核分值分布如表1所示。

表1考核分值分布表

考核内容百分比

系统分析设计报告10%

模块详细设计报告10%

原运行系统调试报告15%

系统调试报告用户手册15%

阶段检查25%

验收检查25%

6教学文档及环境支撑

计算机设计项目实践包括24学时的上机操作,需要完成课程软件系统开发与文档组织编写,是以学生自主完成为主,教师指导为辅的实践过程。为配合师生的需求,提高学生的工作效率,支持文档的编写、系统的设计实现、编码、调试等诸多具体要求,一个方便实用的文档及具体要求支持体系十分必要。教学文档可提前提交给学生参考,一般包括:①授课教案;②实验指导书;③应用软件开发环境;④课程实践环节参考手册;⑤网上教学资源平台;⑥教学大纲;⑦实验大纲;⑧授课计划;⑨实验上机学期计划表。

7课程实践环节参考手册设计

特别设置一个实践环节参考手册,对课程设计所有环节具体要求和实施办法作一说明。为学生方便地编写文档和规范地完成实施过程,提供规范文档体系参考与指导,使学生的成果体系完整、有据可查。

附录一,实验报告规范模板;附录二,实验任务书;附录三,报告文档内容格式参考;附录四,进度安排及成果提交;附录五,实验报告撰写规范;附录六,成绩评估表。

8结语

操作系统技术对于大学计算机专业课体系教育的重要性勿容置疑,实践教学对理论教学有延伸和提升的作用,其教学重要性、迫切性、科学性越来越得到国内外同行的共识,如何将实用技术引入实践教学

环节一直是教学中探索的重点和难点。本方案的创新性在于系统全面地设计了实践类课程的各个环节,提供了较全面的方案设计内容,有一定的参考价值。方案具有较好的可操作性和可移植性,可供其他计算机专业课的实践环节参考。该方案已应用于教学,对学生拓展应用编程技术,进行软件开发具有较好的效果。

该方案具有技术实用、平台易建、功能明确、难度适中的特点。通过方案的实施,学生系统软件分析能力和应用软件的开发能力能得到一个全面的实践和锻炼。

参考文献:

[1] 谭浩强. C语言程序设计[M]. 北京:清华大学出版社,2006(6):150-210.

[2] 卢军. Linux0.01内核分析与操作系统设计[M]. 北京:清华大学出版社,2004(6):139-198.

[3] 孟庆昌,牛欣源. 操作系统[M]. 2版. 北京:电子工业出版社,2009(11):183-216.

[4] 赵斌. 软件测试技术经典教程[M]. 北京:科学出版社,2007(5):1-59.

Research and Implementation of Programming Practice Project

NIU Xin-yuan

篇11

“信息安全导论”是面向计算机科学与技术专业和网络工程专业学员的一门专业技术课程。随着部队信息化建设的迅猛发展,部队对信息系统的依赖日益加重,信息安全问题日益突出,因此在利用信息化提升部队战斗力的同时,必须研究信息安全的自身特点,寻找信息安全问题的解决之道。

 

本课程要求学员了解信息安全的重要性和复杂性、理解信息安全的基本概念和基本原理、掌握信息安全的基本技能和基本方法。而实验教学的主要目的是让学员通过实验能够掌握基本的信息安全防护技能,了解系统存在的安全隐患,树立牢固的安全意识,培养良好的安全习惯,另一方面提高实践操作和应用能力。

 

课程的课内学时为32课时,课外学时即实验学时为12学时。课程内容基本覆盖了信息安全领域所涉及的主要分支和领域,共包括信息安全绪论、密码学基础、计算机系统安全、计算机网络安全、计算机应用安全和信息系统安全工程六章内容。而课外实验由于学时有限,只能在课程内容中进行适当的选择。

 

2实验教学内容选择

 

由于时间有限,应该优先选择最基本、最常用的安全技术方面的实验,并按照所需技术水平的高低进行阶梯式的安排。

 

根据这一原则在整个课程中计算机系统安全章节、计算机网络安全章节中涉及的内容成为实验内容安排的重点。

 

2.1计算机系统安全的实验内容选择

 

在计算机系统安全章节中的计算机操作系统的安全内容成为实验内容的首选。计算机操作系统是应用软件同系统硬件的接口,其目标是高效地、最大限度地、合理地使用计算机资源。没有系统的安全就没有信息的安全。操作系统作为系统软件中最基础的部分,其安全问题的解决最为关键。目前操作系统主要分为 Windows系列的操作系统和类Unix的操作系统。虽然这些操作系统符合C2级安全级别,即自主安全保护和受控存储控制,但操作系统仍存在不少安全漏洞,而大多数恶意代码正是针对操作系统存在的安全漏洞进行攻击,因此导致出现很多安全问题。

 

为了让学员了解操作系统存在的安全漏洞以及攻击者入侵操作系统的手段,加强自身的安全意识,我们设计了一个Windows 2000漏洞入侵实验。实际上,对于大部分的安全问题,我们可以通过对操作系统的安全管理配置操作来进行防范。在实验内容中,我们选择Windows 2000和Linux操作系统进行操作系统的安全管理配置操作的学习。

 

2.2计算机网络安全的实验内容选择

 

在计算机网络安全章节中防火墙技术、嗅探技术和VPN技术被选择为实验的内容。

 

许多来自网络的远程攻击可以通过防火墙技术来进行防范。防火墙是在两个网络之间执行访问控制策略的一组硬件和软件系统,其目的是保护本地网络的通信安全。使用防火墙进行网络的安全防护是最常用的安全技术。据统计,全球接入因特网的计算机中有1/3以上处在防火墙保护之下。因此,理解防火墙的工作原理,并能根据定义的安全策略配置相应的安全规则是学习安全技术的一个重点。

 

嗅探技术主要通过将网卡设置为混杂模式来接收和分析所有经过网卡的数据包。而利用嗅探器窃取别人的用户密码和秘密信息是恶意攻击者常用的手段。通过学习嗅探器的使用,可以使学员们了解数据包的基本结构,从而加深对后阶段实验的理解,同时增强数据包在网络上传输时需要安全保护的意识。

 

在学习嗅探器使用的实验中,学员已经认识到数据包在网络上传输的不安全性。而VPN技术是实现网络安全传输的一种安全技术。VPN称为虚拟专用网,它是在因特网上实现的一个专用网络。由于利用VPN技术构建的虚拟网络中数据包是加密传输的,从而能够保证信息在网络传输的机密性。通过学习VPN 服务的配置和连接的建立技术,可以加深学员对VPN技术的理解。

 

最后,学员通过学习本门课程不断地提高自身信息安全技术水平,并按照如图1的阶梯式实验内容的安排进行学习,能够了解入侵操作系统的典型攻击手段、掌握主流操作系统的安全管理配置操作、掌握防火墙的基本配置和使用、学会嗅探工具的使用和掌握VPN服务的配置和连接。

 

3实验内容设计

 

根据图1的安排,整个实验课程的内容包括六个实验。每个实验所占课时为2个课时,为了让学员们能够在短时间达到实验要求,实验内容主要以验证性的实验为主,部分提高型的设计实验为辅。验证性的实验内容的实验步骤比较详细,力争学员在实验课时间内完成所需实验,而提高型的实验内容用于部分感兴趣的同学在课后进一步提高技术水平。

 

3.1Windows 2000漏洞入侵的实验内容

 

操作系统存在许多安全漏洞如缓冲区溢出,很多攻击都是针对这些漏洞进行的。此次实验的操作系统选择的是Windows 2000。实验的主要目的是让学员们了解典型入侵过程,提高安全意识。针对漏洞入侵的典型过程如图2。在入侵典型过程中安装后门和清除入侵痕迹不属于必备环节,而是较高级的攻击者采取的方法。 此次实验的主要内容是设计两个可验证步骤的漏洞入侵过程,让学员可以在实验课时内按照实验步骤完成实验。这两个入侵过程分别为:1433溢出漏洞攻击和弱口令入侵。第一个实验包括了典型入侵过程的主要环节。第二个实验进一步提高学习内容,包括了安装后门的环节。

 

3.2操作系统的安全配置实验内容

 

针对攻击者的攻击,实际上可以通过对操作系统进行安全管理配置的操作来进行防范。操作系统的安全配置实验包括Windows的安全管理配置和Linux的安全管理配置两次实验。

 

这两次实验的具体操作虽然不同,但实验的内容是相同的。每次的实验内容包括三部分:系统用户管理、系统服务管理和系统安全配置。

 

多用户的操作系统通过将用户进行分组的管理,每组赋予不同的权限,来限制用户对系统资源的使用,从而防止非授权用户进行非法操作。通过系统用户管理的学习,学员不仅可以掌握如何增加和删除用户,而且还可以学会如何修改用户权限。

 

由于针对操作系统的漏洞进行攻击是攻击者的主要手段,因此操作系统应遵循最小特权原则,尽可能关闭不需要的服务。通过系统服务管理,学员可以知道如何根据需求关闭特定的服务和端口。

 

为了防御攻击,操作系统还可以进行专门的安全配置。审核策略就是其中的一项重要的功能。审核策略可以对特定事件如登陆失败的事件进行日志记录。系统管理员通过对日志记录进行分析可以对攻击者的攻击行为进行事后追踪。同时,管理员还可以发现攻击者的不良企图,从而加强对系统的防护。

 

3.3嗅探工具Sniffer的使用的实验内容

 

利用嗅探器窃取别人的用户密码和秘密信息是恶意攻击者常用的手段。此实验的目的是通过学习典型嗅探器sniffer的使用了解数据包的结构,加深学员对后阶段实验的理解,并增强学员对数据包在网络传输要进行保护的安全意识。

 

整次实验包括如何利用嗅探器sniffer对报文进行捕获、解码和编写报文的内容。其中报文捕获和解码是基本学习内容,而编写报文为提高内容。

 

报文捕获的实验内容如下:

 

利用sniffer工具捕获指定目标机发出的所有数据包。

 

利用sniffer分析捕获的报文。让学员两人一组:一人在目标机上登录某网站并输入用户名和密码;一人捕获其发出的数据包并分析出用户名和密码。

 

报文解码的实验内容包括熟悉各种协议报文结构并对捕获的IP报文主要是报文头部的各种信息进行分析。

 

编写报文的实验内容是利用sniffer提供的报文编辑功能,自行编写一个IP报文并发送到合作伙伴的目标机上,并由合作伙伴捕获进行分析。

 

3.4防火墙iptables的启用与配置的实验内容

 

使用防火墙是防范攻击者攻击的一种最常用的安全技术。此实验的目的是通过启动配置linux系统下的防火墙iptables,理解防火墙的工作原理,并能根据定义的安全策略配置相应的安全规则。

 

此次实验需要两台机器,可验证的实验步骤如下:

 

(1) 一台机器启动防火墙iptables,充当服务器。

 

(2) 服务器清空防火墙的过滤规则表。

 

(3) 另一台机器充当客户机,使用扫描器nmap对服务器进行扫描,发现其开放的服务,并使用其提供的服务。

 

(4) 服务器配置报文过滤表使得客户机不能访问服务器提供的任何服务。

 

(5) 客户机再次访问服务器,已不能使用其提供的服务。

 

3.5VPN服务器配置与连接的实验内容

 

VPN技术是在因特网上构建的虚拟专用网络。它通过一套复杂的协议来保证数据包在网络上进行安全的传输。此实验的目的就是通过对学习VPN服务器的配置和连接建立来加深学员对VPN概念的理解。

 

实验内容选择学习VPN中最常用的一种访问连接方式——远程访问连接方式。通过虚拟专用网的远程访问方式,VPN客户端可以通过IP网络(例如因特网)与充当VPN服务器的远程访问服务器建立虚拟点对点连接。这种方式最适用于公司内部经常有流动人员远程办公的情况。

 

可验证的实验步骤包括:

 

(1) 配置和启动Windows 2000 Server下的VPN服务器。

 

(2) 授予用户通过VPN连接服务器的权限。

 

(3) 授权用户与VPN服务器建立VPN连接。

 

4教学效果

 

信息安全导论实验课程的每次实验都需要提交实验报告来考察实验教学的效果。从提交的实验报告来看,所有学员都在既定时间内完成了实验规定的基本内容,而部分学员在课外时间完成了提高部分的内容。信息安全导论课程的总评分中笔试占70%,实验成绩占30%。整个课程的成绩在良好以上的学员占 30%,中以上的学员占80%,达到预期目标。

 

篇12

该精品课的创新点主要有以下几点:

提高学生创新性培养。该精品课是以当前嵌入式技术的主流方向和技术特点为主要内容,具有技术先进、涉及领域宽等特点。通过本课程学习,启发学生的创新能力,将新技术应用到不同领域。对此,我们尝试采取了相应的考试方法,要求学生期末递交实验报告及创新课题立项报告及闭卷考卷,综合评定成绩。

加强学生的实践能力培养。本课程的学时32 学时;讲课16学时;实验16学时。从学时安排加强实验环节,加强学生动手能力锻炼。提供学生良好的实验条件及设备。

把教学内容与各种竞赛紧密配合。使学生能把学来的内容尽快地应用到竞赛实践中,提高学生的学习兴趣。

增强学生的合作能力、团队精神。通过本课程学习可以使学生掌握教学内容,另外也为学生参加各种竞赛提供良好基础。我们在此课的基础上组织兴趣小组活动。为选拔组队参加各种竞赛提供基础。学生通过活动提高了合作能力及团队精神。

进一步提高学生的交流能力、与人交往能力。通过几次竞赛中学生的表现,我们发现学生的表达能力、沟通能力欠佳。尽管有好的创意,但不能很好地展示给听众。所以,我们通过报告问答等形式加强学生表现力。

教学内容与世界知名大学同步。积极跟进世界知名大学教材及课件内容,经常与知名大学联络交流,参加各种高层次学术活动,把最新技术引入教学内容。

精品课程建设实施办法

教学内容与最新技术同步。始终保持教学内容不断更新,紧跟当前嵌入式技术的主流方向和技术特点,不断更新教学内容及教学软件包内容。注重教学内容的宽口径、基础性及创新性人才的培养。

教学方法特色鲜明,形式多样。充分利用多媒体技术、网络技术,在网上提供教学多媒体课件及相关参考文件,便于学生学习。在课堂教学之外,组织学生参加课外兴趣小组,从中选拔优秀学生参加各种全国、亚太及全球性的嵌入式系统设计大赛,提高和激发学生学习的积极性、创造性。实验内容具有基础性和创造性。

媒体课件及教材系统化。几年来不断更新教学内容,不断完善本科生、硕士生及不同层次的教学课件,已经有两本相应教材出版。

不断完善教学实践基地建设。进一步加强教学实践环节基地建设,务求实效,把有限资金合理使用。扩大学生直接参与的范围及时间,做到每人一套独立完成,提高独立工作能力。

不断加强与著名企业之间的联系。在巩固与原有大型企业合作的基础上,进一步加深合作范围,派出实习学生,加强合作科研,为进一步改进教学内容提供充实材料。

做好精品课教材建设。与精品课配套的教材已申报国家“十一五”规划教材。教材暂定名《嵌入式操作系统实用教材-基于Windows CE》。该教材在多年教学课件基础上加以改进编写,教材内容与课件内容相配套,便于学生阅读。

建设好教学网站。在原有教学网站的基础上,进一步充实教学内容,增设习题、考题、教学课件、试验指导书、实验报告及教学相关软件、硬件资源。

精品课程相关教材介绍

精品课程相关教材正在编写中,该教材已申报国家“十一五”规划教材。教材暂定名《嵌入式操作系统实用教材-基于Windows CE》。

该教材是为电子类和非计算机本科学生学习嵌入式操作系统编写的。教材本着实用性强、内容简练、通俗易懂原则,以Windows CE为例,介绍嵌入式操作系统原理、嵌入式应用软件的设计方法及经验。

学生在学习阅读本书之前,了解计算机程序设计的基本概念,熟悉C 语言程序设计、对计算机基本原理有初步了解即可。

教材主要章节:

第一章 嵌入式系统概述

第二章 Windows CE系统结构

第三章 模型、进程和线程

第四章 内存管理

第五章 存储管理

第六章 设备管理

第七章 用户界面与图形子系统

第八章 应用程序设计

第九章 Windows CE 6.0简介

第十章 VxWorks简述

第十一章 PXA255 概述

主讲教师个人简历及成果

王金刚,1970-2005年在天津大学电信学院任助教、讲师、教授。

担任过课程:

本科生主讲课程:电路分析基础,专业英语、电子线路的计算机辅助分析、嵌入式系统等;

2002-2005年担任本科生主讲课程“嵌入式实时系统原理”课程(100人选修/每年);

2006年担任本科生主讲课程“嵌入式实时系统原理”课程 (120人必修)+(100人选修)。

硕士生课程:2002-2005年开始担任硕士生主讲课程“嵌入式实时系统原理及应用”(30人选修/每年)。近五年来主要从事“嵌入式系统原理及应用”的教学内容、教学方法研究,尤其对不同层次学生的教学内容选取,优秀本科学生的选拔及本科学生参加各种嵌入式系统大赛的培训等作了深入研究。

负责组织学生参加了Intel支持的“2004年嵌入式系统专题电子大赛”,并获得了二等奖和三等奖。

负责组织学生参加了Intel支持的“2004年嵌入式系统专题电子大赛”,并受聘为大赛评委。

负责组织学生参加了“2005年微软支持的嵌入式系统挑战赛”。

2006年带队参加“微软嵌入式大学生竞赛”,进入世界前三十名,到美国西雅图参加决赛。

近五年主持了六部关于嵌入式系统的编著、译著及教材的编写,在2003-2004年间已陆续出版。

有六篇论文被EI收录、五篇论文被ISTP收录。

近五年关于教育教学的立项及成果:

1.2005年度“教育部-微软精品课程”建设项目立项;

2.国家发改委-微软联合推出的“国家发改委-微软嵌入式系统教学包”嵌入式系统原理部分编写(微软-国家发改委),2005年;

3.微软“嵌入式操作系统Windows CE”优秀课程建设”项目(微软),2004年;

4.“嵌入式系统教材建设立项”教材清华大学出版社2003年已出版(天津大学立项),2003年;

5.“嵌入式系统课程建设”项目(天津大学立项),2003年;

6.获得Intel公司的“Intel大学计划”支持,2003年;

7.获得美国风河公司的“大学伙伴”支持,2002年;

8.“电路分析基础双语教学多媒体教学软件”项目(天津大学立项),2003年;

9.“电路分析基础双语教学”项目(天津大学立项),2003年;

篇13

1引言

“操作系统原理”课程的重要性可以用Avi Silberschatz在其经典教材《Operating Systems Concepts》中的描述来概括:“操作系统是任何计算机系统的基本组成部分,因而操作系统课程也是任何计算机科学相关教育的基本组成部分”。该课程主要讲述通用操作系统应该具备的功能、工作原理及相关算法。应该说课程内容并不艰深晦涩,但该课程却是一门公认的难教、难学的课程。难教的原因是其内容多且散、理论性强又抽象。难学的原因是教学内容看不见摸不到,学生难以理解掌握。

在理论教学时以学生常用的操作系统如Windows、Linux等作为案例进行分析对辅助学生掌握课程内容有一定作用。但由于理论课时有限,教学内容多,Windows、Linux等案例的分析很难展开;而且案例分析时学生看到的主要是程序代码,不能直观的反映教学内容。因此设计直观、合理的课程实验成为保证“操作系统原理”课程教学效果的重要手段。

国内外操作系统课程实验教学采用的系统有Minix、Nachos、ToyOS、Linux等。Minix、Nachos、ToyOS均不是通用操作系统,而是为教学目的而开发的,功能不完善,存在较多BUG,安装复杂,不宜作为操作系统课程实验平台。Linux是一个完整的通用操作系统,且开放源代码,是一个可行的实验平台。但目前大多数高校机房由于承担了多门课程的上机任务,往往安装的是Windows操作系统。若同时安装双系统则给机房管理造成困难,因此Linux的实验平台在建设上也存在困难。

Windows作为目前使用最普遍的操作系统,以之作为实验平台可极大的激发学生的学习兴趣。但Windows代码不公开,给课程实验设置带来困难。作为微软共享源代码计划的一部分,微软了WAP(Windows Academic Program),提供了一套简单但完整的操作系统内核源代码,老师和学生可以更清晰的了解Windows内核工作机制,并可以动手对之进行修改或添加新的底层功能,成为一个理想的操作系统课程实验平台。

在微软亚洲研究院资助下,我们开始了WAP在本科“操作系统原理”课程实验教学中的应用探索。本文以学生对实验教学内容的兴趣及需求分析为依据,介绍了基于WAP的“操作系统原理”课程实验教学的方案设计和内容设计。应用WAP后,学生对“操作系统原理”课程实验兴趣大大增加,学习的主动性、动手能力得到提高,也更深刻的理解掌握了课程内容。

2学生兴趣与需求调研

目前各高校普遍开设了“操作系统原理”课程实验,实验内容的设置也各有不同,为切实了解学生对于“操作系统原理”课程实验的兴趣与需求,从而有针对性的设置实验平台及实验内容,在2008年对正在开设“操作系统原理”课程的210名本科生进行了问卷调查,同样的调查也于2009年在部分本科生中开展。

图1是学生希望使用的实验平台情况。不出意料,绝大多数学生(93%)希望使用Windows作为实验平台,这与学生平时的使用经历有关,100%的学生在日常生活中就使用了Windows,所以他们也希望“操作系统原理”课程实验选择熟悉的Windows平台。虽然有4%的学生希望使用Linux或Unix,3%的学生希望使用Nachos或其它系统,但这些学生也比较熟悉Windows。此外,调查中,学生也普遍表现出对了解Windows的结构、工作原理的兴趣。因此,以Windows作为课程实验平台,符合了学生的意愿,能够最大程度的激发他们的学习兴趣,保证教学效果。

实验的目的是辅助学生形象深刻的理解课程重点,内容应涵盖课程的主要知识点。实验类型根据实验的难度、知识要求及对学生的辅助作用的不同,一般可分为验证性实验、设计性实验和综合性实验。为了达到实验效果,应该设置不同难度的实验以使学生循序渐进的掌握知识。 图2是学生希望的实验难度情况。有过半的学生希望实验能够有一定的难度,其中有10%的学生希望能有难度较大的实验,只有16%的学生希望实验能简单。这一结果对不同类型实验的设置有指导意义,考虑到大多数学生希望实验难度在中等以上,即使是验证性实验也必须考虑实验内容的设置要保证不能太简单;同时设计性实验和综合性实验可以有一定的难度,但只有10%的学生希望实验有较大难度,因此,难度也不能太大。

3WAP的应用

依据对学生的问卷调查结果,决定选择Windows作为课程实验平台。但Windows代码不公开,给课程实验设置带来困难。微软的WAP(Windows Academic Program)为解决这一困难提供了可行的途径。因此,最终确定基于WAP设计实验教学方案和内容设计,开展Windows平台下的“操作系统原理”课程实验教学的探索。

3.1WAP介绍

WAP是微软公司的一项让学生通过阅读Windows内核源码来学习“操作系统原理”的项目,它分为三部分:

(1) 课程资源包CRK(Curriculum Resource Kit)

CRK是一套Windows系统教学资源包,包括大量验证性实验、实验工具及Windows课程讲义。这些资源均以Windows XP和Windows 2003为基础。CRK基本覆盖了操作系统课程的所有知识点。但主要提供验证性实验。

(2)Windows研究内核WRK(Windows Research Kernel)

WRK是微软为高校操作系统课程提供的可修改和跟踪的操作系统实验教学平台。它给出了Windows内核的大部分代码,可以对其进行修改、编译,并且可以用这个内核启动Windows操作系统。这一平台是进行设计性或综合性实验的理想平台。

(3) 项目实验工具ProjectOZ

一套探索实际操作系统运行情况的工具,其实是一个运行在用户模式下的内核接口程序。在这个环境下学生可以查看实际运行的Windows的各种数据结构、处理过程等。同时提供了一个运行于其上的简单但完整的示例操作系统BasicOZ。全部程序以C和汇编语言源码形式提供。

3.2实验教学内容设计

以WAP为平台,对“操作系统原理”课程实验教学的方案和内容进行了设计。实验教学共计32学时,主要希望达到这样一些目的:

理解并掌握现代操作系统的工作原理和机制;

会分析和解读Windows操作系统内核源代码;

能从Windows内核源代码级修改和扩充操作系统功能。

根据难度的不同,每个实验或由学生单独进行或分组进行。为使学生重视,实验成绩占课程成绩30%,并且每个实验要求学生在给老师演示结果的同时提交实验报告和设计文档。实验教学内容设置了8个必做实验和一定数量的自选实验,覆盖了“操作系统原理”课程的基本内容,并具有不同的难度。必做实验如表1所示。

4结束语

以WAP作为“操作系统原理”课程实验教学平台已有两个学期。结果表明WAP平台极大的吸引了学生的兴趣,学生有很大的热情去阅读分析Windows的源代码,并尝试进行修改。大部分课堂较认真的学生基本能独立的完成所有实验。由于WAP平台所提供资源很丰富,下一步将探索在WAP下开设更多难度适中、学生有兴趣的实验;另外也将研究基于WAP平台开展“操作系统原理”课程设计。

参考文献:

[1] 黄廷辉,王宇英,崔更中.“操作系统”课程实践教学的研究与实践[J]. 计算机教育,2007(11):18-20.