Giter Site home page Giter Site logo

yhzhang0128 / egos-2000 Goto Github PK

View Code? Open in Web Editor NEW
2.1K 2.1K 151.0 14.06 MB

Envision a future where every student can read all the code of a teaching operating system.

License: MIT License

Makefile 3.54% Assembly 2.58% C 93.88%
education operating-system

egos-2000's People

Stargazers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

Watchers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

egos-2000's Issues

Bug due to integer promotion in `mtime_get`

Take the function mtime_get

static long long mtime_get() {
    int low, high;
    do {
        high = *(int*)(0x200bff8 + 4);
        low  = *(int*)(0x200bff8);
    }  while ( *(int*)(0x200bff8 + 4) != high );

    return (((long long)high) << 32) | low;
}

If low is a negative number (sign bit 31 is 1), then sign extension will occur on the return statement. C conversion rules state that a small sized integer is promoted to the larger type https://en.cppreference.com/w/c/language/conversion. The problem is demonstrated at this godbolt link: https://gary.godbolt.org/z/jxP4hKGMf.

For loading the individual components of the long long, these should probably be unsigned.

Can't boot up using qemu

When i use qemu to run egos-2000
it stuck in

cp build/release/earth.elf tools/qemu/qemu.elf
riscv64-unknown-elf-objcopy --update-section .image=tools/disk.img tools/qemu/qemu.elf
qemu-system-riscv32 -readconfig tools/qemu/sifive-e31.cfg -kernel tools/qemu/qemu.elf -nographic

Port to RISV64 and baremetal run on VF2

I'm really interested in this project, unfortunately it seems it is nailed to RV32 as for now.

However, SBCs like VisionFive2 and Star64 emerge, and there will be more RV64 actual hardware in the future.

Are there plans to port it to RV64? Run on real hardware?

Can this project completely compile in the Win10 ?

It's really a great job, but my question is, limited by some environmental conditions, can all the compilation and running of this project be done on win10 only with gcc & riscv toolchain & qemu ? I am having trouble executing "make install" with mkfs and mkrom, hope for your reply.

Can it run on ESP32-C3 a RISC V chipset?

Can it run on https://www.espressif.com/en/products/socs/esp32-c3 ?

From the website

ESP32-C3 is a single-core Wi-Fi and Bluetooth 5 (LE) microcontroller SoC, based on the open-source RISC-V architecture. It strikes the right balance of power, I/O capabilities and security, thus offering the optimal cost-effective solution for connected devices. The availability of Wi-Fi and Bluetooth 5 (LE) connectivity not only makes the device's configuration easy, but it also facilitates a variety of use-cases based on dual connectivity.

Ox64 support

It seems to be a great little os and could be a perfect match for ox64. Is there any plan to port the os to ox?

Great job! Any plan to make a Rust version?

As a modern systems languages, Rust is very expressive while retaining the high performance. It's a good candidate to write OS which may requires few lines of code, hence being more readable and understandable, hopefully.

Additional course material available?

Thank you for sharing this amazing project! I'm excited to dive into it. I'm wondering: in addition to the slides available on the course website linked in the readme, are there any other course materials (video/audio lectures, books, etc) available for anyone interested that is not a student at Cornell? I couldn't find this class from OpenCourseware or EdX; is the class itself available anywhere online?

Size of binary

Why does the resulting binary so big? Even linux isn't that big and yet linux has a few dozen times more code. So why does it happen?

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.