IT数码 购物 网址 头条 软件 日历 阅读 图书馆
TxT小说阅读器
↓语音阅读,小说下载,古典文学↓
图片批量下载器
↓批量下载图片,美女图库↓
图片自动播放器
↓图片自动播放器↓
一键清除垃圾
↓轻轻一点,清除系统垃圾↓
开发: C++知识库 Java知识库 JavaScript Python PHP知识库 人工智能 区块链 大数据 移动开发 嵌入式 开发工具 数据结构与算法 开发测试 游戏开发 网络协议 系统运维
教程: HTML教程 CSS教程 JavaScript教程 Go语言教程 JQuery教程 VUE教程 VUE3教程 Bootstrap教程 SQL数据库教程 C语言教程 C++教程 Java教程 Python教程 Python3教程 C#教程
数码: 电脑 笔记本 显卡 显示器 固态硬盘 硬盘 耳机 手机 iphone vivo oppo 小米 华为 单反 装机 图拉丁
 
   -> 系统运维 -> 三十天自制操作系统(一) -> 正文阅读

[系统运维]三十天自制操作系统(一)

操作系统(一)

软盘

一张软盘共有1440KB的空间,也就是1474560字节。所以要创建一个1474560字节的映像文件。(最终地址为167FFFFH)
在这里插入图片描述

启动区(boot sector)

软盘的第一个扇区(地址0000H~01FFH)。计算机在读写软盘时,是以512个字节为一个单位进行读写的。计算机读取第一个块,如果最后两个字节是55AAH则认为是启动区。启动区主要包括FAT12格式代码,以及IPL代码。
在这里插入图片描述

FAT-12

用Windows或MS-DOS格式化出来的软盘就是这种格式,而我们的操作系统也采用这种格式。

以下这段是标准FAT12格式软盘专用的代码

	DB		0xeb, 0x4e, 0x90
	DB		"HELLOIPL"		; 启动区的名称可以是任意的字符串(8字节)
	DW		512				; 每个扇区的大小(必须为512字节)
	DB		1				; 簇的大小(必须为1个扇区)
	DW		1				; FAT的起始位置(一般从第一个扇区开始)
	DB		2				; FAT的个数(必须为2)
	DW		224				; 根目录的大小(一般设成224项)
	DW		2880			; 该磁盘的大小(必须是2880扇区)
	DB		0xf0			; 磁盘的种类(必须是0xf0)
	DW		9				; FAT的长度
	DW		18				; 一个磁道有几个扇区(必须是18)
	DW		2				; 磁头数(必须是2)
	DD		0				; 不使用分区,必须是0
	DD		2880			; 重写一次磁盘大小
	DB		0,0,0x29		; 意义不明,固定
	DD		0xffffffff		; (可能是)卷标号码
	DB		"HELLO-OS   "	; 磁盘的名称(11字节)
	DB		"FAT12   "		; 磁盘格式名称(8字节)
	RESB	18				; 先空出18字节

; 程序主体

	DB		0xb8, 0x00, 0x00, 0x8e, 0xd0, 0xbc, 0x00, 0x7c
	DB		0x8e, 0xd8, 0x8e, 0xc0, 0xbe, 0x74, 0x7c, 0x8a
	DB		0x04, 0x83, 0xc6, 0x01, 0x3c, 0x00, 0x74, 0x09
	DB		0xb4, 0x0e, 0xbb, 0x0f, 0x00, 0xcd, 0x10, 0xeb
	DB		0xee, 0xf4, 0xeb, 0xfd

; 信息显示部分

	DB		0x0a, 0x0a		; 两个换行
	DB		"hello, world"
	DB		0x0a			; 换行
	DB		0

	RESB	0x1fe-$			; 填写0x00,直到0x001fe

	DB		0x55, 0xaa

IPL(启动程序加载器)

一个加载操作系统的程序(置于启动区中)
开头EB在机器语言中为相对短跳转的意思。
EB 4E 90,即跳转到地址为4EH处,而90H是空操作用于填空间。
所以开头的机器码表示的意思就是跳转到IPL程序的地址。
操作系统程序机器码

  系统运维 最新文章
配置小型公司网络WLAN基本业务(AC通过三层
如何在交付运维过程中建立风险底线意识,提
快速传输大文件,怎么通过网络传大文件给对
从游戏服务端角度分析移动同步(状态同步)
MySQL使用MyCat实现分库分表
如何用DWDM射频光纤技术实现200公里外的站点
国内顺畅下载k8s.gcr.io的镜像
自动化测试appium
ctfshow ssrf
Linux操作系统学习之实用指令(Centos7/8均
上一篇文章      下一篇文章      查看所有文章
加:2021-07-23 11:14:16  更:2021-07-23 11:16:36 
 
开发: C++知识库 Java知识库 JavaScript Python PHP知识库 人工智能 区块链 大数据 移动开发 嵌入式 开发工具 数据结构与算法 开发测试 游戏开发 网络协议 系统运维
教程: HTML教程 CSS教程 JavaScript教程 Go语言教程 JQuery教程 VUE教程 VUE3教程 Bootstrap教程 SQL数据库教程 C语言教程 C++教程 Java教程 Python教程 Python3教程 C#教程
数码: 电脑 笔记本 显卡 显示器 固态硬盘 硬盘 耳机 手机 iphone vivo oppo 小米 华为 单反 装机 图拉丁

360图书馆 购物 三丰科技 阅读网 日历 万年历 2024年11日历 -2024/11/25 16:22:01-

图片自动播放器
↓图片自动播放器↓
TxT小说阅读器
↓语音阅读,小说下载,古典文学↓
一键清除垃圾
↓轻轻一点,清除系统垃圾↓
图片批量下载器
↓批量下载图片,美女图库↓
  网站联系: qq:121756557 email:121756557@qq.com  IT数码