爱意满满的作品展示区。
LastAvengers

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

  •  2
     
  •   LastAvengers ·
    SilverRainZ · May 26, 2016 · 3791 views
    This topic created in 3669 days ago, the information mentioned may be changed or developed.

    这是我在大二时造的一个小轮子,萌生此意是因为受了 这个帖子 的作者 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 replies    2016-05-27 16:45:32 +08:00
    sharpy
        1
    sharpy  
       May 26, 2016
    mark
    ibigbug
        2
    ibigbug  
       May 26, 2016
    fy
        3
    fy  
       May 26, 2016
    OS1-OS66 何在?(滑稽)
    LastAvengers
        4
    LastAvengers  
    OP
       May 26, 2016
    @fy 67 是一个特别的数字(
    rosu
        5
    rosu  
       May 27, 2016
    楼主毕业了?还有,从有想法到实现一共花了多长时间?
    LastAvengers
        6
    LastAvengers  
    OP
       May 27, 2016   ❤️ 1
    @rosu 现在大三,从有想法到实现总共一年多吧,当然中间断断续续的。
    About   ·   Help   ·   Advertise   ·   Blog   ·   API   ·   FAQ   ·   Solana   ·   1281 Online   Highest 6679   ·     Select Language
    创意工作者们的社区
    World is powered by solitude
    VERSION: 3.9.8.5 · 41ms · UTC 17:42 · PVG 01:42 · LAX 10:42 · JFK 13:42
    ♥ Do have faith in what you're doing.