基本信息·出版社:清华大学出版社 ·页码:343 页 ·出版日期:2008年11月 ·ISBN:7302186898/9787302186892 ·条形码:9787302186892 ·版本:第1版 · ...
商家名称 |
信用等级 |
购买信息 |
订购本书 |
|
|
Linux操作系统分析与实践 |
|
|
|
Linux操作系统分析与实践 |
|
基本信息·出版社:清华大学出版社
·页码:343 页
·出版日期:2008年11月
·ISBN:7302186898/9787302186892
·条形码:9787302186892
·版本:第1版
·装帧:平装
·开本:16
·正文语种:中文
内容简介 《Linux操作系统分析与实践》简要介绍操作系统的定义、功能、特性,以及发展历史、分类、内核结构,阐述计算机硬件系统对操作系统的支持与要求,以Linux 2.6版本为例详细分析Linux操作系统的进程管理、内存管理、文件管理和设备管理的工作原理和设计。然后详细介绍字符设备、块设备和网络设备的Linux驱动程序设计与实现方法。除此以外,还给出了Linux系统管理、内核同步机制、进程间通信、内存管理、Proc文件创建、设备驱动程序、内核裁减等实验内容及有关参考代码。
《Linux操作系统分析与实践》通过详细的例子引导渎者系统地学习Linux操作系统的工作原理与设计,并通过Linux设备驱动程序设计实践强化对Linux操作系统的理解和应用。《Linux操作系统分析与实践》适于作为计算机相关专业方向的高年级学生或研究生的教材,也适合有志于从事Linux操作系统研究和开发的工程师阅读。
编辑推荐 近十年来,Linux在促进信息产业发展的同时,也为设计各种新型操作系统提供了难得的案例。应该说Linux为操作系统研究者提供了新理论、新方法、新技术的实践和验证平台,同时反过来促进了操作系统的不断发展。Linux由于源代码公开,特别适合于高等学校计算机专业本科生操作系统课程的教学。
《Linux操作系统分析与实践》注重学生对Linux操作系统分析和设计能力的培养,系统地介绍了操作系统的定义、功能等基本知识,并以Intel X86为例介绍了计算机硬件子系统对操作系统的支持与要求,进程管理以及在Linux内核里的实现方法,内存管理的基本原理、技术;以Ext2,Proc为例详细介绍了Linux文件系统,设备管理的基本原理以及Linux设备管理的特点,Linux字符设备和块设备驱动程序设计的方法及实例等等。
目录 第1章 操作系统概述
1.1 操作系统在计算机系统中的地位
1.2 操作系统的定义、功能和特性
1.2.1 操作系统的定义
1.2.2 操作系统的特征
1.2.3 操作系统的功能
1.3 操作系统的发展历史及分类
1.3.1 操作系统的发展过程
1.3.2 操作系统分类
1.4 操作系统的内核体系结构模型
1.5 Linux的特点及发展简史
1.5.1 什么是Linux
1.5.2 Linux的发展历程
1.5.3 Linux的特性
1.5.4 Linux内核的版本演化介绍
1.6 Linux内核的结构及主要组成部分
1.6.1 Linux内核系统体系结构
1.6.2 Linux内核的源码组织结构
1.7 本章小结
思考题
进一步阅读
第2章 计算机系统硬件基础
2.1 计算机硬件的组成结构
2.2 处理器的工作模式
2.3 80x86的保护模式
2.3.1 80x86系统寄存器
2.3.2 存储管理机制
2.3.3 分段机制
2.3.4 分页机制
2.3.5 保护机制
2.4 中断陷入与异常处理
2.4.1 中断与异常
2.4.2 中断系统
2.4.3 中断处理过程
2.4.4 时钟中断
2.5 任务切换
2.6 SMP及多核技术
2.7 Linux系统引导过程概述
2.7.1 BIOS引导
2.7.2 LILO/GRUB引导
2.7.3 Kernel Boot
2.7.4 Init引导
2.8 本章小结
思考题
进一步阅读
第3章 进程管理
3.1 进程的原理和实现
3.1.1 进程控制块
3.1.2 进程状态
3.1.3 进程的标识
3.1.4 进程描述符在内存里的组织形式
3.1.5 进程的睡眠和唤醒
3.2 线程的原理与实现
3.3 Linux进程创建和结束
3.3.1 进程的创建
3.3.2 进程的结束
3.4 进程调度
3.4.1 进程的切换
3.4.2 进程的调度策略
3.4.3 进程调度的触发和进程切换的时机
3.4.4 运行队列
3.4.5 调度域
3.4.6 抢占
3.4.7 调度的时间复杂度
3.4.8 函数schedule的实现
3.4.9 函数load balance的实现
3.5 并发控制原理
3.5.1 同步原语简介
3.5.2 死锁
3.5.3 同步原语
3.6 Linux下的同步机制
3.6.1 处理器数据
3.6.2 可抢占内核
3.6.3 开关中断
3.6.4 原子操作
3.6.5 栅栏
3.6.6 自旋锁和读写锁
3.6.7 Fast User Space Mutex
3.6.8 信号量
3.7 Linux下进程间通信
3.7.1 管道
3.7.2 命名管道
3.7.3 消息队列
3.7.4 共享内存
3.7.5 套接口
3.8 本章小结
思考题
进一步阅读
第4章 内存管理
4.1 内存管理概述
4.1.1 内存管理的目的和功能
4.1.2 内存分配的方式
4.1.3 重定位
4.2 内存管理的基本技术
4.2.1 分区法
4.2.2 可重定位分区法
4.2.3 覆盖技术
4.2.4 交换技术
4.3 分页技术
4.3.1 分页内存管理的基本原理
4.3.2 分页技术中的地址映射
4.3.3 页面保护方式
4.4 分段技术
4.4.1 分段技术的基本原理
4.4.2 分段的地址转换
4.4.3 段的共享和保护
4.5 段页式技术
4.5.1 段页式技术的基本原理
4.5.2 地址转换过程
4.6 虚拟存储器技术
4.6.1 程序的局部性原理
4.6.2 虚拟存储器的概念
4.6.3 虚拟存储管理需要考虑的问题
4.6.4 虚拟分页技术的基本原理
4.6.5 请求页式管理中的置换算法
4.6.6 抖动问题
4.6.7 性能分析
4.7 Linux的内存管理
4.7.1 进程的虚存空间及其划分
4.7.2 进程空间的描述
4.7.3 物理内存的管理
4.7.4 基于Slab的缓存管理
4.7.5 页面换出或丢弃
4.7.6 交换Cache
4.7.7 页面的换人
4.8本章小结
思考题
第5章 文件系统
第6章 设备管理
第7章 Linux驱动程度编写基础
第8章 字符设备和块设备驱动程度
第9章 网络设备驱动程度
实验1 Linux系统管理
实验2 剪裁内核
实验3 内核同步机制
实验4 进程间通信(内存映射、共享内存、信号量、管道和信号等)
实验5 proc文件系统
实验6 虚拟内存的管理
实验7 字符、块设备和网卡驱动
参考文献
……
序言 诞生于1991年,今年“寂寞十七岁”的Linux一点也不寂寞。从微型嵌入式系统到超级计算机,处处都可看到Linux多彩的光环。十七年来一步一个脚印,Linux正存成为操作系统的另一主流。
Linux也是开放式创新的好见证。开源社区集结全球精英,为共同的需求一起创新。通过热烈的讨论与相互的脑力激荡,开源项目的开发过程也就是一个宝贵的学习过程。
《Linux操作系统分析与实践》的出版为莘莘学子及业界人士提供了一本完整的Linux教材,理论概念介绍与实验指导紧密结合,结构清晰、内容顺畅易懂。除Linux之外,这本教材很有系统地讲述了操作系统的主要模块,因此它也将是一般操作系统课程的好教材;并且更能为未来虚拟化、实时性及安全性系统的教材打下扎实的基础。
英特尔公司多年来不断与高等学校合作,并积极参与Linux开源项目的开发,此次能够为长年合作的教授们开发本教材提供支持,英特尔公司深感欣喜,也祝贺他们为中国高等学校计算机专业教学水平的提高做出新的贡献。
文摘 第1章 操作系统概述
1.5 Linux的特点及发展简史
1.5.1 什么是Linux
Linux是由Linus Torvalds和许多自由软件开发者,通过Internet共同努力而形成的一种能运行于多种硬件平台(Intel、Alpha、PowerPC和Sun SPARC)之上,源代码公开,功能强大,运行稳定高效,遵守POSIX标准,与UNIX兼容的免费操作系统。
1.5.2 Linux的发展历程
Linux的历史可以上溯到20世纪60年代末,美国贝尔实验室发明了UNIX,一个多用户多任务的操作系统。那个年代,计算机程序的源码都是公开的,尽管它们很多时候只能被专业前沿的程序员们看懂。到了20世纪70年代,操作系统开始商业化,出于利益最大化等的考虑,源代码开始向用户封闭,这给许多传统的程序员黑客带来了不便,他们能够发现程序中的漏洞并有解决的能力,但是提供程序的商业公司却拒绝让用户直接修改。对传统黑客来说,这对计算机软件的发展是一个相当大的限制。
1984年,黑客Richard M Stallman成立了自由软件基金会(Free Software Foundation,FSF)和开源项目计划GNU,并提出了著名的开源协议标准GPL。GNU的意思就是GNU's Not UNIX,以一个递归式的定义描述了自己和UNIX有关又不同于UNIX的特点。其计划是开发出一套完整的免费、公开源代码的UNIX操作系统和及其应用软件。
到20世纪80年代末,GNU计划的很多工作已经完工,包括了C语言的编译器GCC,文本编辑软件emacs等,但是操作系统计划Hurd却迟迟没有推出。这时芬兰大学生Linus Tovalds于1991年10月在学校的ftp上发布了自己所编写的类UNIX操作系统——Linux 0.02版的源代码,并宣布它遵守GPL协议,而且符合UNIX的操作系统P()SIX标准,源代码可以在UNIX主机上用9cc编译生成可执行的二进制代码,可以在个人计算机平台(Intel 80386)上运行。这些纯粹是源于他的业余爱好。Linus在上大学时,操作系统课程中讲述的是Minix,一种用于教学的小型的类UNIX操作系统。他觉得Minix不太好,决定自己写一个保护模式下的操作系统。1991年8月,Linus完成了Linux的0.01版,当然它很不完善,甚至没有软盘驱动程序。