Resources: Difference between revisions

From OSDev.wiki
Jump to navigation Jump to search
[unchecked revision][unchecked revision]
Content added Content deleted
(Importing links from ancient wiki page Application-Security-Books)
 
(40 intermediate revisions by 15 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] Page does not work!
* [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] Page does not work!
* [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.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]]
Line 58 ⟶ 45:
* [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]
 
== Other Specifications ==
* [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]]

Latest revision as of 09:46, 20 August 2023

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

Hardware Specifications

Processors

BIOS

Motherboard Devices

Human Input Devices

Video

Storage

Audio

Network and Communication ports

Buses

Software Specifications

Other Specifications

Source Code

University Courses