适用专业:本科计算机科学与技术专业。
教学周数:1周。
课程负责专业(教学)系:计算机系。
一、大纲说明。
本大纲根据本科计算机科学与技术专业人才培养方案制订。
1.课程设计性质。
高级系统程序设计课程设计》是本科计算机科学与技术专业的一门必修课,着重提高学生对windows操作系统中进程管理、线程管理与调度、内存管理、动态链接库、结构化异常和窗口消息等相关内容的理解和掌握,培养学生综合运用理论知识解决实际问题的能力。学生通过规划设计设计一个与windows系统管理、内存管理和动态链接库等高度相关的综合性例程进一步巩固和复习相关内容,为后续学习《驱动程序开发设计》奠定一个良好的基础。
2.主要先修课程和后续课程。
先修课程:《c程序设计语言》《windows程序设计与mfc开发技术》《计算机操作系统原理》。
后续课程:《驱动程序开发设计》。
二、课程设计目的及基本要求。
通过课程设计各环节的实践,应使学生达到如下要求:
熟练掌握高级系统程序设计的相关技术,包括:
1.内核对象的概念、创建和关闭内核对象的方法;
2.跨越进程边界共享内核对象的方法;
3.进程、作业、线程、线程同步及相关的概念与技术;
4.与内存管理相关的概念与技术;
5. windows系统中dll的概念及其挂载和注入技术;
6. windows系统中结构化异常的处理方法;
7.窗口消息的管理和使用,以及硬件输入模型和局部输入状态。
三、课程设计内容及安排。
1.课程设计内容。
课程设计的题目可由教师指定,也可由学生自行选择。但选题内容、难度要适当,要有一定的实际意义,并能达到进一步巩固和强化本课程所学知识的效果,例如:内核级的任务管理器、通过内存映射文件实现进程间数据交换、游戏加壳或游戏内存数据修改器、键盘记录器、非屏幕录像式的窗口操作重现、通过多线程并行方的数据处理加速器等。
2.课程设计安排。
课程设计的题目应提前两周布置,以便学生作好充分准备。
课程设计主要分成以下几个阶段:
1)系统分析与设计阶段:在前期资料查阅的基础上,学生对所选课题进行功能分析与设计,并与指导老师进行充分的沟通。
2)学生在实际的编程实施阶段结合例程分析和教师讲解,扩展例程或自主创新设计完成游戏加壳或游戏内存数据修改器、键盘记录器、非屏幕录像式的窗口操作重现和通过多线程并行方的数据处理加速器等。
3)总结报告和书写说明书阶段:学生根据规定的格式编写课程设计报告。
4)答辩与考核阶段: 指导教师在学生演示系统时,对学生进行当面提问答辩。
时间安排。四、指导方式。
由主讲教师和实验指导教师共同承担对学生的指导,学生在老师的指导下独立完成。
五、课程设计考核方法及成绩评定。
考核内容主要包括项目制作的完整性(20%)、系统采用进程管理、线程管理与调度、内存管理、动态链接库、结构化异常和窗口消息等的相关技术(60%)及设报告(20%)等项目,考核结果采用五级记分制(优、良、中、及格、不及格)。
六、课程设计教材及主要参考资料。
1.推荐教材。
美]jeffrey richter著葛子昂、周靖、廖敏译。《windows核心编程》.北京:机械工业出版社。2008。
谭文,杨潇,邵坚磊著《寒江独钓——windows内核安全编程》.北京:电子工业出版社。 2009。
2.参考资料。
潘爱民。《windows内核原理与实现》.北京:电子工业出版社。 2010。
毛德操。《windows内核情景分析—采用开源**reactos》.北京:电子工业出版社。 2009。
罗斯(russinovich,美),所罗门(solomon,美)著《深入解析windows操作系统:第4版》.北京:电子工业出版社。 2007。
执笔:焦晓军参与:王双明。
审核:雷亮批准:官正强。
制定日期:2023年12月。
高级系统程序设计
重庆科技学院。高级系统程序设计 大作业。专业班级。学号。姓名。成绩。摘要。在windows api中,有自己独特的i o操作,与c c 中的i o操作有何种区别 并且windows中的内核对象是怎样定义的,具体是怎样操作。windows有自己的内存架构,根据特定的要求有不同的管理内存方法,其中堆适合...
高级语言程序设计 VB开发
实验一简单程序设计。实验目的 1.掌握visual basic 6.0窗体的常用属性 常用事件和重要方法 2.熟练掌握在窗体上创建标签 命令按钮 文本框等控件的方法 3.掌握事件过程的 编写,了解对象的概念 4.熟悉visual basic的集成开发环境,基本掌握开发应用程序的一般步骤。实验内容与指...
高级程序设计
信息与通信工程学院。高级程序设计 实验报告。学号 s314080098 专业 信息与通信工程 学生姓名 李长玺。任课教师 杨志钢。2015年3月。实验一。一 任务描述。1 设计一个带头结点的单链表,并随机生成一组序列,存入该单链表中。2 针对上一步生成的单链表,编写算法,将其中的数据元素按照值递增的...