Download - ΕΑΠ 11 Β - Λειτουργικα Συστηματα 1

Transcript
  • E pi A pi pi pi

    I

    A T

    A T

    Tfi B'Tfi B'

  • I

  • pi

    piHPOOPIKH

    APXE TEXNOOIA OIMIKOY

    B'

    I

    K T M H/Y pi

    ATPA 2001

  • pi

    pi

    HPOOPIKH

    APXE TEXNOOIA OIMIKOY

    B'

    EITOYPIKA YTHMATA I

    AYO YPAKH

    K T M H/Y pi

    AANAIO XATZHAKO

    Api. K T

    E A pi

    pi pi pi

    ANAITH INTEA

    T M pi

    pi pi pi pi

    HIA TAYPOOYO

    pi

    IANNH AANOOYO

    pi

    pi, pi

    TYPORAMA

    pi pi pi

    / 19972001

    ISBN: 9605383330

    K : H 11/2

    Copyright 2000

    pi & , 26222 : (0610) 314094, 314206 : (0610) 317244

    . 2121/1993, pi pipi

    pi pipi .

  • fi

    ............................................................................................................................................................................. 11

    K pi 1

    : fi

    pi, pi, , ............... 13

    1.1 .............................................................................................................................................. 15

    1.2 ................................................................................... 16

    1.3 .................... 18

    1.3.1 (1940) .......................................................................................................... 18

    1.3.2 pi (1950 1960) .............................................................................................. 18

    1.3.3 (1959 1965) .......................................................................................... 20

    1.3.4 (1965 1980) ................................................................................................. 20

    1.3.5 (1980 1990) .......................................................................................... 21

    1.3.6 pipi (1990 ) ..................................................................................... 22

    ................................................................................................................................................................................... 23

    ......................................................................................................................................... 23

    .................................................................................................................................................. 24

    K pi 2

    pi, pi, , ............... 25

    2.1 ............................................................................................................................................................. 27

    2.2 ...................................................................................................................... 27

    2.3 pi .............................................................................................. 28

    2.3.1 ........................................................................................................ 28

    2.3.2 pi 20 .................................................................................. 29

    2.4 pi .............................................................................................................. 31

  • 6 E I T O Y P I K A Y T H M ATA I

    2.5 pi ............................................................................................................................. 33

    2.5.1 pi pi ................................................................................................................................ 34

    2.5.2 pi .................................................................................................................... 35

    2.6 pi .............................................................................. 37

    ................................................................................................................................................................................... 38

    ......................................................................................................................................... 39

    .................................................................................................................................................. 40

    K pi 3

    fi

    pi, pi, , ............... 41

    3.1 ................................................................................................................................................................. 44

    3.2 pi ........................................................................................................................ 44

    3.3 ........................................................................................................................... 45

    3.4 pi ........................................................................................................................................ 47

    3.5 pi pi ............................................ 48

    3.6 pi .............................................................................................................................. 56

    3.7 (pi ) ........................................... 57

    3.7.1 pi ........................................................................................................ 57

    3.7.2 (Semaphores) ....................................................................................................... 58

    3.7.3 pi pi ................................................ 60

    3.7.4 pi pi ....................................................................................... 65

    3.7.5 pi .............................. 75

    3.7.6 pi V hardware ............................................................................... 76

    3.7.7 ................................................................................................. 79

    3.8 pi .......................................................... 79

    3.9 pi ................................................ 80

    3.9.1 pi (The Bakery Algorithm) ............. 81

  • ................................................................................................................................................................................... 83

    ......................................................................................................................................... 85

    .................................................................................................................................................. 85

    K pi 4

    (Memory Management)

    pi, pi, , ............... 87

    4.1 (Preliminaries) ................................................................................................................. 92

    4.2 (Bare machine) .......................................................................................................... 96

    4.3 pipi (Resident Monitor) ................................................................................ 98

    4.3.1 pi (Protection Hardware) ................................................................ 98

    4.3.2 pi (Relocation) ..................................................................................................... 100

    4.4 (Swapping) ........................................................................................................................... 103

    4.4.1 pi (Backing Store) ............................................................................ 103

    4.4.2 (Swap Time) ................................................................................... 104

    4.4.3 pipi (Overlapped Swapping) ................................... 105

    4.5 pi pi (Multiple Partitions) ......................................... 108

    4.5.1 pi ....................................................................................................................... 109

    4.5.2 pi (Fixed Regions) ............................................................................. 111

    4.5.3 (Memory Fragmentation) .................................................. 118

    4.5.4 (Variable Partitions) ...................................................... 119

    4.5.5 pi (Compaction) ........................................................................................................ 125

    4.6 pi (Paging) ............................................................................................................... 128

    4.6.1 (Hardware) ....................................................................................................................... 129

    4.6.2 ................................................................................. 132

    4.6.3 pi pi ..................................................................................... 135

    4.6.4 ............................................................................................................................... 138

    4.6.5 ......................................................................................................................................... 138

    7EP I E XOMENA

  • 8 E I T O Y P I K A Y T H M ATA I

    4.6.6 (Two Views of Memory) ............................... 141

    4.7 pi (Segmentation) .................................................................................................. 143

    4.7.1 pi ................................................................... 143

    4.7.2 ...................................................................................................................................................... 144

    4.7.3 pi pi

    (Implementation of Segment Tables) ......................................................................... 147

    4.7.4 .............................................................................................. 148

    4.7.5 pi ( ) ................................ 151

    4.8 (Combined Systems) ............................................................ 152

    4.8.1 pi pi (Segmented Paging) .............................. 152

    4.8.2 pi pi (Paged Segmentation) .......................... 153

    ................................................................................................................................................................................ 156

    ...................................................................................................................................... 158

    ............................................................................................................................................... 159

    K pi 5

    pi (Virtual Memory)

    pi, pi, , ........... 161

    5.1 pi ................................................................................................................................................... 165

    5.2 pi .......................................................................................................................... 166

    5.3 pi pi ..................................................................................... 173

    5.4 ....................................................................................................................... 177

    5.5 ............................................................................................................. 180

    5.6 ...................................................................................... 182

    5.6.1 FIFO ....................................................................................................................................................... 183

    5.6.2 (Optimal Replacement) ......................................... 186

    5.6.3 LRU (Least Recently Used) ............................................................................................... 187

    5.6.4 LRU .............................................................................................................. 189

  • 5.6.5 bits .................................................................................................... 190

    5.6.6 ........................................................................... 191

    5.6.7 pi ...... 191

    5.6.8 pi pi .................... 192

    5.6.9 .......................................................................................................................... 196

    5.6.10 Ad Hoc ................................................................................................................ 197

    5.7 ......................................................................................................................... 198

    5.7.1 pi ............................................................................................ 199

    5.7.2 pi ................................................................................ 200

    5.7.3 .......................................................................................................... 201

    5.8 (Thrashing) ........................................................................................................................... 203

    5.8.1 pi ........................................................................................................................................ 204

    5.8.2 (Working Set Model) ....................................... 205

    5.8.3 ...................................................................................... 208

    5.9 pi ..................................................................................................................................... 209

    5.9.1 pi ........................................................................................................... 209

    5.9.2 I/O (/0 Interlock) ............................................................. 210

    5.9.3 .......................................................................................................................... 212

    5.9.4 (pi) ............................................................................. 214

    5.9.5 pi ........................................................................................................... 216

    ................................................................................................................................................................................ 218

    ...................................................................................................................................... 220

    ............................................................................................................................................... 221

    9EP I E XOMENA

  • fi

    pi 1999 2000, -

    pipi pi, -

    . pi pi -

    pi-

    .

    pi pi pi

    pi , / & -

    . pi

    pi pi . pi pi-

    pi pi .

    pi

    . pi, pi -

    pi . / ( -

    / ) pi, pi

    . pi

    pi

    pi .

    , . . -

    pi, pi () pi

    .

    , 2000

    pi

    / &

    pi

  • E: fi

    fi

    pi

    pi,

    .

    , :

    , , .

    pi .

    .

    pi

    pi

    pi

    pi

    pi pi :

    1 pi

  • 1 4 K E A A I O 1 . E pi : pi pi pi pi pi

    1.1

    1.2

    1.3

  • 1.1

    pi pi pi

    (pi.. pi, , , -

    pi) /. pi pi -

    assembly, pi C. pi-

    pi pi -

    ( , hardware).

    , pi pi :

    (pi.. , hardware) pi

    / pi pi ( pi pi-

    pi, pi ,

    .).

    /.

    1. pi pi pi

    /. pi / :

    E/E

    pi

    pi (pi.. , )

    1 51 . 1 pi pi

    X 1

    X 4

    X 2

    X 3

    YX( )

    EpiX

    E

    X

    M

    Q

    1.1

    - - /

  • 1 6 K E A A I O 1 . E pi : pi pi pi pi pi

    2. pi / pi pi- pi pi pi, , - pi .

    3. pi pi pi pipi ( pi, pipi pi .)

    1.1 / .

    1.2 fi

    pi pi pi pi pipi pi- , pi pi pi pi- . pi pi pi :

    1. pi. - pi ( pi) pi / . , - pi pi pi pi. pi / pi pi pi . pi pi pi .

    2. . pi- pi pi pi pi, pipi- pi pi pi . - pi / pi. - ( pi) pi / pi , pi pi / . - pi pi pi pipi pi . pi, / pi . , pi pi pi

  • . pipi pi pi / ...

    3. pi . -pi pi pi pi-. pi / . , pi, - . pi pi / pi pi . pipi pi / , - pi pi pi pi.

    pi pi pi pi pi pi . - pi pi pi. pi pi, pi pi .

    pi pi - . pi pipi. pipi - pi pi pi pi /., , pi / . pi pi - . pi pi pi /.

    pi pi pipi . 1.2 pi .

    1 71 . 2 pi pi pi

    K M

    E M

    E

    X( )

    (1)X

    X

    1.2

  • 1 8 K E A A I O 1 . E pi : pi pi pi pi pi

    ( ), ( ) pi -

    . pi

    pi pi . pi -

    pi ,

    . pi

    .

    pi

    pipi, pipi. pipi pi-

    pi , pi-

    pi , .

    pi , pipi. pi-

    pipi pi -

    pi pi pi, pi -

    pi. pi

    pi, pi , ,

    pi .

    pipi, pi ,

    pi pi.

    1.3 pi

    , pi /, pi -

    pi pi pi , pi

    pi pi pi .

    :

    1.3.1 (1940)

    pi pi .

    pipi pi pi -

    .

    1.3.2 (1950 1960)

    pi 1949 1956 pi /

    . von Neumann

    / pi , pi-

    .

  • (loading) pi, pi -

    , pi ,

    , , , pi /

    pipi (). pi pi

    (pi.. ) -

    pi pi pi (loader), pi

    pi pi pi -

    . , -

    pi (programming aids) pi. ,

    , pi pi

    (assemblers) -

    , pi : -

    assembler . assembler ( pi

    ) pi pi -

    (library routines). pi pi pi

    pi

    ( pi) (pi-

    ) pi.

    pipi , (

    pi pi , FORTRAN

    , pi -

    ), pi pi

    . pi batch pi :

    , pi pi -

    pi pi (system programms)

    (pi.. assembler, compiler, ) pi

    pi . ,

    pi pi (relocatable) pi .

    (linking loaders) . ,

    pipi ( pi ) pi (source

    code) pi (object code).

    pi, pi pi pi -

    pi .

    , pi pi pi-

    .

    pi pi pi pi

    1 91 . 3 pi pi pi pi pi

  • 2 0 K E A A I O 1 . E pi : pi pi pi pi pi

    pi , pi ( ) pi .

    pi ( E/E)

    .

    1.3.3 (1959 1965)

    1959 63 -

    pipi . pi

    hardware, pi, (data channel),

    pi / /.

    pi I/ pi pi (),

    / pi (-

    ) pi . pi

    I/ () pi .

    , pi pi pi

    . , pi pi -

    pi . -

    pi pi pi

    pi , pi I/ .

    pipi pi pi

    pi .

    pi (software buffering), pi pipi,

    pi, (queuing) pi -

    . , pi

    pi (interrupt handling), pi

    (pi ) pipi I/ interrupt pi -

    pi pi, pi pi.

    1.3.4 (1965 1980)

    () pi pi-

    pi pi pi

    pi pi IBM 360. pi 360

    pi , , pi. -

    (OS 360), pi ,

    , pi pi .

    , pi pipi (multi

    programming). pi

  • (partitions), pi () pi -

    . pi pi -

    pi pi ( I/O) pi-

    pi .

    pi

    pipi (pi ) , -

    . Spooling (pi Simultaneous

    Peripheral Operations on Line). Spooling pi

    .

    pi -

    (time sharing), pi pipi, pi -

    pi -

    pi (interactive) pi -

    CPU.

    pi pi timesharing pi pi

    MULTICS ( CTSS, pi MIT, Bell Labs General

    Electric Unix), pi .

    MULTICS Ken

    Thomson ( Bell Labs) pi UNIX (

    MULTICS PDP).

    UNICS (Uniplexed Information and Computing Service), -

    , B. Kernigham, UNIX.

    pi pi Bell Labs, D. Ritchie, UNIX

    () C (pi pi pi

    Ritchie). Bell pi UNIX pi-

    pi pi (pi..

    VAX, Motorola .). .

    1.3.5 (1980 1990)

    pi

    pipi pi (PCs). pi-

    pi -

    (user friendly) (pi.. XENIX, DOS .) ,

    pi ,

    pi pipi (multi tasking OS).

    2 11 . 3 pi pi pi pi pi

  • 2 2 K E A A I O 1 . E pi : pi pi pi pi pi

    1.3.6 (1990 )

    pi pi

    (Internet Web) pi pi

    pi . pipi pi-

    , pi pi.

    , processes (

    ), pi

    Client Server ( pi) pi-

    (pi.. sockets), pi IP.

    pi pi pi hardware, pi pi pi . pipi PCs

    Windows, pipi multi tasking -

    UNIX (pi.. Solaris, POSIX .),

    Windows N multi tasking . , pi-

    pipi pi Windows

    (pi.. 1998 2000).

    pi (pi), pi pi /

    , pi

    pi [ (CDs), video

    (DVD), ]. -

    pi pi pi , pi-

    pi pi pi pi -

    pi pi.

    pi (pipi high end) pi

    pi , UNIX pi-

    pi .

    pi pi

    / , -

    pi (interfaces) Web pi-

    . pi pi. , pi-

    pi

    (WANs), pi pi

    (NMS).

  • pi . -

    pi

    / pi /

    pi pi. pi, pi -

    ( ) /.

    pi pi

    pi pi pipi

    pi , pi pi pi

    pi . , -

    : ()

    pi, () () -

    pi .

    pi

    pipi. , -

    , ,

    pi / .

    pi , pi -

    (swapping) pi pi pi pi-

    pi.

    , pi

    , pi 1940 , pi pi

    . pi -

    , pi

    pipi -

    pi .

    ) pipi

    Brooks, The mythical manmonth: Essays on software engineering, reading MA:

    AddisonWesley, 1975.

    Corbato, On building systems that will fail, commun. CACM, vol. 34, June 1991,

    pp. 72 81.

    Deitel, Operating Systems, 2nd edition, Reading MA: AddisonWesley, 1990.

    2 31 . 3 pi pi pi pi pi

  • 2 4 K E A A I O 1 . E pi : pi pi pi pi pi

    Finkel, An operating systems vade mecum, 2nd edition, Englewood Cliffs, NJ:

    Prentice Hall, 1988.

    Lampson, Hints for computer systems design, IEEE software, vol. 1, Jan. 1984, pp.

    11 28.

    ) pi

    Silberschatz et al., Operating System Concepts, 3rd edition, reading, MA:

    AddisonWesley, 1991.

    Tanenbaum, , Prentice Hall and pi,

    1993.

    Assembler:

    Batch system: pi

    CPU: pi

    Data channel:

    I/O (input/output): /

    Interrupt handling: pi

    Library routines:

    Linking loaders:

    Load:

    Multiprogramming: pipi

    Object code: ,

    Programming aids: pi

    Queuing:

    Real time system: pi

    Relocatable code: pi

    Software buffering:

    Source code: pi

    Swapping:

    System program: pi

    Timesharing:

  • fi

    pi -

    : pi. pi

    pi, ,

    pi, pi, pi pi .

    , :

    pi pi pipi

    pi . PCB pi

    pi .

    pi pi pi ( pi

    pio ) pipi pi .

    pi pi .

    pi pi pi .

    pi.

    pi pi

    pi.

    pi .

    pipi.

    pi pipi pi-

    pi.

    ( pi pipi).

    pipi.

    pi pi .

    pi pi -

    .

    2 pi

  • 2 6 K E A A I O 2 : pi pi pi

    ( )

    pi

    pi pi

    pi

    pi

    pi

    pipi

    pipi

    pi pi

    pi pi :

    2.1

    2.2

    2.3 pi

    2.4 pi

    2.5 pi

    2.6

  • 2.1

    pi

    pi pi pi -

    . pi pi

    pi pi pi pi

    .

    pi, pi, pi pi -

    , software hardware /.

    pi pi

    , pi pi (kernel). pi -

    pi pi hardware.

    2.2

    pi pi pi pi -

    . pi pi, pi pi pi -

    /. -

    .

    :

    pi .

    .

    pi pi .

    pi pi pi (PCB)

    .

    pi pi pi

    pi.

    pi pi pi

    pi .

    pi pipi pi -

    . pipi -

    pi. pi, pi pi pi-

    pi pi. , -

    pi pi pi pi

    ( pi pi pi pi pi

    2 72 . 2

  • 2 8 K E A A I O 2 : pi pi pi

    pi pi pi pi -

    pi pi ).

    2.3

    .

    pi pi pi

    , pi -

    pi .

    pi -

    .

    2.3.1

    pi pi pi pi pi-

    (, , pi ),

    CPU pi (

    pi CPU) pi :

    , , . pipi -

    pi pi pi pi CPU

    , pi pi (pi.. pi modem

    ) pi.

    , pi pi -

    : , pi. pi pi -

    , ( ) ,

    pi ( pi pi, pi -

    ), pi pi.

    , , -

    , pi ( quantum pi

    pi), pi pi , CPU (-

    /), pi pi pi pi ( pi-

    ).

    pi pi : ( pi),

    , pi pi pi (

    pi, pi pi), -

    pi pi , pi

    pi pi pi pi

    pi pi pi pi pi.

  • 2.3.2

    pi pipi

    pi pi (Process

    Control Block PCB). pi pi-

    (process descriptor) (state vector).

    , PCB.

    2 92 . 3 pi pi pi pi

    pi

    (pi)

    pi

    E/E E/E

    E T

    2.1

    K

    pi

    pi pi

    2.2

    pi

  • 3 0 K E A A I O 2 : pi pi pi

    , PCB pi pi pi pi

    . PCB.

    pi pi pi PCB :

    .

    . -

    , .

    pi ,

    pi (

    pi , ).

    pi , pi, , pi

    .

    pi pi -

    .

    pi pi (resources) pi

    .

    pi pi pi pi (volatile environment)

    .

    pi pi, pipi

    pi pi pi pi pi -

    pi pi ,

    pi PCB. pi pi

    , pi pi pi -

    , pi pi

    . pi ,

    pi PCB

    . pi -

    pi pipi .

    pipi pi PCBs. ,

    pipi PCB pi

    pi pi. pi -

    pipi PCB pi

    , pi pi PCB . pi, -

    pi pipi

    pi pi pi PCB.

  • 2.4

    pipi pi . pi :

    , pi , pi, pi , , pi pi pi pi . pi . , pi - , pi. , .

    pi

    pipi, pipi pi - . pi pipi pi pi , pi - pi pi pi pi . pi pi pi-pi pi pi. pi pi (pi..UNIX), pi .

    pi

    pi pi pi- (pi.. , - I/O .). pi pi PCB .

    pi / pi

    pipi . pi pi pi pi pi pi , pi pi pi .

    pi, .

    3 12 . 4 pi pi pi pi pi pi

  • 3 2 K E A A I O 2 : pi pi pi

    ,

    pipi .

    / pi (suspend / resume)

    pi pipi .

    . pi -

    pi pi pi

    pi . pi, -

    pi pi. pi, pi pi

    pi pi . pi ( -

    pi) pi pi

    .

    pi pi pi pi -

    :

    pi (pi.. pi

    pi), pi -

    pi , pi-

    pi.

    pi pi

    , pi, -

    pi .

    pipi pi pi , -

    pi pi , pi-

    pipi.

    / pi pi pipi pi-

    (

    2.3). , pi

    pi. pi -

    , . , -

    , , pi, -

    pi. pi pi

    pi pi pi .

    pi pi

    pi pi (pi.. -

    pi modem).

  • 2.5

    , pi pi pi pi pi

    pi pi . -

    pi pi pi pi pi pi-

    , pi pi pi .

    pi, :

    pi pi.

    pi . pi ,

    pi pi

    pi .

    pi pi

    pi pi pi.

    3 32 . 5 pi pi

    2.3

    piX

    pi pi

    E/E

    E/E

    E/E

    pi

    Xpi

    X

  • 3 4 K E A A I O 2 : pi pi pi

    pi pi pi pi , pi

    . , -

    pi pi.

    2.5.1

    pi pi, -

    pi pi

    pi. , pi :

    pi pi pi pi pi pi ()

    pi pi pi.

    pi pi:

    pi pipi (supervisor call). pi - , pi pi pi . -

    pi ,

    pi /, pi pi ,

    pipi ., pi, , pi

    pi . ,

    pi pi

    pi pipi pi pi

    , , pi . pi -

    pipi -

    pi pi-

    pi pi.

    pi pi. pi pi pi , pi pipi ,

    pipi pi pipi -

    .

    pi pi pi pi pi -, pi .

    pi pi :

    pi /. pi /. - pi pi pi-

    . pi / -

    pi, pi

    .

  • pi pi pi pi pi pi restart interrupt pi pi pi .

    , pi pi pi pi pi

    pi (modes), (user mode)

    pipi (supervisor mode). -

    pi . pipi -

    pi, pi -

    pi . pi pi

    pi pi pi pipi.

    2.5.2 fi

    pi pi,

    pi pi pi pi pi.

    pi pipi pi pi:

    1. pi .

    2. pi pi.

    3. pi -

    pi pi.

    pipi pi pi -

    pi pi pi pipi (). -

    pi pi pipi pi pi pi

    ,

    pi pi . , pi, -

    pi pi pi , pi

    . pi -

    pi pi pi .

    pi, pi pipi

    pipi. pi pi pipi pi

    pi pi-

    .

    pi , pi-

    pi pi

    .

    pi, pi pi pi -

    3 52 . 5 pi pi

  • 3 6 K E A A I O 2 : pi pi pi

    pi, pi pi. , pipi

    pi pipi-

    pi pi (status flags)

    pi pi pi. pipi-

    ( 2.4) pi pipi pi,

    pi pi .

    2.4

    pipi- pi- pi

    NAI

    NAI

    NAI

    YAE TOYXKATAXPHTEXPOPAMMATO

    HHXIAKOHX

    1

    HHXIAKOHX

    2

    POYTINA AOYXIA ANTH IAKOH

    EYHPETHEXTH POYTINA IAXTHN HH n

    HHXIAKOHX

    n

    EYHPETHEXTH POYTINA IAXTHN HH 2

    AYIAXYEPHHH

    EYHPETHEXTH POYTINA IAXTHN HH 1

    OXI

    OXI

    OXI

    pi pi pi pi

    pi pi

  • pi. pi

    pi, pipi pi pi pi , -

    , pi . pi -

    pi, pi pi pi

    pi pi. pi pi pi pi

    , pipi, pi pi ,

    .

    pi pi , CPU pi

    pi pi

    pi. pi -

    pi (preemptive) pi

    (nonpreemptive). pipi pi

    CPU pi pi . pipi

    pi CPU.

    pi, CPU pi pi

    .

    pipi, pi /

    quantum . pi-

    , pi pi -

    .

    2.6

    pi pi pi

    pi pi (kernel). pi pi

    , pi

    pi pi .[1]

    pi, pi pi pi /,

    pi pi

    pi (assembly), -

    . pi pi assembly

    (pi.. UNIX pipi pi 1000 -

    )

    pi pi pi pi pi , -

    pi (maintainable).

    3 72 . 6 pi pi

    [1] pi pi , - pi pi , pi.

  • 3 8 K E A A I O 2 : pi pi pi

    pi pi pi pi

    pi :

    pi (. 2.5.2)

    (. 2.4)

    (dispatching) (. 2.4)

    pi (. 2.4)

    (. 3.3)

    pi (. 2.1)

    pi / (. 2.4)

    pi pi .

    .

    pi pi pi -

    pi. pi pi : -

    , pi.

    ( pi), pi

    pi CPU ( ) .

    ( pi CPU) pi-

    /. -

    pi pipi,

    pi pi pi pi pi, pi -

    pipi. pi

    pi pi , pi

    pi CPU pi pi

    pi . pi -

    : , , pi, pi

    pi, , pi.

    2.5 pi pi

    pi pi pi . -

    pi pi pi : pi pi-

    pi, pi pi, pi pi pi pi

  • pi , pi / pi pi

    pi pi pi pi restart interrupt. -

    pi pi , pi -

    pi. pi pipi pi-

    pi : )

    pi pi, () pi pi ()

    pi pi pi.

    pi

    pi pi pipi. pi pi -

    , CPU pi pi pi pi,

    pi pi pi-

    , pi pi ,

    pi.

    , 2.6 pi , pi

    pi pi -

    pi . pi : -

    pi, , ,

    pi , () pi -

    , pi /, pi

    pi .

    ) pipi

    Andrews and Schneider, Concepts and Notations for Concurrent Programming,

    Computing Surveys, vol. 15, March 1983, pp. 3 43.

    BenAri, Principles of Concurrent Programming, Englewood Cliffs, NJ: Prentice

    Hall International, 1982.

    Dubois et al., Synchronization, Coherence, and Event Ordering in Multiprocessors,

    IEEE Computers, vol. 21, Feb. 1988, pp. 9 21.

    ) pi

    Silberschatz et al., Operating System Concepts, 3rd edition, reading, MA:

    AddisonWesley, 1991.

    3 9B I B I O PA I A

  • 4 0 K E A A I O 2 : pi pi pi

    Blocked process: pi

    Dispatching:

    Dispatcher: pi

    Hardware:

    Interrupt: pi

    Kernel: pi

    Maintainable: pi

    Mode:

    nonpreemptive: pi

    Preemptive: pi

    Process Control Block (PCB): pi

    Process descriptor: pi

    Queue:

    Qvantum:

    Ready or runnable process:

    Resource: pi

    Resume: pi

    Running process:

    Software:

    State vector:

    Status flag:

    Supervisor call: pipi

    Supervisor mode: pipi

    Suspend:

    User mode:

    Volatile environment: pi

  • fi

    fi

    pi pi -

    pipi, pi pi pi

    pipi, pi

    . pi-

    , pi pi pi

    . pi pi

    , pi pi .

    pi pi

    pi .

    pi

    pi pi ( pi

    pi) pi . pi -

    pi pi pi

    pi , pi

    pi .

    pi

    pi / . pi pi

    pipi pi. pi

    , pi pi pi-

    pi. ( :

    synchronization)

    pi pi, pi pi

    pi pi

    pi.

    :

    pi Dekker pi pi-

    pi pi .

    pi -

    3 pi

  • 4 2 K E A A I O 3 : pi pi pi pi

    pi pi pi.

    .

    pi.

    pi pipi pi pi

    pi pi. pi, pipi

    pi

    pipi.

    pi pi.

    pi send receive.

    , pi pi pi pi

    P(u) [wait(u)) V(u) (signal(u)];

    pi ;

    pi -

    pi pi , pi

    pi .

    pi region b do

    pi pi pi pi

    . pi pi pi pi ;

    : monitor , pi

    pi pi .

    pi pi block wakeup pi pi-

    .

    pi pi pi pipi -

    pi pi pi pipi

    .

    pi .

  • pi

    Cobegin, coend

    pi

    pi

    pi

    Send, receive

    Wait, signal

    Await

    Test and set

    Monitor

    Block, wakeup

    pi pi :

    3.1

    3.2

    3.3

    3.4

    3.5 pi

    3.6

    3.7

    3.8 pi

    3.9 pi

    4 3 pi

  • 4 4 K E A A I O 3 : pi pi pi pi

    3.1

    pi , , -

    pipi pi pi pi

    (. pi ) -

    pi pi pi .

    pi (concurrent) pi-

    pi . pi pipi, -

    pi pi pipi pi (true

    parallelism). pi pi,

    pi pi pi -

    . pi

    (indeterminism). pi-

    pi pipi pi pi

    indetermision pi . pi pi

    pipi ( pipi pi-

    ). pi pi pi

    pi . pipi pi pi-

    pi , pi -

    , pi pi,

    pi pi pi .

    3.2

    ( )

    cobegin s1 ; s2 ;; sn coend

    S0

    Sn

    Sn+1

    S1S2

    parbegin s1 ; s2 ;; sn parend

    3.1

  • pi s1 , s2 ,, sn pi (, -

    ). pi, pi s0 ; cobegin s1 ; s2;; sn coend ; sn+1 pi 3.1. pi,

    pi pi , ,

    pi pipi , pi pi

    . pi pi pi

    pi pipi .

    3.3

    pi pi-

    . pi -

    pi pi , pi-

    pi pi pi pi pi -

    .

    pi, 1, 2 cursor

    pi pi (1)

    pi ( pi , -

    ) (2). pi pi -

    pi (interactive text processing). pi i (i = 1, 2)

    1 P2 [ -

    i (i = 1, 2) , ]:

    4 53 . 3 pi

    BEGIN P1 BEGIN 2

    cursor , cursor ,

    1. cursor 1. cursor

    I 2

    2. 1 2. 2

    CURSORPOSITION CURSORPOSITION

    END END

    CURSORPOSITION ( )

    cursor . i (pi)

    i.

    CURSORPOSITION , pi.., 653.

  • 4 6 K E A A I O 3 : pi pi pi pi

    pi cursor , pipi pi ,

    , pi . , pi

    CURSORPOSITION pi -

    CURSORPOSITION mod .

    cursor pi 342, 1

    CURSORPOSITION 342. ,

    , 1

    CURSORPOSITION 654.

    pi cursor (pi..

    ). pi, pi

    CURSORPOSITION 342.

    P1 P2:

    2: cursor 2 (2 = 654)

    2 CPU,

    . 1 .

    1: cursor 1 (1 = 342)

    1: 1 CURSORPOSITION (CURSORPOSITION = 342)

    1 CPU,

    . 2 .

    2: 2 CURSORPOSITION (CURSORPOSITION = 654)

    pi pipi

    CURSORPOSITION! ( CURSORPOSITION

    654 342).

    total tally -

    , pi pi :

    Const n = 50;

    var tally : shared integer;

    procedure total begin (* main program *)

    var count : integer; tally := 0;

    begin cobegin

    for count := 1 to n do total;

    tally := tally + 1; total;

    Afi 3.1

  • pipi : pi pi

    , pi / pi-

    ( pi pi pi

    , pi). pi

    pi, pi pi pi -

    ! , pi-

    .

    pi, pi, , pi pi (

    ), pipi pi pi .

    () pi -

    ( pi pi) . -

    pi pi, pi, pi.., pi (,

    I/O ) .

    pi pi CURSORPOSITION pi.

    pi 1 2 pi CURSORPOSITION ( 1 , 2 pi

    ). pi pi pi

    pi , pi

    pipi . pi ( -

    ) pi (mutual exclusion rule).

    3.4

    u pi pi pi, pi pi pi-

    , pi pi , pi-

    pi pi u

    pi u pi

    pi , -

    pi / pi pi ( ). -

    4 73 . 4 pi pi pi

    end coend;

    writeIn(tally)

    end

    pi pi

    tally pipi pi, pi

    total.

  • 4 8 K E A A I O 3 : pi pi pi pi

    : pi u pi T,

    pi ( pi u) pi

    pi pi .

    pi (critical region) pi pi pi:

    var u : shared T ;

    pi u (pi pipi pi pi-

    ). pi u (pi.. INTEGER, QUEUE, LIST

    .)

    region u do S ;

    pi S pi u.

    pi :

    pi pi pi (pi -

    u) .

    pi pi,

    pipi .

    pi pi pi.

    3.5

    ( pi

    ) Q, pi pi pi

    () R. pi Q pi R

    pi ( pi pipi R). pi

    pi pi pi pi

    pi. Q pipi pi

    pi R . pi-

    , pi pi .

    pi; pi -

    P Q free pi pi -

    . , (free = False), pi. (free

    = True), pi.

    , pi free, pi .

  • 1

    var free : shared boolean ;

    begin

    free := true ;

    cobegin

    P repeat Q repeat

    repeat until free; repeat until free;

    free := false ; free := false ;

    [ R] [ R]

    free := true ; free := true ;

    forever forever

    coend

    end

    free . pi Q -

    free . (, pi.., Q -

    repeat until free ). , -

    free ( ) pi

    R ! ( .)

    : pi pi ,

    . free, pi Pturn,pi

    pi R. Pturn = True

    ( False Q).

    2

    var Pturn : shared boolean ;

    begin

    Pturn := true;

    cobegin

    P repeat Q repeat

    repeat until Pturn ; repeat until (not Pturn) ;

    [ R] [ R]

    Pturn := false ; Pturn := true ;

    forever forever

    4 93 . 5 pi pi pi

  • 5 0 K E A A I O 3 : pi pi pi pi

    coend

    end

    H 2 pi pi, pi Pturn pi true

    ( false) .

    pi pi R Q , pi ,

    pi. , pi.., P pi R,

    pi pi,

    Q pi , R . pi -

    pi pi pi-

    loors ( repeat until), pi pi -

    (busy waiting).

    pi pi pi pi pi

    ;

    Afi 3.2

    pi , pi

    boolean pi pi pi -

    pi pi. : pi

    pi (), pi () pi-

    , pi pi , , pi

    .

    3

    var Pturn , Qturn : shared boolean ;

    begin

    Pturn : false ; Qturn := false ;

    cobegin

    P repeat Q repeat

    Pturn := true ; Qturn := true ;

    repeat until (not Qturn) ; repeat until (not Pturn) ;

    [x R] ; [x R];

    Pturn := false ; Qturn := false ;

  • forever forever

    coend

    end

    5 13 . 5 pi pi pi

    pi : pi -

    pi R. pi ( -

    ), pipi pi pi, -

    pi -

    . pi , pi

    : ; pi

    pi pi 1 pi pi

    pi 2 :

    ;

    .

    _______________;

    _______________.

    pi.

    _______________ pi.

    A pi pi pi pi -

    .

    pi ( ) 2,

    Pturn, Qturn, pi pi pi .

    Afi 3.3

    3. pi pi pi-

    pi; pi pi;

    Afi 3.4

    pi pi pi pi Dekker

    1965.

  • 5 2 K E A A I O 3 : pi pi pi pi

    4 (Dekker)

    var outside 1, outside 2 : shared boolean ;

    turn : shared 12 ;

    begin

    outside 1 : true ; outside 2 := true ; turn := 1 ;

    cobegin

    P repeat Q repeat

    begin begin

    repeat repeat

    outside 1:= false ; outside 2:= false ;

    repeat repeat

    if outside 2 then go to enter ; if outside 1 then go to enter ;

    until turn = 2 ; until turn = 1 ;

    outside 1: = true ; outside 2: = true ;

    repeat until turn = 1 ; repeat until turn = 2 ;

    forever ; forever ;

    end end

    enter P inside ; enter Q inside ;

    [ R] ; [ R] ;

    turn: = 2 ; turn: = 1 ;

    outside 1:= true ; outside 2:= true ;

    P outside ; Q outside ;

    forever forever

    coend

    end

    Dekker pi pi R. Dijkstra

    n .

    pi :

    Dekker pipi pi pi

    pi -

    . pi . pi-

    pi -

  • . pi pi , ,

    pi, pipi-

    pi pi.

    5 3X X X

    pi:

    outside 1 := false /* 1 pi pi

    pi R */.

    If outside 2 then goto enter /* 1 2 -

    pi pi pi pi R.

    pipi pi pi.

    pi outside1, outside2 turn

    pi pi 1; pi -

    2; pi ; turn

    , pi pi pi pi pi

    2;

    pi pipi pi -

    . pi, loop pi pi:

    (enter)

    TON . .

    (turn = 2)

    (out 1 = True)

    .

    pi pi

    pi; pi pi;

    Afi 3.5

    Dijkstra pi pi Hansen (1972)

    pi region u do S.

    . pi pi compiler ;

    . Dekker pi pi pi-

    Afi 3.6

  • 5 4 K E A A I O 3 : pi pi pi pi

    . pi pi pi . , region u do S pi-

    pi Dekker ( ) pi .

    . pi pi -

    pi pipi Dekker pi pi.

    pi:

    . (, compiler pi pipi -

    .)

    . .. pi pi Dekker:

    var R : shared T ;

    cobegin

    P Q

    repeat repeat

    region R do [ R]; region R do [ R];

    forever forever

    coend

    . pi pipi Dekker.

    , pi pipi pi

    pi, pi pi pi .

    pi pi-

    , pi.

    pi pi-

    . (noop = pi pi)

    var flag: shared array[0..1] of boolean; /* FALSE */

    turn : shared 0..1;

    pi (i = 0 1. i = 0, j = 1, ).

    repeat

    Afi 3.7

  • 5 5X X X

    flag[i] = TRUE;

    while (turn != i) do begin

    while (flag[j]) do noop;

    turn := i;

    end

    pi

    flag[i] = FLASE;

    until FALSE;

    pi pi pi pi

    pi, pi -

    p0 p1, pi pi -

    pi. :

    turn := 1,

    P0: flag[0] := true;

    P0: while (turn != 0)

    P0: while (flag[1])

    P0: turn := 0;

    P0: pi

    P0: flag[0] = false;

    P1: flag[1] := true;

    P1: while (turn != 1)

    P1: while (flag[0])

    P0: flag[0] = true;

    P0: while (turn != 0)

    P0: pi

    P1: turn = 1;

    P1: pi ].

  • 5 6 K E A A I O 3 : pi pi pi pi

    3.6

    3 pi pi

    pi pi pi (Pturn = true) pi

    .

    pi pi pi ,

    pi , . pi

    ( ),

    , pi pi, pi . pi -

    3 pi;

    pi:

    repeat until (not Qturn)

    repeat

    begin

    Pturn := false;

    pi ;

    Pturn := true;

    end ;

    until (not Qturn) ;

    ( Q), pi

    pi pi pi pi

    pi [pipi, , (Q)

    pi Q (P)].

    2. pi ,

    pi pi pi pi R ( , , -

    , pi pi ) pi-

    (indefinite postponement). pi

    pi pi indefinite postponement,

    (fair).

    3. pi pi pipi -

    pi :

    Afi 3.8

  • 3.7 ( fi)

    3.7.1

    pipi pi P C, pi P

    pi C, C pi

    pi (Producer, Consumer). -

    , pi (messages). pi P C pi -

    , pi (P) pi -

    pi pi pipi (C) pi pi (pi..

    pi C pi pi ). -

    pi, pi pi

    pi , pi pi pi pi pi

    . pi (buffer) (. 3.2). O

    pi .

    5 73 . 7 pi pi pi pi ( pi pi pi pi pi )

    ) pi pi, pi

    pi pi: pi pipi pi pipi pipi-

    .

    ) pi pi, pi pi-

    : pipi pi.

    ) pi pi .

    Bp q

    3.2

    pi-

    , pipi pi pi pipi pi pi:

    1. pi pi pi pi pipi-

    .

    2. pipi pi pi pi

    pi pi.

    pi -

    :

  • 5 8 K E A A I O 3 : pi pi pi pi

    pi pi pi pi () pi

    pipi pi pi pi pi-

    pipi pi pi pi pi pi

    pi pi pi.

    pi pi pi pi pi -

    pi.

    . , pi, -

    pi

    var B: buffer max of T;

    pi pi , max , pi .

    pi pi pi

    send (M,B);

    pi ,

    receive (M,B);

    pi pi pi pi pi -

    .

    pi send receive ( ), pipi

    pi , send receive pi

    .

    : send, receive pi - (by value) (by reference)

    pi pi pipi pi pi-

    pi pipi. pipi -

    send receive;

    Afi 3.9

    3.7.2 fi (Semaphores)

    pi pipi pi

    pi pi pi .

  • pi.

    pi , pi pi ,

    . pi, pipi,

    pi pi

    pi. -

    (semaphore). pi :

    var v: semaphore;

    send receive

    signal (u) [ V(u)] wait (u) [ (u)].

    V (pi ) pi , -

    pi . pi P V

    , pi pi .

    5 93 . 7 pi pi pi pi ( pi pi pi pi pi )

    V(u) P(u) pi sent receive.

    pi u 3 :

    1. s(u): pi

    2. r(u): pi

    3. c(u):

    pi.

    :

    0 r(u) s(u) + c(u) r(u) + maxint

    pi maxint pi pi .

    , pi , u,

    pi pi pi

    u = s(u) + c(u) r(u)

    [ u = c(u)].

    :

    1. P(u) [ wait(u)]: P(u) u > 0, u := u1 -

    pi P(u) .

    Afi 3.10

  • 6 0 K E A A I O 3 : pi pi pi pi

    3.7.3 fi

    var R : shared T ;

    cobegin

    coend

    pi pi pi P V :

    var R : record content : T;

    mutex : semaphore;

    begin

    mutex := 1;

    cobegin

    P1 Pn

    begin begin

    wait (mutex); wait (mutex);

    process P1region R do S1

    process P2region R do S2

    process Pnregion R do Sn...

    ...

    P(u) pi u = 0, pi-

    u, qu, pi pi

    pi.

    2. V(u) [ signal (u)]: To V(u) u 1 qu ,

    pi pi , pi

    pipi ( pcb pi qu

    ready queue), P(u) pi

    , 1 pi u.

    pi qu pi ( pi-

    , pi pi pi-

    , pi pi -

    pipi pi pi

    ). pipi , pipi

    pi qu pi.

  • S1; Sn ;

    signal (mutex); signal (mutex);

    end end

    coend

    end

    pi:

    pi wait (P) pi pi signal (V),

    0 s(mutex) r(mutex)

    ,

    0 r(mutex) s(mutex) + 1

    0 r(mutex) s(mutex) 1

    r(mutex) s(mutex) pi

    pi P V,

    pi . , pi (1) pi

    pi.

    :

    6 13 . 7 pi pi pi pi ( pi pi pi pi pi )

    , pi pi, pi -

    (pi pi pi pi). pi

    : , pi pi-

    pi pi pi pi. pi pi pi

    pi Dekker.

    pi ,

    hardware,

    memory interlock, pi pi pi pi. ,

    pi pi, pi pi pi pi

    pipi pi -

    pi hardware.

    Afi 3.11

    1.

  • 6 2 K E A A I O 3 : pi pi pi pi

    2. region v do S pi pi P

    V, Compiler -

    pi.

    mutex :=1

    wait(mutex); signal(mutex);

    S; S;

    wait(mutex); wait(mutex);

    (A) (B)

    pi pi pipi () () pi

    pi pi ;

    pi:

    H pipi () . () pipi pi pi

    pi.

    Afi 3.12

    pi ,

    pi pi .

    pi pi pi ,

    pi () pi pi

    . pi , pipi

    pi . pi pi-

    . pi pi pi

    pi

    pi pi .

    Afi 3.13

  • 6 33 . 7 pi pi pi pi ( pi pi pi pi pi )

    pi:

    #define TRUE 1

    #define FALSE 0

    typedef int semaphore;

    semaphore mutex =1; /* pi pi

    */

    semaphore west = 1; /* pi */

    semaphore east = 1; /* pi */

    share int west_count = 0, east_count = 0; /* pi

    */

    void east(void) { void west(void) {

    while (TRUE) { 0while (TRUE) {

    wait(&east); wait(&west);

    east_count++; west_count+;

    if(east_count ==1) if(west_count==1)

    wait(&mutex); wait(&mutex);

    signal(&east); signal(&west);

    move_east(); move_west();

    wait(&east); wait(&west);

    east_count; west_count;

    if(east_count == 0) if(west_count == 0)

    signal(&mutex); signal(&mutex);

    signal(&east); signal(&west);

    } }

    } }

  • 6 4 K E A A I O 3 : pi pi pi pi

    pi pi pi, pi pi-

    pi. pi pi

    (pi.. ) pi pi

    pi , pi , pipi

    pi pi pi

    .

    pi:

    #define TRUE 1

    #define FALSE 0

    typedef int semaphore;

    semaphore mutex = 1; /* pi pi

    east_count west_count*/

    semaphore turn = 1;/* pi pi

    */

    share int west_count = 0, east_count = 0; /* pi

    */

    share int flag = 0; /* pi pi pi -

    pi */

    void east(void) { void west(void) {

    while (TRUE) { while (TRUE) {

    wait(&mutex); wait(&mutex);

    east_count++; west_count+;

    signal(&mutex); signal(&mutex);

    if(flag ==0){ if(flag==1) {

    move_east(); move_west();

    wait(&mutex); wait(&mutex);

    east_count; west_count;

    Afi 3.14

  • 3.7.4 fi

    pi

    pi .

    pi pi

    pi

    pi , pi -

    pi .

    var u : shared T

    region u do

    begin

    So ;

    await B;

    S1

    end

    pipi boolean , u.

    pi u,

    pi Qu ( u). pi

    pi , ,

    pi pi.

    6 53 . 7 pi pi pi pi ( pi pi pi pi pi )

    if(west_count != 0) if(east_count != 0)

    flag = 1; flag = 0;

    signal(&mutex); signal(&mutex);

    } }

    } }

    } }

  • 6 6 K E A A I O 3 : pi pi pi pi

    pi, B(u)

    ( wait). , S1 pi

    pi. , pi pi

    pi , Qe,u [event queue Q(e,u)].

    pi pi

    Qu. pi await pi pi

    boolean . pi,

    pi Qe. pi

    pi, Q(e,u) Qu, pi pi

    pi pi .

    u

    Qe,u

    Qe,u

    3.3

    pi

    pi

  • 6 73 . 7 pi pi pi pi ( pi pi pi pi pi )

    1. pipi ; pi

    ;

    2. pi pi pi Qu

    ;

    pi:

    1. pi pi pi pi

    u, pi pi

    .

    2. pi Qu FIFO;

    Afi 3.15

    c

    p

    3.4

    pi

    pi pi . pi pi

    c pi

    . full pi pi

    pi , empty, pi .

    1. pi pi pi pi pi .

    2. pi pi pi .

    Afi 3.16

  • 6 8 K E A A I O 3 : pi pi pi pi

    pi:

    pi full pi (pi

    pi) pi. full = 0. -

    empty pi pi. empty = max.

    pi pi pi

    type B = shared record /* record*/

    buffer : shared array 0max 1 of T ;

    p, c : shared 0max 1;

    full : shared 0max 1;

    p = c = full = 0;

    procedure send (m : T ; var b : B) ;

    region b do

    begin

    await full < max ;

    buffer (p) := m ;

    p := (p +1) mod max;

    full := full + 1;

    end

    procedure receive(var m : T; b : B);

    region b do

    begin

    await full > 0;

    m := buffer(c);

    c := (c + 1) mod max;

    full := full 1;

    end

  • 6 93 . 7 pi pi pi pi ( pi pi pi pi pi )

    pi

    type B = record

    v : shared record

    buffer : shared array 0max 1 of T;

    p,c : shared 0max 1;

    full, empty : semaphore;

    p = c = full = 0;

    empty = max ;

    procedure send (m : T; var b : B);

    begin

    with b do

    begin

    wait (empty);

    region u do

    begin

    buffer (p) := m ;

    p:= (p + 1) mod max;

    end

    signal(full);

    end

    end

    procedure receive (var m : T; b : B) ;

    begin

    with b do

  • 7 0 K E A A I O 3 : pi pi pi pi

    begin

    wait (full) ;

    region u do

    begin

    m: = buffer(c);

    c: = (c + 1) mod max ;

    end

    signal (empty);

    end

    end

    3.1:

    pi:

    pi ( )

    pi (pi.. multimedia web document). pi

    , pipi pi pipi-

    . , pipi -

    pi .

    pi (,

    , , ,

    , ).

    :

    :

    1. multimedia web document

    2. pi, ( )

    3. document

    pi pi -

    pi pi. pi pi

    pi document ( pi) pi

  • .

    ar =

    rr =

    aw =

    rw =

    ar = rr = aw = rw = 0

    :

    1. 0 0 rw > 0) (pipi pi -

    )

    5. . pi

    pi ( aw = 0).

    7 13 . 7 pi pi pi pi ( pi pi pi pi pi )

    pi . pi- pi pi grant reading, pi pi , pigrant writing, pi pi .( , pi! , pi pi . pi pi .

    pi pi pi pi .

    pi:

    pi ()

    type T = record

    ar, rr, aw : shared integer ;

    Afi 3.17

  • 7 2 K E A A I O 3 : pi pi pi pi

    var u : shared T ;

    reading, writing, w : semaphore ;

    pi ar = rr = aw = rw = reading = writing = 0, w = 1.

    cobegin

    begin reader

    region u do

    begin

    ar : = ar + 1 ;

    grant reading (u, reading);

    end

    wait (reading);

    read ;

    region u do

    begin

    rr := rr + 1;

    ar := ar 1;

    grant writing (u, writing) ;

    end

    end

    begin writer

    region u do

    begin

    aw := aw + 1;

    grant writing (u, writing);

    end

  • 7 33 . 7 pi pi pi pi ( pi pi pi pi pi )

    end

    begin writer

    region u do

    begin

    aw := aw + 1;

    grant writing (u, writing);

    end

    wait (writing);

    P(w);

    write;

    V(w);

    Region u do

    begin

    rw := rw + 1;

    aw := aw 1;

    grant reading (u, reading);

    end

    end

    coend

    procedure grant reading (var u : T ; reading : semaphore) ;

    begin

    with v do

    if rr = 0 then

    while rw < aw do

  • 7 4 K E A A I O 3 : pi pi pi pi

    begin

    rw : = rw + 1;

    signal (writing);

    end

    end

    pi pi pi

    var u : shared record

    rr, aw : shared integer

    rr = aw = 0

    cobegin

    begin reader

    region u do

    begin await aw = 0; rr := rr + 1 end

    read;

    region u do rr := rr 1

    end

    begin writer

    region u do

    begin aw = aw + 1 ; await rr := 0 end

    write;

    region u do aw := aw 1;

    end

    coend

  • 7 53 . 7 pi pi pi pi ( pi pi pi pi pi )

    3.7.5 fi fi

    S pi pi s ( pi pi true

    false [ 0 1]) mutexS, delayS, (pi V

    ).

    mutexS, delayS : binary semaphore;

    S : semaphore;

    NS : shared integer;

    pi mutexS = 1, delayS = 0, NS = S;

    cobegin

    egin P (S)

    P (mutexs);

    Ns : = Ns 1;

    if Ns

  • 7 6 K E A A I O 3 : pi pi pi pi

    3.7.6 V hardware

    pi 1 pi

    . pi pi -

    pi . -

    pipi pi

    , , pi, 1

    . To hardware pi / pi :

    testandset, pi ( pi

    pi)

    var X : shared boolean

    X : true;

    pi :

    egin P(S)

    P V pi pipi

    .

    pi pi ; 0

    pi 1;

    pi

    V(mutexs);

    P (delays);

    P;

    pi pi pi -

    pi:

    P P, V V P V.

    ( !). pi-

    pi 3.7.2.

    pipi pi

    P V; .

    Afi 3.18

  • L: if TS(S) then go to L ;

    End

    Begin V(S)

    S: = false;

    End

    7 73 . 7 pi pi pi pi ( pi pi pi pi pi )

    FA(m,r) pi pi m r pi m pi pi m. pi pi pi FA .

    pi:

    procedure FA (var m: integer, r: integer)

    var temp: integer;

    begin

    temp := m;

    m := m + r;

    return (temp);

    end

    pi pi pi pi pi FA :

    var lock, key: shared integer;

    noop pi pi.

    procedure pi

    begin

    lock := 0;

    key := 1;

    Afi 3.19

  • 7 8 K E A A I O 3 : pi pi pi pi

    repeat

    while (FA (lock, key) > 0) noop;

    ;

    lock := 0;

    pipi

    until false;

    end

    :

    pi pi (-pi pi 3.5);

    pi:

    pi pi . - , pi pi pi - pi pi , pi , pi pi pi , pi , pipi pi .

    pi pi pi- pi FA pi pi pi - .

    :

    var lock: shared integer;

    var waiting: shared array[0..n1] of boolean; false.

    noop pi pi.

    procedure pi

    var j: integer; (j: 0 .. n1)

    key: integer;

    begin

    key := 1;

    repeat

  • 7 93 . 8 pi pi pi pi pi

    waiting[i] := true;

    while (waiting[i] and (FA (lock, key) > 0)) do noop;

    waiting[i] := false;

    ;

    j := (i + 1) mod n;

    while ((j != i) and (!waiting[j])) do

    j := (j + 1) mod n;

    if( j == i) then lock := 0;

    else waiting[j] := false;

    pipi

    until false;

    end

    3.7.7

    Monitor: ,

    pi pi, pi .

    (Event Queues)

    :

    var e : event u

    ( e u).

    pi pi pi ( u) pi e

    : await (e). pi

    (pi pi (e) Qu u, : cause (e).

    pi monitors pipi pi -

    .

    3.8 fi

    pi pi

    . pi (pi) pi pi-

    Block Wakeup.

  • 8 0 K E A A I O 3 : pi pi pi pi

    3.9 fi fi

    pi pi

    . pi, pi pi pi

    , . pi -

    .

    ;

    ;

    pi:

    pi

    pi pi pi pi pi -

    pi. , pi,

    . , pi pipi pi pi -

    pi pi pi, -

    . pi,

    , pi pi pi

    .

    PCB i boolean wakeup waiting pi

    wws(i). block wakeup :

    Block (i):

    if (not ww(i) then Block process(i)

    else wws(i) := false;

    Wakeup(i):

    If ready (i) then wws(i) := true

    else Activate process (i);

    Block process(i) i . Activate i

    ready queue. ready(i) pi true i

    running ready. pi false pipi.

    pi Block Wakeup , -

    pi pi pi.

    Afi 3.20

  • , pi pi-

    pi pi pi

    pi . pi, -

    :

    1. pi (local) , pi -

    pi pipi pi ,

    2. (specific flags), pi pi /

    pipi pi , pi

    .

    , pi -

    Pi : () pi pi

    () pi pi pi

    . , flags, pi pi -

    pi pi pi-

    .

    pi pi -

    . ( flags)

    pi pi pi (

    testing),

    .

    O pi pi

    pi pi . , , pi -

    pi pi : pi -

    , pi.. pi (breakdown)

    pi pi .

    3.9.1 fi (The Bakery Algorithm)

    pi Lamport 1974. ( pi -

    ) pi pi pi -

    , pi

    pi.

    pi P0, P1,, Pn1 -

    , pi pi pi .

    pi , -

    ( ) pi pi.

    8 13 . 9 pi pi pi pi pi pi pi

  • 8 2 K E A A I O 3 : pi pi pi pi

    :

    var choice : array [0(n1)] of boolean;

    number array [0(n1)] of integer ;

    pi pi false 0 .

    choice [i], number [i]

    flags pi Pi. Pi pi pipi

    . j (j i) pi .

    [(a,b) < (c,d)] [a < c (a = c b < d)]

    pi pi Pi (pi j pi

    Pi).

    choice [i] = true ;

    number [i] = 1 + max(number [0]+number[n1]) ;

    choice [i] = false ;

    for j = 0 to n 1, i j

    begin

    wait until not choice [j] ;

    wait until number [j] = 0 or

    (number [j], i) < (number [j], j)

    end ;

    ;

    Number [i] = 0 ;

    pi pi pi pipi-

    pi ( pi pi n 1 pi

    ). value [i] pi

    . pi pi pi -

    (pi;)

  • pi pi-

    pi, pi pi -

    . pi -

    pi pi, pi -

    , pi pi .

    pi

    pi . pi

    pi pi pipi -

    pi pi

    , pi pi -

    pi pi. pi-

    , pi pi-

    . pi pi pi

    pi ,

    pi pi pi

    pi

    pi: () pi pi,

    pipi , () pi -

    pi pi ()

    pi pi pi.

    3.4 pi pi pi

    pi Dekker, pi pi-

    pi. pi

    pipi pipi pi

    . pi pi pi pi (

    ), pi pi pi pi pi -

    pi .

    pi pi pi pi: pi pi

    pi pi pi pipi

    pi pi pi .

    pi pi :

    pi pipi pi pi-

    , pi pipi

    pi pi pi , pipi pi-

    pi pi pi pi, pipi

    8 3 Y N O H

  • 8 4 K E A A I O 3 : pi pi pi pi

    pi pi-

    . pi pi send(M, B) receive(M, B),

    pi pi.

    pi .

    (var u: semaphore) pi

    pi , . pi

    [ : signal(u) V(u)] [

    pi: wait(u) P(u)] . pi pi

    pi ( pi pi pi) pi

    , . , pi-

    pi , pi

    pi pi pi pi.

    , pi: -

    , pi , monitor

    , pi pi

    test and set . , pi -

    pi -

    pi.

  • pipi

    Andrews and Schneider, Concepts and Notations for Concurrent Programming,

    Computing Surveys, vol. 15, March 1983, pp. 343.

    BenAri, Principles of Concurrent Programming, Englewood Cliffs, NJ: Prentice

    Hall International, 1982.

    Dubois et al., Synchronization, Coherence, and Event Ordering in Multiprocessors,

    IEEE Computers, vol. 21, Feb. 1988, pp. 921.

    Silberschatz et al., Operating System Concepts, 3rd edition, reading, MA:

    AddisonWesley, 1991.

    Breakdown: pi

    Buffer: pi

    Busy waiting: pi

    By reference:

    By value:

    Concurrent:

    Consumer: pipi,

    Critical region/section: pi

    Deadlock:

    Fair:

    False:

    Indeterminism: pi (

    pi pi)

    Infinite postponement: pi

    Memory interlock,

    storage arbiter: pi

    8 5B I B I O PA I A

  • 8 6 K E A A I O 3 : pi pi pi pi

    store pi ,

    pi -

    Message:

    Monitor: pi

    Mutual exclusion: pi

    New line:

    Producer: pi, pi

    Reader:

    Resource: pi

    Semaphore:

    True:

    True parallelism: pi -

    pipi

    Writer:

  • (Memory Management)

    pi pi , ,

    pi:

    pi pi pi /

    (nonvolatility).

    pi (

    ).

    , pi

    CPU, .

    , pi pi, pipi -

    ,

    pi. , pi pi , -

    pi pi pi pi

    CPU. pi, CPU pi pi pi. -

    ,

    pi pi . 1,

    pi . pi timespace tradeoffs (pi

    )

    ( pi). pi

    pi pi , pi

    . pi pi, pipi,

    pi pi pi-

    . pi pi -

    pi tradeoffs, pi

    , pi .

    pi .

    , pi

    . pi,

    pi

    .

    4 pi

    [1] pi .

  • 8 8 K E A A I O 4 : pi pi pi ( M E M O R Y M A N A G E M E N T )

    fi

    pi pi

    , pi -

    / . pi pi pi-

    pi, pi pi. -

    , / -

    pi . pi -

    . -

    pi pipi. pipi pi-

    . pi pi.

    pi pi pi pi pi-

    . , pi pi pi,

    pi pi pi

    pi. pi pi

    pi / pi pi

    pi pi pi , pi -

    pi , . pi-

    , pi pi

    pi .

    , :

    pi pi . pi,

    pi pi pi

    .

    pi pi -

    .

    pi-

    pi : , pi pipi,

    pipi pi , pi, pi,

    pi pi pi pi.

    pi pi

    pipi

    pi pi pi pi .

  • pi pi.

    pi pi .

    pi pi pi pi pi.

    pi

    .

    pipi pi pi.

    pi pi pi pipi

    pi pipi pi (pi )

    pi .

    .

    pi pi pi -

    .

    pi pi pipi .

    pi pipi

    . pi

    pi; pi ( pi) -

    ; pi pi pi

    ;

    -

    pi . ;

    pi.

    pi. pi, pi pi

    pi . pi pipi ,

    , pi pi pi pi , pi-

    ;

    pi pi pipi pi pi-

    .

    pi pi

    pi pi.

    pi pi pi pi -

    pi .

    8 9

  • 9 0 K E A A I O 4 : pi pi pi ( M E M O R Y M A N A G E M E N T )

    pi -

    2, pi .

    pi-

    pi pi pi pi,

    pi pi pi pi -

    .

    pi pi pi pi-

    pi .

    pi.

    pipi pi pi;

    pi

    pipi

    ,

    , , pipi

    pi

    pi

    pi ()

    pi ()

    : ,

    Round robin, FCFS

    pi

  • pi

    pi

    , pi, pi , pi

    ( )

    pi

    pi

    pi pi

    pi pi

    pi pi :

    4.1

    4.2

    4.3 pipi

    4.4

    4.5 pi pi

    4.6 pi

    4.7 pi

    4.8

    9 1 pi pi pi

  • 9 2 K E A A I O 4 : pi pi pi ( M E M O R Y M A N A G E M E N T )

    4.1 (Preliminaries)

    . pi

    4.1, pi /

    (/) pi . pi

    pi bytes, pi pi bytes -

    . , pi pi

    bytes ,

    . pi

    , .

    byte m bits,

    o m pi 2m = . pi CPU

    I/O pi pi /

    pi/ . pi, CPU (fetches)

    pi pi (stores) .

    MNHMHKMEYTHMAX

    E/E

    4.1

    pi

    pi pi (

    pi ). pi pi pipi, -

    pi pi . 4.2 pi

    pi .

    pi pi pi -

    , . ,

    pi pi (source program) .

    pi pi pi -

    . pi, pi

    . , -

    pi pi -

    , pi -

    . pi pi , , -

    pipi . pi pi-

    pi. / []

    (bind) pi

  • (relocatable addresses). pi

    (object module), . -

    , pi, pi,

    pi pi , pi..

    01110 = 14 byte pi

    pi pi. (linkage editor) -

    (loader), , pi

    pi (absolute addresses) (pi.. 000010000100000 = 1056 byte

    32768 bytes).

    pi (address space) .

    / pi pi-

    , , pi , pipi

    .

    pi .

    pi ( ) . pi pi-

    pi pi (instruction cycle).

    , pi

    pi . pi-

    pi pi -

    . pi pi pi pi

    pi / pi-

    pi ( pi

    pi pipi pi

    pi , pi pipi pi

    ).

    . pi pi pi (pi

    ), pi.. pipi pi pi

    pi ( 4.5).

    pi pi .

    pi pipi pi

    pi CPU. pi pi

    pi.

    9 34 . 1 pi pi ( P R E L I M I N A R I E S )

  • 9 4 K E A A I O 4 : pi pi pi ( M E M O R Y M A N A G E M E N T )

    MXX

    X

    (Compiler or Assembler)

    (Source Program)

    (Object Module)

    (Linkage Editor)

    (Load Module)

    (Loader)

    (In-core core Image)

    Xmodule

    XX

    XXE

    4.2

    pi - pi pi-

  • 1. pi [2] / pi

    R.[3]

    2. PC[4] pi .

    3. pi .

    4. pi pi , pi pi -

    .

    5. , , pi CPU.

    6. .

    7. pi pi ( ).

    8. 1 pi .

    pi pi

    (operands) ( ) pi

    pi pi . 3 4 pi

    pi pi pipi

    . pi pi

    pi . pi [5]

    (opcode) pipi pi pi x bits (pi.. x = 8) -

    pi . pi pi -

    pi, pipi bits pi

    pi . bits pi pi

    pipi (pi,

    pi, pi ) pi -

    pi CPU. : (1)

    , (2) , (3) . -

    pi pi .

    9 54 . 1 pi pi ( P R E L I M I N A R I E S )

    [2] (control unit) pi pi .

    [3] IR (instruction register) pi pi - pi CPU .

    [4] pi PC (program counter register) pi pi pi CPU , pi , pi .

    [5] (opcode) . pi pi (instruction set). O pi , pi pi , pi , pi , .

  • 9 6 K E A A I O 4 : pi pi pi ( M E M O R Y M A N A G E M E N T )

    pi, pi pi pi

    . pi pi pi-

    pi pi pi, , pi pi pi,

    .

    pi .

    pi -

    , pi pi pi

    , / pi-

    , pi pi/ pi/

    ( ). pi -

    , pi pi-

    pi . pi, pi

    pi pi

    ( 4.5.4), pi -

    pi ( 4.6). pi-

    pi /

    pi pi pi, pi pi .

    pipi, pi pi-

    pi pi . pi pi

    pi pi pipi .

    pi. -

    pi pi pi / pi , -

    pi . -

    pi , pi pi , ,

    pi pi ,

    pi, pi -

    . , pi pi-

    pi .

    4.2 (Bare Machine)

    , 4.3, 4.4 4.5, pi

    pi pi pi. pi-

    -

    pi pi .

    , pi pi pi pi

  • . pi pi -

    ( 4.3).

    9 74 . 2 ( B A R E M A C H I N E )

    XPHTH

    0

    32 K

    4.3

    pi pi. -

    , pi pi pi

    pi . pi . pi

    .

    pi: pi pi.

    pi pi pi, -

    pi[6] pi pipi (resident monitor) ( 4.3)

    pi [7] (system calls)

    . , pi (dedicated

    systems), pi pi pi

    pi.

    [6] pi (interrupts) pi pi - . pi, pi pi pi pi I/O. pi I/O . I/O pi- , chip pi pi I/O. pi pi -pi, pi pipi pi pi.

    [7] (system calls) pi pi pi- pi pi (). pi . pi pi .

  • 9 8 K E A A I O 4 : pi pi pi ( M E M O R Y M A N A G E M E N T )

    4.3 fi (Resident Monitor)

    pi pipi pi-

    , (pi ) pi

    pi pipi ( 4.4).

    pi, , , pipi .

    , pipi -

    pipi (pi..

    , , pi, pi.. pi

    /, pi, pi.. pi .).

    pi pipi pi

    pi pipi pi -

    . pi , pi pipi bytes pi-

    , pi bytes ( pi

    pi 010 110 pi ,

    pi ) pi , bytes

    pi . .

    IAIKAIA

    EOTH

    K

    (Fence Register)

    0

    M

    E-1

    4.4

    pipi

    pi pi Fortran Monitoring System 7094,

    pi pi . pi pi

    pi, pi CP/M.

    4.3.1 fi (Protection Hardware)

    pipi

    (0 1). 1.

  • pi pipi pi -

    ( ) pi pi pi , pi-

    pipi pi pi pi

    .

    pi pipi pi pi pi pi

    pi. pi 4.5. (-

    ) pi pi pi

    (fence address).

    , pipi -

    , . pi pi -

    , pi pipi.

    pi pi (trap or interrupt) pi

    ( ). (

    pi (pi.. This program has

    performed an illegal operation and will be shut down) pi-

    (memory dump) pi .

    9 94 . 3 ( R E S I D E N T M O N I T O R )

    > =X

    A

    MNHMHKME 4.5

    - pi pi- pipi

    pi pipi .

    , pipi

    , pi 995ns 980ns.

    pi pi

    , pipi

    (effective access time).

    , pipi (monitor mode), pi pi-

    pi pipi . pipi

    , pipi

  • 1 0 0 K E A A I O 4 : pi pi pi ( M E M O R Y M A N A G E M E N T )

    , pipi pi .

    pi pi pi -

    . pi -

    (fixed constant). pi, 2116 pi

    (basic binary loader) pi 777008 777778 ( 32 bytes).

    pi pipi pi-

    pi pi pi 777008, .

    , pi pi ,

    pi pipi,

    , pi . -

    pipi, pi

    pi . pi pipi pi -

    pipi (pi ) pi-

    . .. pipi pi pi (buffer space)

    (device drivers)[8]. ( pi-

    ) pi, pi pi

    , pi pi

    pi. -

    pipi (transient monitor code), pi

    pi pi.

    pipi pi ( pipi).

    pi pi pipi, pi-

    pi . pi pi

    pi pi pi

    . pi

    pi pi

    (special privilege instruction). pi pi

    pi pi pipi. pipi

    pipi pi .

    4.3.2 fi (Relocation)

    pi . pi -

    [8] (device drivers) pipi pi /. .

  • 0, pi ,

    pi . pi pi -

    pi pi .

    pi

    . ,

    pi pi (absolute code). -

    pi pi. , , -

    , pipi . , pi

    pi pi (relocatable code). pipi,

    . ,

    pi pi . pipi-

    , pi, pipi -

    . ,

    (pi) , -

    . pi, pi

    pi .

    pi pi pi pi-

    pipi pipi . -

    PDP 11 pi pi 4.6. -

    pi , pi , -

    pi pi . pi

    pipi pi-

    pi .

    1 0 1X X X

    IAIKAIA

    EOTH

    0

    64 K

    K

    4.6

  • 1 0 2 K E A A I O 4 : pi pi pi ( M E M O R Y M A N A G E M E N T )

    pi pi pi pi pi CDC6600

    .

    pi (dynamic relocation) pi pi-

    , pi 4.7.

    pi (relocation or base register).

    pi pi pi , -

    pi . pi, 1400,

    pipi pi 0 pi -

    1400, pipi 346 pi 1746.

    1400K B

    +

    17460346MNHMHKME

    4.7

    -pi

    -pi

    pi pi pi .

    pi 346, pi-

    , , , pi

    346. pi (

    pi ) pi .

    pi -

    . (memory mapping hardware) -

    pi .

    , pi -

    (moving)

    . pi pi pi

    , pipi -

    pipi .

    , pi, pi : -

    (pi 0 max) (pi R+0 R+max -

    R). pi

    0 max. pi pipi ,

  • pipi. pi pi pi

    (pi pi ) pipi

    pi pi pi pi. -

    pi pi I/O.

    pi pipi pi

    pi. (logical address

    space) .

    4.4 (Swapping)

    pi pi pipi pi

    , .

    : CTSS

    Q32. pi pi pipi

    pipi pi -

    . pi , pi

    pi ( pi-

    ) pi .

    ( 4.8).

    1 0 34 . 4 ( S WA P P I N G )

    XPOXIAIKAIA

    EOTH

    K

    1

    E M

    E

    2

    4.8

    - pi

    4.4.1 (Backing Store)

    pi pi . .

    pi , pi

    , pipi pi pi pipi-

    . (ready queue) pi pi -

  • 1 0 4 K E A A I O 4 : pi pi pi ( M E M O R Y M A N A G E M E N T )

    pi pi

    pi . pi -

    . -

    , pi (dispatcher). pi

    , , (swaps out)

    (swaps in) pi .

    pi pi pi

    pi , pi pi-

    , pi pi.

    pi pi . -

    pi .

    4.4.2 fi (Swap Time)

    pi pi -

    .

    34 . pi

    2.

    Afi 4.1

    pi pi -

    : pi pi

    pi . , -

    , pi pi pi ,

    pi : CPU I/O

    . pi , pi-

    20 bytes pi pi-

    (fixedhead drum) (average latency)

    8ms (transfer rate) 250.000 bytes pi.

    , 20 bytes pi pi :

    8ms + (20K bytes / 250.000 bytes/sec) = 8ms + (2/25) sec

    = 8 ms + (2000/25)ms

    = 88ms

  • pi pipi , -

    176ms.

    Q32 pi pi 10ms

    363.000 bytes/sec, pi -

    130ms 20 bytes.

    pi CPU,

    . , pi.. round robin -

    ( 4.5) CPU (time

    quantum) pipi pi 0,176 pi. -

    (transfer time). pi

    . pi 32, pi pi-

    pi 12, 20. , pi pi

    4. 4 pi 24ms

    88ms pi 20. pi, -

    pi pi pi pi pi-

    pi. pi , pipi

    pipi pi pi . , -

    pi (dynamic memory requirements) pipi

    (pi.. request memory / release memory), pi-

    pipi .

    pi pi pi pi-

    pi . pi, Large Storage (LCS)

    IBM Extended Core Storage CDC. LCS pipi

    8ms 400.000 bytes/sec. 100ms

    20. To ECS pipi 3ms 10.000.000

    bytres/sec. , 20K 4ms.

    pi (pi.. mass core, mass semiconductor bubble ) pipi pi-

    pi pi pi . -

    27 pi pi .

    4.4.3 fi (Overlapped Swapping)

    pi pi pi

    pi pi . -

    4.9. pi -

    . , CPU pi (idle) -

    1 0 54 . 4 ( S WA P P I N G )

  • 1 0 6 K E A A I O 4 : pi pi pi ( M E M O R Y M A N A G E M E N T )

    . , pi

    pi pi 1 pi pi pi-

    pi 2.

    X Epipi

    K

    Epipi

    Api 1

    Api 2

    Xpi

    4.9

    pipi

    pi pi pi

    . pi pi pi; pi

    , -

    : pi (buffer).

    Afi 4.2

    pi , CPU, pipi

    pi pi pi 2 pi -

    . pi, pi -

    pi pipi pi

    pi . , pi -

    pi 2 , pi

    4.10. pi ( pi )

    pi pi pi 2. pi,

    pi pi (memorytomemory swap).

  • 1 0 74 . 4 ( S WA P P I N G )

    K

    Epipi

    Api 1

    Api 2

    X

    4.10

    pi -

    pi pi pi pi pi-

    ;

    pi:

    pi pi 1 () pi-

    2. 2 pi pi

    ( ) 1, pipi pi pi-

    pi CPU pi/pi

    /pi .

    Afi 4.3

    pi pi pi pipi . ECS, pi (memory cycles) -pi CPU. pi, CPU -pi ECS, pi CPU . pi, pi CPU -pi , pipi. pi pi CPU.

    pi pi pi . , pipi . - pi I/O pi. - pi pi I/O, pi pi . , , I/O,, pipi pi I/O, - pipi . pi I/O pi pi I/O pi. 1

  • 1 0 8 K E A A I O 4 : pi pi pi ( M E M O R Y M A N A G E M E N T )

    2, I/O pi pipi -pi pi . pi : () pi I/O(pending I/) () I/O pi- . - .

    4.5 (Multiple Partitions)

    pipi (configuration) pipi: - CPU pi pi . ; pi (regions) pi(partitions), pi pi pi . pi pi pi (pi..). pi pi , pi pi- pi, pi pi pipi . , pi - , pi , - pi . pi (pi) pi ( pi) ( pi , pi pi ). , , pi () - pipi .

    , pi - (scheduler) pi pi , . pi pi- pi pi pi pi pi pi . pi , pi II. , pi - .

    pi (ROUND ROBIN)

    O pipi pi pi-, pi pi -. , pi

  • (quantum), pi pipi . - , CPU pi- . pi pi , CPU pi .

    pi (FIRST COMEFIRST SERVE FCFS)

    / pi . , pi pi pi, -. pi -, pi pi pi, - pi CPU -pi /.

    4.5.1 fi

    : pi, pi pi pi pi- . pi pi pi ( pi 4.3.2). ( 4.10 4.11) - pi pipi pi pi . pi pi- .

    1 0 94 . 5 pi pi pi ( M U LT I P L E PA R T I T I O N S )

    Epipi

    0

    128 K

    1

    2

    3

    4

    K

    4.11

    (bound registers). (pi. = 174640). pipi -

    pi pi .

  • 1 1 0 K E A A I O 4 : pi pi pi ( M E M O R Y M A N A G E M E N T )

    (base and limit registers). - (range)

    (pi.. = 100040 = 74600). pipi

    , 0 pi pi-

    pi pi ( + ).

    pi 4.12,

    . pi pi

    (assembly time). pi -

    pi pipi . -

    pi pi

    pipi , pi ,

    . pi .

    pi CDC 6600 pi pi pi.

    > =NAINAI

    pi pipi

    OXI

    MNHMHKME

    K

    =

    d

    p d'

    4.33

    pipi GE 645(Multics)

  • 1 5 6 K E A A I O 4 : pi pi pi ( M E M O R Y M A N A G E M E N T )

    / pi pipi -

    pi pi pi pi pipi pi

    pi. pi pi pi pi pi

    pi

    pi . pi pi

    pi CPU, pipi,

    . pi pi pi pi .

    pi ( , pi pi-

    pi, pi, , pi,

    pi, ) pi . -

    pi pi pi -

    pi :

    pi . pi -

    pi pipi, pi-

    , pi -

    pi pi (mapping tables)

    .

    pi (Performance). pi pipi, pi

    .

    pi pi (;)

    pi . pi -

    pi pi pi pi -

    . , , pi , pipi

    pi pi pi. pi -

    pi pi pi pi-

    pipi.

    pi (Fragmentation). , pi-

    pi pipi pi pi pi-

    . pi pi pipi -

    pi pi .

    pi (allocation units), pi pi

    pi, pi pi pi. -

    pi, pi -

    pi, pi pi pi.

  • pi (Relocation). pi pi-

    pi. pi pi

    pi pipi .

    pi , pi

    pi . pi-

    , pi pi pi-

    .

    (Swapping). pi pi .

    , pi pi pi pi

    CPU, pi

    pi pi

    . pipi pi pi

    pi pi .

    (Sharing). pi pipi pipi-

    -

    . , , pi pi

    pi, pi pi pi ( -

    ) pi pi . pi pi pi-

    pi pi pi pi ,

    pipi pi.

    (Protection). pi pi pi, -

    pi ,

    , . pi pi-

    pi , -

    pipi pi pi ,