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 .
      41 text files.
      33 unique files.                              
      16 files ignored.

github.com/AlDanial/cloc v 1.92  T=0.03 s (1089.7 files/s, 70829.1 lines/s)
-------------------------------------------------------------------------------
Language                     files          blank        comment           code
-------------------------------------------------------------------------------
C                               16            275            186            966
C/C++ Header                    11             76             17            276
Markdown                         2             35              0            145
Assembly                         3             10             21             70
make                             1             12              0             56
-------------------------------------------------------------------------------
SUM:                            33            408            224           1513
-------------------------------------------------------------------------------

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%