实现最小操作系统

实现操作系统

实现最小操作系统

前言

一.准备软件

阅读了下《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)]

  • 0
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
Menuet 是英国一位软件工程师 Ville Mikael Turjanmaa 利用业余时间开发的,完全由 x86汇编语言于 2000年写成的一款32位操作系统。经过大量的修改与完善后, Menuet OS目前已经成为一个用功能完善的操作系统,目前的版本号是 0.74。Ver 0.75 正在开发中。 MenuetOS 并不是一个类Unix操作系统,它完全由 Asm语言编写的系统。Menuet 不基于当前任何一款流行的操作系统而运作,主要是为在开发过程中避免复杂的编程及各种不可预料的 Bug。 尽管Menuet是完全用 32位汇编写成的,但它的系统程序构架并不完全是为汇编语言而保留,它的接口实际上可用于任何程序设计语言。尽管如此,系统开发的目的还是为更简化 Asm程序设计而设计,系统下 GUI编程尤其体现这一点。 Menuet OS 的特点: 多任务,多线程 图形用户界面,可以达到 16bit color,1280x1024 dpi 程序开发比 WindowsLinux 之类的系统更容易 IDE环境:自带应用程序及内核编辑编译工具 完全开放的源代码(GPL) TCP/IP 协议栈、PPP 及 局域网络 HTTP/MP3/Mail 服务器,3D迷宫 自由的界面,窗口可换“皮肤” 仅一张 1.44M 软盘可以装下! Menuet OS 对硬件的要求 : CPU : 386 或更高 显示: 支持 VESA 2.0的显卡(推荐使用)或支持 VESA 1.2 的显卡,至少 1M显存。VGA/EGA 显示器。(注:目前的显卡都支持 VESA 3.0,同时也向下兼容) 声卡: 兼容 SB(Sound blaster) 16声效卡 硬盘: LBA 模式 FAT32文件系统 网络: Realtech 8029/8139 芯片组网卡 鼠标: PS/2 或 COM 或 USB /*别相信这个,我的USB鼠标就用不了*/ 内存: 至少32M
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值