From: root@candle.uucp (Bruce Momjian)
Subject: Unix kernal diagram
Organization: a consultant's basement
Date: Tue, 7 Apr 1992 04:35:50 GMT

I wrote a diagram of the major tables in the Unix kernal 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    /->|______|    |___|
                |    |______|  /            | ___   /   |______|    |___|
                |    |kernal| /             >|___|-- /->|______|
                |    |______|/               |___|---   |______|    
                |                            |___|----->|______|  /
                |                                       |kernal| /
                |                                       |______|/
                | 
     ----------- 
    |
    V 

   File        
Descriptor       FILE          INODE                          
Table(LDT)       Table         Table                            Disk
 ______         ______         ______                          ______
|______|------>|______|---_   |______|                        |_boot_|
|______|       |______|    \->|______|--------------------_   |super_|
|______|---_   |______|       |______|                     \->|inode_|
|______|    \->|______|-------|______|----------------------->|inode_|
|______|---_   |______|    /->|______|--------------------_   |inode_|
|______|    \->|______|----   |______|                     \->|inode_|
|______|       |______|--_    |______|                     _->|inode_|
               |______|   \   |______|                    /  -|inode_|
               |______|    \->|______|--------------------  | |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               | home: (215)853-3000
root%candle.uucp@ls.com | Drexel Hill, Pennsylvania 19026 | work: (215)353-9879