• 如何开发一个自己的移动OS?(转)


    编者按】一位独立开发者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

  • 相关阅读:
    二纬码标签打印
    写JQuery 插件
    Java中System.getProperty()的参数
    (Java实现) 车站
    (Java实现) 活动选择
    (Java实现) 活动选择
    (Java实现) 过河卒
    (Java实现) 过河卒
    (Java实现) N皇后问题
    (Java实现) N皇后问题
  • 原文地址:https://www.cnblogs.com/seebro/p/3105559.html
Copyright © 2020-2023  润新知