【发布时间】:2021-04-02 23:51:45
【问题描述】:
我最近接触了低级编程并了解了系统中断。据我了解,这两个中断都负责系统调用,但是我不明白两者之间的区别,以及何时使用哪个。希望得到解释。
【问题讨论】:
-
针对不同操作系统的 ABI(系统调用约定)基本不同。 DOS 和 Linux(以及 BSD / MacOS)也有不同的 API,不同的函数集/系统调用可用,因此不一定有 Linux 系统调用等效于某些 DOS 的东西,反之亦然。 (对于 BIOS int 0x10 控制台屏幕内容尤其如此:在 Linux 中,您没有仅针对控制台屏幕和键盘的特殊系统调用,除非您甚至打开原始键盘或 USB HID 或 PS,否则您总是在处理 TTY 层/2 事件驱动程序)
-
这就像问“
DIR和ls有什么区别”。它们是两种不同的机制,两个不同的系统通过它们完成类似的任务。
标签: linux assembly x86 system-calls dos