实现最小操作系统

实现操作系统

实现最小操作系统

前言

一.准备软件

阅读了下《Orange’s一个操作系统的实现》于渊 著,发现上面有个实现最小系统的实验,便尝试了下,发现无法成功,后面又在网络上查看了不少博客。然后才知道书里面使用的是软盘实现的系统。
实验需要的工具链接放在文章前面

  • nasm.exe

  • 下载链接

    编译asm文件为.bin文件

    • 需要在cmd下执行,powerShell 会有问题
  • FloppyWriter.exe

    将.bin文件写入IMG

    • 文件在Release文件夹中
  • 虚拟机VMWARE

    创建软盘,安装此最小系统

二.编写代码

创建文件boot.asm

  • 直接右键新建文本
  • 再改名字和后缀 为TINUX.IMG即可
	org	07c00h			; 告诉编译器程序加载到7c00处
	mov	ax, cs
	mov	ds, ax
	mov	es, ax
	call	DispStr			; 调用显示字符串例程
	jmp	$			; 无限循环
DispStr:
	mov	ax, BootMessage
	mov	bp, ax			; ES:BP = 串地址
	mov	cx, 16			; CX = 串长度
	mov	ax, 01301h		; AH = 13,  AL = 01h
	mov	bx, 000ch		; 页号为0(BH = 0) 黑底红字(BL = 0Ch,高亮)
	mov	dl, 0
	int	10h			; 10h 号中断
	ret
BootMessage:		db	"Hello, OS world!" ;设置显示文字
times 	510-($-$$)	db	0	; 填充剩下的空间,使生成的二进制代码恰好为512字节
dw 	0xaa55				; 结束标志

三.编译代码

  • 将编译器nasm.exe和文件boot.asm放在同一文件夹下

  • 文件路径栏打开cmd

  • 运行命令 编译代码

    nasm boot.asm -o boot.bin
    

四.写入文件到镜像Image

1.创建镜像文件 TINUX.IMG
  • 直接右键新建文本
  • 再改名字和后缀 为TINUX.IMG即可
2.打开 FloppyWriter.exe转换器

[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-XDawdyVW-1648276549807)(D:\文档\计算机基础\实现操作系统.assets\image-20220119151152215.png)]

3.选择写入文件到镜像

打开文件
在这里插入图片描述

打开选择镜像

[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-o2Kxng1B-1648276549808)(D:\文档\计算机基础\实现操作系统.assets\image-20220119151323415.png)]

完成

[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-EVtmq2vX-1648276549809)(D:\文档\计算机基础\实现操作系统.assets\image-20220119151409023.png)]

五.在VmWare虚拟机中创建虚拟机

[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-cp6n0Hdz-1648276667169)(D:\文档\计算机基础\实现操作系统.assets\image-20220119151546555.png)]

选择稍后安装操作系统

[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-NIIyiRmj-1648276549810)(D:\文档\计算机基础\实现操作系统.assets\image-20220119151617632.png)]

选择其他操作系统

[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-RjxrM4RR-1648276549811)(D:\文档\计算机基础\实现操作系统.assets\image-20220119151633763.png)]

[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-ztKnEHjF-1648276721934)(D:\文档\计算机基础\实现操作系统.assets\image-20220119153242922.png)]

命名虚拟机选择虚拟机存储位置

一般放在自定义的文件夹或者默认皆可

[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-KChJr8uE-1648276549813)(D:\文档\计算机基础\实现操作系统.assets\image-20220119153504446.png)]

指定磁盘容量

此处选最小即可

[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-eH6NERL5-1648276549814)(D:\文档\计算机基础\实现操作系统.assets\image-20220119153548043.png)]

自定义硬件

此处自定义,或者之后自定义皆可

[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-0ai5RTGm-1648276549815)(D:\文档\计算机基础\实现操作系统.assets\image-20220119153621020.png)]

[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-OTu5ND9e-1648276549815)(D:\文档\计算机基础\实现操作系统.assets\image-20220119152007957.png)]

添加软盘

[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-ok7vZluk-1648276549816)(D:\文档\计算机基础\实现操作系统.assets\image-20220119152201335.png)]

[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-JFrUzpdE-1648276549816)(D:\文档\计算机基础\实现操作系统.assets\image-20220119152253424.png)]

加载镜像

[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-wl6wEQT6-1648276549817)(D:\文档\计算机基础\实现操作系统.assets\image-20220119152320887.png)]

[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-qA0pN3vx-1648276549817)(D:\文档\计算机基础\实现操作系统.assets\image-20220119152352136.png)]

[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-S5V9jzb7-1648276549818)(D:\文档\计算机基础\实现操作系统.assets\image-20220119152942278.png)]

开启虚拟机

在这里插入图片描述

效果

[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-x8pwyrzA-1648276549819)(D:\文档\计算机基础\实现操作系统.assets\image-20220119153029035.png)]

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值