x86 番外二:栈
· 阅读需 18 分钟
栈是一个很简单的数据结构,但它很重要。在 x86 中有各种各样的栈。本篇是 x86 架构的番外篇,目标是理清「栈」的本质。
介绍 x86 架构和汇编指令的系列文章
查看所有标签栈是一个很简单的数据结构,但它很重要。在 x86 中有各种各样的栈。本篇是 x86 架构的番外篇,目标是理清「栈」的本质。
本篇是 x86 架构的番外篇,我希望借这篇博文,理清「锁」的本质。
前面了解的都是多任务管理,但现代操作系统都以线程为基本执行单位,所以本篇学习如何在多处理器系统下进行多线程管理。
本文的目的是实现在 64 位的多处理器环境下,多 CPU 并行执行任务。
本文主要讲解 64 位多处理器相关的运行架构,及其初始化。
本文所述为操作系统在适配 64 位处理器时的一般逻辑,并不意味着某一具体操作系统的实现。
我们知道 IA-32e 架构在 64 位模式下取消了硬件任务切换,且强制使用平坦模型。这使得任务切换不再受到 CPU 规则的强约束,这使得任务切换变得更加轻量级。
本文会对 64 位模式下单核处理器的多任务管理的流程和方法做一些简要的整理。
本文主要用于梳理 x86 的指令的基本格式。
本文主要用于理顺 IA-32e 架构下的内存分配流程。
本文旨在全面回顾 x86 平台上各种分页技术的发展历程及其特点,帮助读者理解这些技术是如何逐步演进以适应不断增长的需求。
DMA 是一种硬件机制,其无需 CPU 干预即可实现外部设备与内存之间的数据传输,从而提高系统性能。在本文中,我详细总结了各种 DMA 控制器,并给出了 DMA 在 PC 和软盘设备之间交换数据的典型例程。