一位独立开发者Gusc准备开发自己的系统了,但是今天他准备分享一下具体怎样开发的步骤。
对于初学者来说,就是让你的代码成功在CPU上运行,且不需要任何底层操作系统,但首先你得有个计划:
一.计划
1. 瞄准现代架构,Intel 64,比如Ivy Bridge, 酷睿3rd i5 CPU 集成Intel HD 4000 GPU 以及 B75 Express芯片组
2.避免遗留数据,尽快的删除它们,甚至可以跳过保护模式而直接进入长模式
3. 尽快跳到C语言
4. 忘掉旧PCI、IDE、PS/2、串行/并行端口;也忘掉BIOS( Basic Input Output System)、UEFI,我自己准备瞄准PCIe, SATA, USB
5. 避免使用GRUB或任何其他multiboot引导装载程序,一切以C代码为唯一执行代码
二.更详尽的一些计划
1. 使用C、C 和一些流行的脚本语言(Python 或 interpreted C):C作为内核和核心路径语言;C 作为GUI的语言;用户空间使用脚本语言,没有编译,也能深度集成到操作系统,可让编写应用程序更加容易
2. 模式驱动程序基于URI,例如:file://localhost/my documents/ or just /my documents/ in the file browser
3. 不用Unix目录树,这个不能告诉用户什么东西,比如我之一次使用/ etc并不知道它是是存储配置文件的意思,也分不清 /bin, /usr/bin以及 /usr/local/bin 的意思。而是简单的:
/applications –安装用户空间应用程序
/configuration – 保存所有用户空间配置文件
/documents – 保存用户所有的文件
/system – 这是系统目录 – 这个目录除了驱动和内核不能被任何人访问等等
4. 对于创建API我有自己的一些想法, 不用POSIX,它只是API上的一个抽象层
5. 从一开始使用GUI,命令BIOS显示一个可爱的logo并试图避免任何闪烁
三.从我个人的研究我所发现的事情是
1. 启动顺序:BIOS、Master Boot Record (MBR)、Bootloader、内核
2. 在Windows上, 如何编写自己的MBR并将它写到磁盘上。我已经用Visual C 写了小实用程序,允许直接从磁盘读/写
3. 如何用Visual Studio编写功能
四.有用的工具
1. Visual C 2010 Express Edition ——我自己用的XP,所以没用VS2012 Express
2. Netwide Assembler
3. Bochs——x86模拟器, 所以你不需要写入磁盘, 连接、启动、看到错误, 关闭,重写你的内核, 写入磁盘
4. Cygwin—Windows Unix 工具
Via gusc.lv
(雷锋网 济慈专稿,转载请注明来自雷锋网及作者)
更多关于 云服务器, 域名注册, 虚拟主机的问题,请访问 西部数码官网: www.west.cn前言:本文是原创首发。做站有几年了 (1)初识网络: 高中毕业时候,造化弄人,读了个计算机会计专业(听说好考,找工作容易,呵呵),结果不感兴趣,两年毕业后,全科考试通过,但会计证我都没拿就走了,觉得没意思,会计应该是女人干的活。大专期间,空闲时间很多,那时候有空就去机房(费用从餐...
俺自来安徽省一个偏僻的乡村,小时候家里很穷,13岁的时候我的母亲去逝了,父亲一个人拉扯我和大我2岁的哥哥。我的童年生活在我的印像中已经很模糊了!为了能给父亲减轻生活压力能早日给哥哥娶上媳妇,高中没读完便缀学了,在家里帮父亲做活。那一段时间我什么都做过,农忙在家干活,农闲就出去打工。...
这是一篇很难得的博客文章 ,一个自己说文笔不好,但是字里行间对公司深情的员工 ———————————————————————————— 看到很多朋友写博客在介绍自己的站,我虽然文笔不好,但是也时常有这种冲动,想把心里面的一些想法,或者自己的作品能让更多人去了解和指出不足的地方。 很荣幸加...
前言 &nb...
站长交流群讲座qq群 17770150 每天 晚8点30 邀请草根精英 演讲网站运营 推广盈利经验 ————————————————————————————————————傲雪(41567549) 20:31:20先综合分析一下这个站最高PR值:5 www.adm...
我出生在一个贫困的家庭中。玩电脑开始是在2000年,那个时候正在上学,基本上是在玩玩红警,星际争BA。其实四年学习生涯中都一直在玩电脑。(有点多余,文采不好,为了求落伍,各位支持下!) 2002年的时候,班里要搞网...