
本网站不提供下载链接,喜欢看书的朋友请关注公众号:【lennylee的碎碎念】(lennyleede),首页回复:授人以渔,自动获取搜索资源的方法。
内容简介:
本书充分突出操作系统作为一个系统保证整体高速运转的理念,同时强调各个组成部分必须有机、协调地分工协作,旨在让读者能真正理解操作系统的整体运转原理。本书从硬件管理这个基本功能出发,依次对操作系统的CPU管理、内存管理、外设管理、文件管理等进行了详细的阐述;从上层应用提供的接口出发,对系统接口设计、进程管理、文件接口等内容进行了详细阐述。在单独模块阐述的基础上,深入地阐述了这些模块之间的关系,即这些模块是如何合作成为一个整体系统的。
为避免单纯的原理阐述让读者感到空泛、浮于表面,同时加强操作系统原理和实现的有机融合,本书设计了12个实践项目,其中包括8个初级认知型实践项目和4个高级综合型实践项目,几乎涵盖了操作系统的全部内容。
本书可作为理工科本科生操作系统课程教材或参考书,也可供操作系统开发以及在操作系统上进行相关研究的人员参考。
作者简介:
前辅文
第一章 系统启动——打开电源以后发生的故事
1.1 什么是操作系统
1.2 操作系统历史概述
1.3 操作系统核心轮廓
1.4 操作系统启动过程
1.5 实践项目1:控制操作系统启动
习题一
第二章 系统接口——通向操作系统内核的大门
2.1 用户使用计算机系统的基本形式
2.2 基本系统调用及其应用
2.3 系统调用的实现机理
2.4 通过系统调用窥见操作系统的基本脉络
2.5 实践项目2:添加系统调用
习题二
第三章 多进程——操作系统最核心的视图
3.1 如何使用 CPU?
3.2 进程概念与多进程视图
3.3 多进程引起的基本问题
3.4 实践项目3:打印进程日志
习题三
第四章 线程切换与调度——操作系统的发动机
4.1 线程与进程
4.2 用户级线程的切换与创建
4.3 内核级线程的切换与创建
4.4 创建0号/1号进程——多进程视图的起点
4.5 CPU 调度
4.6 实践项目4:基于内核栈完成进程切换
习题四
第五章 进程同步——让多个进程的推进合理有序
5.1 进程同步问题与睡眠/唤醒
5.2 从信号到信号量
5.3 临界区——对信号量的保护
5.4 信号量的实现与使用
5.5 死锁现象及死锁处理
5.6 实践项目5:信号量的实现与应用
习题五
第六章 内存管理——给程序执行提供一个舞台
6.1 内存使用与程序重定位
6.2 分段
6.3 内存分区
6.4 分页
6.5 段页式内存管理与虚拟内存
6.6 实践项目6:地址映射与共享
习题六
第七章 换入/换出——用磁盘和时间来换取一个规整的虚拟内存
7.1 规整的虚拟内存
7.2 页面换出
习题七
第八章 设备驱动——从文件视图到 out 指令
8.1 设备驱动的基本原理
8.2 显示器的驱动
8.3 键盘的驱动
8.4 实践项目7:终端设备字符显示的控制
习题八
第九章 文件系统——一个从磁盘到文件再到文件系统的漫长抽象
9.1 磁盘工作的基本原理
9.2 生磁盘的使用
9.3 基于文件的磁盘使用
9.4 实践项目8:proc 文件的实现
习题九
第十章 大型实践项目一——内核级线程的设计与实现
10.1 项目的主旨和基本任务
10.2 TCB 与PCB
10.3 创建线程与创建进程
10.4 以 TCB 为单位进行 CPU 调度
10.5 引入 TCB 以后的其他修改
10.6 主线程与工作线程的设计与实现
习题十
第十一章 大型实践项目二——虚拟内存与交换分区的设计与实现
11.1 项目的主旨和基本任务
11.2 交换分区的驱动
11.3 进程页面的换出
11.4 进程页面的换入
11.5 交换分区使用情况的监控
习题十一
第十二章 大型实践项目三——鼠标驱动和简单的图形接口实现
12.1 项目的主旨和基本任务
12.2 鼠标的驱动
12.3 显示器的图形工作模式
12.4 消息驱动框架
12.5 可视化应用程序的设计与实现
习题十二
第十三章 大型实践项目四——网卡驱动与网络协议的设计与实现
13.1 项目的主旨和基本任务
13.2 网卡驱动
13.3 ARP 协议的设计与实现
13.4 ICMP 协议及 ping 命令
习题十三
· · · · · · (收起)
原文摘录: