全部商品分类

您现在的位置: 全部商品分类 > 电子电脑 > 计算机技术 > 操作系统

Linux环境高级程序设计(高等学校计算机专业规划教材)

  • 定价: ¥59
  • ISBN:9787302520252
  • 开 本:16开 平装
  •  
  • 折扣:
  • 出版社:清华大学
  • 页数:327页
  • 作者:编者:黄茹
  • 立即节省:
  • 2019-03-01 第1版
  • 2019-03-01 第1次印刷
我要买:
点击放图片

导语

  

内容提要

  

    黄茹主编的《Linux环境高级程序设计(高等学校计算机专业规划教材)》介绍使用C语言结合Linux API进行系统级程序设计的方法,主要包括Linux基础知识、C程序开发工具、文件及目录管理、进程管理、重定向与管道、信号、进程间通信、线程、线程间的同步机制、网络程序设计等10章,以及10个实验,全面而系统地介绍Linux操作系统各种机制的实现原理、经常使用的系统接口函数、系统接口和命令程序之间的关系以及命令程序的实现过程等。
    本书结构清晰,适合于教学,为各类高等学校开设开源软件程序设计课程提供了一个切实可行的思路,同时也可作为培训教材在各类培训机构使用。书中各章节划分明确,各章突出不同的重点,有利于教师组织安排授课内容;同时提供设计精美、内容丰富的电子教案以及教学素材供授课教师使用,有效地减轻了授课教师备课的工作量和强度。
    本书目标读者为具有一定C语言基础的读者,适合各类高等院校的计算机及相关专业学生、Linux培训机构、Linux API编程爱好者、Linux程序开发人员及爱好者学习使用。

目录

第1章  Linux基础知识
  1.1  Linux简介
    1.1.1  Linux系统的发展
    1.1.2  与Linux相关的一些知识
  1.2  Linux系统编程
    1.2.1  什么是系统编程
    1.2.2  系统编程的学习内容及方法
    1.2.3  一个例子
    1.2.4  系统调用和库函数
  1.3  常用工具及命令
    1.3.1  命令格式
    1.3.2  常用工具
    1.3.3  常用命令
    1.3.4  获取帮助
  1.4  小结
  习题
第2章  C程序开发工具
  2.1  编辑工具
    2.1.1  编辑工具介绍
    2.1.2  vi和vim程序编辑器
  2.2  gcc编译器
  2.3  gdb调试器
    2.3.1  启动和退出gdb
    2.3.2  显示和查找程序源代码
    2.3.3  执行程序和获取帮助
    2.3.4  设置和管理断点
    2.3.5  查看和设置变量的值
    2.3.6  控制程序的执行
  2.4  make和Makefile
    2.4.1  make命令
    2.4.2  编写Makefile文件
  2.5  小结
  习题
第3章  文件及目录管理
  3.1  文件和I/O操作分类
    3.1.1  文件概念
    3.1.2  文件操作分类
  3.2  Linux文件系统概述
    3.2.1  文件结构
    3.2.2  文件系统模型
    3.2.3  目录、索引结点和文件描述符
    3.2.4  文件的分类
    3.2.5  文件访问权限控制
  3.3  文件的读写
    3.3.1  文件打开、创建和关闭
    3.3.2  文件的读写
    3.3.3  文件读写指针的移动
    3.3.4  标准I/O的文件流
  3.4  文件属性及相关系统调用
    3.4.1  获取文件属性
    3.4.2  修改文件的访问权限
    3.4.3  修改文件的用户属性
    3.4.4  获取用户的信息
    3.4.5  改变文件大小
    3.4.6  获取文件的时间属性
  3.5  目录操作
    3.5.1  打开目录
    3.5.2  读取目录项
    3.5.3  关闭目录
  3.6  实现自己的ls命令
  3.7  小结
  习题
第4章  进程管理
  4.1  Linux可执行程序的存储结构与进程结构
    4.1.1  Linux可执行程序的存储结构
    4.1.2  Linux系统的进程结构
    4.1.3  进程树
  4.2  进程的环境和进程属性
    4.2.1  进程的环境
    4.2.2  进程的状态
    4.2.3  进程的基本属性
    4.2.4  进程的用户属性
  4.3  进程管理
    4.3.1  创建进程
    4.3.2  在进程中运行新代码
    4.3.3  vfork函数
    4.3.4  进程退出
    4.3.5  wait函数
    4.3.6  Shell的实现流程
  4.4  Linux中的特殊进程
    4.4.1  孤儿进程
    4.4.2  僵尸进程
    4.4.3  守护进程
    4.4.4  出错记录
  4.5  小结
  习题
