- 1、本文档共8页,可阅读全部内容。
- 2、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
- 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
3Linux系统程序设计教学大纲
《Linux系统编程》教学大纲
一、课程内容概述
本课程分成三部分介绍在Linux环境下进行系统程序的编程,第一部分介绍操作系统的基本概念与原理,第二部分阐述Linux下系统接口,以及多进程,多线程编程,网络编程,最后一部分为项目实训。使学员能够完成在Linux环境下基于C语言的较复杂的系统编程。
二、课程目标
本课程为ICEP 3.0的Linux系统程序设计课程, 本课程分成三部分。
第一篇: 操作系统基础
通过本部分内容的学习,学员能够:
了解计算机的基本结构,以及程序的指令是如何执行
了解操作系统设计的目标。
三、课程各章内容、重点、组织结构及要求
第一章 计算机系统概论
本章概述
从计算机系统和操作系统理论两个方面来阐述程序是如何被处理器执行的,以及操作系统是如何管理硬件资源和调度应用程序。
本章目标
了解计算机的基本结构和操作系统内核的基本组成部分
了解计算机的存储器的结构,以及cache的作用
理解操作系统的定义,分时系统以及时间片的概念
了解进程空间以及进程调度的概念
重点
进程的空间:内核空间和用户空间
第二章 基本文件I/O
本章概述
本章描述Linux文件与文件访问基本概念,Linux系统调用和C库函数。
本章目标
掌握Linux的系统I/O接口的用法
理解文件描述符
掌握系统调用方法
掌握文件访问的C库函数
重点
掌握文件I/O操作
难点
理解文件描述符,以及stdin,stdout,stderr , FILE *与文件描述符的关系。
实验部分
实验一
判断文件是否存在, 如不存在则创建, 如存在则已写的方式打开文件,并将键盘上输入的内容写入文件,当输入的内容为”?exit”时,关闭文件。
实验二
将上一个文件的内容,拷贝到别一个文件中,并求出文件的大小。
第三章 进程和线程
本章概述
本章主要介绍 进程线程的基本概念。讲解进程线程的基本原理,详细讲解进程和线程的编程。
本章目标
了解进程和线程的基本概念,了解进程的状态及状态间的切换、进程的控制调度机制。熟练掌握进程和线程的编程,掌握线程编程中的各种同步机制。
重点
进程线程的概念
进程的状态和状态间的跳转
进程的创建和终止
进程空间的概念
线程的同步机制
难点
进程创建和终止
线程的同步机制
实验部分
实验一 获得当前进程的ID,并派生子进程, 在子进程中执行命令,并在父进程中显示执行的结果
实验二 创建1个生产者线程, 5个消费者线程, 实现生产者最多生产5个商品, 由5个消费者任意消费。
第四章 进程间通信
本章概述
本章主要介绍进程间通讯的几种方式:信号、文件锁、管道/FIFO、信号量、消息队列、共享内存。
本章目标
了解进程间通讯的概念和基本应用。熟练的使用各种进程见通讯的方式。理解其中的原理和各种通讯方式的应用的场合。
重点
信号
文件锁
管道
信号量
消息队列
共享内存
难点
信号量
共享内存
实验部分
实验一 使用signal()捕捉信号,使用kill()函数发送信号,使用raise()函数发送一个信号
实验二 使用管道将子进程的执行结果, 传给父进程。
实验三 信号量实现一个进程写与一个进程读
实验四 消息队列实现一个进程向队列中写入, 一个进程实现去队列中读取
实验五 共享内存实现一个进程写与一个进程读
第五章 网络基础
本章概述
本章介绍TCP协议的相关知识,我们将结合一些网络编程实例,逐步学习TCP套接字编程。并给出一个较为实用的TCP应用实例。
本章目标
熟悉网络基本协议和socket接??编程。
重点
socket接口编程
难点
协议的理解和socket接口编程
实验部分
实验一 使用TCP socket编程流程写一个回射服务器和客户端
实验二 使用UDP socket编程流程一个服务器多个客户端
第六章 网络高级编程
本章概述
本章介绍I/O复用。在I/O复用一节中我们着重介绍selete()的使用方法。UDP编程一节将讲述如何使用UDP传输数据以及广播的使用。
本章目标
I/O复用、UDP编程、selete()的掌握
重点
I/O复用、UDP编程
难点
I/O复用以及selete()
实验部分
实验一 使用select的ECHO服务器与客户端
实验二 UDP广播的ECHO客户端
第七章 课程设计—远程终端管理系统
本章概述
设计实现远程终端管理系统,学习项目的设计、管理、实现的基本流程,提高Linux应用编程和调试的能力。
本章目标
完成学远程终端管理系统,提高C语言编程能力和系统编程能力。
重点
提高系统编程的能力,掌握项目的基本开发流程
难点
掌握项目的基本开发流程
文档评论(0)