计算机专业课程体系与操作系统课程的衔接

时间:2024-01-17 点赞:51654 浏览:106592 作者原创标记本站原创

本文是一篇操作系统论文范文,关于操作系统硕士毕业论文,关于计算机专业课程体系与操作系统课程的衔接相关函授毕业论文范文。适合操作系统及计算机及数据结构方面的的大学硕士和本科毕业论文以及操作系统相关开题报告范文和职称论文写作参考文献资料下载。

摘 要:操作系统课程是计算机科学与技术以及软件工程一级学科的核心课程之一.文章讨论该课程与程序设计、数据结构、计算机原理、编译原理、体系结构等课程之间的内容衔接关系,针对相关章节提出教学建议并就国防科技大学的具体实施情况进行简单讨论.

关 键 词:操作系统;课程衔接;计算机课程群


0引言

操作系统原理课程是计算机科学与技术以及软件工程一级学科的必修核心课程之一.该课程不仅能够帮助学生了解操作系统中的相关概念,而且能够帮助学生理解操作系统运行机制以及操作系统的重要设计思想,进而帮助学生建立和强化计算思维.

在整个计算机专业课程群中,操作系统课程一般在本科三年级开设,有若干前导以及后继课程.以国防科技大学计算机专业的课程开设为例,笔者讨论该课程与程序设计、数据结构、算法设计与分析、汇编语言等前驱课程之间的联系;还讨论诸如编译原理、体系结构、并行程序设计等后继课程的相关知识点,对如何讲授这些前驱课程中的对应知识点提出若干教学建议,分析如何为后继课程中的相关知识点作铺垫;同时,还以国防科技大学具体情况为例,探讨课程衔接的具体措施和教学环节.

1与前导课程衔接

1.1与计算机程序设计课程的衔接

计算机程序设计是除大学计算机基础之外的第一门计算机专业课程.该课程对操作系统原理以及操作系统课程实验(尤其是后者)的铺垫内容较多,且较为重要.以C语言为例,对于操作系统课程较为重要的是控制结构、函数、数组、指针以及文件操作等方面的内容.此外,代码阅读及分析能力的培养也是一个十分重要的方面.

国防科技大学的程序设计课程采取分班教学的方式.其中,教师对部分班级(主要针对计算机专业学生)进行授课时,重点讲述函数指针等与操作系统实现相关的内容.此外,在部分课程实践中,我们增设与Linux环境下编程、Makefile使用等内容相关的教学环节.

1.2与数据结构课程的衔接

相比较而言,数据结构课程对于操作系统课程的前导作用更加明显.数据结构课程中讲授的基本数据结构及算法,对于理解操作系统具体功能的实现具有非常重要的意义.我们认为,数据结构中与操作系统衔接较为紧密的概念包括串、链表(含双向链表)、Hash表、二叉树、文件结构;与之相关的重要算法包括串运算、链表的基本操作(如插入、排序)、二叉树的遍历、外排序等.牢固掌握这些知识对于理解操作系统中的数据结构和算法实现具有十分重要的意义.

我们就国防科技大学的具体情况,在数据结构课程的实践中着重加强诸如链表、双向链表等方面内容的教学以及实践练习.此外,我们还适度加强(约4学时)Hash表以及多维链表等方面内容的教学.

1.3与算法设计与分析课程的衔接

算法设计与分析课程更加关注算法的正确性以及实现效率.虽然就具体的内容而言,除调度一章外,其他章节似乎与操作系统课程讲授内容不具有直接相关性,但是我们认为培养学生具有高效实现算法、选用合适的数据结构、尽可能降低算法时空开销的意识,对于学生理解操作系统具体算法实现具有很大帮助;因此我们建议在该课程的讲授过程中加强对算法复杂度的分析及教学内容的优化.

我们根据国防科技大学的具体情况,在算法设计与分析课程中重点加强调度、轮询等算法的训练,强化调度中公平性、饥饿等有关概念,为操作系统中的任务调度问题奠定基础.

1.4与汇编语言课程的衔接

事实上,汇编语言课程与操作系统课程之间并不存在严格的前驱—后继关系.就国防科技大学的课程体系而言,这两门课程的两种开设顺序都曾经出现过;然而操作系统课程实验有时需要涉及部分汇编语言的内容,因此我们在这里将汇编语言作为前导语言处理.

