全部课程 >Linux程序设计    Linux Programming

课程基本信息

课程编码:05B40420

课程类别:未设置

先修课程:《操作系统原理》《C语言程序设计》

适用专业:计算机各专业

开课院部:计算机科学与工程学院

课程负责人:
课程教学团队:
课程资源:
没有资源记录!

课程展示


课程简介

本课程是面向计算机专业学生的专业方向课程,要求学生之前系统学习过《C语言程序设计》、《操作系统原理》、《Linux系统管理》等课程。本课程的任务是综合程序设计和操作系统等知识,培养学生在Linux操作系统下进行程序开发的能力,要求学生在熟悉Linux的一般系统原理和操作命令的基础上,进一步了解Linux系统中的文件管理、进程管理和进程间通信等方面的编程技术。

Linux programming is an advanced professional course for students majoring in computer science and engineering. To learn this course, students should have previously learned following courses: 《C Programming Language》、《Principles of Operating Systems》and 《Linux System Administration》。The teaching task of this course is to integrate programming knowledge and Linux system functions to enable students solve and design common problems and applications under Unix-style environments. The main focus of this course is to enable students further understand the design principles and programming technology of file systems, process management and inter-process communication of Linux system after being familiar with the general principles of operating system design and common system commands of Linux.

课程教学要求

序号

专业毕业要求

课程教学要求

关联程度

1

工程知识

 

 

2

问题分析

基于Linux操作系统的特性,能解决类Unix环境下一般规模和难度的软件开发。

H

3

设计/开发解决方案

 

 

4

研究

 

 

5

使用现代工具

熟练使用gcc编译器和gdb调试器及主要编译选项

M

6

工程与社会

 

 

7

环境和可持续发展

 

 

8

职业规范

遵守编码规范和职业道德,具有良好的职业操守。

M

9

个人和团队

具有良好的协作能力,在团队开发中发挥作用。

L

10

沟通

具有良好的交流能力,有效地表达思维和过程。

L

11

项目管理

根据makefile基本原理进行简单的项目管理。

L

12

终身学习

通过学习Linux编程,掌握该系统下的主要函数的系统设计原理,在将来能自主持续地进一步学习。

M

 

课程教学内容

章节

名称

主要内容

重难点关键词

学时

类型

Linux编程基础

1.gcc编译器的基本用法和编译选项

2.gcc编译器使用库的一般方法

3.gdb调试器的基本用法

4.常用的错误处理函数和系统变量

 

1.库的使用

2.gcc编译选项

 

2

理论讲授

文件系统

1.Linux文件系统的基本概念

2.基于文件描述符的文件操作方法

3.多路I/O的基本方法

4.文件属性和目录管理

5.inode基本概念和原理

 

1.多路I/O

2.inode原理

 

4

理论讲授

内存管理

1.静态内存与动态内存的基本概念

2.内存管理操作(分配、释放、调整、锁定)

3. 内存管理常见问题

4. 内存映像的基本概念

1.内存管理问题

2.内存映像

 

4

理论讲授

进程

和线程

1.进程基本概念

2.进程管理

3.会话和控制组

4.线程基本概念

 

1.进程管理

2.线程基本原理

4

理论讲授

进程间

通信

1.IPC概述

2.无名管道和有名管道

3.共享内存、消息队列、信号量

1.消息队列

2.信号量

6

理论讲授

文件操作

 

1.文件基本操作

2.特殊文件(目录、链接、管道)操作

 

1.读写、定位、属性设置

4

上机实验

进程控制

1.进程的基本函数

2.多进程的同步

1.fork函数的原理

2.进程间同步

4

上机实验

进程间

通信

1.无名管道的一般使用方法

2.有名管道的一般使用方法

3.IPC的简单编程应用

1.有名管道的读写原理

2IPC的一般方法

4

上机实验

考核要求及成绩评定

序号

成绩类别

考核方式

考核要求

权重(%)

备注

1

期末成绩

期末考试

笔试闭卷

100%

百分制,60分及格

2

平时成绩

平时表现

上课上机出勤

 

缺勤3次则无法获得学分

3

作业

2次

 

检查重点内容的掌握情况:文件系统、进程控制、进程间通信

4

实验报告

2次

 

检查三个实验项目的完成及相关知识的掌握情况

5

期中考试

笔试闭卷

 

考试题型与期末考试相同

注:此表中内容为该课程的全部考核方式及其相关信息。

学生学习建议

本课程在教学实践中需要同时注重面向对象的基本概念、语法规则、设计方法和工具环境的理解和应用。学生在学习过程中需要注意下列3个方面的结合:

1.理论与实践相结合。准确理解Linux操作系统的一般设计原理和常用库函数的使用方法,并勤于在Linux环境中编程实践以求熟练应用。

2.实例与项目相结合。结合课堂教学和课本上的程序实例所示范的知识点和典型应用,能够举一反三,完成综合性较强和规模较大的上机实验项目。

本课程上机实验建议采用Linux Fedora 9或Ubantu 10(或不低于该版本)作为实验环境。

相关参考书:

  1. Kurt Wall. 张辉译. GUN/Linux编程指南. 清华大学出版社, 2002.

  2. Robert Love. Linux系统编程(第二版). 人民邮电出版社, 2014.5.

  3. Neil Matthew, Richard Stones. 陈健, 宋健健译. Linux程序设计(4). 人民邮电出版社, 2010.6.

课程改革与建设

在课程建设方面,应注重运用现代教育技术和信息技术加大课程建设力度,引导学生自主学习,提高学生的编程实践能力。在课程改革方面,建议加大考试改革力度,注重日常编程能力的养成训练,加大对该部分训练的考查和对结果的评价运用。

课程文档下载

课程大纲下载         课程历年试题下载         课程教学日历下载         

课程其它文档下载

本站 所有信息归:武汉工程大学教务处 版权所有 鄂ICP064787

技术支持: 北京文华在线教育科技股份有限公司    建议在IE8以上浏览器1024*768分辨率下浏览本站