注意:本文章只是让新的操作系统在显示器上显示“Hello,OS World”,并不是制作新的一种操作系统。
电脑的操作系统有许多种。那么这些操作系统是怎么被发明出来的呢?今天这篇文章就来教你制作一个简单的操作系统。
要制作操作系统,首先要了解它。(如果你认为是废话,可以跳过,这里只是带你了解计算机的工作原理)
我们要先了解操作系统的发展。
在计算机刚刚被发明出来的时候,它只是用于帮助人类计算一些对于人类来说不容易计算的算式,所以叫做计算机。那时的人们只可以通过往纸上打孔的方法来向计算机传递信息。慢慢的,人们又发明了DOS系统(磁盘操作系统),这种系统可以让用户直接向计算机传递指令而无需打孔。这时的人们已经不满足于使用计算机算数,计算机开始被用于存储数据。
现在,计算机又有了图形化操作系统,用户可以通过点击鼠标来替代一串串代码。这时的计算机已经可以上网,开始将用户从科研人员转向千家万户。
了解了操作系统的发展,我们知道:操作系统是介于用户和计算机中间的部分。它可以让使用计算机变得更加简单。
接下来,我们来了解一下计算机的工作流程。
首先,你想启动计算机,你会按下计算机上的POWER键,(电源键)。计算机的硬件收到指令,开始启动。(注意,计算机的硬件和软件是分开的。就是说,你就算换一百遍操作系统,电脑本身的硬件都不会改变。例如,你的电脑是Lenovo公司生产的,无论你是换成Windows的操作系统,还是MacOS,你的电脑启动最开始都会显示Lenovo几个大字。)接下来,硬件已经初始化成功,你的操作系统开始启动了。操作系统启动完毕后,会出现登录界面,提示你输入密码。在你登录成功以后,你的计算机会应该显示桌面。现在,你就可以使用你的计算机来工作了。
如果你想要更多的了解计算机,你可以看我的另一篇文章《计算机是怎么工作的》。
现在,我们开始编我们操作系统的主程序。编系统通常有三种选择,一是使用汇编语言编,第二是使用汇编+C++编,第三是使用机器语言编,就是0101。如果你有超强的大脑且你保证你能编成功的话,你可以采用机器语言。在这里,我们使用汇编。
上代码:
org 07c00h ;告诉编译器程序加载到7c00处
mov ax, cs
mov ds, ax
mov es, ax
call DispStr ;调用显示字符串例程
jmp $
DispStr:
mov ax, BootMessage
mov bp, ax
mov cx, 16
mov ax, 01301h
mov bx, 00ch
mov dl, 0
int 10h
ret
BootMessage: db "Hello OS World!"
times 510-($-$$) db 0
dw 0xaa55
将这段代码保存为Boot.asm而不是Boot.asm.txt。(注意,请先开启计算机后缀名。由于各种操作系统各异,请自行百度)然后,我们要将它转化成机器语言。我们不需要你一点一点敲0101,我们使用NASM编辑器,它可以将汇编语言转化成机器语言。你可以在下面的网址下载它。你可以下载任意版本,我们下载最新的2.14.03rc2/。
https://www.nasm.us/pub/nasm/releasebuilds/?C=M;O=D
下载完成后,打开一个终端窗口并切换到boot.asm的目录。例如,我的boot.asm文件放在C:\Users\Rain\Documents,我就在C:\Users\Rain\Documents的地址栏复制地址。
接着,清空地址栏中的全部内容,输入cmd并按下回车,你会得到一个类似于下面的终端窗口。
前面的C:\Users\Rain\Documents就是终端窗口目前的位置。在此处输入nasm Boot.asm -o boots.img。应该会没有反应。这时打开Boot.asm的目录,你会发现多了一个boots.img。这个文件就是nasm编辑器翻译成的机器语言。但如果出现‘“nasm”不是内部或外部命令,也不是可运行的程序或批处理文件’,这时就需要配置环境变量了。右击此电脑,点击属性,点击左侧的高级系统设置。
点击高级,点击环境变量。
添加完成后确认并退出。关闭前面打开的终端窗口,重新执行上面的步骤。
现在我们的源代码就编写完成了。我们现在新建一台虚拟机来测试它。(如果你愿意,你可以浪费一台电脑来测试它)
首先下载VMware。下载地址:
https://www.vmware.com/cn/products/workstation-pro/workstation-pro-evaluation.html
下载完成后输入密钥。密钥自行百度。
打开Vmware,点击新建虚拟机。
为了节省时间,我们选择典型。
系统选择其他中的其他。
这里随便命名。
记得选择将虚拟磁盘储存为单个文件。
点击自定义硬件。
点击添加。
选择软盘驱动器。
点击关闭,点击完成。这时会弹出一个窗口。
如果出现弹窗就点击是。
终于,屏幕上出现了Hello,OS World!这意味着我们的工作成功了!
好的,今天如何制作简单的操作系统的文章就结束了。再见!
好看就点在看呀!