图书介绍
Linux体系与编程 基于Linux 0.01版本2025|PDF|Epub|mobi|kindle电子书版本百度云盘下载

- 卢军,曾茂城编著 著
- 出版社: 北京:中国水利水电出版社
- ISBN:9787508473734
- 出版时间:2010
- 标注页数:324页
- 文件大小:105MB
- 文件页数:336页
- 主题词:Linux操作系统-程序设计-教材
PDF下载
下载说明
Linux体系与编程 基于Linux 0.01版本PDF格式电子书版下载
下载的文件为RAR压缩包。需要使用解压软件进行解压得到PDF格式图书。建议使用BT下载工具Free Download Manager进行下载,简称FDM(免费,没有广告,支持多平台)。本站资源全部打包为BT种子。所以需要使用专业的BT下载软件进行下载。如BitComet qBittorrent uTorrent等BT下载工具。迅雷目前由于本站不是热门资源。不推荐使用!后期资源热门了。安装了迅雷也可以迅雷进行下载!
(文件页数 要大于 标注页数,上中下等多册电子书除外)
注意:本站所有压缩包均有解压码: 点击下载压缩包解压工具
图书目录
第一篇 Linux应用及基础1
第1章 Linux应用简介1
1.1 Linux简介1
1.2 虚拟化软件VirtualBox2
1.3 CentOS的安装3
1.4 Linux企业级的一般应用14
1.4.1 为什么选择Linux15
1.4.2 文件服务器15
1.4.3 企业门户网站16
1.4.4 数据备份17
本章小结17
习题一17
第2章 Linux基本命令详解18
2.1 命令之路18
2.2 来自系统的援助——man18
2.3 目录与文件操作20
2.3.1 目录浏览与管理20
2.3.2 文件操作23
2.4 查找命令与正则表达式26
2.4.1 grep26
2.4.2 正则表达式27
2.4.3 find30
2.5 有用的小命令以及重定向32
2.5.1 文本处理32
2.5.2 date & time34
2.5.3 重定向36
2.6 系统管理命令37
2.6.1 进程管理38
2.6.2 用户管理41
2.6.3 权限管理44
2.7 实用工具与任务管理46
2.7.1 压缩文件46
2.7.2 uname47
2.7.3 容量查看47
2.7.4 任务管理48
本章小结51
习题二51
第3章 LAMP的基本安装与配置53
3.1 安装前的注意事项53
3.2 Apache53
3.2.1 Apache的安装54
3.2.2 Apache的配置54
3.3 MySQL54
3.3.1 MySQL的安装55
3.3.2 MySQL的配置56
3.4 PHP57
3.4.1 PHP的安装57
3.4.2 PHP的配置58
3.5 安装测试58
本章小结59
习题三59
第4章 远程定期自动增量备份60
4.1 shell脚本的基本语法60
4.2 数据备份简介61
4.2.1 数据备份设备61
4.2.2 数据备份方案61
4.3 远程定期自动增量备份62
4.3.1 定期功能——crontab62
4.3.2 增量功能——find62
4.3.3 压缩功能——tar63
4.3.4 远程备份——ftp63
4.3.5 远程定期自动增量备份综合实例64
本章小结64
习题四65
第二篇 Linux程序设计66
第5章 Linux编程基础66
5.1 Vim编辑器67
5.1.1 使用Vim建立一个名为example.txt的文件68
5.1.2 进入编辑模式68
5.1.3 按Esc键返回一般模式69
5.1.4 退出和存盘69
5.2 GCC编译器71
5.2.1 GCC简介71
5.2.2 第一个Linux下的C程序73
5.3 GDB调试器74
5.3.1 GDB简介74
5.3.2 GDB实例74
5.4 make76
5.4.1 Makefile文件76
5.4.2 make使用实例76
本章小结77
习题五78
第6章 文件和目录79
6.1 Linux/UNIX的文件结构79
6.1.1 文件和目录79
6.1.2 文件和设备80
6.2 系统调用和设备驱动程序81
6.3 库函数81
6.4 文件I/O82
6.4.1 open函数82
6.4.2 访问权限的初始化值83
6.4.3 write函数83
6.4.4 read函数84
6.4.5 close函数84
6.4.6 ioctl函数85
6.4.7 其他系统调用函数86
6.5 标准I/O库87
6.5.1 fopen、freopen和fdopen函数88
6.5.2 fread函数89
6.5.3 fwrite函数89
6.5.4 fclose函数89
6.5.5 fflush函数89
6.5.6 fseek函数90
6.5.7 fgetc、getc和getchar函数90
6.5.8 fputc、putc和putchar函数90
6.5.9 fgets、gets函数90
6.6 格式化输入和输出91
6.6.1 printf、fprintf和sprintf函数91
6.6.2 scanf、fscanf和sscanf函数92
6.6.3 其他流函数92
6.6.4 文件流错误处理92
6.7 文件和目录的维护93
6.7.1 chmod系统调用函数93
6.7.2 chown系统调用函数93
6.7.3 unlink系统调用函数93
6.7.4 mkdir和rmdir系统调用函数94
6.7.5 chdir系统调用和getcwd函数94
本章小结94
习题六95
第7章 进程控制96
7.1 Linux进程概述96
7.1.1 进程简介96
7.1.2 进程标识97
7.2 创建进程97
7.2.1 fork函数98
7.2.2 vfork函数100
7.3 终止进程100
7.4 等待进程101
7.4.1 wait函数101
7.4.2 waitpid函数103
7.5 exec函数104
7.6 system函数107
7.7 综合实例108
本章小结109
习题七109
第8章 进程间通信110
8.1 管道110
8.1.1 什么是管道110
8.1.2 popen和pclose函数112
8.1.3 命名管道FIFO114
8.2 信号量118
8.2.1 什么是信号量118
8.2.2 信号量的相关函数119
8.2.3 信号量实例121
8.3 消息队列124
8.3.1 消息队列124
8.3.2 消息队列的相关函数125
8.3.3 消息队列实例127
本章小结130
习题八130
第9章 多线程132
9.1 什么是线程132
9.1.1 线程的特点132
9.1.2 线程的分类133
9.2 线程编程基础133
9.2.1 创建线程函数135
9.2.2 等待线程结束的函数135
9.2.3 取自己线程ID函数135
9.2.4 终止线程函数136
9.3 线程属性136
9.4 线程访问控制138
本章小结144
习题九144
第10章 Linux网络编程146
10.1 计算机网络简介146
10.1.1 IP地址146
10.1.2 端口146
10.1.3 域名146
10.1.4 TCP/IP体系模型147
10.1.5 C/S模型147
10.2 套接字简介148
10.2.1 套接字的概念148
10.2.2 套接字的分类148
10.2.3 套接字相关的数据类型149
10.3 涉及套接字的网络编程149
10.3.1 面向连接的TCP模型150
10.3.2 无连接的UDP模型157
本章小结162
习题十162
第11章 Linux综合编程——微博服务器设计简介163
11.1 有状态和无状态的TCP通信163
11.2 服务器设计的方案与思路164
11.2.1 服务器设计涉及的数据结构164
11.2.2 服务器的实现167
本章小结181
习题十一181
第三篇 Linux 0.01内核分析第12章 Linux和GNU简介182
12.1 自由的天地:GNU和Linux182
12.1.1 热爱和享受自由183
12.1.2 神奇的Linux184
12.2 在乐趣中获得成功:一起来玩操作系统186
12.2.1 十一岁开始编程序187
12.2.2 一种操作系统的诞生187
12.3 GNU的开发工具188
本章小结189
习题十二189
第13章 操作系统设计入门190
13.1 操作系统介绍190
13.2 操作系统的基本功能191
13.3 操作系统设计的基本准则191
13.3.1 简单就是优美191
13.3.2 利用已有的基础192
13.3.3 良好的设计192
13.3.4 单内核操作系统和微内核操作系统192
本章小结193
习题十三193
第14章 Linux 0.01内核194
14.1 Linux 0.01内核简介194
14.1.1 Linux 0.01内核背景194
14.1.2 Linux 0.01的技术特色195
14.1.3 存储管理196
14.1.4 文件系统196
14.1.5 硬件平台移植和应用程序196
14.2 Linux 0.01核心代码目录197
14.3 核心源代码的目录分布197
14.3.1 boot目录198
14.3.2 fs目录199
14.3.3 include目录199
14.3.4 init目录200
14.3.5 kernel目录201
14.3.6 lib目录202
14.3.7 mm目录202
14.3.8 tools目录202
14.4 Linux 0.01的main.c分析203
14.5 编译和运行Linux 0.01系统206
本章小结207
习题十四207
第15章 操作系统引导——装载内核208
15.1 操作系统引导基本知识208
15.1.1 系统引导设备208
15.1.2 启动过程简介208
15.1.3 硬盘主引导扇区简介210
15.2 Linux 0.01引导代码分析212
15.2.1 boot.s:BIOS引导代码212
15.2.2 head.s:Linux的32位引导代码212
15.3 实例:使用nasm生成引导代码212
15.3.1 引导代码基础213
15.3.2 最简单的引导程序213
15.3.3 如何设置段寄存器215
15.3.4 在引导程序中装入程序(基于扇区)215
本章小结219
习题十五219
第16章 进程管理和调度220
16.1 进程的概念220
16.1.1 进程的定义220
16.1.2 进程的属性220
16.2 进程调度222
16.2.1 进程调度算法的选择222
16.2.2 进程描述符222
16.2.3 Linux进程调度源代码分析223
16.2.4 进程的切换223
16.3 Linux 0.01内核中的进程调度实例224
16.3.1 进程调度224
16.3.2 用户进程和内核线程225
本章小结227
习题十六227
第17章 存储管理和设计228
17.1 存储管理概述228
17.1.1 信息的二级存储228
17.1.2 存储管理的功能229
17.2 段页式存储管理230
17.2.1 页式存储管理230
17.2.2 段式存储管理231
17.2.3 段页式存储管理232
17.2.4 3种存储管理方式的对比232
17.3 物理存储管理233
17.3.1 技术细节233
17.3.2 物理存储管理器的组织234
17.3.3 物理存储管理器的初始化236
17.3.4 页面分配237
17.3.5 页面回收237
17.3.6 映射237
17.3.7 内存映射239
17.4 虚拟存储管理239
17.4.1 技术细节240
17.4.2 malloc()和free()240
17.4.3 缺页处理241
17.4.4 虚拟存储管理的页面分配242
17.4.5 可执行程序243
17.4.6 交换243
17.4.7 总结244
17.5 malloc()和free()的实现244
17.6 Linux 0.01存储管理代码分析245
17.6.1 memory.c分析245
17.6.2 page.s分析245
本章小结246
习题十七246
第18章 设备管理和调度247
18.1 Linux设备管理概述247
18.1.1 设备管理的基本要求247
18.1.2 驱动程序248
18.2 Linux 0.01中断处理249
18.2.1 中断处理的基本过程249
18.2.2 traps.c文件分析250
18.2.3 /kernel/asm.s文件分析250
18.3 如何编写中断服务程序ISR250
18.4 设备驱动程序实例——利用BIOS的探测系统设备252
18.5 Linux 0.01设备驱动程序源代码分析253
18.5.1 终端控制代码:console.c253
18.5.2 rs323驱动代码:serial.c和rs_io.s253
本章小结253
习题十八254
第19章 磁盘文件系统255
19.1 硬盘驱动器结构简介255
19.1.1 硬盘参数解释255
19.1.2 基本Int 13H调用简介256
19.1.3 扩展Int 13H简介256
19.2 UNIX文件系统分析256
19.3 VFS简介257
19.3.1 VFS的体系结构258
19.3.2 文件的表示259
19.3.3 磁盘布局260
19.4 文件系统设计步骤260
19.4.1 步骤一:磁盘函数库261
19.4.2 步骤二:文件系统261
19.4.3 步骤三:容错性263
19.5 实践:自己编写的简单文件系统263
19.6 Linux 0.01文件系统源代码分析264
本章小结265
习题十九265
第20章 shell编程技术和实例266
20.1 shell的基本概念266
20.2 例子:最简单的shell程序268
20.3 管道和I/O重定向272
20.3.1 使用dup()重定向I/O272
20.3.2 使用pipe()和dup()273
20.3.3 使用dup2()的例子274
20.4 t-shell实现代码分析276
20.4.1 shell总体结构(不支持管道)276
20.4.2 shell总体结构(支持管道)277
20.4.3 main函数277
20.4.4 initialization()函数278
20.4.5 getline()函数279
20.4.6 parse()函数279
20.4.7 command()函数281
20.4.8 execute()函数282
20.4.9 forkexec()函数284
20.4.10 check()函数286
20.4.11 getname()函数286
20.4.12 t-shell的运行效果287
本章小结287
习题二十288
第21章 Linux 0.01系统调用的实现289
21.1 Linux系统调用概述289
21.1.1 系统调用289
21.1.2 系统调用实现290
21.1.3 系统调用到int 0x80中断请求的转换295
21.2 Linux 0.01系统调用实现分析296
21.2.1 system_call.s296
21.2.2 sys.c296
21.3 实例:在Linux中添加新系统调用296
21.3.1 实现系统调用代码296
21.3.2 连接新的系统调用297
21.3.3 重新编译Linux 0.01的内核297
本章小结298
习题二十一298
第四篇 实验299
实验一 Linux系统的安装299
实验二 shell编程300
实验三 进程间通信301
实验四 文件系统302
实验五 设备管理303
实验六 进程调度305
实验七 内存管理306
附录 部分习题参考答案307
参考文献324
热门推荐
- 1143096.html
- 3615227.html
- 2717329.html
- 3640256.html
- 1840175.html
- 3085203.html
- 497446.html
- 2099891.html
- 1697823.html
- 2130646.html
- http://www.ickdjs.cc/book_798909.html
- http://www.ickdjs.cc/book_832986.html
- http://www.ickdjs.cc/book_3114980.html
- http://www.ickdjs.cc/book_3067622.html
- http://www.ickdjs.cc/book_2740531.html
- http://www.ickdjs.cc/book_3834227.html
- http://www.ickdjs.cc/book_1123598.html
- http://www.ickdjs.cc/book_1701024.html
- http://www.ickdjs.cc/book_896093.html
- http://www.ickdjs.cc/book_3218189.html