linux源代码0.01版本,Linux体系与编程:基于Linux0.01版本 PDF扫描版[104MB]

Linux体系与编程:基于Linux0.01版本针对Linux编程体系,从Linux的应用开始到Linux的内核分析,由浅入深地进行诠释。全书分为Linux应用、Linux编程、Linux内核分析、实验四篇共21章,内容丰富、循序渐进、通俗易懂、实用性强。

《Linux体系与编程:基于Linux0.01版本》在Linux内核分析的基础上增加了具有较高实用价值的Linux应用和Linux编程,读者可以通过书中大量的实例,由浅入深地理解Linux的应用技术和程序设计思想。

《Linux体系与编程:基于Linux0.01版本》把重心放在Linux内核分析上,让读者能够更清晰地理解Linux内核源码。书中精选的Linux0.01内核是最简单、最精致的Linux内核,可以帮助读者快速掌握Linux内核设计原理,特别适合Linux的初学者阅读。

《Linux体系与编程:基于Linux0.01版本》可让初学者在领略Linux实用性的同时,快速地跨入Linux程序员的门槛。

《Linux体系与编程:基于Linux0.01版本》既可作为Linux初学者的最佳入门教材,也可作为Linux程序员深入理解Linux编程体系的参考书,同时还可供计算机爱好者、软件工程师学习、分析Linux内核使用。

Linux体系与编程:基于Linux0.01版本 目录:

前言

第一篇 Linux应用及基础

第1章 Linux应用简介

1.1 Linux简介

1.2 虚拟化软件VirtualBox

1.3 Centos的安装

1.4 Linux企业级的一般应用

1.4.1 为什么选择Linux

1.4.2 文件服务器

1.4.3 企业门户网站

1.4.4 数据备份

本章小结

习题一

第2章 Linux基本命令详解

2.1 命令之路

2.2 来自系统的援助——man

2.3 目录与文件操作

2.3.1 目录浏览与管理

2.3.2 文件操作

2.4 查找命令与正则表达式

2.4.1 grep

2.4.2 正则表达式

2.4.3 find

2.5 有用的小命令以及重定向

2.5.1 文本处理

2.5.2 date&time

2.5.3 重定向

2.6 系统管理命令

2.6.1 进程管理

2.6.2 用户管理

2.6.3 权限管理

2.7 实用工具与任务管理

2.7.1 压缩文件

2.7.2 uname

2.7.3 容量查看

2.7.4 任务管理

本章小结

习题二

第3章 LAMP的基本安装与配置

3.1 安装前的注意事项

3.2 Apache

3.2.1 Apache的安装

3.2.2 Apache的配置

3.3 MySQI

3.3.1 MySQL的安装

3.3.2 MySQL的配置

3.4 PHP

3.4.1 PHP的安装

3.4.2 PHP的配置

3.5 安装测试

本章小结

习题三

第4章 远程定期自动增量备份

4.1 shell脚本的基本语法

4.2 数据备份简介

4.2.1 数据备份设备

4.2.2 数据备份方案

4.3 远程定期自动增量备份

4.3.1 定期功能——crontab

4.3.2 增量功能——find

4.3.3 压缩功能——tar

4.3.4 远程备份——ftp

4.3.5 远程定期自动增量备份综合实例

本章小结

习题四

第二篇 Linux程序设计

第5章 Linux编程基础

5.1 Vim编辑器

5.1.1 使用Vim建立一个名为exam的文件

5.1.2 进入编辑模式

5.1.3 按Esc键返回一般模式

5.1.4 退出和存盘

5.2 GCC编译器

5.2.1 GCC简介

5.2.2 第一个Linux下的c程序

5.3 GDB调试器

5.3.1 GDB简介

5.3.2 GDB实例

5.4 make

5.4.1 Make file文件

5.4.2 make使用实例

本章小结

习题五

第6章 文件和目录

6.1 Linux/UNIX的文件结构

6.1.1 文件和目录

6.1.2 文件和设备

6.2 系统调用和设备驱动程序

6.3 库函数

6.4 文件I/O

6.4.1 open函数

6.4.2 访问权限的初始化值

6.4.3 write函数

6.4.4 read函数

6.4.5 close函数

6.4.6 ioctl函数

6.4.7 其他系统调用函数

6.5 标准I/O库

6.5.1 fopen、freopen和fdopen函数

6.5.2 fread函数

6.5.3 fwrite函数

6.5.4 fclose函数

6.5.5 mush函数

6.5.6 fseek函数

6.5.7 龟etc、getc和getchar函数

6.5.8 fputc、putc和putchar函数

6.5.9 fgets、gets函数

6.6 格式化输入和输出

6.6.1 printf、fprintf和sprintf函数

6.6.2 scanf,、fscanf和sscanf函数

6.6.3 其他流函数

6.6.4 文件流错误处理

6.7 文件和目录的维护

6.7.1 chmod系统调用函数

6.7.2 chown系统调用函数

6.7.3 unlink系统调用函数

6.7.4 mkdir和rmdir系统调用函数

6.7.5 chdir系统调用和getcwd函数

本章小结

习题六

第7章 进程控制

7.1 Linux进程概述

7.1.1 进程简介

7.1.2 进程标识

7.2 创建进程

7.2.1 fork函数

7.2.2 vfork函数

7.3 终止进程

7.4 等待进程

7.4.1 wait函数

