A többszálas - life-prog

Mi multi-threading

Végrehajtása gépi utasítások
Ábra. 4.1. Folyamok és folyamatok [ANDE97]

Többszálas környezetben, a folyamat úgy definiáljuk, mint szerkezeti egység a forráselosztás, valamint a szerkezeti egység a védelmet. A folyamatok a következő elemek csatlakoztatva vannak.

Ennek része a folyamat lehet egy vagy több folyamot, amelyek mindegyike a következő jellemzőkkel rendelkezik.

  • Menet állam (futás, futtatható, stb.)
  • Az elmentett összefüggésben nem fut menet; Ennek egyik módja a ránézünk a flow - tekinthető önálló program counter, együttműködve a folyamatot.
  • végrehajtás verem.
  • Statikus memória mennyiségét a helyi flow változók.
  • Hozzáférés a memória és feldolgozza a forrásokat, amelyek ehhez patak; Ez a hozzáférés osztozik minden szálat a folyamatban.

Mi multi-threading

Ábra. 4.2. Egyszálú és többszálú folyamat modell

  1. Létrehozva egy új szálat a meglévő folyamat kevesebb időt vesz igénybe, mint ami egy teljesen új eljárás. Által végzett kutatás a Mach operációs rendszer a fejlesztők, azt mutatták, hogy az arány a folyamat létrehozása, mint az azonos sebességgel UNIX-kompatibilis alkalmazások, amelyek nem használnak patakok, növelve 10-szer [TEVA87].
  2. Az adatfolyam lehet fejezni sokkal gyorsabb, mint a folyamatot.
  3. Téma váltás sokkal gyorsabb keretében ugyanazt a folyamatot.
  4. Ha áramlás hatékonyságát növeli az információcsere a két végrehajtható programokat. A legtöbb közötti kommunikáció független folyamatok operációs rendszer jön a mag, akiknek az a feladata, hogy biztosítsa a védelmet és végrehajtási eljárásainak a csere. Mivel azonban az a tény, hogy a különböző szálak egy és ugyanazon folyamat ugyanazt a memória területet, és ugyanazokat a fájlokat, akkor információcserére mag nélkül.

Tehát, ha az alkalmazás vagy funkció végre kell hajtani, mint egy sor összekapcsolt modulok, sokkal hatékonyabb, hogy végre, mint egy sor folyik, mint egy sor külön folyamatok.

Egy példa egy olyan alkalmazás, sikeresen lehet alkalmazni az áramlás egy fájlszerver. Kézhezvételét követően minden új fájl kérés a fájlkezelő program létrehoz egy új téma. Tekintettel arra, hogy a szerver kezelni a nagyszámú kérelmek rövid időn belül kell létrehozni és törölni több folyam. Ha egy ilyen szerver program fut többprocesszoros gépen, a különböző processzorok több szálon futhat egyszerre egyetlen folyamatot. Ezen túlmenően, annak a ténynek köszönhető, hogy a fájl szerver folyamatok vagy szálak kell megosztania adat fájlokat, és ezért, hogy összehangolják tevékenységüket, jobb felhasználása a szálak és a megosztott memória területet, hanem folyamatok és üzenetküldés.

Streaming folyamat tervezése és hasznos egyprocesszoros gépeken. Segít szerkezetének egyszerűsítését program végre különböző feladatokat logikusan.

A [LETW88] rendelkezik négy példák használata a következő adatfolyamok egy egyfelhasználós többfeladatos rendszer.