OSDev Wiki:Wish List: Difference between revisions

From OSDev.wiki
Jump to navigation Jump to search
Content added Content deleted
(added category (wiki administration))
(Got rid of c++ runtime entry in urgent as per: talk page.)
Line 9: Line 9:
* A comprehensive guide to setting up paging, physical, and virtual memory management.
* A comprehensive guide to setting up paging, physical, and virtual memory management.
* 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 [[Page_Frame_Allocation]].
* 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 [[Page_Frame_Allocation]].
* How to set up a complete C++ runtime (including exceptions, RTTI, ...).
* 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.
* 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.
:* [[ELF]] loading, relocating and dynamic linking.
:* [[ELF]] loading, relocating and dynamic linking.

Revision as of 16:32, 22 November 2007

Pages under construction (aka bobbuilder@osdev.org :)

OS-FAQ´s wishlist (aka 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:

Urgent

  • A comprehensive guide to setting up paging, physical, and virtual memory management.
  • 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 Page_Frame_Allocation.
  • 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.
  • ELF loading, relocating and dynamic linking.
  • Device driver interface, how to make/use one.
  • 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 http://www.minix3.org).

Less Urgent

  • harddisk tutorials and documents (PartitionTable, MBR, etc.).
  • 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.
  • more info on C heavy grub booted kernels (particularly at&t syntax asm style...).
  • A map of the BIOS data area (like http://www.bioscentral.com/misc/bda.htm)
  • Information on the theory behind command lines and text UI's.
  • Naming OSes - http://www.osdev.org/phpBB2/viewtopic.php?t=15250

Not very urgent at all really

  • Adding new object format to BFD (this is discussed in http://libosdk.berlios.de/wiki/index.php/Binutils).
  • Coding a delay(ms).
  • 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.
  • Some notes on the newer devices like HPET timers -- see this thread.


  • Your request goes here