• 正在加载中...
  • 返璞归真:UNIX技术内幕

    8.5.1概述 9.4.1并口 9.5.1内存

    编辑摘要

    目录

    图书信息/返璞归真:UNIX技术内幕 编辑

      出版社: 电子工业出版社; 第1版 (2010年6月1日)

      平装: 751页

      正文语种: 简体中文

      开本: 16

      ISBN: 7121108712, 9787121108716

      条形码: 9787121108716

      尺寸: 26.8 x 18.8 x 3.6 cm

      重量: 1.7 Kg

    作者简介/返璞归真:UNIX技术内幕 编辑

      郝庆丰,毕业于清华大学电机系,曾在朗讯、爱立信等知名外企从事多年的软件开发工作,有着多个UNIX和Linux平台下大型服务器、网关项目的开发经验,并且参与过其中大部分项目的架构设计。结合所开发项目,作者深入研究了UNIX操作系统内核,并付诸于产品性能优化之类的实际应用,现在IBMCDL部门担任高级软件开发工程师。

    内容简介/返璞归真:UNIX技术内幕 编辑

      《返璞归真:UNIX技术内幕》详细阐述操作系统的内核(也包括少量用户态部分),选择UNIX第6版的全部内核代码及少量用户部分代码、总计10000行作为讲解对象,由框架到细节、由基础到高级地进行讲述;在此过程中贯穿了操作系统中的各种知识和概念,比如内存管理、进程调度、中断和设备管理以及文件系统等,使得内容非常易于读者理解。选择UNIX作为讲解对象是因为它强大的生命力和应用的广泛性。在精妙的设计思想下,它具有小巧高效而健壮的内核、丰富的功能、易扩展的架构和良好的开放性。UNIX所定义的很多接口(比如文件访问接口)已经成为行业标准。《返璞归真:UNIX技术内幕》在讲解时,作者把这10000行代码按照不同的功能模块分成不同的章节。每章一般最小以函数为单位,但在讲解某个功能或接口时,又会牵涉到很多相关的函数,并其中揭示了很多优秀的设计思想、数据结构和算法。《返璞归真:UNIX技术内幕》适用于具有丰富开发经验的高级软件工程师,尤其是有志于进行操作系统研究或对操作系统实现感兴趣的软件工程师,也可作为本专科院校计算机及相关专业学生学习操作系统和C语言的参考书。初级软件开发人员在阅读《返璞归真:UNIX技术内幕》时可能会碰到一些困难,但如能坚持研究,它也会是你提高编程水平的一个很好的选择。

    目录/返璞归真:UNIX技术内幕 编辑

      第1章概论

      1.1历史背景

      1.2UNIX诞生的经过

      1.3UNIX版本6

      1.4各流派一览

      1.5为什么取得成功

      1.5.1简洁高效

      1.5.2健壮性

      1.5.3功能丰富

      1.5.4移植性

      1.5.5开放性

      1.6缩写及术语说明

      第2章UNIX综述

      2.1硬件平台

      2.1.1中断和自陷(Trap)

      2.1.2两种处理器模式

      2.1.3通用寄存器

      2.1.4I/0设备管理

      2.1.5栈(Stack)

      2.1.6常用指令

      2.1.7备注

      2.2UNIX内核综述

      2.2.1模块分类

      2.2.2各模块间的通信

      2.2.3源文件

      2.2.4语法规则和编码风格说明

      2.3思考题

      第3章虚拟内存

      3.1简介

      3.2虚拟内存的优点

      3.2.1安全性

      3.2.2提高空间利用率

      3.2.3多进程的支持

      3.3PDP11/40的虚拟内存机制

      3.3.1页地址寄存器(PAR)

      3.3.2页描述寄存器(PDR)

      3.3.3活动页寄存器地址

      3.3.4虚拟地址向物理地址的映射过程

      3.3.5异常处理

      3.3.6和现代页式虚存的比较

      3.4UNIX的虚存实现

      3.4.1进程空间分布

      3.4.2用户活动页寄存器设置函数estabur

      3.4.3用户空间映射函数sureg

      3.5内存管理

      3.5.1内核内存管理

      3.5.2用户内存管理

      3.6思考题

      第4章启动模块

      4.1操作流程

      4.2中断向量

      4.3启动函数start

      4.4备注

      4.4.1为什么需要引导程序和装入程序

      4.4.20地址处指令分析

      4.4.3为什么要使用汇编语言

      4.4.4Windows启动过程浅析

      4.5思考题

      第5章进程管理和调度

      5.1程序员眼中的虚拟机

      5.2系统资源

      5.3进程上下文

      5.4进程调度

      5.5UNIX实现

      5.5.1进程上下文

      5.5.2进程的两种状态

      5.5.3调度过程

      5.5.4备注

      5.6思考题

      第6章中断处理过程

      6.1PSW寄存器

      6.2中断处理流程

      6.3中断向量

      6.4PDP/40的中断类型

      6.4.1电传终端接口输入中断

      6.4.2电传终端接口输出中断

      6.4.3纸带打孔机输入中断

      6.4.4纸带打孔机输出中断

      6.4.5时钟中断

      6.4.6行打印机中断

      6.4.7磁盘读写中断

      6.5一些常用函数

      6.5.1特殊指令

      6.5.2fubyte(fuibyte)

      6.5.3fuword(fuiword)

      6.5.4subyte(suibyte)

      6.5.5suword(suiword)

      6.5.6c1earseg

      6.5.7copyseg

      6.5.8copyin/copyout

      6.5.9dpadd

      6.5.101div/1rem/1shift

      6.6ca11函数

      6.7时钟中断

      6.7.1基本概念

      6.7.2处理过程

      6.8ca11函数调用分派切换器的理由

      6.9内核定时器

      6.9.1数据结构

      6.9.2定时器的创建

      6.9.3定时器的触发

      6.10一些例子

      6.10.1进程优先级的调整

      6.10.2进程分派切换实例

      6.11备注

      6.11.1中断服务函数中为什么不使用互斥锁

      6.11.2中断服务函数中为什么不访问u变量

      6.11.3关于内存管理违例自陷的处理过程

      6.11.4调度标志runrun和runin

      6.12思考题

      第7章自陷

      7.1自陷原理

      7.2自陷向量

      7.3PDP11/40的自陷类型

      7.3.1系统出错自陷

      7.3.2系统调用自陷

      7.3.3调试自陷

      7.3.4自陷优先级

      7.4自陷处理过程

      7.4.1汇编函数_trap

      7.4.2C函数trap

      7.4.3backup函数

      第8章文件系统

      8.1概述

      8.2框架

      8.2.1文件存储的实现

      8.2.2UNIX文件系统

      8.2.3UNIX文件系统的详细实现

      8.3文件访问接口

      8.3.1文件创建接口creat

      8.3.2文件打开接口open

      8.3.3文件关闭接口c1ose

      8.3.4文件读接口read

      8.3.5文件写接口write

      8.3.6文件定位接口seek

      8.3.7特殊文件创建接口mknod

      8.3.8文件链接接口1ink

      8.3.9取消文件链接接口un1ink

      8.3.10设备加载接口smount

      8.3.11设备卸载接口sumount

      8.4节点和块管理

      8.4.1节点缓存

      8.4.2块缓存

      8.4.3块访问接口

      8.4.4节点访问接口

      8.5块设备驱动

      8.5.1概述

      8.5.2根设备——rk11磁盘

      8.6备注

      8.6.1FAT16文件系统

      8.6.2多进程访问文件的问题

      8.6.3进程间同步

      8.6.4文件的删除

      8.6.5设备驱动的扩展

      8.7总结

      8.8思考题

      第9章字符设备驱动

      9.1交互终端——电传打字机(te1etypewriter)

      9.1.1设备特性

      9.1.2操作寄存器

      9.1.3驱动框架

      9.1.4驱动函数

      9.1.5she11应用举例

      9.1.6内核打印接口

      9.2PC-11纸带打孔机

      9.2.1设备特性

      9.2.2操作寄存器

      9.2.3驱动框架

      9.2.4驱动函数

      9.2.5读取器状态转换图

      9.3LP-11行打印机

      9.3.1设备特性

      9.3.2操作寄存器

      9.3.3驱动框架

      9.3.4驱动函数

      9.4现代打印机

      9.4.1并口

      9.4.2和内核挂接

      9.4.3简单的打印程序

      9.4.4CUPS

      9.5其他字符设备

      9.5.1内存

      9.5.2磁盘

      9.6网络驱动程序

      9.7综合示例

      9.8总结

      9.9思考题

      第10章进程交换过程

      10.1概述

      10.2具体实现

      10.2.1进程换出函数xswap

      10.2.2程序段内存释放函数xccdec

      10.2.3交换函数swap

      10.2.4调用实例

      10.3综合示例

      10.4思考题

      第11章UNIX可执行文件

      11.1.out文件

      11.1.1可执行头

      11.1.2程序段

      11.1.3数据段

      11.1.4程序和数据重定向表

      11.1.5符号表

      11.1.6示例

      11.2动态链接过程*

      11.2.1静态共享

      11.2.2动态共享

      11.2.3GOT/PLT表和位置无关代码(PIC)

      11.2.4动态加载过程分析

      第12章系统调用

      12.1概述

      12.2系统调用的实现

      12.2.1用户实现

      12.2.2系统调用表和trap自陷

      12.2.3内核实现

      12.3各系统调用的实现

      12.3.1文件相关调用

      12.3.2进程相关调用

      12.3.3信号相关调用

      12.3.4调试功能调用

      12.3.5用户/组ID调用

      12.3.6时间相关调用

      12.3.7终端相关调用

      第13章进程间通信

      13.1概述

      13.2管道

      13.2.1相关系统调用

      13.2.2管道实现过程分析

      13.2.3应用示例

      13.2.4采用内存文件实现管道

      13.2.5思考题

      13.3文件

      13.4有名管道

      13.5进程间同步

      13.5.1信号量

      13.5.2互斥体

      13.5.3事件

      13.6死锁

      13.7其他进程间数据传输方式

      13.7.1消息(message)

      13.7.2信箱(mai1box)

      13.7.3共享内存

      第14章多线程的实现

      14.1概述

      14.2线程和经典进程的比较

      14.3线程的示例实现

      14.3.1相关数据结构

      14.3.2实现方案

      14.3.3线程创建调用CreateThread

      14.3.4内核改动

      14.3.5线程退出调用ExitThread

      14.3.6线程id获得调用gettid

      14.3.7线程挂起调用SuspendThread

      14.3.8线程恢复调用ResumeThread

      14.3.9线程终止调用TerminateThread

      14.3.10线程ID查询调用GetThreadID

      14.3.11线程名查询调用GetThreadName

      14.3.12使用示例

      14.3.13思考题

      第15章网络多用户

      15.1系统初始化过程

      15.1.1init进程

      15.1.2getty程序

      15.1.31ogin程序

      15.2te1net程序

      15.2.1工作原理

      15.2.2常用配置

      15.3NFS(网络文件系统

      15.3.1基本原理

      15.3.2RPC(远程过程调用)

      15.3.3各过程的实现

      15.3.4简单示例

      附录A参考书目及资源

      附录B思考题答案

    添加视频 | 添加图册相关影像

    开放分类 我来补充

    互动百科的词条(含所附图片)系由网友上传,如果涉嫌侵权,请与客服联系,我们将按照法律之相关规定及时进行处理。未经许可,禁止商业网站等复制、抓取本站内容;合理使用者,请注明来源于www.baike.com。

    登录后使用互动百科的服务,将会得到个性化的提示和帮助,还有机会和专业认证智愿者沟通。

    互动百科用户登录注册
    此词条还可添加  信息模块
    编辑摘要

    WIKI热度

    1. 编辑次数:2次 历史版本
    2. 参与编辑人数:2
    3. 最近更新时间:2012-03-01 23:40:03

    贡献光荣榜

    更多

    相关词条