Creating an Operating System: Difference between revisions

Add even more suggestions
[unchecked revision][unchecked revision]
(Add more Phase III things to do)
(Add even more suggestions)
Line 114:
== Phase III: Extending your Operating System ==
With these basic features in place, you can now start writing your operating system and all its wonderful features. You'll add games, editors, test programs, command line utilties, drivers and whatever you can imagine. Your skill and imagination is the limit here. You can delay many of these features until later in your operating system and make then in almost any order.
 
=== Time ===
{{Main|Time}}
 
Time is a complicated concept in computing, however modern operating systems are expected to have functions for converting timestamps to parsed time and back, as well as providing system clocks (real time, monotonic time, user CPU time, ..) and timers on these clocks with events happening on expiration.
 
=== Symmetric Multiprocessing ===
{{Main|SMP}}
 
It's a very good idea to add support for multiple CPUs to your kernel early on, or you will likely need to redo a lot of your kernel because it wasn't SMP-ready in many places.
 
=== Secondary Storage ===
{{Main|Secondary}}
 
You will likely want to support common block devices such as harddisks, cdroms, floppies, and whatever storage devices your operating system needs support for.
 
=== Real Filesystems ===
{{Main|Filesystems}}
 
It's a good idea to add proper filesystem support early on.
 
=== Graphics ===
Anonymous user