Open VOID001 opened 6 years ago
2 Maybe cleaner makefile (I actually believe no make systems are clean) 3 Always make it run first, make it better later
@swordfeng Yeah, now the system is in an "It works!" state. So I want to improve it. Any idea on what essential parts are needed for the OS?
I need a document about how to build it and how to run it on my machine.
@Anduin2017 that's fine cross build instructions will be provided later
汇编写起来实在是太吃力了。
Current version of NEUOS contains many design problems, I will list them below
However these functions are not enough for a real operating system. At least the following funtion should be added:
Hard and unnecessary coding for students. Many students are not familiar with AT&T assembly or the Intel Manual. Some assignments such as hardware init and floppy IO now require them to write in full AT&T assembly, thus make them frustrating. Learned from AIM-public, these unnecessary but complicated code need to be implemented by the NEUOS developer, and provide API to students, they could just use the API to issue disk IO commands, hardware init, etc. And for a cleaner codebase, we need to remove the hand-written assembly as much as possible, instead, use C inline assembly as an alternative.
More formal debugging, cross building toolkit We now combined QEMU gdb and Bochs GUI together to debug the project, but these methods are not enough, for example we need to have some internal debug tool, debug function. And the toolchain for building NEUOS should be universal, from a specific architecture and ELF format, everyone can build NEUOS from its own toolchain, providing a Virtual Machine image is not a good choice for environment setup.
To be continued