《操作系统设计:Xinu方法计算机与互联网》[68M]百度网盘|pdf下载|亲测有效
《操作系统设计:Xinu方法计算机与互联网》[68M]百度网盘|pdf下载|亲测有效

操作系统设计:Xinu方法计算机与互联网 pdf下载

出版社 互动出版网图书专营店
出版年 2025
页数 390页
装帧 精装
评分 9.1(豆瓣)
8.99¥ 10.99¥

内容简介

本篇主要提供操作系统设计:Xinu方法计算机与互联网电子书的pdf版本下载,本电子书下载方式为百度网盘方式,点击以上按钮下单完成后即会通过邮件和网页的方式发货,有问题请联系邮箱ebook666@outlook.com

 书名:  (正版特价)操作系统设计:Xinu方法(原书第2版)|232209
 图书定价:  99元
 图书作者:  [美] 道格拉斯·科默(Douglas Comer)
 出版社:  机械工业出版社
 出版日期:  2019/4/8 0:00:00
 ISBN号:  9787111621911
 开本:  16开
 页数:  479
 版次:  1-1
 内容简介
本书以Xinu(一个小型简洁的操作系统)为例,全面介绍操作系统设计方面的知识。本书着重讨论用于嵌入式设备的微内核操作系统,采用的方法是在现有的操作系统课程中纳入更多的嵌入式处理内容,而非引入一门教读者如何在嵌入式系统上编程的新课程。
本书从底层机器开始,一步步地设计和实现一个小型但优雅的操作系统Xinu,指导读者通过实用、简单的原语来构造传统的基于进程的操作系统。本书回顾了主要的系统组件,并利用分层设计范式,以一种有序、易于理解的方式组织内容。
作者的网站www.xinu.cs.purdue.edu提供了便于学生搭建实验环境的软件和资料。
 目录

出版者的话
译者序
前言
关于作者
第1章 引言和概述1
1.1 操作系统1
1.2 本书的研究方法2
1.3 分层设计2
1.4 Xinu操作系统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
2.3 操作系统服务9
2.4 并发处理的概念和术语9
2.5 串行程序和并发程序的区别11
2.6 多个进程共享同一段代码12
2.7 进程退出与进程终止14
2.8 共享内存、竞争条件和同步14
2.9 信号量与互斥18
2.10 Xinu中的类型命名方法19
2.11 使用kputc和kprintf进行操作系统的调试20
2.12 观点20
2.13 总结21
练习21
第3章 硬件与运行时环境概述22
3.1 引言22
3.2 开发平台的物理和逻辑架构22
3.3 指令集23
3.4 通用寄存器23
3.5 I/O总线和存-取范例24
3.6 DMA机制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.7 FIFO队列操作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.10 suspend函数的返回值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.5 send的实现90
8.6 receive的实现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
第10章 高级内存管理和虚拟内存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
第11章 高层消息传递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
第12章 中断处理130
12.1 引言130
12.2 中断的优点130
12.3 中断处理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
第13章 实时时钟管理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
第14章 设备无关的I/O161
14.1 引言161
14.2 I/O和设备驱动的概念结构161
14.3 接口抽象和驱动抽象162
14.4 I/O接口示例163
14.5 打开-读-写-关闭范例163
14.6 绑定I/O操作和设备名164
14.7 Xinu中的设备名164
14.8 设备转换表概念165
14.9 设备的多个副本和共享驱动166
14.10 高层I/O操作的实现168
14.11 其他高层I/O函数169
14.12 打开、关闭和引用计数172
14.13 devtab中的空条目和错误条目174
14.14 I/O系统的初始化174
14.15 观点178
14.16 总结179
练习179
第15章 设备驱动示例180
15.1 引言180
15.2 使用UART硬件进行串行通信180
15.3 tty抽象180
15.4 tty设备驱动的组织结构181
15.5 请求队列和缓冲区182
15.6 上半部和下半部的同步183
15.7 UART硬件FIFO与驱动设计184
15.8 控制块的概念184
15.9 tty控制...