• 返璞归真:UNIX技术内幕
  • 返璞归真:UNIX技术内幕
  • 返璞归真:UNIX技术内幕
21年品牌 40万+商家 超1.5亿件商品

返璞归真:UNIX技术内幕

59 6.6折 89 九五品

仅1件

广东深圳
认证卖家担保交易快速发货售后保障

作者郝庆丰 著

出版社电子工业出版社

出版时间2010-06

版次1

装帧平装

货号9787121108716

上书时间2024-04-21

fromdtor的书摊

已实名 进店 收藏店铺

   商品详情   

品相描述:九五品
图书标准信息
  • 作者 郝庆丰 著
  • 出版社 电子工业出版社
  • 出版时间 2010-06
  • 版次 1
  • ISBN 9787121108716
  • 定价 89.00元
  • 装帧 平装
  • 开本 16开
  • 纸张 胶版纸
  • 页数 751页
  • 字数 1420千字
  • 正文语种 简体中文
【内容简介】
  本书详细是一本阐述操作系统的内核(也包括少量用户态部分),选择UNIX第6版的全部内核代码及少量用户部分代码、总计10000行作为讲解对象,由框架到细节、由基础到高级地进行讲述;在此过程中贯穿了操作系统中的各种知识和概念,比如内存管理、进程调度、中断和设备管理以及文件系统等,使得内容非常易于读者理解。
【作者简介】
郝庆丰,毕业于清华大学电机系,曾在朗讯、爱立信等知名外企从事多年的软件开发工作,有着多个UNIX和Linux平台下大型服务器、网关项目的开发经验,并且参与过其中大部分项目的架构设计。结合所开发项目,作者深入研究了UNIX操作系统内核,并付诸于产品性能优化之类的实际应用
【目录】
第1章概论1
1.1历史背景1
1.2UNIX诞生的经过1
1.3UNIX版本62
1.4各流派一览2
1.5为什么取得成功3
1.5.1简洁高效3
1.5.2健壮性3
1.5.3功能丰富3
1.5.4移植性3
1.5.5开放性4
1.6缩写及术语说明4

第2章UNIX综述6
2.1硬件平台6
2.1.1中断和自陷(Trap)7
2.1.2两种处理器模式9
2.1.3通用寄存器10
2.1.4I/O设备管理10
2.1.5栈(Stack)11
2.1.6常用指令11
2.1.7备注19
2.2UNIX内核综述20
2.2.1模块分类20
2.2.2各模块间的通信20
2.2.3源文件21
2.2.4语法规则和编码风格说明23
2.3思考题27

第3章虚拟内存28
3.1简介28
3.2虚拟内存的优点29
3.2.1安全性29
3.2.2提高空间利用率30
3.2.3多进程的支持30
3.3PDP11/40的虚拟内存机制30
3.3.1页地址寄存器(PAR)32
3.3.2页描述寄存器(PDR)32
3.3.3活动页寄存器地址33
3.3.4虚拟地址向物理地址的映射过程33
3.3.5异常处理35
3.3.6和现代页式虚存的比较36
3.4UNIX的虚存实现36
3.4.1进程空间分布36
3.4.2用户活动页寄存器设置函数estabur37
3.4.3用户空间映射函数sureg41
3.5内存管理42
3.5.1内核内存管理42
3.5.2用户内存管理47
3.6思考题56

第4章启动模块57
4.1操作流程57
4.2中断向量58
4.3启动函数start60
4.4备注65
4.4.1为什么需要引导程序和装入程序65
4.4.20地址处指令分析65
4.4.3为什么要使用汇编语言66
4.4.4Windows启动过程浅析66
4.5思考题67

第5章进程管理和调度68
5.1程序员眼中的虚拟机68
5.2系统资源68
5.3进程上下文70
5.4进程调度72
5.5UNIX实现73
5.5.1进程上下文73
5.5.2进程的两种状态80
5.5.3调度过程82
5.5.4备注128
5.6思考题134

第6章中断处理过程136
6.1PSW寄存器136
6.2中断处理流程136
6.3中断向量138
6.4PDP11/40的中断类型139
6.4.1电传终端接口输入中断139
6.4.2电传终端接口输出中断140
6.4.3纸带打孔机输入中断140
6.4.4纸带打孔机输出中断140
6.4.5时钟中断140
6.4.6行打印机中断140
6.4.7磁盘读写中断140
6.5一些常用函数140
6.5.1特殊指令140
6.5.2fubyte(fuibyte)141
6.5.3fuword(fuiword)143
6.5.4subyte(suibyte)143
6.5.5suword(suiword)144
6.5.6clearseg144
6.5.7copyseg145
6.5.8copyin/copyout146
6.5.9dpadd148
6.5.10ldiv/lrem/lshift148
6.6call函数149
6.7时钟中断151
6.7.1基本概念151
6.7.2处理过程152
6.8call函数调用分派切换器的理由163
6.9内核定时器164
6.9.1数据结构164
6.9.2定时器的创建165
6.9.3定时器的触发167
6.10一些例子168
6.10.1进程优先级的调整168
6.10.2进程分派切换实例174
6.11备注178
6.11.1中断服务函数中为什么不使用互斥锁178
6.11.2中断服务函数中为什么不访问u变量178
6.11.3关于内存管理违例自陷的处理过程179
6.11.4调度标志runrun和runin179
6.12思考题179

