1.qemu的作用

qemu归于虚拟机模拟器。操作系统归于软件,软件需求依托于硬件(正如你所见到的实体电脑)运转。qemu运用软件模拟出一种硬件环境,让咱们编写的操作系统认为它被运转到了硬件中。

2.qemu的安装

这里咱们运用的是Linux环境,运用apt东西安装:

sudo apt install qemu-system-x86

安装完成后,咱们即可在/usr/bin目录下发现

user@pc:/usr/bin$ ls|grep qemu
...
qemu-system-i386
qemu-system-x86_64
...

其间qemu-system-i386就是咱们需求用到的intel i386架构虚拟机程序。

3.qemu的运用

正如咱们运用普通的Linux指令行东西一样,qemu的运用也是在指令行中输入该指令加上参数并运转,最简单的运用方法为:

qemu-system-i386 -drive file=system,format=raw -nographic

其间-drive file=system,format=raw参数的含义为挑选当时目录下的system文件作为操作系统来驱动咱们的i386虚拟机,并且format=raw视该文件为原始的操作系统文件。-nographic不运用可视化窗口,将输出引导至终端。

3.1一个有意思的最小交互操作系统

以下为一个小操作系统system.s的示例代码:

org 0x7c00
    mov dx, 0x3f8
scant:
    in  al, dx
    out dx, al
    jmp scant
times 510 - ($ - $$) db 0
dw 0xaa55

运用nasm东西编译之:

nasm system.s -o system

咱们就可以得到一个可交互的十分小的操作系统system
运用前面提到的指令:

qemu-system-i386 -drive file=system,format=raw -nographic

运转后即可观察到:

SeaBIOS (version 1.13.0-1ubuntu1.1)
iPXE (http://ipxe.org) 00:03.0 CA00 PCI2.10 PnP PMM+07F8CA10+07ECCA10 CA00
Booting from Hard Disk...

按下键盘,开始与“操作系统”交互吧!