注册 | 登录读书好,好读书,读好书!
读书网-DuShu.com
当前位置: 首页出版图书科学技术计算机/网络操作系统LinuxLinux 0.01内核分析与操作系统设计:创造你自己的操作系统

Linux 0.01内核分析与操作系统设计:创造你自己的操作系统

Linux 0.01内核分析与操作系统设计:创造你自己的操作系统

定 价:¥32.00

作 者: 卢军编著
出版社: 清华大学出版社
丛编项: 创作你自己的操作系统
标 签: Linux

ISBN: 9787302094074 出版时间: 2004-10-01 包装: 胶版纸
开本: 26cm+光盘1片 页数: 314 字数:  

内容简介

  本书巧妙地结合了Linux内核源代码分析、操作系统设计原理和操作系统设计实践三个方面的内容,在对Linux 0.01内核源代码进行深入分析的基础上,讲解了操作系统设计的基本原理和方法技巧。同时,还向读者提供了大量的操作系统实践方面的实例。通过对本书的学习,读者可以对操作系统的内核有深入的了解,掌握基本的硬件操作和控制能力,具有对操作系统的理解和实践能力。本书中的所有例子,都可以使用GNU编译器来编译,所有的工具软件也都可以应用到GNU的自由软件中。本书内容丰富、通俗易懂、可操作性强,既可作为大学高年级本科和研究生学习操作系统设计的辅导教材,也可作为计算机爱好者学习和分析Linux内核的教材。同时,也是软件工程师进行各类操作系统设计的最佳参考用书。

作者简介

暂缺《Linux 0.01内核分析与操作系统设计:创造你自己的操作系统》作者简介

图书目录

