From: root@candle.uucp (Bruce Momjian)
Newsgroups: comp.unix.internals
Subject: Crash  / Kernel Diagram update
Date: 30 Jul 92 03:55:48 GMT
Organization: a consultant's basement
X-Newsreader: Tin 1.1 PL4

I have updated my previous kernel diagram posting.  Kernel is now
properly spelled, and the file descriptor table's 'crash' command was
improperly labeled.  I use this alow when I know what I want, but can't
remember the commands or how everything fits together.

                            *  *  *

I wrote a diagram of the major tables in the Unix kernel after reading
Bach's book and using 'crash'.  It is based on my AT&T 386 Unix System
Vr3.1. 'crash' commands are highlighted in upper case.  If anyone has
suggestions or corrections, I would be glad to include them.  It is 57
lines, and may be clearer when printed.


PROCess               Virual        Segment/Page        Physical
 table                Memory         Descriptor          Memory      
 ______               ______           Tables            ______
|______|             |_text_| \               PDT       |______|\
|______| ------>     |______|  \    SDT       ___   /-->|______| \
|______|             |_data_|   \   ____   ->|___|--    |______|  \     
|______|             |______|    \ |____| /  |___|----->|______|
|______|             |______|     \|____|-   |___|-_    |______|    PFDATa
|______|             |stack_| -->  |____|           \   |______|     ___ 
|______|             |______|     /|____|---         \->|______|    |___|
|______|             |______|    / |____|   |           |______| <- |___|
                 ----|_USER_|   /           | PDT    /->|______|    |___|
                |    |______|  /            | ___   /   |______|    |___|
                |    |kernel| /             >|___|-- /->|______|
                |    |______|/               |___|---   |______|    
                |                            |___|----->|______|  /
                |                                       |kernel| /
                |                                       |______|/
                | 
     ----------- 
    |
    V 

USER File        
Descriptor       FILE          INODE                          
  Table          Table         Table                            Disk
 ______         ______         ______                          ______
|______|------>|______|---_   |______|                        |_boot_|
|______|       |______|    \->|______|--------------------_   |super_|
|______|---_   |______|       |______|                     \->|inode_|
|______|    \->|______|-------|______|----------------------->|inode_|
|______|---_   |______|    /->|______|--------------------_   |inode_|
|______|    \->|______|----   |______|                     \->|inode_|
|______|       |______|--_    |______|                     _->|inode_|
               |______|   \   |______|                    /  -|_free_|
               |______|    \->|______|--------------------  | |inode_|
               |______|       |______|                      | |inode_|
               |______|       |______|                      | |_free_|
               |______|       |______|                      | |_data_|
                                                            | |_data_|
                                                            | |_free_|
                                          Buffer            | |_data_|
                                          Headers           | |_free_|
                                          BUFHDR    BUFFERs | |_free_|
                                          ______       __   | |_data_|
                                         |______|---->|  |<-  |_free_|
                                         |______|      --     |_data_|
                                         |______|      __    _|_data_|
                                         |______|---->|  |<-/ |_free_|
                                         |______|      --     |_free_|
                                         |______|      __     |_data_|
                                         |______|---->|  |<---|_data_|
                                         |______|      --     |_free_|
                                                              |_swap_|
                                                              |_swap_|
                                                              |_swap_|
                                                 


-- 
Bruce Momjian                      |  830 Blythe Avenue
root%candle.uucp@bts.com           |  Drexel Hill, Pennsylvania 19026 
                                   |  (215) 353-9879(w)  853-3000(h)