在汇编语言的学习过程中,学生对于有些知识内容以及概念(如段、堆栈等)的理解,需要操作系统方面的相关预备知识;因此教师在操作系统课程的讲授过程中,有必要强调代码在内存中的存放形式以及进程(任务)的执行.

国防科技大学开设的汇编语言课程以基于x86体系结构的宏汇编语言进行教学.教师在授课时特别强调系统调用过程,加深学生对操作系统中系统调用的理解.

1.5与计算机组成原理/存储与外设课程的衔接

计算机组成原理/存储与外设课程一般作为计算机科学与技术专业硬件方向的第一门专业课开设,主要讲解计算机系统结构中独立部件的工作原理.

国防科技大学的计算机组成原理/存储与外设课程基本上与操作系统课程同步开设,因此没有明显的前驱一后继关系;然而该课程部分内容却与操作系统课程内容具有较强的衔接关系,主要体现在中断机制、设备管理、IO控制、DMA、虚实地址转换等方面内容上.我们在讲授计算机组成原理课程时,着重加强对这些知识点的讲授并将其与操作系统课程相关章节相联系.

2与后继课程衔接

2.1与编译原理课程的衔接

编译原理是计算机科学与技术课程体系中非常重要的一门专业课,其主要研究内容包括从高级语言转化为汇编/机器语言的各个环节.

出于预备知识等方面的考虑,一般而言,多数院校会选择将编译原理课程的开设放在操作系统课程之后.在编译原理授课过程中,我们认为以下章节与操作系统或计算机组成原理课程相关:程序运行时的存储空间组织、目标代码生成及优化;因此,与汇编语言一样,我们在讲授操作系统课程时,有必要强调代码在内存中的存放形式以及进程(任务)的执行.

在操作系统课程实践中,我们用一个专门的实验(属于用户态编程)加强学生对Lex/Yacc的练习,为学生更好地学习该课程作铺垫.

2.2与并行程序课程的衔接

并行程序课程的授课目的在于使学生能设计和实现并发式程序,如使用MPI库、多线程库、多核编程等,关键在于让学生掌握并行程序运行特征;而这些概念以及相关问题,如同步、互斥、死锁、进程间通信,正是操作系统课程中最初引入的.

国防科技大学的并行程序设计主要基于MPI库及PThread库.在操作系统课程的讲授过程中,我们对进程(线程)同步、互斥以及死锁产生的原理进行较为详细的阐述,还适当增加与并行程序设计相关的内容.

2.3与计算机体系结构课程的衔接

计算机体系结构课程是计算机专业硬件系列专业课程之一.我们认为该课程与操作系统课程的衔接主要集中在操作系统的存储管理、设备管理及文件系统等章节.

我们在讲授这些章节时,有意识地强调操作系统的管理策略与系统(硬件)的实现接口.另外,我们在操作系统课程实验环节,以驱动设备实现为例,深人剖析设备驱动开发架构如何对系统的底层进行抽象;以虚拟文件系统课程实验为例,让学生了解操作系统如何在虚拟文件系统与实际文件系统之间进行关联.

我们在讲授操作系统系统调用、设备驱动程序管理等知识点时会作相应铺垫.具体而言,在操作系统课程设计中,我们安排了内核引导与启动过程、/arch文件夹下部分代码的分析等相关实验.

3结语

计算机科学与技术专业课程群中课程之间的衔接关系是一个值得探讨的课题.笔者在文中探讨了操作系统课程与该课程群中若干前驱—后继课程之间的衔接关系.事实上,还有一些其他的专业课程,如数据库原理、软件工程等,也具有与操作系统课程的相关性.如何加强操作系统课程与这些课程之间的衔接,还需要我们不断研究与讨论.

相关论文

高职计算机专业课程体系改革之我见

该文是计算机网络专业学生论文范文,主要论述了关于学生类毕业论文提纲,与高职计算机专业课程体系改革之我见相关论文范文,适合学生及能力。

高校计算机专业课程教学体系改革

本文是一篇课程设计论文范文,关于课程设计类大学毕业论文,关于高校计算机专业课程教学体系改革相关电大毕业论文范文。适合课程设计及计算机。

计算机专业课程体系国语

本文是一篇化工工艺论文范文,化工工艺相关毕业论文的格式,关于计算机专业课程体系国语相关在职毕业论文范文。适合化工工艺及无机化学及石油。