yhzhang0128 / egos-2000 Goto Github PK
View Code? Open in Web Editor NEWEnvision a future where every student can read all the code of a teaching operating system.
License: Other
Envision a future where every student can read all the code of a teaching operating system.
License: Other
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.
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.
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
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
.
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?
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?
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?
Thanks for creating this. Is it possible to release assignments related to the course? That would provide a great structure to all of the learners interested in learning egos-2000 in more detail.
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.
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?
A declarative, efficient, and flexible JavaScript library for building user interfaces.
๐ Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.
TypeScript is a superset of JavaScript that compiles to clean JavaScript output.
An Open Source Machine Learning Framework for Everyone
The Web framework for perfectionists with deadlines.
A PHP framework for web artisans
Bring data to life with SVG, Canvas and HTML. ๐๐๐
JavaScript (JS) is a lightweight interpreted programming language with first-class functions.
Some thing interesting about web. New door for the world.
A server is a program made to process requests and deliver data to clients.
Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.
Some thing interesting about visualization, use data art
Some thing interesting about game, make everyone happy.
We are working to build community through open source technology. NB: members must have two-factor auth.
Open source projects and samples from Microsoft.
Google โค๏ธ Open Source for everyone.
Alibaba Open Source for everyone
Data-Driven Documents codes.
China tencent open source team.