V2EX = way to explore
V2EX 是一个关于分享和探索的地方
现在注册
已注册用户请  登录
爱意满满的作品展示区。
LastAvengers
V2EX  ›  分享创造

OS67 - 自己写的一个玩具内核

  •  2
     
  •   LastAvengers ·
    SilverRainZ · 2016-05-26 13:47:43 +08:00 · 3098 次点击
    这是一个创建于 3138 天前的主题,其中的信息可能已经有所发展或是发生改变。

    这是我在大二时造的一个小轮子,萌生此意是因为受了 这个帖子 的作者 fleuria 启发。

    OS67 是一个基于 i386 的玩具内核,主要参考了 Bram's Kernel Development Tutorail 和 xv6 。 代码开源在 https://github.com/LastAvenger/OS67 ,欢迎 Star ;)

    实现了:

    • 基础设备的驱动
    • 简单的内存管理和虚拟内存映射
    • Minix v1 文件系统
    • 基于 fork/exec 实现的多进程
    • 20 个系统调用
    • 类 unix 的文件描述符实现 IO 重定向
    • 简单的管道(由 shell 实现)
    • 一些用户程序

    近 7000 行代码, 不过其中有很多代码都是从 xv6 移植过来的。因此, OS67 充其量只是一个拙劣的 xv6 的重制品,但这并不妨碍我从中学习 Kernel 的原理。

    如果有人对实现自己的 Kernel 感兴趣的话,可以参考一下我的代码,以及我在知乎的回答和博客的一些资料:

    6 条回复    2016-05-27 16:45:32 +08:00
    sharpy
        1
    sharpy  
       2016-05-26 18:57:54 +08:00
    mark
    ibigbug
        2
    ibigbug  
       2016-05-26 21:21:16 +08:00
    fy
        3
    fy  
       2016-05-26 22:21:02 +08:00
    OS1-OS66 何在?(滑稽)
    LastAvengers
        4
    LastAvengers  
    OP
       2016-05-26 22:44:14 +08:00
    @fy 67 是一个特别的数字(
    rosu
        5
    rosu  
       2016-05-27 15:48:16 +08:00
    楼主毕业了?还有,从有想法到实现一共花了多长时间?
    LastAvengers
        6
    LastAvengers  
    OP
       2016-05-27 16:45:32 +08:00   ❤️ 1
    @rosu 现在大三,从有想法到实现总共一年多吧,当然中间断断续续的。
    关于   ·   帮助文档   ·   博客   ·   API   ·   FAQ   ·   实用小工具   ·   945 人在线   最高记录 6679   ·     Select Language
    创意工作者们的社区
    World is powered by solitude
    VERSION: 3.9.8.5 · 24ms · UTC 20:23 · PVG 04:23 · LAX 12:23 · JFK 15:23
    Developed with CodeLauncher
    ♥ Do have faith in what you're doing.