Creating an Operating System: Difference between revisions

Jump to navigation Jump to search
[unchecked revision][unchecked revision]
Content deleted Content added
m Fix lint errors
m Use {{Main}}
 
Line 51: Line 51:
It is very useful for a multithreaded kernel to have built-in debugging facilities early on. You could have a magic key that stops the entire kernel and dumps the user to a mini-kernel with a command line interface for debugging. It could know the data structures used by the scheduler to list all the threads and perform call traces.
It is very useful for a multithreaded kernel to have built-in debugging facilities early on. You could have a magic key that stops the entire kernel and dumps the user to a mini-kernel with a command line interface for debugging. It could know the data structures used by the scheduler to list all the threads and perform call traces.
=== Filesystem Support ===
=== Filesystem Support ===
:''Main articles:'' [[Filesystem]], [[Initrd|Initialization Ramdisk]]
{{Main|Filesystem|Initrd}}
It'll be useful to have support for filesystems early on and transferring files onto your operating system using a initialization ramdisk.
It'll be useful to have support for filesystems early on and transferring files onto your operating system using a initialization ramdisk.
== Phase II: User-Space ==
== Phase II: User-Space ==
Line 100: Line 100:
Real operating systems don't operate in the basic text mode, but have bitmapped graphics. Writing real graphics drivers is a bunch of work, although some virtual machines offer some useful shortcuts.
Real operating systems don't operate in the basic text mode, but have bitmapped graphics. Writing real graphics drivers is a bunch of work, although some virtual machines offer some useful shortcuts.
=== User Interface ===
=== User Interface ===
:''Main articles'': [[User Interface]], [[Compositing]]
{{Main|User Interface|Compositing}}
You will certainly need to impress the operating systems development community with your flashy graphics and usable user-interface.
You will certainly need to impress the operating systems development community with your flashy graphics and usable user-interface.
=== Networking ===
=== Networking ===