Required Knowledge: Difference between revisions

no edit summary
[unchecked revision][unchecked revision]
(convert first- and second- person pronouns)
No edit summary
 
(3 intermediate revisions by 3 users not shown)
Line 1:
{{FirstPersonYou}}
'''Beginners in OSDev are strongly recommended not to skip this.'''
 
Line 5:
 
Developing an OS requires these knowledge:
 
# '''Basic Computer Science''': intimate familiarity with hexadecimal and binary notation as well as boolean logic and similar fundamental knowledge, like data structures, their construction and manipulation, searching and sorting algorithms, abstract programming concepts, etc. etc...
# '''Language and Vocabulary''': ability to read and write (technical) English at a competent level. Virtually all technical documentation is in English, and most of the resources you could find on the web (like this Wiki and the [http://forum.osdev.org forum]) are, also. Using incorrect terminology will make you look foolish and confuse the people willing to help you.
Line 18 ⟶ 17:
# '''The Platform''': You should have studied the manuals for the processor you will be programming for. They contain the information you need to design your kernel in the first place. Asking for information that can easily be obtained from these documents will only give cause to "Read The (...) Manual" responses, or simply RTFM.
# '''The Concept''': You should have an understanding of how existent operating systems function at the technical level (e.g. by having read some [[Books]]), what is good or bad about them, and how you want to go about your own OS. Having finished some tutorial and then asking "what now?" in one of the forums will just make you look silly.
 
== See Also ==
 
* A particularly good and excellent (but unfortunately unfinished as of yet) book on the topic: [https://github.com/tuhdo/os01/blob/master/Operating_Systems_From_0_to_1.pdf Operating Systems From 0 to 1]. This focuses on everything you need to know, from the transistor to logic circuits, Assembly and C language, ELF format and debugging etc. Read (and understand!) this book to get a quick-start on required knowledge.
 
=== Articles ===
 
* [[Books]]
 
[[Category:OS theory]]