课程编号:2014966 课程名称:操作系统原理
总学时:54 总学分:3 实验学时:18 实验学分:1
适应专业:计算机科学与技术、软件工程、网络工程等计算机类本科专业
实验指导书:自编.《操作系统原理实验指导》.
一、本实验课的任务、性质与目的
通过上机实验和课程Project设计加深对操作系统原理与技术的理解;提高与系统相关的算法设计、系统程序编写及调试能力,培养学生独立思考、综合分析与动手的能力;学会使用POSIX API和Win32 API使用操作系统提供的功能,设计程序解决实际问题。
二、实验方式与基本要求
实验方式:本课程的实践教学环节包括交互运用网站资源和上机设计编程实验两种形式。前一部分是验证性的;后一部分是设计性的。
基本要求:验证性上机实验给出验证用例,列出计算结果和程序验证结果;对相关原理和技术的认识加以小结;设计性实验要求根据实验/设计给的题目选择合适的数据结构,设计相应的算法并实现,要求所编程序能正确运行并通过测试用例的测试,在此过程中使学生掌握API的功能和调用方式。实验报告的要求包括:
⑴需求分析:陈述设计的任务,强调程序要做什么,明确规定:①输入的形式和输入值的范围;②输出的形式;③程序所实现的功能;④测试数据:包括正确的输入输出和错误的输入及其输出。
⑵概要设计:说明采用的数据结构、程序的基本结构、程序各模块的功能、程序各模块之间的调用关系。
⑶详细设计:提交带注释的源程序或者用伪代码写出每个操作的算法。
⑷调试分析:①调试过程中所遇到的问题及解决方法;②算法的时空分析;③经验与体会。
⑸用户使用说明:说明如何使用程序,详细列出每一步操作步骤。
⑹测试结果:列出对于给定的输入所产生的输出结果。若可能,测试随输入规模的增长所用算法的实际运行时间的变化。
三、实验项目与内容提要
本课程的实验教学环节包括上机实验和课程Project两种。Project较难,需要占用学生部分课外时间。
序 号 |
项目名称 |
内 容 提 要 |
实验 时数 |
实验 类型 |
实验 要求 |
1 |
熟悉Linux环境 |
常用的Linux命令; Linux命令行下,C程序编辑、编译、运行 |
4 |
验证性 |
必做 |
2 |
理解Linux结构 |
教材74页 Project:Adding a System Call to the Linux Kernel 给Linux内核添加一个自定义的系统调用 |
4 |
设计性 |
必做 |
3 |
进程管理 |
在Linux平台创建子进程,通过共享内存进行父子进程间的通信; |
2 |
验证性 |
必做 |
4 |
线程管理 |
教材149页 Project:Matrix Multiplication 大规模矩阵的乘法运算,积矩阵的每个元素用一个单独的线程来计算 |
2 |
验证性 |
必做 |
5 |
进程同步 |
教材236页 Project:Producer-Consumer Problem 在Windows或Linux平台,用互斥锁或信号量机制解决生产者-消费者问题中的同步机制 |
2 |
验证性 设计性 |
必做 |
6 |
虚拟内存 |
教材348页:在Windows平台,用Memory-mapped files实现生产者进程和消费者进程的参数传递 |
2 |
验证性 |
必做 |
7 |
文件系统 |
在Windows平台,熟悉文件/目录的有关API函数 |
2 |
验证性 |
必做 |
· 实验类型是指:验证性/设计性/综合性实验;实验要求是指:必做性/选做性实验;
注:内容提要栏内标有*号的为选做内容,下同。
四、考核与评分
考核方式:开卷、机试(在课外进行设计/编程/调试,上机检测实验/设计结果),机试时间为45分钟(上机实验考核与实验同步进行),成绩评定采用计分制(满分100分),上机实验成绩折算为课程总成绩的20%。

