Implementing an Operating System (The LowEST Kernel)
Posted: Mon Feb 22, 2016 4:33 pm
NOTE: Absolutely all of my programs and my source code are Public Domain, so they can be used freely and have no author restrictions at all.
I'm currently making a full text recording of my previous kernel code ( LowEST_Kern_2012-07-03.zip, found here).
The link to the ZIP file above is regular x86 assembly source code. Now, the following link through clicking the image is the recording of the source code character by character so as to make it dramatically more self-explaining. Of course I'm still learning to organize the lowest and most complex details of OS development, so this is an incipient work that seeks to improve all the documentation around in this same way to make a sort of a hierarchical tree of source code.
With this we don't just have the sequential code but we can always see what part of the code came to exist first, and then which others to make obvious the sequence of dependencies at the code line level.
By now it just contains the raw skeleton of the kernel to simply halt inside an infinite loop, and a boot sector code for FAT12, but it should be enough to demonstrate how to actually start creating an operating system (at leaast I haven't seen any text recording of a kernel or of any other code snippet that actually contains all the text, the typing sequence including typos and corrections, and the directory tree).
I guess it will be well received by most beginners and could be very useful to show the logical dependencies of all the content of the wiki and other references with a much finer "granularity".
LowEST_Kernel Level 1 (Just Press Play)
And then an archive with the individual code files:
LowEST Kernel (containing all raw files inside a TAR, including the text recording.)
LowEST Kernel stands for "Low Executive System Tests Kernel". I call it "executive" instead of operating both for the matching mnemonic and because it is too basic to be considered a proper operating system. It's more a platform to play around with I/O ports, memory and for loading custom programs to do that with a small, raw kernel call export interface.
By the way, the next thing to add would probably be the code to clear the screen and to write text in the standar 80x25x16 color text mode. Of course I will need a lot of help but it makes things much more resumable, scalable, achievable and clearer to actually being able to do so and to fulfill the goal to make a truly understandable kernel or application source code (I just hope there was a better text recorder integrated into all development, audio and graphics renderization suites instead of having to write it in JavaScript as a barely useable program).
I'm currently making a full text recording of my previous kernel code ( LowEST_Kern_2012-07-03.zip, found here).
The link to the ZIP file above is regular x86 assembly source code. Now, the following link through clicking the image is the recording of the source code character by character so as to make it dramatically more self-explaining. Of course I'm still learning to organize the lowest and most complex details of OS development, so this is an incipient work that seeks to improve all the documentation around in this same way to make a sort of a hierarchical tree of source code.
With this we don't just have the sequential code but we can always see what part of the code came to exist first, and then which others to make obvious the sequence of dependencies at the code line level.
By now it just contains the raw skeleton of the kernel to simply halt inside an infinite loop, and a boot sector code for FAT12, but it should be enough to demonstrate how to actually start creating an operating system (at leaast I haven't seen any text recording of a kernel or of any other code snippet that actually contains all the text, the typing sequence including typos and corrections, and the directory tree).
I guess it will be well received by most beginners and could be very useful to show the logical dependencies of all the content of the wiki and other references with a much finer "granularity".
LowEST_Kernel Level 1 (Just Press Play)
And then an archive with the individual code files:
LowEST Kernel (containing all raw files inside a TAR, including the text recording.)
LowEST Kernel stands for "Low Executive System Tests Kernel". I call it "executive" instead of operating both for the matching mnemonic and because it is too basic to be considered a proper operating system. It's more a platform to play around with I/O ports, memory and for loading custom programs to do that with a small, raw kernel call export interface.
By the way, the next thing to add would probably be the code to clear the screen and to write text in the standar 80x25x16 color text mode. Of course I will need a lot of help but it makes things much more resumable, scalable, achievable and clearer to actually being able to do so and to fulfill the goal to make a truly understandable kernel or application source code (I just hope there was a better text recorder integrated into all development, audio and graphics renderization suites instead of having to write it in JavaScript as a barely useable program).