7.4.2 waitpid函数

7.5 exec函数

7.6 system函数

7.7 综合实例

本章小结

习题七

第8章 进程间通信

8.1 管道

8.1.1 什么是管道

8.1.2 popen和pclose函数

8.1.3 命名管道FIFO

8.2 信号量

8.2.1 什么是信号量

8.2.2 信号量的相关函数

8.2.3 信号量实例

8.3 消息队列

8.3.1 消息队列

8.3.2 消息队列的相关函数

8.3.3 消息队列实例

本章小结

习题八

第9章 多线程

9.1 什么是线程

9.1.1 线程的特点

9.1.2 线程的分类

9.2 线程编程基础

9.2.1 创建线程函数

9.2.2 等待线程结束的函数

9.2.3 取自己线程ID函数

9.2.4 终止线程函数

9.3 线程属性

9.4 线程访问控制

本章小结

习题九

第10章 Linux网络编程

10.1 计算机网络简介

10.1.1 IP地址

10.1.2 端口

10.1.3 域名

10.1.4 TCP/IP体系模型

10.1.5 C/S模型

10.2 套接字简介

10.2.1 套接字的概念

10.2.2 套接字的分类

10.2.3 套接字相关的数据类型

10.3 涉及套接字的网络编程

10.3.1 面向连接的。TCP模型

10.3.2 无连接的UDP模型

本章小结

习题十

第11章 Linux综合编程——微博服务器设计简介

11.1 有状态和无状态的TCP通信

11.2 服务器设计的方案与思路

11.2.1 服务器设计涉及的数据结构

11.2.2 服务器的实现

本章小结

习题十一

第三篇 Linux0.01内核分析

第12章 Linux和GNU简介

12.1 自由的天地:GNU和Linux

12.1.1 热爱和享受自由

12.1.2 神奇的Linux

12.2 在乐趣中获得成功:一起来玩操作系统

12.2.1 十一岁开始编程序

12.2.2 一种操作系统的诞生

12.3 GNU的开发工具

本章小结

习题十二

第13章 操作系统设计入门

13.1 操作系统介绍

13.2 操作系统的基本功能

13.3 操作系统设计的基本准则

13.3.1 简单就是优美

13.3.2 利用已有的基础

13.3.3 良好的设计

13.3.4 单内核操作系统和微内核操作系统

本章小结

习题十三

第14章 Linux0.01内核

14.1 Linux0.01内核简介

14.1.1 Linux0.01内核背景

14.1.2 Linux0.01的技术特色

14.1.3 存储管理

14.1.4 文件系统

14.1.5 硬件平台移植和应用程序

14.2 Linux0.01核心代码目录

14.3 核心源代码的目录分布

14.3.1 boot目录

14.3.2 fs目录

14.3.3 include目录

14.3.4 init目录

14.3.5 kernel目录

14.3.6 lib目录

14.3.7 mm目录

14.3.8 tools目录

14.4 Linux0.01的main.c分析

14.5 编译和运行Linux0.01系统

本章小结

习题十四

第15章 操作系统引导——装载内核

15.1 操作系统引导基本知识

15.1.1 系统引导设备

15.1.2 启动过程简介

15.1.3 硬盘主引导扇区简介

15.2 Linux0.01引导代码分析

15.2.1 boot.s:BIOS引导代码

15.2.2 head.s:Linux的32位引导代码

15.3 实例:使用nasm生成引导代码

15.3.1 引导代码基础

15.3.2 最简单的引导程序

15.3.3 如何设置段寄存器

15.3.4 在引导程序中装入程序(基于扇区)

本章小结

习题十五

第16章 进程管理和调度

16.1 进程的概念

16.1.1 进程的定义

16.1.2 进程的属性

16.2 进程调度

16.2.1 进程调度算法的选择

16.2.2 进程描述符

16.2.3 Linux进程调度源代码分析

16.2.4 进程的切换

16.3 Linux0.01内核中的进程调度实例

16.3.1 进程调度

16.3.2 用户进程和内核线程

本章小结

习题十六

第17章 存储管理和设计

17.1 存储管理概述

17.1.1 信息的二级存储

17.1.2 存储管理的功能

17.2 段页式存储管理

17.2.1 页式存储管理

17.2.2 段式存储管理

17.2.3 段页式存储管理

17.2.4 3种存储管理方式的对比

17.3 物理存储管理

17.3.1 技术细节

17.3.2 物理存储管理器的组织

17.3.3 物理存储管理器的初始化

17.3.4 页面分配

17.3.5 页面回收

17.3.6 映射

17.3.7 内存映射

17.4 虚拟存储管理

17.4.1 技术细节

17.4.2 malloc()和free()

17.4.3 缺页处理

17.4.4 虚拟存储管理的页面分配

17.4.5 可执行程序

17.4.6 交换

17.4.7 总结

17.5 malloc()和free()的实现

17.6 Linux0.01存储管理代码分析

17.6.1 memory.c分析

17.6.2 page.s分析

本章小结

习题十七

……

第18章 设备管理和调度

第19章 磁盘文件系统

第20章 shell编程技术和实例

第21章 Linux0.01系统调用的实现

第四篇 实验

linux源代码0.01版本,Linux体系与编程:基于Linux0.01版本 PDF扫描版[104MB]_第1张图片

你可能感兴趣的:(linux源代码0.01版本)