Resources: Difference between revisions
Jump to navigation
Jump to search
[unchecked revision] | [unchecked revision] |
Content deleted Content added
m Add warning that external tutorials tend to be old, have bugs, don't follow current community recommendations, and often aren't community edited. |
|||
(28 intermediate revisions by 9 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://www.osdever.net/ Bonafide OS Development]
* [https://web.archive.org/web/20130119090155/http://www.nondot.org/sabre/os/articles The Operating System Resource Center]
* [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.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..]
* [https://web.archive.org/web/20130119090155/http://www.nondot.org/sabre/os/articles/MemoryManagement/ Memory Management]
* [https://web.archive.org/web/20130119090155/http://www.nondot.org/sabre/os/articles/
* [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)]
* [https://github.com/dreamos82/Osdev-Notes Osdev Notes - A set of notes on how to write an operating system]
== Hardware Specifications ==
* [http://perso.wanadoo.fr/pierrelib/index.html Pierre's Library]
* [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 ===
* [
* [https://web.archive.org/web/20130119090155/http://www.nondot.org/sabre/os/articles/ProcessorArchitecture/ Processor Architecture]
* [http://
=== BIOS ===
* [
* [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.
* [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 61 ⟶ 45:
* [http://www.t13.org official ATA working group]
* [http://www.ata-atapi.com/ another ATA/ATAPI website, includes reference driver]
* [
* [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://
=== 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
* [
* [http://
* [
* [http://
* [http://www.o3one.org/hwdocs/usb/hcir1_0a.pdf OHCI mirror]
== Software Specifications ==
* [https://web.archive.org/web/20130119090155/http://www.nondot.org/sabre/os/articles/TheBootProcess/ The Boot Process]
▲* [http://www.ctyme.com/rbrown.htm Ralf Brown's Interrupt List]
* [https://web.archive.org/web/20130119090155/http://www.nondot.org/sabre/os/articles/
* [https://web.archive.org/web/20130119090155/http://www.nondot.org/sabre/os/articles/
* [https://web.archive.org/web/20130119090155/http://www.nondot.org/sabre/os/articles/
* [https://web.archive.org/web/20130119090155/http://www.nondot.org/sabre/os/articles/
* [https://web.archive.org/web/20130119090155/http://www.nondot.org/sabre/os/articles/
* [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]
Line 99 ⟶ 82:
== 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 ==
* [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()]
== 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)]
|
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
- Bonafide OS Development
- The Operating System Resource Center
- How to Write an Operating System
- Start your small Operating System in Assembly
- NeuralDK OSDev Tuts
- BrokenThorn OS Development Tutorials
- OS FAQ, overall design, VM design, threads..
- Memory Management
- Protected Mode
- Circuit Cellar Ink, an embedded systems development magazine
- Create Your Own OS (by Pritam Zope)
- Osdev Notes - A set of notes on how to write an operating system
Hardware Specifications
- Pierre's Library
- List of PS/2 documents
- ChipDB datasheet archive
- FreeMicroNix Documentation Collection
Processors
BIOS
Motherboard Devices
Human Input Devices
Video
Storage
- official ATA working group
- another ATA/ATAPI website, includes reference driver
- an introduction to ATA/ATAPI commands. It contains a couple of ASM examples to read sectors and identify drives.
- Disk and Disc Drives
- collected links about Ultra DMA, on ATA drives and how PCI configuration comes.
Audio
Network and Communication ports
Buses
- Interconnect Buses
- official USB developers docsz
- more USB info
- USB OHCI
- USB EHCI
- OHCI for FireWire
- OHCI mirror
Software Specifications
- Ralf Brown's Interrupt List
- The Boot Process
- Partitions
- File Systems
- Executable File Formats
- Plug'n'Play Specs
- Device Driver Interfaces
- FAT12-32
- The Art of Software Security Assessment
- Art of Exploitation
- Secrets of Reverse Engineering
- Subverting the Windows Kernel
Other Specifications
Source Code
- OSD Code Snippet Index
- stockpile of documents at singlix.org
- a reference implementation for malloc()
University Courses
- Advanced Operating Systems (NYU)
- Operating System Engineering (MIT) (2004) (2006)
- Introduction to Operating Systems (WISC)