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

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

  •  2
     
  •   LastAvengers ·
    SilverRainZ · May 26, 2016 · 4127 views
    This topic created in 3819 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
    sharpy
    May 26, 2016
    1
    mark
    ibigbug
    ibigbug
    May 26, 2016
    2
    赞
    fy
    fy
    May 26, 2016
    3
    OS1-OS66 何在?(滑稽)
    LastAvengers
    LastAvengers
    OP
    May 26, 2016
    4
    @fy 67 是一个特别的数字(
    rosu
    rosu
    May 27, 2016
    5
    楼主毕业了?还有,从有想法到实现一共花了多长时间?
    LastAvengers
    LastAvengers
    OP
    May 27, 2016❤️1
    6
    @rosu 现在大三,从有想法到实现总共一年多吧,当然中间断断续续的。
    About   ·   Help   ·   Advertise   ·   Blog   ·   API   ·   FAQ   ·   Privacy   ·   Solana   ·   2546 Online   Highest 6679   ·     Select Language
    创意工作者们的社区
    World is powered by solitude
    VERSION: 3.9.8.5 · 105ms · UTC 11:25 · PVG 19:25 · LAX 03:25 · JFK 06:25
    ♥ Do have faith in what you're doing.