Wish List
From OSDev Wiki
Contents |
Pages under construction (aka bobbuilder@osdev.org :)
- Check the Stubs list
- Check the Work in progress list
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.
- Does this mean a tutorial? It would have to be language specific (assembly, C, Pascal, etc) since all the theory and how it works is already found on the Wiki.
- There was a quick and dirty guide to doing this in C on the wiki, but it seems to have disappeared :(
- This is started on the page Setting Up Paging.
- 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.
- load and run programs
- Using PIC with ELF programs
- ELF relocating and dynamic linking.
- 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.
- Loadable kernel modules (for monolithic kernels)
- How do the modules find the kernel symbols, etc.
- Device driver interface
- how to make/use one.
- loadable/unloadable drivers
- Accessing DMA, busses, etc through consistent driver interface.
- More on hardware programming. Demo ATAPI CDROM driver, or commentary of these drivers in Linux or one of the BSDs (or even Minix v3 http://www.minix3.org).
- Again, this would be language specific (most probably C), possibly assembly and C examples.
Less Urgent
- VFS: handling paths, mount points, directory caches, inodes
- harddisk tutorials and documents (PartitionTable, MBR, etc.).
- Query Hard Disk (for geometry and other useful bits of data).
- The Ranish Partitioning Primer is a good starting point IMHO.
- Syscall/Sysret and Sysenter/Sysexit.
- 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.
- FAT and EXT2 is already done from an OSDev point of view. Wikipedia is a great resource for a more overall description.
- more info on C heavy grub booted kernels (particularly at&t syntax asm style...).
- What does this mean?
- Information on the theory behind command lines and text UI's.
Not very urgent at all really
- Adding new object format to BFD (this is discussed in http://libosdk.berlios.de/wiki/index.php/Binutils).
- 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
Referenced pages that don't yet exist
Go to Wanted pages for a list that are referenced to within other pages but do not yet exist. See also Wanted categories for a list of referenced categories that do not yet exist. See also Unused categories for a list of categories that do not contain any pages.
Orphaned pages
See Orphaned pages for a list of pages that are not yet referenced to by any other page. For ease of access, these pages should be referenced to by other indexing pages (e.g. pages about file systems should be referenced on the File Systems page).
Pages to categorize
See Uncategorized pages for a list of pages that are not yet placed into a category. See Uncategorized categories for categories that have not yet be categorized. Optimally, the only category which should not exist in another category should be the root category;.
Broken redirects
See Special:BrokenRedirects for a list of pages that redirect to non-existant pages.
