【动手开发操作系统】- 介绍
0x0:介绍
神马是操作系统?这是百度百科上的答案:操作系统(operating system,简称OS)是管理计算机硬件与软件资源的计算机程序。操作系统需要处理如管理与配置内存、决定系统资源供需的优先次序、控制输入设备与输出设备、操作网络与管理文件系统等基本事务。操作系统也提供一个让用户与系统交互的操作界面。
操作系统是如何开发的?那就和我一起来学习如何开发一个小小的微内核体验一下操作系统的开发吧!这主要也是作为我对自我的检测和对知识的分享。
0x1:准备
再继续往下之前,我们要了解一下我们需要具备哪些知识:有汇编语言基础,了解一定的操作系统原理、计算机系统的知识。如果对这些知识不够了解,在下面的学习中可能会受到一些阻碍。我们的内容参考了《x86汇编语言:实模式到保护模式》。
0x2:环境
我们的实验系统环境是Windows,在Linux上的实验类似。我们在接下来的过程会使用的工具有:Oracle VM VirtualBox(6.1.22)、Vhdtool(v0.02)、Notepad++(7.7.1)、Bochs(2.6.1)、NASM(2.15.05)。
0x3:创建虚拟机
我们先使用Oracle VM VirtualBox来创建一个虚拟机:打开Oracle VM VirtualBox我们会看到如下界面
然后我们点击新建按下面这样填写信息,虚拟机名称可以不和我的一样:
再点下一步,内存大小选择64MB:
再点下一步,选择现在创建虚拟硬盘:
再点下一步,选择VHD(虚拟硬盘):
再点下一步,选择固定大小:
再点下一步,大小选择128MB就好了,最好别超过512MB,太大Vhdtool可能会报错,并且硬盘创建时间可能会很慢:
再点下一步,你会看到这样的界面:
等创建虚拟硬盘结束后你就会看到这样的界面:
现在我们就创建好了一个虚拟机,供我们后续的学习,在该虚拟机的目录下有一个.vhd文件,要记住它,它是我们这个虚拟机的虚拟硬盘。下一节再见。