Giter VIP home page Giter VIP logo

xjos's Introduction

xJOS

xJOS是基于ARMv7的微内核操作系统,是我在学习哈工大李治军老师的操作系统课程、MIT 6.828课程之后,借鉴Linux、freertos等内核,从零自制的一个操作系统。MIT课程的6个Lab和10个HW设计出了基于x86架构的JOS,本内核基于ARMv7架构,还具有详细说明设计**和实现方法的图解文档,故项目取名xJOS。

Features

./docs/readme/Untitled.png

目前已实现进程管理、内存管理、中断管理和文件系统等组件,已撰写说明设计**和实现方法的图解文档。

1、内存管理:以页为单位管理物理内存,维护链表结构分配和释放内存;基于多级页表管理虚拟内存,实现内核与进程之间的隔离。

2、进程管理:多进程可从内核镜像加载,或使用exec从文件系统加载,也可通过fork拷贝父进程产生;设计基于内存共享的IPC机制,用于进程之间的通信。

3、中断管理:设计Trapframe保存上下文;管理软中断、外部中断和异常,分别用于实现系统调用、抢占式调度和写时复制;设计用户程序回调函数机制,实现user-level的页错误处理。

4、文件系统:借鉴linux驱动**,设计设备驱动框架,提供同一套API访问不同设备;基于微内核**设计File Server,实现Block Cache机制,进程通过RPC访问具有分层目录结构的文件系统。

5、调试工具:搭建qemu测试环境,利用qemu和gdb等工具调试内核;内核中实现了log和backtrace等调试内核与进程的工具,backtrace可回溯函数调用栈帧,并打印stab调试信息。

Docs

1 Boot imx6 in qemu

2 Memory management

3 Trap

4 Multitasks

5 Device & File system

xjos's People

Contributors

kainansu avatar

Watchers

 avatar

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. 📊📈🎉

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.