一、课程基本信息
(一)课程性质
本课程是电子信息工程专业的一门专业必修课。课程的任务是通过对开放源代码的操作系统Linux操作系统的主要功能、基本原理和基本思想的学习,通过对Linux操作系统的基础和应用知识,使学生掌握Linux系统的安装、配置、管理维护等技能的学习,对Linux系统有一个全面的了解,奠定在Linux系统上作进一步开发的基础,并可以使学生掌握在Linux操作系统上程序设计的方法,为将来参与实际项目的开发奠定坚实的基础。
(二)教材及授课对象
指定教材:《Linux教程》,孟庆昌,牛欣源著,电子工业出版社,2009(国家十一五规划教材)。
参考书目:《边学边干:Linux内核分析》,李善平,浙江大学出版社,2004年;《Linux内核编程指南(第三版)》, 拜克(Beck,M.),鲍姆(Bohme,H.) 等著,清华大学出版社,2004年;《Linux命令、编辑器与Shell编程》,Mark G. Sobell著,清华大学出版社,2007年;《Linux程序设计(第3版)》,Neil Matthew、Richard Stones著,人民邮电出版社,2007年;《Linux系统架构与目录解析》,邱世华著,电子工业出版社,2009年。
授课对象为电子信息工程专业本科学生。
(三)教学目标
开设本课程的目的是让学生掌握这一在科研和市场应用方面非常重要的Linux操作系统平台及其技术;通过本课程使学生掌握Linux操作系统的基本原理,基础应用;培养学生操作Linux和在Linux下进行程序设计的方法;完成本课程的学习后能够熟练的、综合应用Linux及其编程技术编写程序解决现实生活中的问题;通过理解和掌握Linux平台下的C语言的基本语法和语义,掌握标准程序和小应用程序的开发方法,掌握数据库、网络编程的基本开发方法,了解基于Linux的嵌入式开发。
(四)周学时:3 总学时:54 学分:3
(五)课程授课计划
本课程计54(理论)学时,授课计划如下:
授课内容 | 学时 |
第1章 Linux系统概述 | 4 |
第2章 Linux常用命令 | 8 |
第3章 文本编辑 | 2 |
第4章 Linux shell程序设计 | 6 |
第5章 Linux内核简介 | 8 |
第6章 常用开发工具 | 6 |
第7章 Linux环境编程 | 6 |
第8章 Linux系统管理 | 6 |
第9章 网络应用及管理 | 6 |
第10章 嵌入式操作系统简介 | 2 |
合计 | 54 |
(六)教学建议
本课程采用课堂教学的方式,条件具备时,网络教学工具和联网教学方式相结合,课堂教学采用传统教学和多媒体教学相结合,理论与实际应用相结合,通过全面而丰富的实例(多媒体演示)学习,使学生具备独立应用Linux解决实际问题的能力,理解Linux操作系统的基本原理及内核基础知识。通过本课程的学习,培养学生实际动手能力和程序设计的能力,掌握Linux的基本操作及Linux下C语言编程,达到学以致用目的。
(七)考试方式及要求
本课程为考试课程,成绩考核分为平时成绩、期中考试以及期末考试。其中平时考核成绩占课程总成绩的20%,期中考核成绩占课程总成绩的20%,期末考试成绩占课程总成绩的60%。
二、正文
第1章 Linux系统概述
内容:
(1) 计算机基础知识
(2) 操作系统的功能
(3) Linux系统的历史、现状和特点
(4) Linux系统安装
(5) 安装工具软件和开发软件
(6) Linux图形环境
主要教学目标:
(1) 理解与操作系统相关的计算机术语;
(2) 了解操作系统的基本功能;
(3) 了解Linux操作系统的历史、现状及特点;
(4) 了解Linux操作系统的安装过程;
(5) 了解Linux图形环境的概念与组成;
教学方法及教学手段:
通过多媒体演示Linux操作系统的运行环境及安装过程;讲解Linux的发展历史及开发源代码运行。
教学重点及难点:
(1) Linux操作系统的安装过程及基本配置;
(2) 开放源代码运动与Linux;
第2章 Linux常用命令
内容:
(1) 使用命令
(2) 简单命令
(3) 文本概念和文件类型
(4) 文件操作命令
(5) 目录及其操作命令
(6) 联机帮助命令
(7) 有关进程管理的命令
(8) 有关DOS命令
主要教学目标:
(1) 了解安全使用计算机的方式;
(2) 掌握输入正确命令以完成简单的任务;
(3) 理解文件、目录、文件系统、进程等概念;
(4) 掌握使用相应的命令对文件、目录、进程及软盘进行管理;
(5) 遇到问题时如何找到帮助信息;
教学方法及教学手段:
通过多媒体演示在Linux环境下通过终端的方式运行shell命令。并根据讲解的不同命令及其各种参数的组合变化以加深对Linux命令的掌握。通过虚拟机及远程登录的方式对Linux的各种命令进行全方位的讲解。
教学重点及难点:
(1) 使用shell与终端对Linux进行管理
(2) 使用基本的Linux简单命令
(3) Linux目录结构
(4) 相对路径与绝对路径
(5) 命令的各种参数
(6) grep命令
(7) 硬链接与软链接
(8) 用户和权限
第3章 文本编辑
内容:
(1) vi的工作方式
(2) 进入和退出vi
(3) 文本输入
(4) 移动光标
(5) 文本修改
(6) 编辑文件
(7) 字符串检索
(8) ex命令
主要教学目标:
(1) 掌握进入和退出vi的方法;
(2) 了解vi编辑器的工作方式;
(3) 掌握vi文本插入和修改命令的规则、应用;
(4) 掌握移动光标的命令;
(5) 掌握屏幕命令、字符串检索等命令的使用;
(6) ex命令的使用;
教学方法及教学手段:
通过多媒体演示Linux下的常用文本编辑工具vi的使用。
教学重点及难点:
(1) vi的输入方式与命令模式
(2) vi的光标移动方式
(3) ex命令
第4章 Linux shell程序设计
内容:
(1) shell概述
(2) 命令历史
(3) 名称补全
(4) 别名
(5) shell特殊字符
(6) shell变量
(7) 参数置换变量
(8) 算术运算
(9) 控制结构
(10)函数
(11)作业控制
(12)shell内置命令
(13)shell脚本调试
主要教学目标:
(1) 了解shell的主要特点、类型、建立和执行的方式;
(2) 掌握bash变量的分类、定义形式及其引用规则;
(3) 理解各种控制语句的格式、功能及流程;
(4) 了解bash中算数运算的使用方式;
(5) 掌握bash函数的构成及其使用规则;
(6) 掌握bash中的内置命令;
教学方法及教学手段:
通过对例程的讲解演示Linux下的shell编程与bash各种命令。
教学重点及难点:
(1) bash的控制语句与控制流程
(2) bash函数
(3) bash中的内置命令
(4) shell脚本的调试
第5章 Linux内核简介
内容:
(1) Linux内核概述
(2) 进程管理
(3) 文件系统
(4) 内存管理
(5) 进程通信
(6) 设备管理
(7) 终端、异常和系统调用
(8) 网络系统
主要教学目标:
(1) 了解Linux核心的一般结构;
(2) 理解进程的概念、进程的调度和进程通信;
(3) 掌握文件系统的构成和管理;
(4) 了解内存管理;
(5) 理解设备驱动及终端处理;
教学方法及教学手段:
本章内容主要为Linux内核即Linux操作系统的功能及实现,是本门课程的核心内容,本章内容理论性内容较多,需通过对Linux的演示加深对Linux内核的理解。
教学重点及难点:
(1) 进程的调度和进程的通信
(2) ext2文件系统
(3) 文件VFS索引和目录缓存
(4) 内存分页机制
第6章 常用开发工具
内容:
(1) gcc编译系统
(2) GDB程序调试工具
(3) 程序维护工具make
主要教学目标:
(1) 掌握GNU C与GNU C++的编译系统gcc;
(2) 掌握GDB调试工具;
(3) 了解程序维护工具make;
教学方法及教学手段:
本课程以课堂教学为主,结合实例代码演示。
教学重点及难点:
(1) gcc命令选项
(2) gdb中调试程序的方式与方法
(3) make的工作机制
第7章 Linux编程环境
内容:
(1) 系统调用和库函数
(2) 文件操作
(3) 进程控制
(4) 进程通信
(5) 内存管理
主要教学目标:
(1) 了解Linux下C语言编程的基本方法;
(2) 掌握使用C语言对文件进行操作;
(3) 掌握使用C语言对进程进行管理和操作;
(4) 掌握使用C语言对内存进行管理;
(5) 了解使用C语言进行网络编程;
教学方法及教学手段:
本课程以课堂教学为主,结合实例代码演示。
教学重点及难点:
(1) 使用C语言进行系统调用
(2) 使用C语言开发网络程序
(3) 使用C语言开发多线程程序
第8章 Linux系统管理
内容:
(1) 系统管理概述
(2) 用户和工作组管理
(3) 文件系统及其维护
(4) 文件系统的后备(灾备)
(5) 系统安全管理
(6) 系统性能优化
主要教学目标:
(1) 理解与Linux系统管理相关的计算机术语;
(2) 掌握Linux系统的用户和工作组管理的基本概念及其相关的管理方法;
(3) 掌握文件系统管理的基本概念、策略、及其相关的后备管理方法;
(4) 了解Linux系统安全的基本概念,及其相应的安全管理方法、策略;
(5) 了解Linux系统系能优化的基本概念与技巧;
教学方法及教学手段:
本课程以课堂教学为主,结合课堂演示以加深Linux系统管理的方法。
教学重点及难点:
(1) 用户和工作组管理的基本方法
(2) 系统安全的管理
(3) 文件系统管理的策略及灾备管理
第9章 网络应用及管理
内容:
(1) 配置网络
(2) 电子邮件
(3) 网络文件系统NFS
(4) SMB协议的软件samba
(5) Linux下的Web服务器Apache
(6) Linux下的FTP服务器架设与管理
(7) 网络管理
(8) 网络安全
主要教学目标:
(1) 掌握Linux的网络配置和电子邮件;
(2) 网络文件系统的基本功能和使用方法;
(3) Linux系统网络管理的基本方法;
(4) 了解Linux系统网络安全问题及对策;
教学方法及教学手段:
演示Linux网络应用及管理的方法。
教学重点及难点:
(1) Linux的网络配置
(2) Linux的Samba与NFS
(3) Linux的Web与FTP服务器管理与配置
第10章 嵌入式操作系统简介
内容:
(1) 嵌入式系统概述
(2) 嵌入式操作系统概述
(3) 实时内核及其实现
(4) 嵌入式操作系统实例介绍:uCLinux
主要教学目标:
(1) 了解嵌入式系统与嵌入式操作系统Linux;
(2) 了解实时内核及其实现;
(3) 了解uCLinux;
教学方法及教学手段:
讲解Linux操作系统在嵌入式领域的应用