第5章  重定向与管道
  5.1  重定向和管道命令
    5.1.1  重定向命令
    5.1.2  管道命令
  5.2  实现重定向
    5.2.1  重定向的实施者
    5.2.2  实现重定向的前提条件
    5.2.3  dup和dup
    5.2.4  重定向的三种方法
    5.2.5  ls-l>list.txt
  5.3  管道编程
    5.3.1  匿名管道
    5.3.2  命名管道
    5.3.3  ls-l|grep root
    5.3.4  popen和pclose
  5.4  小结
  习题
第6章  信号
  6.1  信号概述
    6.1.1  什么是信号
    6.1.2  信号的来源和处理过程
    6.1.3  信号的处理方式
  6.2  早期信号处理函数——signal
    6.2.1  signal函数实现信号的三种处理方式
    6.2.2  signal函数存在的问题
  6.3  信号处理函数——sigaction
    6.3.1  sigaction系统调用
    6.3.2  sigaction函数参数的说明
  6.4  信号其他相关函数
    6.4.1  kill与raise
    6.4.2  alarm与pause
    6.4.3  实现sleep函数
  6.5  小结
  习题
第7章  进程间通信
  7.1  选择进程间通信方式
    7.1.1  文件实现进程间通信
    7.1.2  命名管道实现进程间通信
  7.2  共享内存
    7.2.1  什么是共享内存
    7.2.2  共享内存相关系统调用
    7.2.3  共享内存实现进程间通信
    7.2.4  三种通信方式的比较
  7.3  信号量
    7.3.1  信号量及相关系统调用
    7.3.2  使用信号量控制对共享内存的访问
    7.3.3  信号量机制总结
  7.4  System V IPC
    7.4.1  Linux中的进程通信机制
    7.4.2  System V IPC概述
    7.4.3  IPC的标识符和键
  7.5  消息队列
    7.5.1  消息队列的概念
    7.5.2  消息队列相关系统调用
    7.5.3  使用消息队列实现进程间通信
  7.6  小结
  习题
第8章  线程
  8.1  线程概述
    8.1.1  线程的定义
    8.1.2  用户级线程和内核级线程
    8.1.3  线程与进程的对比
  8.2  线程基本操作
    8.2.1  线程创建
    8.2.2  线程退出/等待
    8.2.3  线程终止
    8.2.4  线程挂起
    8.2.5  线程的分离
    8.2.6  线程的一次性初始化
    8.2.7  线程的私有数据
  8.3  线程属性
    8.3.1  线程属性对象
    8.3.2  设置/获取线程detachstate属性
    8.3.3  设置与获取线程栈相关属性
  8.4  线程应用举例
  8.5  小结
  习题
第9章  线程间的同步机制
  9.1  互斥锁
    9.1.1  互斥锁基本原理
    9.1.2  互斥锁基本操作
    9.1.3  互斥锁应用实例
  9.2  条件变量
    9.2.1  条件变量基本原理
    9.2.2  条件变量基本操作
    9.2.3  条件变量应用实例
  9.3  读写锁
    9.3.1  读写锁基本原理
    9.3.2  读写锁基本操作
    9.3.3  读写锁应用实例
  9.4  线程与信号
    9.4.1  线程信号管理
    9.4.2  线程信号应用实例
  9.5  小结
  习题
第10章  网络程序设计
  10.1  网络知识基础
    10.1.1  TCP/IP参考模型
    10.1.2  Linux中TCP/IP网络的层结构
    10.1.3  TCP协议
    10.1.4  UDP协议
  10.2  套接字
    10.2.1  套接字概述
    10.2.2  套接字编程接口
    10.2.3  套接字通信流程
  10.3  套接字基础
    10.3.1  套接字地址结构
    10.3.2  字节顺序
    10.3.3  字节处理函数
  10.4  套接字编程
    10.4.1  基于TCP协议的网络通信
    10.4.2  基于UDP协议的网络通信
  10.5  小结
  习题
附录  实验
  实验1  Linux基础知识
  实验2  C程序开发工具
  实验3  文件I/O操作
  实验4  进程管理及守护进程
  实验5  重定向和管道编程
  实验6  信号安装及处理方式
  实验7  System V IPC进程通信
  实验8  线程管理
  实验9  线程间通信
  实验10  套接字编程