老李手把手之操作系统(1)
老李手把手之操作系统(1)
本章的目的主要是构建开发环境
以下是本章需要安装的软件包及需要了解的概念,请自行 baidu、google、bing
- linux(ubuntu)
- terminal
- compiler
- emulator
- nasm
- qemu
我建议大家使用 ubuntu 16.04,因为这样可以保持和我的一致...
概念略解
linux
我们就是要做一个类似 linux 的操作系统,ubuntu 16.04 是其中的一个发行版
terminal
linux 没有启动图形界面的时候,用户就只能通过 terminal 来使用操作系统;有图形界面时,用户可以通过 GUI 来控制操作系统
compiler
编译器,将高级语言编译成机器码,这里面水很深
emulator
模拟器,是指主要透过硬件或软件使得一台计算机系统在行为上类似于另一台计算机系统。
说白了,就是为了咱们实验方便,不见得咱们还真买一台 8086 的机器,再弄块软盘,然后把程序烧制进软盘,然后再通电运行?
换句话说,大家肯定就清楚了。。。在 pc 装个 ps 的模拟器,就可以玩 ps 游戏了...
nasm
Netwide Assembler,基于 intel x86 架构的汇编与反汇编的工具,开源!
大家可以想问下 compiler 与 assembler 有什么区别么~?
引入 nasm 的目的是,编写操作系统的引导代码,这部分代码很难用高级语言代劳,因为涉及到寄存器的操作...
建议有条件的同学先把《80x86汇编语言程序设计》给学了...
qemu
一个流行的开源模拟器,我们的操作系统最终就运行在 qemu 虚拟出来的一台计算机上
安装环境
安装 ubuntu 16.04
https://www.jianshu.com/p/21c627999826
安装 nasm
安装命令: apt-get install nasm
验证下是否 OK:
(venv) root@ubuntu:/home/lihao/codes/os-tutorial-cn# nasm -h
usage: nasm [-@ response file] [-o outfile] [-f format] [-l listfile]
[options...] [--] filename
or nasm -v (or --v) for version info
-t assemble in SciTech TASM compatible mode
安装 qemu
安装命令:apt-get install qemu
验证下是否 OK,执行 qemu-system-x86_64