返回首页
苏宁会员
购物车 0
易付宝
手机苏宁

服务体验

店铺评分与同行业相比

用户评价:----

物流时效:----

售后服务:----

  • 服务承诺: 正品保障
  • 公司名称:
  • 所 在 地:
本店所有商品

  • 醉染图书操作系统设计 XINU方法 原书第2版9787111621911
  • 正版全新
    • 作者: (美)道格拉斯·科默(Douglas Comer)著 | (美)道格拉斯·科默(Douglas Comer)编 | (美)道格拉斯·科默(Douglas Comer)译 | (美)道格拉斯·科默(Douglas Comer)绘
    • 出版社: 机械工业出版社
    • 出版时间:2019-04-01
    送至
  • 由""直接销售和发货,并提供售后服务
  • 加入购物车 购买电子书
    服务

    看了又看

    商品预定流程:

    查看大图
    /
    ×

    苏宁商家

    商家:
    醉染图书旗舰店
    联系:
    • 商品

    • 服务

    • 物流

    搜索店内商品

    商品分类

    商品参数
    • 作者: (美)道格拉斯·科默(Douglas Comer)著| (美)道格拉斯·科默(Douglas Comer)编| (美)道格拉斯·科默(Douglas Comer)译| (美)道格拉斯·科默(Douglas Comer)绘
    • 出版社:机械工业出版社
    • 出版时间:2019-04-01
    • 版次:1
    • 印次:1
    • 字数:385
    • 页数:464
    • 开本:16开
    • ISBN:9787111621911
    • 版权提供:机械工业出版社
    • 作者:(美)道格拉斯·科默(Douglas Comer)
    • 著:(美)道格拉斯·科默(Douglas Comer)
    • 装帧:平装
    • 印次:1
    • 定价:99.00
    • ISBN:9787111621911
    • 出版社:机械工业出版社
    • 开本:16开
    • 印刷时间:暂无
    • 语种:暂无
    • 出版时间:2019-04-01
    • 页数:464
    • 外部编号:1201866622
    • 版次:1
    • 成品尺寸:暂无

    出版者的话
    译者序
    前言
    关于作者
    章引言和概述1
    1.1操作系统1
    1.2本书的研究方法2
    1.3分层设计2
    1.4Xinu操作系统4
    1.5操作系统的界定4
    1.6从外部看操作系统5
    1.7章节概要6
    1.8观点6
    1.9总结7
    练习7
    第2章并发执行与操作系统服务8
    2.1引言8
    2.2多活动的编程模型8
    .操作系统服务9
    2.4并发处理的概念和术语9
    2.5串行程序和并发程序的区别11
    2.6多个进程共享同一段代码12
    2.7进程退出与进程终止14
    2.8共享内存、竞争条件和同步14
    2.9信号量与互斥18
    2.10Xinu中的类型命名方法19
    2.11使用kputc和kprintf进行操作系统的调试20
    2.12观点20
    2.13总结21
    练习21
    第3章硬件与运行时环境概述22
    3.1引言22
    3.2开发平台的物理和逻辑架构22
    3.3指令集
    3.4通用寄存器
    3.5I/O总线和存-取范例24
    3.6DMA机制25
    3.7总线地址空间25
    3.8总线启动和配置26
    3.9函数调用约定和运行时栈26
    3.10中断和中断处理28
    3.11中断向量29
    3.12异常向量和异常处理29
    3.13时钟硬件29
    3.14串行通信30
    3.15轮询与中断驱动I/O30
    3.16存储布局30
    3.17内存保护31
    3.18硬件细节和片上系统体系结构31
    3.19观点31
    3.20硬件参考资料32
    练习32
    第4章链表与队列操作33
    4.1引言33
    4.2进程链表的统一数据结构33
    4.3简洁的链表数据结构34
    4.4队列数据结构的实现35
    4.5内联队列操作函数36
    4.6获取链表中进程的基础函数37
    4.7FIFO队列操作38
    4.8优先级队列的操作40
    4.9链表初始化42
    4.10观点43
    4.11总结43
    练习43
    第5章调度和上下文切换45
    5.1引言45
    5.2进程表45
    5.3进程状态47
    5.4就绪和当前状态48
    5.5调度策略48
    5.6调度的实现49
    5.7推迟重新调度52
    5.8上下文切换的实现52
    5.9内存中保存的状态52
    5.10上下文切换操作53
    5.11重新启动进程执行的地址56
    5.12并发执行和空进程57
    5.13使进程就绪和调度常量57
    5.14进程调度算法58
    5.15观点58
    5.16总结59
    练习59
    第6章更多进程管理60
    6.1引言60
    6.2进程挂起和恢复60
    6.3自我挂起和信息隐藏60
    6.4系统调用61
    6.5禁止和恢复中断62
    6.6系统调用模板63
    6.7系统调用返回值SYSERR和OK63
    6.8挂起的实现64
    6.9挂起当前进程65
    6.10suspend函数的返回值65
    6.11进程终止和进程退出66
    6.12进程创建68
    6.13进程管理函数72
    6.14总结74
    练习74
    第7章协调并发进程76
    7.1引言76
    7.2进程同步的必要76
    7.3信号量的概念77
    7.4避免忙等待77
    7.5信号量策略和进程选择77
    7.6等待状态78
    7.7信号量数据结构79
    7.8系统调用wait79
    7.9系统调用signal80
    7.10静态和动态信号量分配81
    7.11动态信号量的实现示例82
    7.12信号量删除83
    7.13信号量重置84
    7.14并行处理器(多核)之间的协调85
    7.15观点86
    7.16总结86
    练习87
    第8章消息传递88
    8.1引言88
    8.2两种类型的消息传递服务88
    8.3消息使用资源的限制89
    8.4消息传递函数和状态转换89
    8.5send的实现90
    8.6receive的实现91
    8.7非阻塞消息接收的实现92
    8.8观点92
    8.9总结92
    练习93
    第9章基本内存管理94
    9.1引言94
    9.2内存的类型94
    9.3重量级进程的定义95
    9.4示例系统的内存管理95
    9.5程序段和内存区域95
    9.6动态内存分配96
    9.7底层内存管理器的设计97
    9.8分配策略和内存持久97
    9.9追踪空闲内存98
    9.10底层内存管理的实现98
    9.11使用空闲内存的数据结构定义99
    9.12分配堆存储100
    9.13分配栈存储102
    9.14堆和栈存储的释放103
    9.15观点105
    9.16总结106
    练习106
    0章不错内存管理和虚拟内存107
    10.1引言107
    10.2分区空间分配107
    10.3缓冲池108
    10.4分配缓冲区108
    10.5将缓冲区返还给缓冲池110
    10.6创建缓冲池111
    10.7初始化缓冲池表112
    10.8虚拟内存和内存复用113
    10.9实地址空间和虚地址空间113
    10.10支持按需分页的硬件114
    10.11使用页表的地址转换114
    10.12页表项中的元数据115
    10.13按需分页以及设计上的问题116
    10.14页面替换和全局时钟算法116
    10.15观点117
    10.16总结117
    练习118
    1章高层消息传递119
    11.1引言119
    11.2进程间通信端口119
    11.3端口实现119
    11.4端口表初始化120
    11.5端口创建121
    11.6向端口发送消息122
    11.7从端口接收消息124
    11.8端口的删除和重置125
    11.9观点128
    11.10总结128
    练习128
    2章中断处理130
    12.1引言130
    12.2中断的优点130
    1.中断处理130
    12.4中断向量131
    12.5中断和异常集成131
    12.6使用代码的ARM异常向量132
    12.7设备中断向量号的分配135
    12.8中断分派136
    12.9中断的软件结构137
    12.10禁止中断139
    12.11中断代码调用函数的限制140
    12.12中断过程中重新调度的必要140
    12.13中断过程中的重新调度140
    12.14观点141
    12.15总结142
    练习142
    3章实时时钟管理143
    13.1引言143
    13.2定时事件143
    13.3实时时钟和计时器硬件143
    13.4实时时钟中断处理144
    13.5与抢占145
    13.6抢占的实现145
    13.7使用增量链表对延迟进行有效管理146
    13.8增量链表的实现147
    13.9将进程转入睡眠148
    13.10定时消息接收150
    13.11唤醒睡眠进程154
    13.12时钟中断处理154
    13.13时钟初始化156
    13.14观点159
    13.15总结159
    练习159
    4章设备无关的I/O161
    14.1引言161
    14.2I/O和设备驱动的概念结构161
    14.3接口抽象和驱动抽象162
    14.4I/O接口示例163
    14.5打开-读-写-关闭范例163
    14.6绑定I/O操作和设备名164
    14.7Xinu中的设备名164
    14.8设备转换表概念165
    14.9设备的多个副本和共享驱动166
    14.10高层I/O操作的实现168
    14.11高层I/O函数169
    14.12打开、关闭和引用172
    14.13devtab中的空条目和错误条目174
    14.14I/O系统的初始化174
    14.15观点178
    14.16总结179
    练习179
    5章设备驱动示例180
    15.1引言180
    15.2使用UART硬件进行串行通信180
    15.3tty抽象180
    15.4tty设备驱动的组织结构181
    15.5请求队列和缓冲区182
    15.6上半部和下半部的同步183
    15.7UART硬件FIFO与驱动设计184
    15.8控制块的概念184
    15.9tty控制块和数据声明184
    15.10次设备号186
    15.11上半部tty字符输入(ttygetc)187
    15.12上半部tty读取函数(ttyread)188
    15.13上半部tty字符输出(ttyputc)189
    15.14开始输出(ttykickout)190
    15.15上半部tty多字符输出(ttywrite)191
    15.16下半部tty驱动函数(ttanler)192
    15.17输出中断处理(ttanle_out)194
    15.18tty输入处理(ttanle_in)196
    15.19tty控制块初始化(ttyinit)202
    15.20设备驱动控制(ttycontrol)204
    15.21观点205
    15.22总结205
    练习206
    6章DMA设备和驱动(以太网)207
    16.1引言207
    16.2直接内存访问和缓冲区207
    16.3多个缓冲区和缓冲区环207
    16.4使用DMA的以太网驱动示例208
    16.5设备的硬件定义和常量209
    16.6环和内存缓冲区211
    16.7以太网控制块的定义213
    16.8设备和驱动初始化215
    16.9从以太网设备读取数据包221
    16.10向以太网设备写入数据包2
    16.11以太网设备的中断处理225
    16.12以太网控制函数228
    16.13观点229
    16.14总结229
    练习229
    7章互联网协议栈0
    17.1引言0
    17.2所需的功能0
    17.3同步会话、超时和网络处理进程1
    17.4设计的影响2
    17.5ARP函数2
    17.6网络数据包的定义241
    17.7网络输入进程242
    17.8IP的相关定义245
    17.9IP函数246
    17.10UDP表的定义255
    17.11UDP函数256
    17.12互联网控制报文协议267
    17.13动态主机配置协议268
    17.14观点275
    17.15总结275
    练习275
    8章远程磁盘驱动277
    18.1引言277
    18.2磁盘抽象277
    18.3磁盘驱动支持的操作277
    18.4块传输和高层I/O函数277
    18.5远程磁盘范例278
    18.6高速缓存的重要概念278
    18.7磁盘操作的语义279
    18.8驱动数据结构的定义280
    18.9驱动初始化(rdsinit)284
    18.10上半部打开函数(rdsopen)287
    18.11远程通信函数(rdscomm)289
    18.12上半部写函数(rdswrite)291
    18.13上半部读函数(rdsread)293
    18.14刷新挂起的请求296
    18.15上半部控制函数(rdscontrol)297
    18.16分配磁盘缓冲区(rdsbufalloc)299
    18.17上半部关闭函数(rdsclose)300
    18.18下半部通信进程(rdsprocess)302
    18.19观点306
    18.20总结306
    练习306
    9章文件系统308
    19.1什么是文件系统308
    19.2文件操作的示例集308
    19.3本地文件系统的设计309
    19.4Xinu文件系统的数据结构309
    19.5索引管理器的实现310
    19.6清空索引块(lfibclear)314
    19.7获取索引块(lfibget)315
    19.8存储索引块(lfibput)315
    19.9从空闲链表中分配索引块(lfiballoc)316
    19.10从空闲链表中分配数据块(lfdballoc)317
    19.11使用设备无关的I/O函数进行文件操作319
    19.12文件系统的设备配置和函数名称320
    19.13本地文件系统打开函数(lfsopen)320
    19.14关闭文件伪设备(lflclose)326
    19.15刷新磁盘中的数据(lfflush)328
    19.16文件的批量传输函数(lflwrite、lflread)328
    19.17在文件中查找新位置(lflseek)330
    19.18从文件中提取一字节(letc)331
    19.19改变文件中的一字节(lflputc)332
    19.20载入索引块和数据块(lfsetup)334
    19.21主文件系统设备的初始化(lfsinit)337
    19.22伪设备的初始化(lflinit)338
    19.文件截断(lftruncate)339
    19.24初始文件系统的创建(lfscreate)341
    19.25观点343
    19.26总结343
    练习343
    第20章远程文件机制345
    20.1引言345
    20.2远程文件访问345
    20.3远程文件语义345
    20.4远程文件设计和消息346
    20.5远程文件服务器通信(rfscomm)352
    20.6发送基本消息(rfsndmsg)354
    20.7网络字节序355
    20.8使用设备范例的远程文件系统355
    20.9打开远程文件(rfsopen)356
    20.10检查文件模式(rfsgetmode)359
    20.11关闭远程文件(rflclose)360
    20.12读远程文件(rflread)361
    20.13写远程文件(rflwrite)363
    20.14远程文件的定位(rflseek)365
    20.15远程文件单字符I/O(retc、rflputc)366
    20.16远程文件系统控制函数(rfscontrol)367
    20.17初始化远程文件系统(rfsinit、rflinit)370
    20.18观点372
    20.19总结372
    练习372
    2章句法名字空间374
    21.1引言374
    21.2透明与名字空间抽象374
    21.3多种命名方案375
    21.4命名系统设计的方案376
    21.5基于句法的名字空间376
    21.6模式和替换376
    21.7前缀模式377
    21.8名字空间的实现377
    21.9名字空间的数据结构和常量377
    21.10增加名字空间前缀表的映378
    21.11使用前缀表进行名字映379
    21.12打开命名文件383
    21.13名字空间初始化383
    21.14对前缀表中的项进行排序386
    21.15选择逻辑名字空间386
    21.16默认层次和缀387
    21.17额外的对象操作函数387
    21.18名字空间方法的优点和限制388
    21.19广义模式388
    21.20观点389
    21.21总结389
    练习390
    第22章系统初始化391
    22.1引言391
    22.2引导程序:从零开始391
    2.一个通过网络启动的例子392
    22.4操作系统初始化392
    22.5Xinu初始化393
    22.6Xinu系统启动395
    22.7从程序转化为进程399
    22.8观点399
    22.9总结399
    练习400
    第章子系统初始化和内存标记401
    .1引言401
    .2自初始化模块401
    .并发系统中的自初始化模块402
    .4重新启动后的自初始化403
    .5使用登录号初始化404
    .广义内存标记方案405
    .内存标记系统的数据声明406
    .标记的实现407
    .观点408
    .10总结408
    练习408
    第24章异常处理409
    24.1引言409
    24.2术语:故障、检测、陷阱和异常409
    24.3向量异常和可屏蔽中断 409
    24.4异常的类型410
    24.5处理异常410
    24.6异常向量初始化411
    24.7面对灾难时的panic411
    24.8panic函数的实现411
    24.9观点412
    24.10总结412
    练习412
    第25章系统配置413
    25.1引言413
    25.2多重配置的需求413
    25.3Xinu系统配置414
    25.4Xinu配置文件的内容414
    25.5计算次设备号416
    25.6配置Xinu系统的步骤417
    25.7观点417
    25.8总结417
    练习417
    第26章一个用户接口例子:Xinu shell419
    26.1引言419
    26.2什么是用户接口419
    26.3命令和设计原则419
    26.4一个简化shell的设计决策420
    26.5shell的组织和操作420
    26.6词法符号的定义421
    26.7命令行语法的定义421
    26.8Xinu shell的实现422
    26.9符号的存储424
    26.10词法分析器代码424
    26.11命令解释器的核心428
    26.12命令名查询和内部处理434
    26.13传递给命令的参数435
    26.14向外部命令传递参数435
    26.15I/O重定向438
    26.16命令函数(sleep)的例子439
    26.17观点440
    26.18总结441
    练习441
    附录1操作系统移植443
    附录2Xinu设计注解450
    索引454

     

    售后保障

    最近浏览

    猜你喜欢

    该商品在当前城市正在进行 促销

    注:参加抢购将不再享受其他优惠活动

    x
    您已成功将商品加入收藏夹

    查看我的收藏夹

    确定

    非常抱歉,您前期未参加预订活动,
    无法支付尾款哦!

    关闭

    抱歉,您暂无任性付资格

    此时为正式期SUPER会员专享抢购期,普通会员暂不可抢购