Skip to content

A minimal operating system (2K LOC) on QEMU and a RISC-V board

License

Notifications You must be signed in to change notification settings

P-Gu/egos-2000

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

A minimal operating system for a real RISC-V board

This is an image

The earth and grass operating system (EGOS) is our teaching OS at Cornell. It has three layers:

  • the earth layer provides hardware-specific abstractions
    • tty and disk device interfaces
    • cpu interrupt and memory management interfaces
  • the grass layer provides hardware-independent abstractions
    • processes and system calls
    • inter-process communication
  • the application layer on top of the operating system provides
    • file system
    • shell and common shell commands

EGOS is minimal and very suitable for teaching an undergraduate operating system course.

> cloc . --exclude-dir=install
      31 text files.
      31 unique files.                              
       5 files ignored.

github.com/AlDanial/cloc v 1.82  T=0.02 s (1657.9 files/s, 91367.4 lines/s)
-------------------------------------------------------------------------------
Language                     files          blank        comment           code
-------------------------------------------------------------------------------
C                               13            228            137            760
C/C++ Header                    11             64              5            205
Markdown                         1             12              0             46
make                             1             11              0             43
Assembly                         2              6             14             18
-------------------------------------------------------------------------------
SUM:                            28            321            156           1072
-------------------------------------------------------------------------------

Hardware requirements

Software requirements

Tutorial and documentation

For compiling and running egos-riscv, you can read USAGES.md or watch our video tutorial (Youtube, Bilibili). The documentation further introduces the teaching plans, architecture and development history of egos-riscv.

For any questions, please contact Yunhao Zhang or Robbert van Renesse.

About

A minimal operating system (2K LOC) on QEMU and a RISC-V board

Resources

License

Stars

Watchers

Forks

Releases

No releases published

Packages

 
 
 

Languages

  • C 94.6%
  • Makefile 3.1%
  • Assembly 2.2%
  • GDB 0.1%