第1章  GNU和Linux简介
 1. 1  自由的天地:GNU和Linux
 1. 1. 1  热爱和享受自由
 1. 1. 2  神奇的Linux
 1. 2  在乐趣中获得成功
 1. 2. 1  11岁开始编程序
 1. 2. 2  一种操作系统的诞生
 1. 3  GNU的开发工具
 1. 3. 1  编译器家族GCC
 1. 3. 2  和操作系统开发有关的工具
 1. 4  本章小结
 第2章  操作系统设计入门
 2. 1  操作系统介绍
 2. 1. 1  早期的操作系统
 2. 1. 2  DOS操作系统
 2. 1. 3  Unix和Windows操作系统两大阵营
 2. 1. 4  自由时代的宠儿Linux
 2. 2  操作系统的基本功能
 2. 3  编写操作系统的建议
 2. 3. 1  编程语言选择
 2. 3. 2  编译器和链接器
 2. 3. 3  运行时函数库
 2. 3. 4  使用汇编语言完成底层操作
 2. 3. 5  关于C++的使用
 2. 4  x86虚拟机Bochs使用简介
 2. 4. 1 Bochs简介
 2. 4. 2  下载Bochs软件
 2. 4. 3  如何安装Bochs
 2. 5  使用Bochs运行一个操作系统
 2. 5. 1  制作一个软盘镜像文件
 2. 5. 2  使用Bochs运行操作系统
 2. 6  操作系统设计的基本准则
 2. 6. 1  简单就是优美
 2. 6. 2  利用已有的基础
 2. 6. 3  良好的设计
 2. 6. 4  单内核操作系统和微内核操作系统
 2. 7  本章小结
 第3章  操作系统设计基础
 3. 1  使用DJGPP
 3. 1. 1  DJGPP和RHIDE的安装与使用
 3. 1. 2  make的使用
 3. 1. 3  ld的使用
 3. 1. 4  nasm的使用
 3. 2  保护模式汇编语言
 3. 2. 1  一个简单的实模式的汇编语言的例子
 3. 2. 2  Linux汇编程序设计
 3. 3  实例:一些简单的例子程序
 3. 3. 1  识别CPU类型
 3. 3. 2  直接向视频缓冲区输出
 3. 3. 3  检测显示器类型
 3. 3. 4  移动光标
 3. 4  本章小结
 第4章  Linux0. 01内核简介
 4. 1  Linux0. 01内核简介
 4. 1. 1  Linux 0. 01内核背景
 4. 1. 2  Linux0. 01内核的技术特色
 4. 1. 3  存储管理
 4. 1. 4  文件系统
 4. 1. 5  硬件平台移植和应用程序
 4. 2  Linux0. 01核心代码目录
 4. 3  核心源代码的目录分布
 4. 3. 1  boot目录
 4. 3. 2  fs目录
 4. 3. 3  include目录
 4. 3. 4  init目录
 4. 3. 5  kernel目录
 4. 3. 6  lib目录
 4. 3. 7  mm目录
 4. 3. 8  tools目录
 4. 4  Linux0. 01的main. c分析
 4. 5  编译和运行Linux0. 01系统
 4. 6  本章小结
 第5章  操作系统引导
 5. 1  操作系统引导的基本知识
 5. 1. 1  系统引导设备
 5. 1. 2  启动过程简介
 5. 1. 3  硬盘主引导扇区简介
 5. 1. 4  软盘主引导扇区
 5. 1. 5  Linux0. 01引导代码分析
 5. 2  引导扇区和引导代码实例分析
 5. 2. 1  引导扇区的内容
 5. 2. 2  使用debug建立自己的第一张启动盘
 5. 2. 3  使用BIOS增强"操作系统"功能
 5. 3  使用nasm生成引导代码
 5. 3. 1  引导代码基础
 5. 3. 2  最简单的引导程序
 5. 3. 3  如何设置段寄存器
 5. 3. 4  在引导程序中装入程序(基于扇区)
 5. 4  本章小结
 第6章  存储管理分析
 6. 1  操作系统内存管理策略简述
 6. 1. 1  连续分配存储管理方式
 6. 1. 2  虚存组织
 6. 1. 3  非连续存储管理机制
 6. 2  物理存储管理
 6. 2. 1  技术细节
 6. 2. 2  物理存储管理器的组织
 6. 2. 3  物理存储管理器的初始化
 6. 2. 4  页面分配
 6. 2. 5  页面回收
 6. 2. 6  映射
 6. 2. 7  内存映射
 6. 3  虚拟存储管理
 6. 3. 1  技术细节
 6. 3. 2  malloc()和free()
 6. 3. 3  缺页处理
 6. 3. 4  虚拟存储管理的页面分配
 6. 3. 5  可执行程序
 6. 3. 6  交换
 6. 3. 7  处理流程
 6. 4  存储管理系统代码实例
 6. 4. 1  实例1:探测计算机的物理内存容量
 6. 4. 2  实例2:malloc()和free()的实现
 6. 5  Linux0. 01存储管理代码分析
 6. 5. 1  memory. c分析
 6. 5. 2  page. s分析
 6. 6  本章小结
 第7章  进程管理和调度
 7. 1  进程介绍
 7. 1. 1  进程的基本功能
 7. 1. 2  进程的调度(schedule()函数)
 7. 1. 3  线程
 7. 2  多任务实现基础
 7. 3  进程调度的性能分析
 7. 4  Linux进程调度源代码分析
 7. 5  实例:实现协作式多任务
 7. 6  本章小结
 第8章  设备管理和调度
 8. 1  Linux设备管理概述
 8. 1. 1  设备管理的基本要求
 8. 1. 2  驱动程序(Drivers)
 8. 1. 3  接口(Interfaces)
 8. 1. 4  异步I/O(AsynchronousI/O)
 8. 2  Linux0. 01中断处理
 8. 2. 1  中断处理的基本过程
 8. 2. 2  traps. c文件分析
 8. 2. 3/kemel/asm. s文件分析
 8. 3  如何编写中断服务程序ISR
 8. 4  设备驱动程序实例
 8. 4. 1  利用BIOS的探测系统设备
 8. 4. 2  块设备驱动
 8. 4. 3  键盘驱动
 8. 4. 4  访问8042芯片各端口
 8. 4. 5  发给8042的命令
 8. 4. 6  发给8048的命令
 8. 4. 7  8048到8042的数据
 8. 4. 8  键盘源代码
 8. 4. 9  探测软盘驱动器
 8. 5  Linux0. 01设备驱动程序源代码分析
 8. 5. 1  终端控制代码:console. c
 8. 5. 2  rs323驱动代码:serial. c和rs io. s
 8. 6  本章小结
 第9章  磁盘文件系统
 9. 1  硬盘驱动器结构简介
 9. 1. 1  硬盘参数解释
 9. 1. 2  基本INTl3h调用简介
 9. 1. 3  现代硬盘结构简介
 9. 1. 4  扩展INTl3h简介
 9. 2  Unix文件系统
 9. 2. 1  磁盘的基础特性
 9. 2. 2  现代磁盘的寻道延迟特性
 9. 2. 3  Unix文件系统分析
 9. 3  Virtual File System(VFS)简介
 9. 3. 1  VFS的体系结构
 9. 3. 2  文件的表示
 9. 3. 3  磁盘布局(Disklayout)
 9. 4  文件系统设计步骤
 9. 4. 1  磁盘函数库(Disklibrary)
 9. 4. 2  文件系统(Piles~tem)
 9. 4. 3  容错性(Robustness)
 9. 5  自己编写的简单文件系统
 9. 6  Linux0. 01文件系统源代码分析
 9. 7  本章小结
 第10章  shell编程技术和实例
 10. 1  shell的基本概念
 10. 2  实例:最简单的shell程序
 10. 3  管道和I/O重定向
 10. 3. 1  使用dup()重定向I/O
 10. 3. 2  使用pipe()和dup()
 10. 3. 3  使用dup2()的例子
 10. 4  t-shell实现代码分析
 10. 4. 1  shell总体结构(不支持管道)
 10. 4. 2  shell总体结构(支持管道)
 10. 4. 3  main()函数
 10. 4. 4  initialization()函数
 10. 4. 5  getline()函数
 10. 4. 6  parse()函数
 10. 4. 7  command()函数
 10. 4. 8  execute()函数
 10. 4. 9  forkexec()函数
 10. 4. 10  check()函数
 10. 4. 11  getname()函数
 10. 4. 12  t-shell的运行效果
 10. 5  本章小结
 第11章  系统调用和C语言库的实现
 11. 1  Linux系统调用概述
 11. 1. 1  系统调用
 11. 1. 2  系统调用的实现
 11. 1. 3  系统调用到INT0x80h中断请求的转换
 11. 2  Linux0. 01系统调用实现分析
 11. 2. 1  system-call. s
 11. 2. 2  sys. c
 11. 3  试验:在Linux中添加新的系统调用
 11. 3. 1  实现系统调用的代码
 11. 3. 2  链接新的系统调用
 11. 3. 3  重新编译Linux0. 01的内核
 11. 4  C语言标准库函数的实现
 11. 4. 1  字符串和内存操作函数
 11. 4. 2  I/O函数库
 11. 4. 3  工具函数:随机数
 11. 5  本章小结
 第12章  Linux网络实现分析
 12. 1  TCP/IP概述
 12. 1. 1  协定分层原则
 12. 1. 2  网络访问层
 12. 1. 3  网络层
 12. 1. 4  传输层
 12. 1. 5  应用层
 12. 2  环形缓冲区
 12. 2. 1  环形缓冲区的实现原理
 12. 2. 2  实例:环形缓冲区的实现
 12. 3  通信协议中的定时器编程
 12. 3. 1  基本定时编程
 12. 3. 2  高精度定时中断编程
 12. 4  简单停等协议
 12. 4. 1  停等协议简介
 12. 4. 2  有限状态机
 12. 4. 3  差错控制
 12. 5  实例:串口数据通信
 12. 6  实例:停等协议的实现
 12. 7  本章小结
 参考文献

本目录推荐