微信扫一扫,移动浏览光盘
简介
《Linux操作系统(基础原理与应用高等学校计算机专业规划教材)》(作者张玲)以理论结合实践,注重应用为原则,全面、系统地讲述操作系统的基本原理,并将其与Linux的实现和应用技术紧密结合。全书内容分为3个部分: 第1部分为基础篇,内容包括Linux系统概述、Linux系统的操作基础、vi文本编辑器的使用以及Linux C编程基础;第2部分为原理篇,介绍操作系统的基本原理和Linux内核实现技术,内容包括进程管理、存储管理、文件管理、设备管理和操作系统接口;第3部分为应用篇,内容包括Shell程序设计、Linux系统管理以及网络与通信应用。
《Linux操作系统(基础原理与应用高等学校计算机专业规划教材)》文字通俗易懂、举例充分、内容循序渐进,书中配有难度适中且实用性强的示例和习题,可以帮助读者加深对操作系统原理的理解,同时掌握Linux操作系统的应用技术和基本开发技能。本书适合作为高等院校计算机专业和信息类专业本科生操作系统课程的教材,也可作为Linux应用开发人员的自学教材。
目录
第1部分 基础篇
第1章 操作系统概述/31.1 认识操作系统3
1.1.1 操作系统的概念3
1.1.2 操作系统的功能4
1.2 操作系统的发展与现状5
1.2.1 操作系统的发展5
1.2.2 操作系统的分类与现状7
1.3 Linux操作系统概述10
1.3.1 Linux的发展背景与历史10
1.3.2 Linux操作系统的特点13
1.3.3 Linux操作系统的组成13
1.3.4 Linux操作系统的版本14
1.3.5 Linux操作系统的应用与发展16
习题17
第2章 Linux操作基础/18
2.1 Linux基本操作18
2.1.1 登录18
2.1.2 修改口令19
2.1.3 退出20
2.1.4 系统的关闭与重启20
2.2 Linux命令20
2.2.1 命令的格式21
2.2.2 命令的输入与执行21
2.2.3 几个简单命令22
2.2.4 联机帮助25
2.3 Linux文件操作25
2.3.1 Linux系统的文件26
2.3.2 Linux系统的目录
2.3.3 常用的目录操作命令33
2.3.4 常用的文件操作命令37
2.4 输入/输出重定向53
2.4.1 命令的输入与输出53
2.4.2 输入重定向54
2.4.3 输出重定向55
2.4.4 管道59
习题61
第3章 vi文本编辑器/64
3.1 vi文本编辑器概述64
3.1.1 vi文本编辑器介绍64
3.1.2 vi的工作模式65
3.1.3 vi的基本工作流程66
3.2 vi基本命令67
3.2.1 光标定位与移动67
3.2.2 文本输入与删除68
3.2.3 文本修改与替换69
3.2.4 文本拷贝、粘贴与选择70
3.2.5 撤销与重做72
3.3 vi常用末行命令72
3.3.1 搜索与替换命令72
3.3.2 文件操作与退出命令74
3.3.3 其他常用命令74
习题75
第4章 Linux C编程基础/76
4.1 Linux C编程方法概述76
4.2 gcc编译基础77
4.2.1 gcc编译过程77
4.2.2 gcc命令79
4.2.3 gcc应用举例80
4.3 C联机手册83
习题84
第2部分 原理篇
第5章 进程管理/875.1 进程87
5.1.1 程序的顺序执行与并发执行87
5.1.2 进程的概念89
5.1.3 进程控制块90
5.1.4 Linux系统中的进程91
5.2 进程的运行模式95
5.2.1 操作系统的内核95
5.2.2 中断与系统调用97
5.2.3 进程的运行模式97
5.3 进程的描述与组织98
5.3.1 进程的资源98
5.3.2 进程的描述结构99
5.3.3 进程的组织100
5.4 进程控制101
5.4.1 进程控制的功能101
5.4.2 Linux系统的进程控制102
5.4.3 Shell命令的执行过程108
5.5 进程调度109
5.5.1 进程调度的基本原理109
5.5.2 Linux系统的进程调度110
5.5.3 Linux系统的进程切换113
5.6 进程的互斥与同步115
5.6.1 进程间的制约关系115
5.6.2 信号量同步机制117
5.6.3 Linux的信号量机制119
5.6.4 死锁问题119
5.7 进程通信121
5.7.1 进程通信的方式121
5.7.2 Linux信号通信原理122
5.7.3 Linux管道通信原理125
5.8 线程125
5.8.1 线程的概念125
5.8.2 线程与进程的比较126
5.8.3 内核级线程与用户级线程126
5.8.4 Linux中的线程127
习题128
第6章 存储管理/129
6.1 存储管理概述129
6.1.1 内存的分配与回收129
6.1.2 存储地址变换129
6.1.3 内存的保护132
6.1.4 内存的扩充132
6.2 存储管理方案133
6.2.1 分区存储管理133
6.2.2 页式存储管理135
6.2.3 段式存储管理137
6.2.4 段页式存储管理139
6.3 虚拟存储管理139
6.3.1 虚拟存储技术139
6.3.2 页式虚拟存储器原理140
6.4 Linux的存储管理143
6.4.1 x86架构的内存访问机制143
6.4.2 Linux内存管理方案145
6.4.3 进程地址空间的管理146
6.4.4 内存空间的管理与分配150
6.4.5 页面的交换153
习题154
第7章 文件管理/156
7.1 文件管理技术156
7.1.1 文件与文件系统156
7.1.2 文件的逻辑结构与存取方式158
7.1.3 文件的物理结构与存储方式159
7.1.4 文件的共享与保护163
7.1.5 文件存储空间的管理164
7.2 Linux文件系统概述165
7.2.1 Linux文件系统的特点165
7.2.2 Linux文件系统的结构165
7.3 Ext文件系统167
7.3.1 Ext文件的结构167
7.3.2 Ext文件系统的磁盘布局173
7.3.3 Ext文件存储分配策略178
7.4 虚拟文件系统178
7.4.1 VFS的对象179
7.4.2 VFS对象的关联结构182
7.4.3 VFS与进程的接口182
7.4.4 VFS的缓存机制183
7.4.5 文件系统的注册、挂装与卸载185
7.4.6 文件的操作185
习题186
第8章 设备管理/188
8.1 设备管理概述188
8.1.1 设备管理的功能188
8.1.2 设备的分类189
8.1.3 设备与系统的接口189
8.1.4 I/O系统的硬件结构192
8.1.5 I/O系统的软件结构193
8.2 设备管理的相关技术194
8.2.1 中断技术194
8.2.2 缓冲与缓存技术196
8.2.3 DMA技术198
8.3 I/O控制方式199
8.3.1 程序I/O方式200
8.3.2 中断I/O方式200
8.3.3 DMA方式201
8.3.4 通道方式201
8.4 设备的分配与调度202
8.4.1 设备分配的基本方法202
8.4.2 虚拟设备技术203
8.5 设备的驱动204
8.5.1 设备的驱动方式204
8.5.2 驱动程序与中断处理程序204
8.6 Linux设备管理205
8.6.1 Linux设备管理综述205
8.6.2 Linux I/O系统的软件结构207
8.6.3 Linux的设备管理机制208
8.6.4 字符设备的管理与驱动209
8.6.5 块设备的管理与驱动211
8.6.6 Linux的中断处理217
习题219
第9章 操作系统接口/220
9.1 操作系统接口概述220
9.1.1 作业与作业调度220
9.1.2 操作系统的接口221
9.1.3 Linux系统的接口222
9.2 Shell命令接口222
9.2.1 Shell界面的组成222
9.2.2 Shell的功能222
9.2.3 Shell的版本223
9.2.4 Shell的工作流程与原理224
9.3 X图形窗口接口225
9.3.1 X Window系统概述225
9.3.2 X系统的体系结构与工作原理226
9.3.3 X图形界面的组成228
9.3.4 X系统的启动与停止232
9.3.5 Linux桌面系统简介236
9.4 系统调用接口241
9.4.1 系统调用接口概述241
9.4.2 系统调用接口的组成241
9.4.3 系统调用的分类243
9.4.4 系统调用的执行过程244
习题246
第3部分 应用篇
第10章 Shell程序设计/24910.1 Shell语言概述249
10.1.1 Shell语言的特点249
10.1.2 Shell程序249
10.1.3 Shell程序的建立与执行250
10.2 Shell特殊字符251
10.2.1 通配符251
10.2.2 输入/输出重定向与管道符252
10.2.3 命令执行控制符254
10.2.4 命令组合符255
10.2.5 命令替换符256
10.2.6 其他元字符256
10.2.7 元字符的引用256
10.3 Shell变量257
10.3.1 变量的定义与使用257
10.3.2 变量的作用域259
10.3.3 变量的分类261
10.3.4 环境变量261
10.3.5 特殊变量264
10.4 Shell表达式268
10.4.1 数字运算表达式268
10.4.2 逻辑测试表达式269
10.5 Shell控制结构272
10.5.1 条件与条件命令273
10.5.2 分支控制命令273
10.5.3 循环控制命令275
10.5.4 退出循环命令277
10.5.5 退出命令278
10.6 Shell程序综合举例278
习题282
第11章 Linux系统管理/284
11.1 系统管理概述284
11.1.1 系统管理工作的内容284
11.1.2 系统管理工具284
11.1.3 root的权威性与危险性285
11.2 启动与关闭系统285
11.2.1 Linux系统的初始化机制285
11.2.2 系统的启动与关闭操作288
11.3 用户管理289
11.3.1 用户管理概述289
11.3.2 用户管理的相关文件291
11.3.3 用户管理293
11.3.4 用户组管理296
11.4 文件系统维护296
11.4.1 文件系统的目录结构296
11.4.2 存储设备命名规则298
11.4.3 划分磁盘分区300
11.4.4 建立逻辑卷301
11.4.5 建立文件系统302
11.4.6 挂装文件系统303
11.4.7 拆卸文件系统305
11.4.8 修复文件系统305
11.5 系统备份305
11.5.1 备份策略306
11.5.2 备份命令306
11.6 系统监控309
11.6.1 监视用户的登录309
11.6.2 监控进程的运行310
11.6.3 监视内存的使用315
11.6.4 监视文件系统的使用315
11.7 软件安装317
11.7.1 软件的打包与安装317
11.7.2 RPM软件包管理工具318
11.7.3 YUM软件包管理工具321
习题322
第12章 网络与通信应用/323
12.1 TCP/IP网络相关概念323
12.1.1 TCP/IP协议概述323
12.1.2 IP地址与域名324
12.1.3 协议端口325
12.1.4 客户/服务器软件模型326
12.2 Linux网络应用技术327
12.2.1 网络测试327
12.2.2 网络查询329
12.2.3 远程执行命令330
12.2.4 文件传输332
12.2.5 即时通信334
12.3 电子邮件334
12.3.1 电子邮件的结构335
12.3.2 电子邮件系统的工作原理335
12.3.3 在Linux中使用邮件337
习题339
附录ALinux系统的安装/341
A.1 安装准备340
A.1.1 获得安装介质340
A.1.2 确定安装方式340
A.2 在硬盘分区中安装Linux系统341
A.2.1 安装前准备341
A.2.2 安装过程341
A.2.3 安装后设置346
A.3 在虚拟机中安装Linux系统349
A.3.1 虚拟机技术简介349
A.3.2 安装虚拟机软件350
A.3.3 创建虚拟机350
A.3.4 调整虚拟机设置351
A.3.5 在虚拟机中安装和运行Linux352
附录BLinux C开发工具简介/355
B.1 Linux C开发环境355
B.2 Make工具介绍357
B.2.1 makefile文件358
B.2.2 make命令360
B.3 调试工具介绍362
B.3.1 gdb命令362
B.3.2 gdb的使用364
参考文献/371
第1章 操作系统概述/31.1 认识操作系统3
1.1.1 操作系统的概念3
1.1.2 操作系统的功能4
1.2 操作系统的发展与现状5
1.2.1 操作系统的发展5
1.2.2 操作系统的分类与现状7
1.3 Linux操作系统概述10
1.3.1 Linux的发展背景与历史10
1.3.2 Linux操作系统的特点13
1.3.3 Linux操作系统的组成13
1.3.4 Linux操作系统的版本14
1.3.5 Linux操作系统的应用与发展16
习题17
第2章 Linux操作基础/18
2.1 Linux基本操作18
2.1.1 登录18
2.1.2 修改口令19
2.1.3 退出20
2.1.4 系统的关闭与重启20
2.2 Linux命令20
2.2.1 命令的格式21
2.2.2 命令的输入与执行21
2.2.3 几个简单命令22
2.2.4 联机帮助25
2.3 Linux文件操作25
2.3.1 Linux系统的文件26
2.3.2 Linux系统的目录
2.3.3 常用的目录操作命令33
2.3.4 常用的文件操作命令37
2.4 输入/输出重定向53
2.4.1 命令的输入与输出53
2.4.2 输入重定向54
2.4.3 输出重定向55
2.4.4 管道59
习题61
第3章 vi文本编辑器/64
3.1 vi文本编辑器概述64
3.1.1 vi文本编辑器介绍64
3.1.2 vi的工作模式65
3.1.3 vi的基本工作流程66
3.2 vi基本命令67
3.2.1 光标定位与移动67
3.2.2 文本输入与删除68
3.2.3 文本修改与替换69
3.2.4 文本拷贝、粘贴与选择70
3.2.5 撤销与重做72
3.3 vi常用末行命令72
3.3.1 搜索与替换命令72
3.3.2 文件操作与退出命令74
3.3.3 其他常用命令74
习题75
第4章 Linux C编程基础/76
4.1 Linux C编程方法概述76
4.2 gcc编译基础77
4.2.1 gcc编译过程77
4.2.2 gcc命令79
4.2.3 gcc应用举例80
4.3 C联机手册83
习题84
第2部分 原理篇
第5章 进程管理/875.1 进程87
5.1.1 程序的顺序执行与并发执行87
5.1.2 进程的概念89
5.1.3 进程控制块90
5.1.4 Linux系统中的进程91
5.2 进程的运行模式95
5.2.1 操作系统的内核95
5.2.2 中断与系统调用97
5.2.3 进程的运行模式97
5.3 进程的描述与组织98
5.3.1 进程的资源98
5.3.2 进程的描述结构99
5.3.3 进程的组织100
5.4 进程控制101
5.4.1 进程控制的功能101
5.4.2 Linux系统的进程控制102
5.4.3 Shell命令的执行过程108
5.5 进程调度109
5.5.1 进程调度的基本原理109
5.5.2 Linux系统的进程调度110
5.5.3 Linux系统的进程切换113
5.6 进程的互斥与同步115
5.6.1 进程间的制约关系115
5.6.2 信号量同步机制117
5.6.3 Linux的信号量机制119
5.6.4 死锁问题119
5.7 进程通信121
5.7.1 进程通信的方式121
5.7.2 Linux信号通信原理122
5.7.3 Linux管道通信原理125
5.8 线程125
5.8.1 线程的概念125
5.8.2 线程与进程的比较126
5.8.3 内核级线程与用户级线程126
5.8.4 Linux中的线程127
习题128
第6章 存储管理/129
6.1 存储管理概述129
6.1.1 内存的分配与回收129
6.1.2 存储地址变换129
6.1.3 内存的保护132
6.1.4 内存的扩充132
6.2 存储管理方案133
6.2.1 分区存储管理133
6.2.2 页式存储管理135
6.2.3 段式存储管理137
6.2.4 段页式存储管理139
6.3 虚拟存储管理139
6.3.1 虚拟存储技术139
6.3.2 页式虚拟存储器原理140
6.4 Linux的存储管理143
6.4.1 x86架构的内存访问机制143
6.4.2 Linux内存管理方案145
6.4.3 进程地址空间的管理146
6.4.4 内存空间的管理与分配150
6.4.5 页面的交换153
习题154
第7章 文件管理/156
7.1 文件管理技术156
7.1.1 文件与文件系统156
7.1.2 文件的逻辑结构与存取方式158
7.1.3 文件的物理结构与存储方式159
7.1.4 文件的共享与保护163
7.1.5 文件存储空间的管理164
7.2 Linux文件系统概述165
7.2.1 Linux文件系统的特点165
7.2.2 Linux文件系统的结构165
7.3 Ext文件系统167
7.3.1 Ext文件的结构167
7.3.2 Ext文件系统的磁盘布局173
7.3.3 Ext文件存储分配策略178
7.4 虚拟文件系统178
7.4.1 VFS的对象179
7.4.2 VFS对象的关联结构182
7.4.3 VFS与进程的接口182
7.4.4 VFS的缓存机制183
7.4.5 文件系统的注册、挂装与卸载185
7.4.6 文件的操作185
习题186
第8章 设备管理/188
8.1 设备管理概述188
8.1.1 设备管理的功能188
8.1.2 设备的分类189
8.1.3 设备与系统的接口189
8.1.4 I/O系统的硬件结构192
8.1.5 I/O系统的软件结构193
8.2 设备管理的相关技术194
8.2.1 中断技术194
8.2.2 缓冲与缓存技术196
8.2.3 DMA技术198
8.3 I/O控制方式199
8.3.1 程序I/O方式200
8.3.2 中断I/O方式200
8.3.3 DMA方式201
8.3.4 通道方式201
8.4 设备的分配与调度202
8.4.1 设备分配的基本方法202
8.4.2 虚拟设备技术203
8.5 设备的驱动204
8.5.1 设备的驱动方式204
8.5.2 驱动程序与中断处理程序204
8.6 Linux设备管理205
8.6.1 Linux设备管理综述205
8.6.2 Linux I/O系统的软件结构207
8.6.3 Linux的设备管理机制208
8.6.4 字符设备的管理与驱动209
8.6.5 块设备的管理与驱动211
8.6.6 Linux的中断处理217
习题219
第9章 操作系统接口/220
9.1 操作系统接口概述220
9.1.1 作业与作业调度220
9.1.2 操作系统的接口221
9.1.3 Linux系统的接口222
9.2 Shell命令接口222
9.2.1 Shell界面的组成222
9.2.2 Shell的功能222
9.2.3 Shell的版本223
9.2.4 Shell的工作流程与原理224
9.3 X图形窗口接口225
9.3.1 X Window系统概述225
9.3.2 X系统的体系结构与工作原理226
9.3.3 X图形界面的组成228
9.3.4 X系统的启动与停止232
9.3.5 Linux桌面系统简介236
9.4 系统调用接口241
9.4.1 系统调用接口概述241
9.4.2 系统调用接口的组成241
9.4.3 系统调用的分类243
9.4.4 系统调用的执行过程244
习题246
第3部分 应用篇
第10章 Shell程序设计/24910.1 Shell语言概述249
10.1.1 Shell语言的特点249
10.1.2 Shell程序249
10.1.3 Shell程序的建立与执行250
10.2 Shell特殊字符251
10.2.1 通配符251
10.2.2 输入/输出重定向与管道符252
10.2.3 命令执行控制符254
10.2.4 命令组合符255
10.2.5 命令替换符256
10.2.6 其他元字符256
10.2.7 元字符的引用256
10.3 Shell变量257
10.3.1 变量的定义与使用257
10.3.2 变量的作用域259
10.3.3 变量的分类261
10.3.4 环境变量261
10.3.5 特殊变量264
10.4 Shell表达式268
10.4.1 数字运算表达式268
10.4.2 逻辑测试表达式269
10.5 Shell控制结构272
10.5.1 条件与条件命令273
10.5.2 分支控制命令273
10.5.3 循环控制命令275
10.5.4 退出循环命令277
10.5.5 退出命令278
10.6 Shell程序综合举例278
习题282
第11章 Linux系统管理/284
11.1 系统管理概述284
11.1.1 系统管理工作的内容284
11.1.2 系统管理工具284
11.1.3 root的权威性与危险性285
11.2 启动与关闭系统285
11.2.1 Linux系统的初始化机制285
11.2.2 系统的启动与关闭操作288
11.3 用户管理289
11.3.1 用户管理概述289
11.3.2 用户管理的相关文件291
11.3.3 用户管理293
11.3.4 用户组管理296
11.4 文件系统维护296
11.4.1 文件系统的目录结构296
11.4.2 存储设备命名规则298
11.4.3 划分磁盘分区300
11.4.4 建立逻辑卷301
11.4.5 建立文件系统302
11.4.6 挂装文件系统303
11.4.7 拆卸文件系统305
11.4.8 修复文件系统305
11.5 系统备份305
11.5.1 备份策略306
11.5.2 备份命令306
11.6 系统监控309
11.6.1 监视用户的登录309
11.6.2 监控进程的运行310
11.6.3 监视内存的使用315
11.6.4 监视文件系统的使用315
11.7 软件安装317
11.7.1 软件的打包与安装317
11.7.2 RPM软件包管理工具318
11.7.3 YUM软件包管理工具321
习题322
第12章 网络与通信应用/323
12.1 TCP/IP网络相关概念323
12.1.1 TCP/IP协议概述323
12.1.2 IP地址与域名324
12.1.3 协议端口325
12.1.4 客户/服务器软件模型326
12.2 Linux网络应用技术327
12.2.1 网络测试327
12.2.2 网络查询329
12.2.3 远程执行命令330
12.2.4 文件传输332
12.2.5 即时通信334
12.3 电子邮件334
12.3.1 电子邮件的结构335
12.3.2 电子邮件系统的工作原理335
12.3.3 在Linux中使用邮件337
习题339
附录ALinux系统的安装/341
A.1 安装准备340
A.1.1 获得安装介质340
A.1.2 确定安装方式340
A.2 在硬盘分区中安装Linux系统341
A.2.1 安装前准备341
A.2.2 安装过程341
A.2.3 安装后设置346
A.3 在虚拟机中安装Linux系统349
A.3.1 虚拟机技术简介349
A.3.2 安装虚拟机软件350
A.3.3 创建虚拟机350
A.3.4 调整虚拟机设置351
A.3.5 在虚拟机中安装和运行Linux352
附录BLinux C开发工具简介/355
B.1 Linux C开发环境355
B.2 Make工具介绍357
B.2.1 makefile文件358
B.2.2 make命令360
B.3 调试工具介绍362
B.3.1 gdb命令362
B.3.2 gdb的使用364
参考文献/371
Linux操作系统:基础、原理与应用
光盘服务联系方式: 020-38250260 客服QQ:4006604884
云图客服:
用户发送的提问,这种方式就需要有位在线客服来回答用户的问题,这种 就属于对话式的,问题是这种提问是否需要用户登录才能提问
Video Player
×
Audio Player
×
pdf Player
×