h/const.h

h/const.h

#define     EXTERN          extern
#define     PRIVATE         static
#define     PUBLIC
#define     FORWARD
#define     TRUE            1
#define     FALSE           0
...
#define     BLOCK_SIZE      1024
#define     SUPER_USER      (uid) 0
#define     MAJOR           8
#define     MINOR           0
#define     NR_TASKS        8
#define     NR_PROCS        16
#define     NR_SEGS         3
#define     T               0
#define     D               1
#define     S               2

Wichtig

  1. Text
  2. Data
  3. Stack
Wichtig! Code = Text

Wichtig:

  1. Text
    T
    
  2. Data
    D
    
  3. Stack
    S
    

Wichtig:

  1. Text
    T, 0
    
  2. Data
    D, 1
    
  3. Stack
    S, 2
    

Wichtig:

  1. NR_TASKS
    
  2. NR_PROCS
    
  3. NR_SEGS
    

So, achtung aufgepasst!

struct proc {


} proc [NR_TASKS + NR_PROCS]

  1. Anzahl der Prozesse
  2. Anzahl der Tasks

  1. Im Speichermanager
    1. NR_PROCS
      
      - Im Speichermanager, nur Prozesse
  2. Im Kernel
    1. NR_TASKS
      
      - im Kernel, Tasks
    2. NR_PROCS
      
      - Kernel, Prozesse

Dinge mit

NR
  1. NR_TASKS
    
  2. NR_PROCS
    
  3. NR_SEGS
    

Dinge mit

NR
zur Struktur
  1. (NR_TASKS. proc)
    
  2. (NR_PROCS, proc)
    
  3. (NR_SEGS, mem_map
    

Wichtig

  1. mem
    
    - speicher
  2. map
    
    - karte

Wichtig

  1. NR_SEGS
    
  2. T
    
  3. D
    
  4. S
    

Wichtig

  1. NR_SEGS, 3
    
    , maximal grenze
  2. T, 0
    
    , erstes Element
  3. D, 1
    
    , zweites Element
  4. S, 2
    
    , drittes Element