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...
按下键盘,开始与“操作系统”交互吧!