64 位单处理器多任务管理
本文所述为操作系统在适配 64 位处理器时的一般逻辑,并不意味着某一具体操作系统的实现。
我们知道 IA-32e 架构在 64 位模式下取消了硬件任务切换,且强制使用平坦模型。这使得任务切换不再受到 CPU 规则的强约束,这使得任务切换变得更加轻量级。
本文会对 64 位模式下单核处理器的多任务管理的流程和方法做一些简要的整理。
本文所述为操作系统在适配 64 位处理器时的一般逻辑,并不意味着某一具体操作系统的实现。
我们知道 IA-32e 架构在 64 位模式下取消了硬件任务切换,且强制使用平坦模型。这使得任务切换不再受到 CPU 规则的强约束,这使得任务切换变得更加轻量级。
本文会对 64 位模式下单核处理器的多任务管理的流程和方法做一些简要的整理。
本文主要用于梳理 x86 的指令的基本格式。
本文主要用于理顺 IA-32e 架构下的内存分配流程。
本文旨在全面回顾 x86 平台上各种分页技术的发展历程及其特点,帮助读者理解这些技术是如何逐步演进以适应不断增长的需求。
工作原因经常需要处理手机号,一般都是用一些开源库来解析。最近看了一下开源库的实现,发现对电话号码的定义还挺复杂的。所以结合之前了解到的一些 PSTN 的知识对电话和电话号码相关的内容进行了整理。
利用 Github Action 可实现博客变更时发送企业微信消息的功能。本文通过 .github/workflows/xxx.yml
文件自定义 Github Action 的 CI/CD 流程,通过 git diff
检查博客变更,使用 curl 发送企业微信通知。并且可以将这一过程封装成可复用的 Github Action,发布到 GitHub Marketplace,供其他人复用。
DMA 是一种硬件机制,其无需 CPU 干预即可实现外部设备与内存之间的数据传输,从而提高系统性能。在本文中,我详细总结了各种 DMA 控制器,并给出了 DMA 在 PC 和软盘设备之间交换数据的典型例程。
在阅读李忠老师的《x86汇编:从实模式到保护模式》时,我遇到了一个关于硬盘读取的示例。由于实验环境的限制,我将示例改为读取软盘,但原程序无法正常运行。为了深入理解软盘的读取机制,我展开了一系列探索,并在这篇文章中记录了相关的研究过程和解决方案。本文不仅介绍了软盘控制器的相关寄存器作用,还分别展示了使用 BIOS 中断和不使用 BIOS 中断的方法来读取软盘数据。希望通过这篇文章,能帮助大家更好地理解软盘控制器的工作原理和实际应用。
我手里有一台 M1 芯片的 MBP,学习 x86 汇编需要一个 x86 的机器,恰好我有一台实验机,安装的是 ubuntu server 24.04 版本。由于 Server 本身没有图形界面,也没有连接任何显示器。就想试试能不能通过远程的方式运行 bochs。
TinyFunction 草台班子在今天正式成立!