《Linux操作系统实验》教学大纲
Experiments of Linux OperatingSystem
课程代码:XF002006学时:32学分:1
理论学时:实验或讨论学时:32
适用专业:计算机科学与技术等课程性质:选修
撰稿人:王雅琴、王秀丽、于群审定人:
实验课的性质与任务
本实验课程是计算机相关专业本科生的一门专业选修课,它对本专业其它课程的学习和理解有着非常重要的作用。课程强调理论与实践相结合,由表及里地加强Linux系统从操作到编程开发各方面的学习。通过C语言的编程实践提高学生对操作系统基本原理和算法的理解和认识,通过从系统使用到内核分析各方面的实践学习,使学生对《操作系统》原理、方法有更深入的与理解,并能够学以致用的解决实际问题。
二、实验目的与要求
通过本课程的学习,培养学生三个方面的能力:熟练使用Linux系统的能力,强调SHELL命令以及脚本编程、服务器配置方面的实践操作能力;Linux系统上的编程开发能力,强调从系统实现的角度上理解进程、内存、文件的系统实现原理;Linux内核的初步分析能力。
三、实验项目设置情况
序号 | 实验项目名称 | 学时 | 开出要求 | 实验项目类型 |
必做 | 选做 | 基础型 | 综合设计 | 研究创新 |
演示 | 验证 |
1 | Linux系统的安装 | 2 |
| Δ | | Δ | | |
2 | Linux的基本操作和SHELL常用命令 | 8 | Δ |
|
| Δ |
|
|
3 | SHELL脚本编程 | 4 | Δ | | | Δ | | |
4 | Linux下的FTP服务器配置 | 2 | Δ | | | | Δ | |
5 | Linux下的WWW服务器配置 | 2 | | Δ | | | Δ | |
6 | Linux下的C编程之文件管理 | 2 | | Δ | | Δ | | |
7 | Linux下的进程编程 | 8 | Δ | | | Δ | | |
8 | Linux下的内存管理 | 4 | Δ | | | Δ | | |
9 | Linux的模块机制 | 2 | Δ | | | Δ | | |
10 | Linux的系统调用 | 4 | Δ | | | | Δ | |
11 | Linux系统的剪裁与编译 | 4 | | Δ | | | | Δ |
12 | | | | | | | | |
各实验项目教学内容
实验项目一:Linux系统的安装2学时(选做)
了解硬件资源要求;学习Linux系统的各种安全方式;用虚拟机安装某个Linux发行版。
实验项目二:Linux的基本操作和SHELL常用命令8学时
(一)实验目的要求
熟悉Linux操作环境,熟练使用SHELL命令
(二)实验材料和仪器设备
一台安装有Linux操作系统的机器
(三)实验内容
熟悉Linux图形界面和控制台的操作、切换和作用;
熟练运用SHELL的各类命令,实现文件与目录操作、用户管理、进程管理等操作。
熟练运用Linux的帮助。
实验项目三:SHELL脚本编程4学时
(一)实验目的要求
熟练各种SHELL基本语法,学习分析系统已有脚本文件,编写脚本实现各种管理功能
(二)实验材料和仪器设备
一台安装有Linux操作系统的机器
(三)实验内容
SHELL脚本的顺序、分支、循环、函数等基本语法练习;
以系统启动涉及的系统脚本为例,练习脚本文件的查找及分析;
编程练习,实现用户登录判断、系统时间获取等各种要求功能;
实验项目四:Linux下的FTP服务配置2学时
(一)实验目的要求
理解常用服务器的实现原理,实现常用服务的配置
(二)实验材料和仪器设备
一台安装有Linux操作系统的机器
(三)实验内容
服务器配置文件的分析;
实现一个FTP服务器,并实现匿名以及命名用户的登录、上传、下载等功能。
实验项目五:Linux下的WWW服务器配置2学时(选做)
下载并安装Linux系统下的某个WWW服务器程序,设置实现一个web网站。
实验项目六:Linux下的C编程之文件管理2学时(选做)
研读Linux中对文件调用的相关源程序文件,理解源程序的设计思想和编程技巧。编程体会文件调用的技巧和方法。
实验项目七:Linux下的进程编程8学时
(一)实验目的要求
编程并理解进程的产生至死亡的生命周期;
编程并理解进程同步的实现过程;
编程并理解进程间通信的实现过程
(二)实验材料和仪器设备
一台安装有Linux操作系统的机器
(三)实验内容
练习进程生命周期中fork等系统调用的编程;学习解决进程互斥的方法;
了解Linux系统中信号量集函数的作用,编程实现多进程的同步。
编程实现进程管道通信、共享存储区通信,并理解原理。
实验项目八:Linux下的内存管理4学时
(一)实验目的要求
了解内存块的申请与释放、虚拟存储空间的申请与释放、页面的换入和换出、缓冲区管理等的原理。
编程实现内存的分配和回收操作。
(二)实验材料和仪器设备
一台安装有Linux操作系统的机器
(三)实验内容
理解Malloc等函数的作用,编程实现申请一段存储空间,并在终端上显示起始地址。
实验项目九:Linux的模块机制2学时
(一)实验目的要求
理解Linux的模块机制,练习简单的模块编程
(二)实验材料和仪器设备
一台安装有Linux操作系统的机器
(三)实验内容
编写两个模块程序,实现模块程序间的相互调用。
实验项目十:Linux的系统调用4学时
(一)实验目的要求
理解系统调用的实现机制;
了解系统调用函数的使用形式;
熟悉编写一个系统调用的过程及原理。
(二)实验材料和仪器设备
一台安装有Linux操作系统的机器
(三)实验内容
结合模块机制,尝试添加一个系统调用函数,实现模块添加上后,用户级的程序可以调用该系统调用函数实现一定的功能。
实验项目十一:Linux系统的剪裁与编译4学时(选做)
搜集各种资料和文档,设计一种剪裁方案,完成一次Linux系统的编译。
实验报告要求
报告形式:电子文档排版后上传到FTP
报告内容要求:排版整齐,条理清楚,建议可分以下几个部分:
实验题目
实验说明及结果分析(要求阐述清楚,逻辑清晰,有结果配图)
总结
六、课程考核方式及成绩评定
(一)考核方式
平时成绩:ð实验报告
结课后考试:ð随堂技能测试
(二)课程成绩评定办法
成绩构成:考勤ð10%//实验报告 50%//测试ð30%
七、实验应配套的主要仪器设备及台(套)数(以一个实验教学班为标准)
每人一台配置了Linux系统的PC机,系统上最好配置虚拟机软件,以便进一步展开更大规模的实验。
附:教学参考资料
[1]张玲,Linux操作系统:基础、原理与应用,清华大学出版社(2014年2月)
[2]邱铁、于玉龙、徐子川,《Linux应用与开发典型实例精讲》,清华大学出版社,(2010年)第1版。