第7章自陷180
7.1自陷原理180
7.2自陷向量180
7.3PDP11/40的自陷类型180
7.3.1系统出错自陷180
7.3.2系统调用自陷182
7.3.3调试自陷182
7.3.4自陷优先级183
7.4自陷处理过程184
7.4.1汇编函数_trap184
7.4.2C函数trap186
7.4.3backup函数191

第8章文件系统211
8.1概述211
8.2框架212
8.2.1文件存储的实现212
8.2.2UNIX文件系统219
8.2.3UNIX文件系统的详细实现224
8.3文件访问接口228
8.3.1文件创建接口creat230
8.3.2文件打开接口open235
8.3.3文件关闭接口close235
8.3.4文件读接口read237
8.3.5文件写接口write237
8.3.6文件定位接口seek239
8.3.7特殊文件创建接口mknod242
8.3.8文件链接接口link243
8.3.9取消文件链接接口unlink246
8.3.10设备加载接口smount247
8.3.11设备卸载接口sumount251
8.4节点和块管理252
8.4.1节点缓存253
8.4.2块缓存255
8.4.3块访问接口262
8.4.4节点访问接口294
8.5块设备驱动322
8.5.1概述322
8.5.2根设备--rk11磁盘325
8.6备注335
8.6.1FAT16文件系统335
8.6.2多进程访问文件的问题338
8.6.3进程间同步338
8.6.4文件的删除340
8.6.5设备驱动的扩展340
8.7总结340
8.8思考题341

第9章字符设备驱动342
9.1交互终端--电传打字机(teletypewriter)342
9.1.1设备特性343
9.1.2操作寄存器343
9.1.3驱动框架345
9.1.4驱动函数351
9.1.5shell应用举例378
9.1.6内核打印接口379
9.2PC-11纸带打孔机383
9.2.1设备特性383
9.2.2操作寄存器384
9.2.3驱动框架385
9.2.4驱动函数387
9.2.5读取器状态转换图392
9.3LP-11行打印机393
9.3.1设备特性393
9.3.2操作寄存器393
9.3.3驱动框架394
9.3.4驱动函数396
9.4现代打印机401
9.4.1并口401
9.4.2和内核挂接403
9.4.3简单的打印程序406
9.4.4CUPS408
9.5其他字符设备408
9.5.1内存409
9.5.2磁盘411
9.6网络驱动程序415
9.7综合示例416
9.8总结417
9.9思考题418

第10章进程交换过程419
10.1概述419
10.2具体实现421
10.2.1进程换出函数xswap422
10.2.2程序段内存释放函数xccdec423
10.2.3交换函数swap424
10.2.4调用实例425
10.3综合示例426
10.4思考题430

第11章UNIX可执行文件431
11.1.out文件431
11.1.1可执行头431
11.1.2程序段432
11.1.3数据段432
11.1.4程序和数据重定向表432
11.1.5符号表434
11.1.6示例437
11.2动态链接过程*442
11.2.1静态共享443
11.2.2动态共享446
11.2.3GOT/PLT表和位置无关代码(PIC)446
11.2.4动态加载过程分析450

第12章系统调用457
12.1概述457
12.2系统调用的实现457
12.2.1用户实现459
12.2.2系统调用表和trap自陷459
12.2.3内核实现469
12.3各系统调用的实现469
12.3.1文件相关调用471
12.3.2进程相关调用491
12.3.3信号相关调用538
12.3.4调试功能调用558
12.3.5用户/组ID调用586
12.3.6时间相关调用589
12.3.7终端相关调用591

第13章进程间通信596
13.1概述596
13.2管道596
13.2.1相关系统调用596
13.2.2管道实现过程分析602
13.2.3应用示例603
13.2.4采用内存文件实现管道608
13.2.5思考题610
13.3文件610
13.4有名管道611
13.5进程间同步611
13.5.1信号量612
13.5.2互斥体621
13.5.3事件622
13.6死锁634
13.7其他进程间数据传输方式636
13.7.1消息(message)636
13.7.2信箱(mailbox)648
13.7.3共享内存671

第14章多线程的实现686
14.1概述686
14.2线程和经典进程的比较686
14.3线程的示例实现686
14.3.1相关数据结构686
14.3.2实现方案689
14.3.3线程创建调用CreateThread691
14.3.4内核改动695
14.3.5线程退出调用ExitThread711
14.3.6线程id获得调用gettid712
14.3.7线程挂起调用SuspendThread712
14.3.8线程恢复调用ResumeThread714
14.3.9线程终止调用TerminateThread715
14.3.10线程ID查询调用GetThreadID719
14.3.11线程名查询调用GetThreadName720
14.3.12使用示例721
14.3.13思考题723

第15章网络多用户724
15.1系统初始化过程724
15.1.1init进程724
15.1.2getty程序725
15.1.3login程序725
15.2telnet程序730
15.2.1工作原理730
15.2.2常用配置731
15.3NFS(网络文件系统)732
15.3.1基本原理733
15.3.2RPC(远程过程调用)734
15.3.3各过程的实现737
15.3.4简单示例741
附录A参考书目及资源742
附录B思考题答案743
点击展开 点击收起

—  没有更多了  —

以下为对购买帮助不大的评价

此功能需要访问孔网APP才能使用
暂时不用
打开孔网APP