Mi multi-threading 1
A többszálas - platform tulajdonság (pl operációs rendszer, virtuális gép, stb ...), vagy egy alkalmazást, amely az a tény, hogy a folyamat során az operációs rendszer állhat több patak ami „párhuzamosan”, azaz anélkül, hogy az előírt sorrendben időben. Néhány feladat, mint szétválasztás elérése hatékonyabb felhasználását számítógép erőforrásait.
Az ilyen áramok is nevezik szálak végrehajtási (az angol végrehajtási szál.); nevezik „menet” (szó szerinti fordítása az angol. menet) vagy informálisan „tömeg szálak.”
A többszálas nem tévesztendő össze a multitasking vagy többprocesszoros, annak ellenére, hogy az operációs rendszer megfelel multitasking hajlamosak végrehajtása és többszálú.
Az előnyök a többszálas közé tartoznak a következők:
Kisebb a folyamatot elkészítéséhez szükséges idő áramlását.
Növeli a termelékenységet a folyamat, a párhuzamosítás számítások és feldolgozása input / output műveleteket.
A többszálas (többszálas) nevezzük az operációs rendszer képes-e fenntartani ugyanazt a folyamatot végrehajtása több szálat.
Ábra. 4.1. Patakok és folyamatok
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.
Biztonságos hozzáférés a feldolgozók, más folyamatok (az információcsere közöttük), és a fájl input-output erőforrások (eszközök és csatornák).
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 keretében végrehajtó szál;
Runtime verem (Stack - ez egy olyan adatstruktúrát memóriában ideiglenes tárolására használt).
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.
Felsoroljuk a fő előnye az szálak a teljesítmény:
Létrehozva egy új szálat a meglévő folyamat kevesebb időt vesz igénybe, mint ami egy teljesen új eljárás. Végzett vizsgálatok szerint a fejlesztők a Mach operációs rendszer, azt mutatta, hogy az arány a folyamat létrehozása, mint az azonos sebességgel UNIX-kompatibilis alkalmazások, amelyek nem használják áramlások nőtt 10-szer.
Az adatfolyam lehet fejezni sokkal gyorsabb, mint a folyamatot.
Téma váltás sokkal gyorsabb keretében ugyanazt a folyamatot.
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.
Ha egy 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 folyamatok vagy fájlszerver patakok kell osztani az adatokat a fájlból, és ezért, hogy összehangolják tevékenységüket, jobb felhasználása fonalak és osztott memória régió helyett 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.
Ellentétben folyamatok patakok: folyamatokban - a konténer forrásáramlást - objektumok, viszont fut a CPU-t. Minden szál saját program számláló, regiszterek, stack.
A többszálas - OS képes fenntartani ugyanazt a folyamatot végrehajtása több szálat.