OSDev Wiki:Wish List

From OSDev.wiki
Revision as of 17:12, 8 March 2007 by Combuster (talk | contribs) (Rough import from osfaq)
(diff) ← Older revision | Latest revision (diff) | Newer revision → (diff)
Jump to navigation Jump to search

Template:Convert

Pages under construction (aka bobbuilder@mega-tokyo.com bobbuilder@osdev.org :)

  • [DMA] info, what it is, how to set it up for floppy etc.
  • FloppyDriver programming info, what to do, which ports to check etc.
  • SerialPorts
  • Continue on the [Getting Keyboard Input]
  • MouseInput
  • TimeDate handling: how OSes get/maintain their time() (mostly done?)
  • [PIT] info (mostly done?)
  • GdtForDummies (mostly done?)
  • PowerManagement info
  • [Deadlock]: what it is and how it can be prevented.


OS-FAQ´s wishlist (aka santa@mega-tokyo.com santa@osdev.org ;)

If you are new to os development and think that this FAQ lacks information on some area, you could post your request for more info here:

  • Coding a delay(ms)
  • more info on C heavy grub booted kernels (particularly at&t syntax asm style...)
  • Device driver interface, how to make/use one
  • how to set up a complete C++ runtime (including exceptions, RTTI, ...)
  • harddisk tutorials and documents (PartitionTable, MBR, etc.)
  • A comprehensive guide to setting up paging, physical, and virtual memory management.
  • Some notes on the newer devices like [HPET timers|http://www.intel.com/hardwaredesign/hpetspec.htm] -- see this [thread|Forum:8322].
  • An article on memory management. Review Solaris slab allocator, what is a buddy system, how Linux does it, overview of the NetBSD uvm, etc. -- this is partially started in [Algorithms and Tips for Memory Management]
  • The most important thing an OS does: load and run programs. Using PIC with ELF programs, loading and running Microsoft COFF-in-PE files (assuming they are not Win32 programs of course; link to MSDN "Inside Windows" articles on PE), link vs. load addresses, etc. Also loadable kernel modules (for monolithic kernels): how do the modules find the kernel symbols, etc.
  • More on C++: what support is needed to fully use C++ in a standalone environment? Why? Example code?
  • C library stuff: examples of crt0.o and crt1.o (or crtbegin.o, crti.o and crtn.o whatever!) and what the purpose of these files is
  • More on hardware programming. Demo ATA disk driver, demo ATAPI CDROM driver, or commentary of these drivers in Linux or one of the BSDs (or even Minix v3 [1]).
  • File systems. A look at traditional file systems on Unix systems (e.g. the v7 file system), then move on to the BSD FFS, a look at FAT12, FAT16 and FAT32, a look at modern Unix file systems like Ext2 and journaling file systems (NTFS, Ext3, ReiserFS), implementing a journaling file system.
  • Adding new object format to BFD (this is discussed in http://libosdk.berlios.de/wiki/index.php/Binutils)
  • Your request goes here