Ugrás a tartalomhoz

Operációs rendszerek

Dr. Fazekas Gábor (2011)

Kempelen Farkas Hallgatói Információs Központ

Kölcsönös kizárás: megvalósítás és hardver támogatás

Kölcsönös kizárás: megvalósítás és hardver támogatás

Kölcsönös kizárás megvalósítása:

  • Dekker algoritmusa: kölcsönös kizárás megvalósítása két processzusra

    • – aktív várakozás (busy waiting) problémájának megoldása:

      • a processzus folyamatosan ellenőrzi, hogy beléphet-e a kritikus szekciójába (aktív)

      • ugyanakkor ezen kívül semmi produktívat nem csinál (várakozás)

Kölcsönös kizárás megvalósítása A Dekker-algoritmus

Kölcsönös kizárás hardver támogatásssal

  • Megszakítás kikapcsolása

    • – a processzus addig fut, míg egy operációs rendszer szolgáltatást meghív, vagy megszakítása történik

    • – a megszakítás kikapcsolásával szavatolni lehet a kölcsönös kizárást

    • – több processzor esetében (multiprocesszing)

      • a megszakítás kikapcsolása nem garantálja a kölcsönös kizárást!

  • Speciális gépi utasítások (szinkronizációs hardver)

    • – a test-and-set (TS) gépi utasítás (bizonyos) architektúrákban egy atomi műveletként képes egy memória szó tartalmát lekérdezni és a szóba egy új értéket beírni (a kettő között megszakítás nem lehetséges)

    • – felhasználása: a közös adat elérésének ténye más processzusok számára érzékelhetővé tehető!

Kölcsönös kizárás: gépi utasítások

  • Előnyök

    • – akármennyi processzusra alkalmazható, egy processzoros és több processzoros esetre is

    • – egyszerű, ezért könnyű az ellenőrzés

    • – több kritikus szakasz használatát is támogatja

  • Hátrányok

    • – az „aktív várakozás” jelentősen fogyasztja a processzoridőt

    • – éhezés (starvation) lehetséges, mikor egy processzus elhagyja a kritikus szakaszt és több, mint egy processzus várakozik

    • – holtpont (deadlock)

      • ha egy kis prioritású processzus a kritikus szakaszban van és egy nagyobb prioritású processzus szeretne belépni a kritikus szakaszba, a nagyobb prioritású processzus megkapja a processzort a kritikus szakaszra való várakozáshoz