万本电子书0元读

万本电子书0元读

顶部广告

Linux系统编程(第2版)电子书

  本书详细阐述了如何编写与Linux内核以及核心系统库提供的服务直相关的软件。在这本书中,Linux内核贡献者Robert Love全面阐述了Linux系统编程,指导如何行Linux系统调用,并从专家角度分析如何编写更优雅、运行更快的代码。   本书作者对POSIX标准函数和Linux提供的一些特定服务非常了解。本书第2版新增了一章专门介绍多线程,这是对第1版的更新和扩展,同时本书从理论和应用角度深分析Linux,涉及的编程主题很广,包括以下精彩内容: 

售       价:¥

纸质售价:¥59.20购买纸书

1100人正在读 | 2人评论 6.9

作       者:[美]Robert Love

出  版  社:人民邮电出版社

出版时间:2014-05-01

字       数:26.1万

所属分类: 科技 > 计算机/网络 > 软件系统

温馨提示:数字商品不支持退换货,不提供源文件,不支持导出打印

为你推荐

  • 读书简介
  • 目录
  • 累计评论(2条)
  • 读书简介
  • 目录
  • 累计评论(2条)
系统编程是指编写系统软件,其代码在底层运行,直跟内核和核心系统库对话。 《Linux系统编程(第2版)》是一本关于Linux系统编程的教程,也是一本介绍Linux系统编程的手册,还是一本如何实现更优雅更快代码的内幕指南。全书分为11章和2个附录,详细介绍了Linux系统编程基本概念、文件I/O、缓冲I/O、高级文件I/O、程管理、高级程管理、线程、文件和目录管理、信号和时间等主题。附录给出了gcc和GNU C提供的很多语言扩展,以及推荐阅读的相关书目。 《Linux系统编程(第2版)》的作者是知名的Linux内核专家,多本畅销技术图书的作者。《Linux系统编程(第2版)》需要在C编程和Linux编程环境下工作的程序员阅读,对于想要巩固基础或了解内核的高级编程人员,《Linux系统编程(第2版)》也很有参考价值。<br/>【推荐语】<br/>本书详细阐述了如何编写与Linux内核以及核心系统库提供的服务直相关的软件。在这本书中,Linux内核贡献者Robert Love全面阐述了Linux系统编程,指导如何行Linux系统调用,并从专家角度分析如何编写更优雅、运行更快的代码。 本书作者对POSIX标准函数和Linux提供的一些特定服务非常了解。本书第2版新增了一章专门介绍多线程,这是对第1版的更新和扩展,同时本书从理论和应用角度深分析Linux,涉及的编程主题很广,包括以下精彩内容:  1. Linux内核、C库和C编译器概览;  2. 基础I/O操作,如文件读写;  3. 高级I/O口、内存映射以及优化技术;  4. 关于基本过程管理的系统调用;  5. 高级程管理,包括实时程;  6. 线程概念,多线程编程和Pthreads;  7. 文件和目录管理;  8. 内存分配和优化内存访问相关的口;  9. 基本的和高级的信号口,及其在系统中的作用;  10. 时钟管理,包括POSIX时钟和高精度计时器。<br/>【作者】<br/>Robert Love在很早期就一直使用Linux并贡献代码,包括对Linux内核和GNOME桌面环境的贡献。Robert Love是Google软件工程师,是Android设计和发团队成员。目前,他致力于Google的Web搜索架构。Robert获得了Florida大学的双学位:计算机科学理学学士和数学文学学士。<br/>
目录展开

内容提要

译者序

前言

第1章 入门和基本概念

1.1 系统编程

1.2 API和ABI

1.3 标准

1.4 Linux编程的概念

开始系统编程

第2章 文件I/O

2.1 打开文件

2.2 通过read()读文件

2.3 调用write()写

2.4 同步I/O

2.5 直接I/O

2.6 关闭文件

2.7 用lseek()查找

2.8 定位读写

2.9 文件截短

2.10 I/O多路复用

2.11 内核内幕

2.12 结束语

第3章 缓冲I/O

3.1 用户缓冲I/O

3.2 标准I/O

3.3 打开文件

3.4 通过文件描述符打开流

3.5 关闭流

3.6 从流中读数据

3.7 向流中写数据

3.8 缓冲I/O示例程序

3.9 定位流

3.10 Flush(刷新输出)流

3.11 错误和文件结束

3.12 获取关联的文件描述符

3.13 控制缓冲

3.14 线程安全

3.15 对标准I/O的批评

3.16 结束语

第4章 高级文件I/O

4.1 分散/聚集I/O

4.2 Event Poll

4.3 存储映射

4.4 普通文件I/O提示

4.5 同步(Synchronized),同步(Synchronous)及异步(Asynchronous)操作

4.6 I/O调度器和I/O性能

4.7 结束语

第5章 进程管理

5.1 程序、进程和线程

5.2 进程ID

5.3 运行新进程

5.4 终止进程

5.5 等待子进程终止

5.6 用户和组

5.7 会话(Session)和进程组

5.8 守护进程

5.9 结束语

第6章 高级进程管理

6.1 进程调度

6.2 完全公平调度器

6.3 让出处理器

6.4 进程优先级

6.5 处理器亲和力(Affinity)

6.6 实时系统

6.7 资源限制

第7章 线程

7.1 二进制程序、进程和线程

7.2 多线程

7.3 线程模型

7.4 线程模式

7.5 并发性、并行性和竞争

7.6 同步

7.7 Pthreads

7.8 进一步研究

第8章 文件和目录管理

8.1 文件及其元数据

8.2 目录

8.3 链接

8.4 拷贝和移动文件

8.5 设备节点

8.6 带外通信(Out-of-Band Communication)

8.7 监视文件事件

第9章 内存管理

9.1 进程地址空间

9.2 动态内存分配

9.3 数据段的管理

9.4 匿名内存映射

9.5 高级内存分配

9.6 基于栈的分配

9.7 选择合适的内存分配机制

9.8 内存操作

9.9 内存锁定

9.10 投机性内存分配策略

第10章 信号

10.1 信号相关的概念

10.2 基本信号管理

10.3 发送信号

10.4 重入

10.5 信号集

10.6 高级信号管理

10.7 信号是个UNIX“瑕疵”吗

第11章 时间

11.1 时间的数据结构

11.2 POSIX时钟

11.3 时间源精度

11.4 取得当前时间

11.5 设置当前时间

11.6 玩转时间

11.7 睡眠和等待

11.8 定时器

附录A C语言的GCC扩展

GNU C

内联函数

避免内联

纯函数

常函数(constant functions)

没有返回值的函数

分配内存的函数

强制调用方检查返回值

把函数标识为“Deprecated(已废弃)”

把函数标识为已使用

把函数或参数标识为未使用的

对结构体进行紧凑存储(pack)

增加变量的对齐

把全局变量放到寄存器中

分支标注

获取表达式类型

获取类型的对齐方式

结构体中成员变量的偏移

获取函数的返回地址

条件范围

空指针和函数指针

“一箭双雕”可移植且代码优美

附录B 参考书目

关于C编程语言的书

关于Linux编程的书籍

关于Linux内核的书籍

关于操作系统设计的书籍

作者简介

译者简介

封面图像

看完了

累计评论(2条) 2个书友正在讨论这本书 发表评论

发表评论

发表评论,分享你的想法吧!

买过这本书的人还买过

读了这本书的人还在读

回顶部