Resources: Difference between revisions

220 bytes removed ,  10 months ago
[unchecked revision][unchecked revision]
 
(44 intermediate revisions by 17 users not shown)
Line 1:
This page maintains a list of resources related to operating system development. Often, links become outdated or sites go down. If a link does not work, try to see if it was backed up on archive.org.
 
== Operating System Development ==
* [http://osdever.net/bkerndev/Docs/title.htm Bran's Kernel Development tutorial]
* [http://www.osdever.net/ Bonafide OS Development]
* [https://web.archive.org/web/20130119090155/http://www.nondot.org/sabre/os/articles The Operating System Resource Center]
* Christopher Giese's website
** mirror: [http://files.osdev.org/mirrors/geezer/johnfine/ John Fine's Home Page]
** mirror: [http://files.osdev.org/mirrors/geezer/osd/index.htm Write Your Own Operating System]
** mirror: (includes a .zip copy of the site) [http://redir.no-ip.org/mirrors/ redir.no-ip.org]
** .bz2: [http://dev.ifeelrandom.com/~geezer/~geezer.tar.bz2 dev.ifeelrandom.com ]
** mirror: [http://geezer.osdevbrasil.net osdevbrasil.net]
** mirror: [http://dev.ifeelrandom.com/~geezer/ dev.ifeelrandom.com]
** mirror: [http://files.osdev.org/mirrors/geezer/ files.osdev.org]
** mirror: [http://geezer.wz.cz/home.htm wz.cz]
** web.archive.com: [http://web.archive.org/web/*/http://my.execpc.com/~geezer/index.htm web.archive.org]
* [http://www.acm.uiuc.edu/sigops/roll_your_own/ How to Write an Operating System]
* [https://www.devimperium.com/tutorials/start_your_small_operating_system_in_assembly Start your small Operating System in Assembly]
* [http://neuraldk.org/writing.php?FilterCat=Os+Development&FilterDev=All NeuralDK OSDev Tuts]
* [http://www.viralpatel.net/taj/home.php/ TAJ OS Development]
* [http://www.brokenthorn.com/Resources/OSDevIndex.html BrokenThorn OS Development Tutorials]
* [https://web.archive.org/web/20130119090155/http://www.nondot.org/sabre/os/articles/MiscellaneousSoftware/ OS FAQ, overall design, VM design, threads..]
* [http://www.osdcom.info/ OSDCOM]
* [https://web.archive.org/web/20130119090155/http://www.nondot.org/sabre/os/articles/MemoryManagement/ Memory Management]
* [http://devnulled.ath.cx/~oslib The OsLib]
* [https://web.archive.org/web/20130119090155/http://www.nondot.org/sabre/os/articles/MiscellaneousSoftwareProtectedMode/ OSProtected FAQ, overall design, VM design, threads..Mode]
* [http://www.dtweed.com/circuitcellar/ Circuit Cellar Ink, an embedded systems development magazine]
* [http://www.nondot.org/sabre/os/articles/MemoryManagement/ Memory Management]
* [http://createyourownos.blogspot.com/ Create Your Own OS (by Pritam Zope)]
* [http://www.nondot.org/sabre/os/articles/ProtectedMode/ Protected Mode]
* [https://github.com/dreamos82/Osdev-Notes Osdev Notes - A set of notes on how to write an operating system]
* [http://www.jamesmolloy.co.uk/ Roll your own UNIX-clone OS]
* [http://www.int6.org int6.org - OS Development Resources Collection]
* [http://www.viralpatel.net/taj/operating-system-tutorial.php Operating System Tutorials]
* [http://www.germsoft.com/Software/OS/Tut/Index.php Germsoft OS Tutorials and Resources]
 
== Hardware Specifications ==
* [http://perso.wanadoo.fr/pierrelib/index.html Pierre's Library]
* [http://aceos.netfirms.com/Specifications.html Ace OS 'specifications' page]
* [http://vgr.tc3net.com/soundblaster/ stockpile of hard-to-find datasheets] (broken) [http://web.archive.org/web/*/http://vgr.tc3net.com/soundblaster/ archive.org version]
* [http://www.mcamafia.de/pdf/pdfref.htm List of PS/2 documents]
* [http://datasheets.chipdb.org/ ChipDB datasheet archive]
* [https://web.archive.org/web/20160313204854/https://freemicronix.org/docs/ FreeMicroNix Documentation Collection]
 
=== Processors ===
* [httphttps://developersoftware.intel.com/productsen-us/processorarticles/manualsintel-sdm/index.htm Intel Manuals]
* [https://web.archive.org/web/20130119090155/http://www.nondot.org/sabre/os/articles/ProcessorArchitecture/ Processor Architecture]
* [http://wwwdeveloper.amd.com/usresources/developer-enguides-manuals/Processors/DevelopWithAMD/0,,30_2252_875_7044,00.html?the_id=13 x86-64(AMD64)]
 
=== BIOS ===
* [httphttps://wwwweb.archive.org/web/20100102024125/http://phoenix.com/NR/rdonlyres/56E38DE2-3E6F-4743-835F-B4A53726ABED/0/specsbbs101.pdf BIOS Boot Specification]
* [https://web.archive.org/web/20180202045759/http://download.intel.com/support/motherboards/desktop/sb/pnpbiosspecificationv10a.pdf Plug and Play BIOS Specification]
 
=== Motherboard Devices ===
* [https://web.archive.org/web/20130119090155/http://www.nondot.org/sabre/os/articles/MiscellaneousDevices/ PIC, PIT, DMA, RTC, ..]
 
=== Human Input Devices ===
* [http://www.nationalti.com/pflit/PCds/PC16550Dsymlink/pc16550d.htmlpdf Serial Mouse]
* [https://web.archive.org/web/20130119090155/http://www.nondot.org/sabre/os/articles/HumanInterfaceDevices/ Human Interface Devices]
* [[Topic:8323|PS/2 mice]]
* [[Topic:10247|PS2 mouse driver]]
 
=== Video ===
* [http://www.vesa.org official VESA & VBE website]
 
=== Storage ===
* [http://www.t13.org official ATA working group]
* [http://www.ata-atapi.com/ another ATA/ATAPI website, includes reference driver]
* [httphttps://wwwweb.archive.org/web/20091027131605/http://geocities.com/SiliconValley/2072/atapi.htm an introduction to ATA/ATAPI commands]. It contains a couple of ASM examples to read sectors and identify drives.
* [https://web.archive.org/web/20130119090155/http://www.nondot.org/sabre/os/articles/DiskandDiscDrives/ Disk and Disc Drives]
* [[Topic:8339|collected links about Ultra DMA, on ATA drives and how PCI configuration comes.]]
 
=== Audio ===
* [https://web.archive.org/web/20130119090155/http://www.nondot.org/sabre/os/articles/SoundDevices/ Sound Devices]
 
=== Network and Communication ports ===
* [https://web.archive.org/web/20130119090155/http://www.nondot.org/sabre/os/articles/CommunicationDevices/ Serial and Parallel port, SPP, EPP, ECP]
* [https://web.archive.org/web/20130119090155/http://www.nondot.org/sabre/os/articles/NetworkingDevices/ Networking Devices]
* [http://wwwpdf1.datasheetarchivealldatasheet.com/datasheet-pdf/rtl8139-datasheetview/84677/ETC/RTL8139/+5_5J8UCRC/1SuMCAY.+/rtl8139-datasheet.htmlpdf RTL8139 family datasheetsdatasheet]
 
=== Buses ===
* [https://web.archive.org/web/20130119090155/http://www.nondot.org/sabre/os/articles/InterconnectBuses/ Interconnect Buses]
* [http://www.usb.org/developers/docs official USB developers docs]z
* [httphttps://wwwretired.beyondlogic.org/usb/usbdevdrvs.htm more USB info]
* [http://h18000www.www1o3one.hp.comorg/productinfohwdocs/developmentusb/openhcihcir1_0a.htmlpdf USB OHCI]
* [httphttps://www.intel.com/technologycontent/usbdam/downloadwww/public/us/en/documents/technical-specifications/ehci-r10specification-for-usb.pdf USB EHCI]
* [http://wwwdownload.intelmicrosoft.com/technologydownload/13941/download6/1/161ba512-40e2-4cc9-843a-923143f3456c/ohci_11.pdf OHCI for FireWire]
* [http://www.o3one.org/hwdocs/usb/hcir1_0a.pdf OHCI mirror]
 
== Software Specifications ==
* [http://www.ctymedelorie.com/rbrown.htmdjgpp/doc/rbinter/ix/ Ralf Brown's Interrupt List]
* [https://web.archive.org/web/20130119090155/http://www.nondot.org/sabre/os/articles/TheBootProcess/ The Boot Process]
* [https://web.archive.org/web/20130119090155/http://www.nondot.org/sabre/os/articles/Partitions/ Partitions]
* [https://web.archive.org/web/20130119090155/http://www.nondot.org/sabre/os/articles/FileSystems/ File Systems]
* [https://web.archive.org/web/20130119090155/http://www.nondot.org/sabre/os/articles/ExecutableFileFormats/ Executable File Formats]
* [https://web.archive.org/web/20130119090155/http://www.nondot.org/sabre/os/articles/PlugandPlaySpecs/ Plug'n'Play Specs]
* [https://web.archive.org/web/20130119090155/http://www.nondot.org/sabre/os/articles/DeviceDriverInterfaces/ Device Driver Interfaces]
* [http://home.teleport.com/~brainy/fatgen102.pdf FAT12-32]
* [http://www.amazon.com/Art-Software-Security-Assessment-Vulnerabilities/dp/0321444426 The Art of Software Security Assessment]
 
* [http://www.amazon.com/Hacking-Art-Exploitation-Jon-Erickson/dp/1593271441/ref=pd_bbs_sr_1?ie=UTF8&s=books&qid=1210492590&sr=1-1 Art of Exploitation]
* [http://www.amazon.com/Reversing-Secrets-Engineering-Eldad-Eilam/dp/0764574817/ref=pd_bbs_sr_1?ie=UTF8&s=books&qid=1210492638&sr=1-1 Secrets of Reverse Engineering]
* [http://www.amazon.com/Rootkits-Subverting-Addison-Wesley-Software-Security/dp/0321294319/ref=pd_bbs_3?ie=UTF8&s=books&qid=1210492638&sr=1-3 Subverting the Windows Kernel]
 
== Other Specifications ==
* [http://alexfru.narod.ru/emiscdocs.html stockpile of technical documents (partly in Russian)]
* [https://web.archive.org/web/20130119090155/http://www.nondot.org/sabre/os/articles/OtherHardware/ Legos, ATX, NetPC's..]
 
 
== Source Code ==
* [[Miscellaneous Code]]
* [http://files.osdev.org/mirrors/geezer/osd/snippets.htm OSD Code Snippet Index]
* [http://www.singlix.org/trdos/specs.html stockpile of documents at singlix.org]
* [http://gee.cs.oswego.edu/pub/misc/malloc.c a reference implementation for malloc()]
 
 
== Sample Kernels ==
* [[:Category:Kernels_With_Source|Kernels documented in the wiki]]
=== Small Kernels ===
* [http://files.osdev.org/mirrors/geezer/osd/code/ OSD Kernels ]
* broken: [http://files.osdev.org/mirrors/geezer/osd/pm PM Kernels]
* [http://www.osdever.net/downloads.php#kernels Selection from Bonafide]
* [http://bos.asmhackers.net BOS]
* [http://libosdk.berlios.de LibOSDK]
* [[DegenerateOS]]
 
=== Larger Kernels ===
* [http://bcos.hopto.org/ BCOS]
* [http://www.tabos.org Tabos]
* [http://mobius.sourceforge.net Mobius]
* [http://files.osdev.org/mirrors/geezer/os/borealis.zip Cosmos/Borealis]
* [http://clicker.sourceforge.net/ Clicker]
* [http://www.menuetos.org/ MenuetOS]
* [http://daidalos.us/x86/ Daidalos]
* [http://www.distantvoices.org/html/os.html BlueIllusionOS]
* [http://agnix.sourceforge.net Agnix Kernel]
* [http://www.oby.ro/os/index.html SolOS]
* [http://www.minix3.org/ Minix 3]
* [http://amos.harmonysecurity.com/ AMOS]
* [[OSKit|OSKit]]
=== Non-hobby Kernels ===
* [http://www.kernel.org Linux] (See also [[Linux Kernel Primer]])
* [http://www.openbsd.org/cgi-bin/cvsweb/ OpenBSD]
* [http://www.l4hq.org/projects/kernel/ L4]
 
== University Courses ==
* [https://web.archive.org/web/20090507122053/http://www.scs.cs.nyu.edu/aos/ Advanced Operating Systems (NYU)]
* Operating System Engineering (MIT) [http://pdos.csail.mit.edu/6.828/2004/ (2004)] [http://ocw.mit.edu/OcwWeb/Electrical-Engineering-and-Computer-Science/6-828Fall-2006/CourseHome/index.htm (2006)]
* [http://pages.cs.wisc.edu/~solomon/cs537.html Introduction to Operating Systems (WISC)]
 
[[Category:Resources]]
Anonymous user