Know-how, előadás, szinkronizációs algoritmusok

Kivonat: A folyamatok helyes kölcsönhatása érdekében az operációs rendszer egy szervezeti erőfeszítése nem elegendő. Bizonyos belső változások szükségesek a folyamatok viselkedésében. Ez az előadás foglalkozik az ilyen változásokkal kapcsolatos kérdésekkel, programozási algoritmusokat biztosít az interakciós folyamatok helyes szervezéséhez.

Az előző előadásban az operációs rendszer részeként a folyamatok interakciójának szervezésével kapcsolatos külső problémákról beszéltünk. Tegyük fel, hogy megbízható folyamatkapcsolatot szervezünk, és képesek információt cserélni. További lépéseket kell tennünk annak érdekében, hogy a probléma helyes megoldását az egymással kölcsönhatásban lévő folyamatokkal szervezzük? Meg kell változtatnom a belső viselkedést? Ez az előadás a kérdések magyarázata.

Az interleaving, a versenykörülmények és a kölcsönös kizárás

Átmenetileg szünetet tartsunk az operációs rendszerekről, a folyamatokról és a végrehajtás meneteiről, és beszéljünk néhány "tevékenységről". A tevékenységek keretében meg fogjuk érteni a konkrét cél elérését célzó számos intézkedés következetes végrehajtását. A tevékenységek programokban és hardvereszközökben játszhatók le, az emberek és az állatok rendes tevékenysége során. A tevékenységet feloszthatjuk valamilyen oszthatatlanná vagy atomra. műveleteket. Például a "szendvics készítése" tevékenységét a következő atomi műveletekre lehet bontani:

  1. Vágjon egy szelet kenyeret.
  2. Vágjon egy szelet kolbászt.
  3. Kenje meg egy szelet kenyeret vajjal.
  4. Tegyen egy szelet kolbászt egy kész szelet kenyérre.

Az oszthatatlan műveletek belső láthatatlan cselekvésekkel rendelkezhetnek (vegyen egy kenyeret a bal kézben, vegyen késsel a jobb kezébe, vágja ki). Nevezzük oszthatatlannak, mert úgy gondoljuk, hogy egyszerre hajtjuk végre, anélkül, hogy megszakítanánk a tevékenységet.

Legyen két tevékenység

Kapcsolódó cikkek