《系统程序设计 教学大纲.doc》由会员分享,可在线阅读,更多相关《系统程序设计 教学大纲.doc(8页珍藏版)》请在taowenge.com淘文阁网|工程机械CAD图纸|机械工程制图|CAD装配图下载|SolidWorks_CaTia_CAD_UG_PROE_设计图分享下载上搜索。
1、Linux系统编程教学大纲一、课程内容概述本课程分成三部分介绍在Linux环境下进行系统程序的编程,第一部分介绍操作系统的基本概念与原理,第二部分阐述Linux下系统接口,以及多进程,多线程编程,网络编程,最后一部分为项目实训。使学员能够完成在Linux环境下基于C语言的较复杂的系统编程。二、课程目标本课程为ICEP 3.0的Linux系统程序设计课程, 本课程分成三部分。第一篇: 操作系统基础通过本部分内容的学习,学员能够:了解计算机的基本结构,以及程序的指令是如何执行了解操作系统设计的目标。三、课程各章内容、重点、组织结构及要求第一章 计算机系统概论本章概述从计算机系统和操作系统理论两个方
2、面来阐述程序是如何被处理器执行的,以及操作系统是如何管理硬件资源和调度应用程序。本章目标了解计算机的基本结构和操作系统内核的基本组成部分 了解计算机的存储器的结构,以及cache的作用理解操作系统的定义,分时系统以及时间片的概念了解进程空间以及进程调度的概念重点 进程的空间:内核空间和用户空间第二章 基本文件I/O本章概述本章描述Linux文件与文件访问基本概念,Linux系统调用和C库函数。本章目标掌握Linux的系统I/O接口的用法理解文件描述符掌握系统调用方法掌握文件访问的C库函数重点掌握文件I/O操作难点理解文件描述符,以及stdin,stdout,stderr , FILE *与文件
3、描述符的关系。实验部分实验一判断文件是否存在, 如不存在则创建, 如存在则已写的方式打开文件,并将键盘上输入的内容写入文件,当输入的内容为”exit”时,关闭文件。实验二将上一个文件的内容,拷贝到别一个文件中,并求出文件的大小。第三章 进程和线程本章概述本章主要介绍 进程线程的基本概念。讲解进程线程的基本原理,详细讲解进程和线程的编程。本章目标了解进程和线程的基本概念,了解进程的状态及状态间的切换、进程的控制调度机制。熟练掌握进程和线程的编程,掌握线程编程中的各种同步机制。重点进程线程的概念进程的状态和状态间的跳转进程的创建和终止进程空间的概念线程的同步机制难点进程创建和终止线程的同步机制实验
4、部分实验一 获得当前进程的ID,并派生子进程, 在子进程中执行命令,并在父进程中显示执行的结果实验二 创建1个生产者线程, 5个消费者线程, 实现生产者最多生产5个商品, 由5个消费者任意消费。第四章 进程间通信本章概述本章主要介绍进程间通讯的几种方式:信号、文件锁、管道/FIFO、信号量、消息队列、共享内存。本章目标了解进程间通讯的概念和基本应用。熟练的使用各种进程见通讯的方式。理解其中的原理和各种通讯方式的应用的场合。重点信号文件锁管道信号量消息队列共享内存难点信号量共享内存实验部分 实验一 使用signal()捕捉信号,使用kill()函数发送信号,使用raise()函数发送一个信号实验
5、二 使用管道将子进程的执行结果, 传给父进程。实验三 信号量实现一个进程写与一个进程读实验四 消息队列实现一个进程向队列中写入, 一个进程实现去队列中读取实验五 共享内存实现一个进程写与一个进程读第五章 网络基础本章概述本章介绍TCP协议的相关知识,我们将结合一些网络编程实例,逐步学习TCP套接字编程。并给出一个较为实用的TCP应用实例。本章目标熟悉网络基本协议和socket接口编程。重点socket接口编程难点协议的理解和socket接口编程实验部分 实验一 使用TCP socket编程流程写一个回射服务器和客户端实验二 使用UDP socket编程流程一个服务器多个客户端第六章 网络高级编
6、程本章概述本章介绍I/O复用。在I/O复用一节中我们着重介绍selete()的使用方法。UDP编程一节将讲述如何使用UDP传输数据以及广播的使用。 本章目标I/O复用、UDP编程、selete()的掌握重点I/O复用、UDP编程难点I/O复用以及selete()实验部分实验一 使用select的ECHO服务器与客户端实验二 UDP广播的ECHO客户端第七章 课程设计远程终端管理系统本章概述设计实现远程终端管理系统,学习项目的设计、管理、实现的基本流程,提高Linux应用编程和调试的能力。本章目标完成学远程终端管理系统,提高C语言编程能力和系统编程能力。重点提高系统编程的能力,掌握项目的基本开发流程 难点掌握项目的基本开发流程