手写操作系统(一)-环境准备

手写过了其他一些框架,现在挑战操作系统。

这一篇是搭建需要的环境。

1.Oracle Virtual Box下载

下载地址:https://www.virtualbox.org/

双击下载到的exe文件

VirtualBox 7.0.18 只能装在默认的C盘,安装到D盘会提示不满足安全要求。

执行下列命令即可

icacls E:\virtualbox /reset /t /c
icacls E:\virtualbox /inheritance:d /t /c
icacls E:\virtualbox /grant *S-1-5-32-545:(OI)(CI)(RX)
icacls E:\virtualbox /deny *S-1-5-32-545:(DE,WD,AD,WEA,WA)
icacls E:\virtualbox /grant *S-1-5-11:(OI)(CI)(RX)
icacls E:\virtualbox /deny *S-1-5-11:(DE,WD,AD,WEA,WA)

这里有个坑,E:\virtualbox 是我的安装目录,但是如果想安装在E:\software\VirtualBox下面,那么上面的六条命令需要分别对E:\software\VirtualBox和E:\software\都执行一遍。如果E:\software\内有其他文件,那这些文件的安全需求也被更改,有可能影响文件的使用。

然后点击安装即可,直接下一步,选择合适的安装路径即可。

 

 

2.dd工具

Linux下有一个dd工具,用来直接读写磁盘。

Windows下也有一个类似的工具,下载到的主要就是一个dd.exe文件。

下载地址:http://www.chrysocome.net/dd

dd(Data Description)是一个用于数据转换和复制的命令,它在Linux中非常常见,常用于磁盘克隆、备份、格式转换等任务。在Windows中,dd.exe提供了相同的功能。

查看帮助信息:

dd.exe /?

 

查看所有的磁盘

dd --list

有实际的磁盘,也有一些虚拟的磁盘

还有一些常用的命令:

1. 磁盘克隆:这个命令会将源文件或设备的数据复制到目标位置。

dd if=/path/to/source of=/path/to/destination

2. 大小调整:这里bs参数指定了块大小,count指定了块的数量,可以用来限制复制的大小。

dd bs=1M count=100 if=/path/to/source of=/path/to/destination

3. 数据转换:conv参数可以指定转换规则,如同步填充空缺、忽略错误等。

dd conv=sync,noerror if=/path/to/source of=/path/to/destination

 

 

3.NASM

每种处理器都应该会有自己的汇编语言编译器,而对于同一款处理器来说,针对不同的平台(比如Windows和Linux),也会有不同版本的汇编语言编译器。

NASM 的全称是 NetwideAssembler,它是可免费使用的开源软件。

原文链接:https://blog.csdn.net/lcy1619260/article/details/132739656

下载地址:https://www.nasm.us/pub/nasm/releasebuilds/

下载之后是一个压缩包,解压即可。

解压后是一个nasm2文件夹

 

4.编译器

可以使用你喜欢的编译器

记事本、vscode等

我个人推荐CLion

 

5.参考

郑钢著操作系统真象还原

田宇著一个64位操作系统的设计与实现

暂无评论

发送评论 编辑评论

|´・ω・)ノ
ヾ(≧∇≦*)ゝ
(☆ω☆)
(╯‵□′)╯︵┴─┴
 ̄﹃ ̄
(/ω\)
∠( ᐛ 」∠)_
(๑•̀ㅁ•́ฅ)
→_→
୧(๑•̀⌄•́๑)૭
٩(ˊᗜˋ*)و
(ノ°ο°)ノ
(´இ皿இ`)
⌇●﹏●⌇
(ฅ´ω`ฅ)
(╯°A°)╯︵○○○
φ( ̄∇ ̄o)
ヾ(´・ ・`。)ノ"
( ง ᵒ̌皿ᵒ̌)ง⁼³₌₃
(ó﹏ò。)
Σ(っ °Д °;)っ
( ,,´・ω・)ノ"(´っω・`。)
╮(╯▽╰)╭
o(*////▽////*)q
>﹏<
( ๑´•ω•) "(ㆆᴗㆆ)
😂
😀
😅
😊
🙂
🙃
😌
😍
😘
😜
😝
😏
😒
🙄
😳
😡
😔
😫
😱
😭
💩
👻
🙌
🖕
👍
👫
👬
👭
🌚
🌝
🙈
💊
😶
🙏
🍦
🍉
😣
Source: github.com/k4yt3x/flowerhd
颜文字
Emoji
小恐龙
花!
上一篇
下一篇