欢迎来到天天文库
浏览记录
ID:25220484
大小:52.00 KB
页数:5页
时间:2018-11-19
《《操作系统》的实践教学研究》由会员上传分享,免费在线阅读,更多相关内容在工程资料-天天文库。
1、《操作系统》的实践教学研究《操作系统》的实践教学研究 1概述 《操作系统》课程是计算机及相关专业的核心基础课,该课程不仅要求学生较好地掌握理论基础,而且要求培养学生良好的课程实践能力。由于该课程的内容比较抽象、深奥,并且课程实验难做,实验效果不明显,所以,该课程的实践环节在很多学校成为摆设,有的学校干脆去掉实践环节。然而,实践教学又是本门课的重要组成部分,实践教学对于学生理解和掌握操作系统的基本原理和方法,为今后从事系统程序设计,并发程序设计,多用户环境应用程序设计打下坚实的基础。所以,本门课不但必须包含实践内容,本文由.LIPS处理器的,例:
2、Nachos;另一类是针对CISC结构的X86通用处理器的,例:Minix、GeekOS。 3.2GeekOS操作系统概述 最通用的处理器是CISC结构的X86通用处理器。它是一个用C语言开发的操作系统,学生可以在Linux或UNIX环境下对其进行功能扩充,也可以在g),makefile项目管理文件。 2)Include文件夹。包含两个子目录,分别是geekos和libc,在geekos子目录中有kthread.h,keyboard.h等头文件,在libc中包含有GeekOS支持的C语言标准字符串函数头文件string.h。 3)scrip
3、ts文件夹。包含项目编译时用到的一些脚本文件。 4)src文件夹。包含系统内核源代码,用户修改GeekOS系统时要修改的源代码如main.c等都位于这个目录中,在User子文件夹中一般是用来存放用户的测试文件,在tools子目录中的代码是用来建立pfat测试文件系统的。 3.3.2七个项目的功能 project0:在该项目中,要求学生实现一个内核级的I/O进程,该进程能从键盘接收一个按钮,并显示在显示屏上。该项目的目的是让学生了理解GeekOS的编译、链接和运行,明白计算机系统是如何启动的。 project1:在该项目中,要求学生熟悉可执行
4、链接文件(ELF)的格式,并通过编程程序来分析该文件,同时将分析结果送到加载器。该项目的目的是让学生理解ELF文件的结构,使学生掌握如何加载和运行可执行文件。 在提供的GeekOS内核系统的基础上,为学生设计了7个由易到难的设计项目用于GeekOS的改进。这些项目分别涵盖了操作系统内核的各个基本模块:系统启动,进程管理,存储管理,文件系统,访问控制以及进程间通信。7个项目都规定了改进的目标,并提供了一些设计指导性的意见,但没有提供源代码,所以学生首先必须熟悉GeekOS的基本工作原理,才能开展各个项目的设计与实现。 project2:在该项目中
5、,要求学生编程来支持用户态进程,这种支持包括初始化用户态进程空间、初始化用户进程空间、切换用户进程、导入用户程序。该项目中,计算机存储分配方式还是采用段式分配。该项目实现后,学生就可以使用GeekOS提供的命令行解释器Shell运行一些命令来执行PFAT文件系统内的用户测试程序。 project3:在该项目中,要求学生改进GeekOS的调度程序,实现基于4级反馈队列的调度算法(初始GeekOS系统仅提供了FIFO进程调度算法),并实现信号量,支持进程间通信。 project4:在该项目中,要求学生编程实现分页虚拟存储管理,以替代前述项目中一直采
6、用的段式存储管理。学生实现分页式虚存管理以后,系统在内存不足时,就可以将部分内存页面调出送到硬盘,以缓解内容压力,实现虚拟存储技术。 project5:在该项目中,要求学生实现GOSFS文件系统,该文件系统采用虚拟文件系统,可加载不同的文件系统,PFAT只读文件系统是默认加载的文件系统。该项目的目的是要实现一个多级目录的、可读写的文件系统。 project6:在该项目中,要求在文件系统中新增一个访问控制列表,并使用匿名半双工管道实现进程间通信。 以上7个项目,后几个项目实现难度比较大,所以在实际的教学中,可根据情况,要求学生必须实现proje
7、ct0,project1,project2,而project3至project3,对能力强的学生可以自行完成。 4《操作系统》实践环节的考核 《操作系统》实践环节的考核非常重要,好的考核将激励学生努力学习,达到实验效果,办法如下: 1)教师制定实验报告格式和要求,教师对学生完成的实验报告的作检查和评价; 2)对设计性实验,要求学生回答并作出评价,回答的问题主要有:阐述解决该问题的算法思想、所使用的数据结构是如何设计的、使用的测试用例是如何选取和设计的、算法性能怎么样。 3)对一些学生能实现的算法,要求学生上机演示,教师在其演示期间可提问并
8、作评价:主要程序代码的含义,分析及解释运行结果。[4] 5结束语 本文讨论了《操作系统》课程实践环节的主要动作方式,并
此文档下载收益归作者所有