|
1 | 1 | # MoltarOS |
2 | 2 |
|
3 | | -MoltarOS will be a simple and minimal implementation of an Operating System, developed initially using [OSDev Tutorials](http://wiki.osdev.org/Tutorials), and later with me implementing things on my own. |
4 | | - |
5 | | -MoltarOS is not intended to be a commercial or competitive operating system, it is merely an attempt at a more academic minimal but OS, with the goal to teach myself, the sole developer, the ins and outs of how an Operating System works. The features I plan to implement are... |
6 | | - |
7 | | -1) EXT2 Filesystem |
8 | | - |
9 | | -2) Basic Keyboard driver |
10 | | - |
11 | | -3) Basic interactive shell |
12 | | - |
13 | | -4) Simplistic yet effective CPU scheduling and multitasking |
14 | | - |
15 | | -5) Multithreading primitives and message-passing |
16 | | - |
17 | | -6) Basic Network Stack, enough to implement BSD sockets |
18 | | - |
19 | | -7) Memory allocation and implementation of a heap |
20 | | - |
21 | | -8) ELF support |
22 | | - |
23 | | -These will, without a doubt, take a very long time, and I may not ever finish them, however if and when I do, another notable goal would be to implement support for X windows server for a basic GUI. |
| 3 | +## Summary |
| 4 | + |
| 5 | +MoltarOS is a 'toy' operating system developed purely for academic purposes and interests. It is a 'toy' in that it never is intended to compete against other well established operating systems, such as FreeBSD, Linux, Windows, or Mac OS X, but rather with the intent that I may learn how they (potentially) work internally. The project by itself is a very ambitious one, but not unachievable. This project was inspired by the [ToaruOS](https://github.com/klange/toaruos), which was developed by a single undergraduate student, which made it clear that it certainly was possible. The operating system will begin implementation by following [OSDev Tutorials](http://wiki.osdev.org/Tutorials), and later potentially adding my own support for other things based on where my interests lead me. |
| 6 | + |
| 7 | +## Progress |
| 8 | + |
| 9 | +The below depicts an early "schedule" or rather a path I will be taking in terms to seeing this project to relative completion (or at least to the point I am content with it). The below progress may or may not be implemented in the master branch, but if it is checked, it will be in the development branch. As well, just because it is checked does not mean it is "finished" per-say, it means that it is working well enough, and most likely will be enhanced in the future. |
| 10 | + |
| 11 | +- [x] "Hello World" Kernel |
| 12 | +- [x] Interrupts (IRQ + ISR) |
| 13 | +- [x] VGA Display Driver |
| 14 | +- [x] Keyboard Driver |
| 15 | +- [ ] Interactive Shell |
| 16 | +- [ ] Memory Management (Physical + Virtual) |
| 17 | +- [ ] File System |
| 18 | +- [ ] Multitasking and Scheduling |
| 19 | +- [ ] Networking |
| 20 | +- [ ] Process Creation and Managements |
| 21 | +- [ ] ELF Binary Support |
| 22 | +- [ ] Graphical User Interfaces |
24 | 23 |
|
25 | 24 | #Progress Update |
26 | 25 |
|
|
0 commit comments