Subversion Repositories HelenOS-doc

Rev

Rev 35 | Rev 38 | Go to most recent revision | Show entire file | Ignore whitespace | Details | Blame | Last modification | View Log | RSS feed

Rev 35 Rev 37
Line 34... Line 34...
34
       
34
       
35
 
35
 
36
      <para>Virtual memory is usually using paged memory model, where virtual
36
      <para>Virtual memory is usually using paged memory model, where virtual
37
      memory address space is divided into the <emphasis>pages</emphasis>
37
      memory address space is divided into the <emphasis>pages</emphasis>
38
      (usually having size 4096 bytes) and physical memory is divided into the
38
      (usually having size 4096 bytes) and physical memory is divided into the
39
      frames (same sized as a page, of cause). Each page may be mapped to some
39
      frames (same sized as a page, of course). Each page may be mapped to some
40
      frame and then, upon memory access to the virtual address, CPU performs
40
      frame and then, upon memory access to the virtual address, CPU performs
41
      <emphasis>address translation</emphasis> during the instruction
41
      <emphasis>address translation</emphasis> during the instruction
42
      execution. Non-existing mapping generates page fault exception, calling
42
      execution. Non-existing mapping generates page fault exception, calling
43
      kernel exception handler, thus allowing kernel to manipulate rules of
43
      kernel exception handler, thus allowing kernel to manipulate rules of
44
      memory access. Information for pages mapping is stored by kernel in the
44
      memory access. Information for pages mapping is stored by kernel in the
Line 54... Line 54...
54
 
54
 
55
       
55
       
56
 
56
 
57
      <para>At the moment HelenOS does not support swapping.</para>
57
      <para>At the moment HelenOS does not support swapping.</para>
58
 
58
 
59
       - pouzivame vypadky stranky k alokaci ramcu on-demand v ramci as_area - na architekturach, ktere to podporuji, podporujeme non-exec stranky
59
      <para>- pouzivame vypadky stranky k alokaci ramcu on-demand v ramci as_area - na architekturach, ktere to podporuji, podporujeme non-exec stranky </para>
60
    </section>
60
    </section>
61
 
61
 
62
    <section>
62
    <section>
63
      <title>Address spaces</title>
63
      <title>Address spaces</title>
64
 
64
 
65
      <section>
65
      <section>
66
        <title>Address spaces and areas</title>
66
        <title>Address spaces and areas</title>
67
 
67
 
-
 
68
        <para>
-
 
69
 
68
        <para>- adresovy prostor se sklada z tzv. address space areas
70
    - adresovy prostor se sklada z tzv. address space areas
69
        usporadanych v B+stromu; tyto areas popisuji vyuzivane casti
71
        usporadanych v B+stromu; tyto areas popisuji vyuzivane casti
70
        adresoveho prostoru patrici do user address space. Kazda cast je dana
72
        adresoveho prostoru patrici do user address space. Kazda cast je dana
71
        svoji bazovou adresou, velikosti a flagy (rwx/dd).</para>
73
        svoji bazovou adresou, velikosti a flagy (rwx/dd).
-
 
74
 
-
 
75
    </para>
72
 
76
 
73
        <para>- uzivatelske thready maji moznost manipulovat se svym adresovym
77
        <para>- uzivatelske thready maji moznost manipulovat se svym adresovym
74
        prostorem (vytvaret/resizovat/sdilet) as_areas pomoci syscallu</para>
78
        prostorem (vytvaret/resizovat/sdilet) as_areas pomoci syscallu</para>
75
      </section>
79
      </section>
76
 
80