




本书特色
传统上,大家都是在流行的操作系统(如Windows和Linux)上编写并发程序的,而且只能使用高级语言。这使得多处理器环境下的多任务和多线程调度、原子操作、锁、线程同步等内容对很多人来说是笼统的、抽象的,像隔了层纱一样,看不见本质。相反,如果用汇编语言实现一个简单的操作系统内核,并演示多处理器环境下的多任务、多线程、锁和线程同步,这是可能的吗?我相信没有人会觉得这是简单的事情。但事实上,如果你想来一个简单的,其实也很容易,这本书就能告诉你如何实现它。 米龙评论:过去学习操作系统理论知识,诸多晦涩的概念难以理解,对于虚拟内存、分页、数据竞争、锁、原子操作等机制如同隔雾看花,不得要领。本书首次从汇编语言层面剖析了操作系统的基本原理,深入讲解了时下主流的x64多处理器架构。跟随本书章节,诸多迷雾豁然开朗。 零叶小舟评价:非常棒的内容,老师对INTEL CPU 和操作系统研究得太透彻啦!这是我学过的操作系统课程中*好的,没有之一。学完之后,知其然,知其所以然。希望老师继续开课,比如 ARM 汇编、手写Linux 操作系统等。 Hiodis评价:底层,核心,精简,极致,丰富,到位。
内容简介
编写一个简单的、简易的操作系统雏形,用来演示64位环境下的多处理器管理、动态内存分配、多处理器多任务的调度和切换、多处理器多线程的调度和切换、数据竞争和锁,但它不包括文件管理、设备管理等内容。本书主要聚焦以下问题:1,与IA-32架构进行对比,介绍64位处理器的基本架构,包括寄存器的变化、指令集和工作模式的变化、系统表的变化、内存组织和内存访问模式的变化;2,IA-32e模式的特点及如何进入IA-32e模式,重点介绍其64位子模式;3,IA-32e模式的4级和5级分页;4,IA-32e模式下的中断和异常处理;5,64位模式下的单处理器多任务和任务切换;6,64位模式下的多处理器管理和初始化,包括高级可编程中断控制器APIC;7,64位模式下的多处理器多任务和任务切换;8,64位模式下的多处理器多线程和线程切换;9,高速缓存及与多线程有关的原子操作、锁、线程同步。
点击下载