当前位置首页 > 百科> 正文

Linux 作业系统原理与套用(第2版)

2019-08-02 03:06:14 百科
Linux 作业系统原理与套用(第2版)

Linux 作业系统原理与套用(第2版)

《Linux 作业系统原理与套用(第2版)》是2012年清华大学出版社出版的图书,作者是陈莉君、康华等。

基本介绍

  • 书名:《Linux 作业系统原理与套用(第2版)》
  • 作者:陈莉君等
  • ISBN:9787302278368
  • 定价:28元
  • 出版社:清华大学出版社
  • 出版时间:2012年
  • 装帧:平装
  • 印次:2-1

图书简介

《Linux 作业系统原理与套用(第2版)》是Linux核心及动手实践的入门教程。在庞大的Linux核心中,选取最基本的内容——进程管理、中断、记忆体管理、系统调用、核心同步、档案系统、I/O设备管理等进行阐述。从原理出发,基于Linux核心原始码但又不局限于代码,分析原理如何落实到代码,并通过简单有效的实例说明如何调用Linux核心提供的函式进行核心级程式的开发。主要章节给出了具有实用价值的小型套用,从而让读者在实践中加深对原理的理解和套用能力。
本书是Linux核心及动手实践的入门教程。在庞大的Linux核心中,选取最基本的内容——进程管理、中断、记忆体管理、系统调用、核心同步、档案系统、I/O设备管理等进行阐述。从原理出发,基于Linux核心原始码但又不局限于代码,分析原理如何落实到代码,并通过简单有效的实例说明如何调用Linux核心提供的函式进行核心级程式的开发。主要章节给出了具有实用价值的小型套用,从而让读者在实践中加深对原理的理解和套用能力。
本书对于希望深入Linux作业系统内部、阅读Linux核心原始码以及进行核心级程式开发的读者具有较高的参考价值。本书可作为高等院校计算机相关专业的本科生、研究生的教材,Linux套用开发人员、嵌入式系统开发人员等均可从本书中获益。

目录

第1章概述
1.1认识作业系统
1.1.1从使用者角度看
1.1.2从程式开发者的角度看
1.1.3从作业系统在整个计算机系统所处位置看
1.1.4从作业系统设计者的角度看
1.1.5作业系统组成
1.2开放原始码的UNIX/Linux作业系统
1.2.1UNIX诞生和发展
1.2.2Linux诞生
1.2.3作业系统标準POSIX
1.2.4GNU 和 Linux
1.2.5Linux的开发模式
1.3Linux核心
1.3.1Linux 核心的技术特点
1.3.2Linux核心的位置
1.3.3Linux核心体系结构
1.4Linux核心原始码
1.4.1Linux核心版本
1.4.2Linux核心原始码的结构
1.4.3Linux核心原始码分析工具
1.5Linux核心模组编程入门
1.5.1模组的定义
1.5.2编写一个简单的模组
1.5.3应用程式与核心模组的比较
1.6Linux 核心中鍊表的实现及套用
1.6.1鍊表的演化
1.6.2鍊表的定义和操作
1.6.3鍊表的套用
1.7小结
习题
第2章记忆体定址
2.1记忆体定址
2.1.1Intel x86 CPU定址的演变
2.1.280x86暂存器简介
2.1.3物理地址、虚拟地址及线性地址
2.2段机制
2.2.1段描述符
2.2.2地址转换及保护
2.2.3Linux中的段
2.3分页机制
2.3.1页与页表
2.3.2线性地址到物理地址的转换
2.3.3分页举例
2.3.4页面高速快取
2.4Linux中的分页机制
2.5Linux中的彙编语言
2.5.1AT&T与Intel彙编语言的比较
2.5.2AT&T彙编语言的相关知识
2.5.3GCC嵌入式彙编
2.6Linux系统地址映射举例
2.7小结
习题
第3章进程
3.1进程介绍
3.1.1程式和进程
3.1.2进程的层次结构
3.1.3进程状态
3.1.4进程举例
3.2Linux系统中的进程控制块
3.2.1进程状态
3.2.2进程标识符
3.2.3进程之间的亲属关係
3.2.4进程控制块的存放
3.2.5当前进程
3.3Linux系统中进程的组织方式
3.3.1进程鍊表
3.3.2哈希表
3.3.3就绪伫列
3.3.4等待伫列
3.4进程调度
3.4.1基本原理
3.4.2时间片
3.4.3Linux进程调度时机
3.4.4进程调度的依据
3.4.5调度函式schedule()的实现
3.4.6Linux 2.6调度程式的改进
3.5进程的创建
3.5.1创建进程
3.5.2执行绪及其创建
3.6与进程相关的系统调用及其套用
3.6.1fork系统调用
3.6.2exec系统调用
3.6.3wait系统调用
3.6.4exit系统调用
3.6.5进程的一生
3.7系统调用及套用
3.8小结
习题
第4章记忆体管理
4.1Linux的记忆体管理概述
4.1.1虚拟记忆体、核心空间和用户空间
4.1.2虚拟记忆体实现机制间的关係
4.2进程的用户空间管理
4.2.1进程用户空间的描述
4.2.2进程用户空间的创建
4.2.3虚存映射
4.2.4进程的虚存区举例
4.2.5与用户空间相关的系统调用
4.3请页机制
4.3.1缺页异常处理程式
4.3.2请求调页
4.3.3写时複製
4.4物理记忆体分配与回收
4.4.1页描述符
4.4.2伙伴算法
4.4.3物理页面的分配
4.4.4物理页面的回收
4.4.5Slab分配机制
4.4.6核心空间非连续记忆体区的分配
4.4.7物理记忆体分配举例
4.5交换机制
4.5.1交换的基本原理
4.5.2页面交换守护进程kswapd
4.6记忆体管理实例
4.6.1相关背景知识
4.6.2代码体系结构介绍
4.6.3实现过程
4.6.4程式代码
4.7小结
习题
第5章中断和异常
5.1中断是什幺
5.1.1中断向量
5.1.2 外设可禁止中断
5.1.3异常及非禁止中断
5.1.4中断描述符表
5.1.5相关彙编指令
5.2中断描述符表的初始化
5.2.1IDT表项的设定
5.2.2对陷阱门和系统门的初始化
5.2.3中断门的设定
5.2.4中断处理程式的形成
5.3中断处理
5.3.1中断和异常的硬体处理
5.3.2中断请求伫列的建立
5.3.3中断处理程式的执行
5.3.4从中断返回
5.3.5中断的简单套用
5.4中断的下半部处理机制
5.4.1为什幺把中断分为两部分来处理
5.4.2小任务机制
5.4.3工作伫列
5.5中断套用——时钟中断
5.5.1时钟硬体
5.5.2时钟运作机制
5.5.3Linux时间系统
5.5.4时钟中断
5.5.5定时器及套用
5.6小结
习题
第6章系统调用
6.1系统调用与套用编程接口、系统命令以及核心函式的关係
6.1.1系统调用与API
6.1.2系统调用与系统命令
6.1.3系统调用与核心函式
6.2系统调用基本概念
6.2.1系统调用号
6.2.2系统调用表
6.2.3系统调用服务例程和系统调用处理程式
6.3系统调用实现
6.3.1初始化系统调用
6.3.2system_call()函式
6.3.3参数传递
6.3.4跟蹤系统调用的执行
6.4封装例程
6.5添加新系统调用
6.5.1添加系统调用的步骤
6.5.2系统调用的调试
6.6实例系统调用日誌收集系统
6.6.1代码结构体系介绍
6.6.2把代码集成到核心中
6.7小结
习题
第7章核心中的同步
7.1临界区和竞争状态
7.1.1临界区举例
7.1.2共享伫列和加锁
7.1.3确定保护对象
7.1.4死锁
7.1.5并发执行的原因
7.2核心同步措施
7.2.1原子操作
7.2.2自旋锁
7.2.3信号量
7.3生产者消费者并发实例
7.3.1问题分析
7.3.2实现机制
7.3.3具体实现
7.4核心多任务并发实例
7.4.1核心任务及其并发关係
7.4.2问题描述
7.4.3实现机制
7.5小结
习题
第8章档案系统
8.1Linux档案系统基础
8.1.1Linux档案结构
8.1.2档案类型
8.1.3存取许可权和档案模式
8.1.4Linux档案系统
8.2虚拟档案系统
8.2.1虚拟档案系统的引入
8.2.2VFS中对象的演绎
8.2.3VFS的超级块
8.2.4VFS的索引结点
8.2.5目录项对象
8.2.6与进程相关的档案结构
8.2.7主要数据结构间的关係
8.2.8实例——观察数据结构中的数据
8.3档案系统的注册、安装与卸载
8.3.1档案系统的注册和注销
8.3.2档案系统的安装
8.3.3档案系统的卸载
8.4档案的打开与读写
8.4.1档案打开
8.4.2档案读写
8.5编写一个档案系统
8.5.1Linux档案系统的实现要素
8.5.2什幺是Romfs档案系统
8.5.3Romfs档案系统布局与档案结构
8.5.4具体实现的对象
8.6小结
习题
第9章 设备驱动
9.1概述
9.2设备驱动程式框架
9.3I/O空间的管理
9.3.1I/O连线埠和I/O记忆体
9.3.2I/O资源管理
9.3.3访问I/O连线埠空间
9.3.4访问I/O记忆体资源
9.4字元设备驱动程式
9.4.1字元设备的数据结构
9.4.2分配和释放设备号
9.4.3字元设备驱动的组成
9.4.4载入和卸载函式
9.4.5实现file_operaions中定义的函式
9.5块驱动程式
9.5.1块驱动程式的注册
9.5.2块设备请求
9.6小结
习题
参考文献
声明:此文信息来源于网络,登载此文只为提供信息参考,并不用于任何商业目的。如有侵权,请及时联系我们:baisebaisebaise@yeah.net