szoftver
Szoftver architektúra
Az az elképzelés, az építészet és a célkitűzések a leírás. A fő osztályok szoftverarchitektúrák. A közötti kölcsönhatás az alrendszerek és az építészeti jellemzőit. Control szoftver architektúra.
4 .1. A koncepció a szoftver architektúra.
Építészet PS - ez a szerkezet is látható (vagy el kell látni) kívülről is, azaz, Bevezetés PS mint egy olyan rendszer, amely több kölcsönható alrendszerek. Mint ilyen alrendszerek működési jellemzői az egyes programok. Fejlesztés az architektúra az első lépés leküzdésében bonyolítja a SS, ami megvalósul elosztási elv viszonylag független elemek.
A fő cél a fejlesztés az építészet, az SS:
- kiválasztási és térképészeti szoftver alrendszerek, amelyek a külső függvény (amelyet a külső leírás) PS;
- meghatározása módszerek közötti kölcsönhatás a kiválasztott szoftver alrendszerek.
Tekintettel venni ebben a szakaszban, döntések további leírás és működési előírások.
4 .2. A fő osztályok szoftverarchitektúrák.
Vannak a következő fő osztályok szoftverarchitektúrák [4 .1]:
- teljes programban
- halmaza függetlenül futtatható programok;
- réteges szoftver rendszer;
- csapat párhuzamos programok.
Egész program egy degenerált PS esetében architektúra: a PS csak egyetlen programot. Egy ilyen szerkezet általában úgy van megválasztva abban az esetben, ha az MS el kell végeznie egy olyan hangsúlyos Extrák uw és annak végrehajtása nem túl nehéz. Természetesen ez az architektúra nem igényel leírást (kivéve rögzítéséről osztályú architektúra), valamint a térképészeti külső funkciók a program triviális, és meghatározza a kölcsönhatás módja van szükség (mivel hiányában a külső együttműködési programok, hanem kölcsönhatása felhasználó, és az utóbbit a dokumentációban leírt használatáért FP).
A komplexum önálló futtatható program egy sor olyan programokkal, mint:
- Ezen programok lehet aktiválni (részben) a felhasználó által
- aktiválódik, ha a másik program ezen programok halmaza nem lehet aktiválni, amíg az elvégzett szolgáltatás aktiválva van a programban;
- Minden program ezt meg fogja alkalmazni az azonos információs környezetben.
Így ez a sor a program menedzsment nem lép kölcsönhatásba - a kölcsönhatás közöttük csak a teljes információs környezetben.
A réteges szoftver rendszer egy rendezett halmaza szoftver alrendszerek nevezett rétegek, oly módon, hogy:
- minden réteg nem tud semmit a tulajdonságok (és még a létezését) a következő (magasabb) réteg;
- minden réteg kölcsönhatásba Management (lásd a komponensek) a közvetlenül megelőző (alsó) réteg segítségével egy előre meghatározott felületen, anélkül, hogy bármit a belső szerkezetét az összes előző réteg;
- Mindegyik réteg egy bizonyos erőforrás, amelyet vagy rejtve többi réteg, feltéve, közvetlenül vagy egy további réteg (révén az említett felület) néhány absztrakció.
Így, minden réteg a réteges szoftver rendszer
valósíthatja bizonyos adatok kinyerésére. Csatlakozások közötti rétegek korlátozott kezelési lehetőségek átviteli értékeket az egyes szomszédos réteg az alsó réteg és az eredmények elérése ez a kezelés az alsó réteg a felső. Soha ne használja a globális adatok több rétegben.
Példaként tekintsük a használata ezt az architektúrát építeni az operációs rendszer. Az ilyen architektúra alkalmazzák az építőiparban Dijkstra az operációs rendszer [4 .2]. Ez az operációs rendszer áll négy rétegből (lásd. Ábra. 4. .1). A földön réteg készül megszakítás feldolgozását és elválasztását CPU programok (folyamatok) kötegelt módban. Ha ez a szint tisztában van a multi-programot szempontból a rendszer. A talaj réteg hajtjuk lapozott memória menedzsment szervezet. Minden magasabb rétegek egy virtuális folyamatos (nem Paged) memóriát. A második réteg kommunikál a konzolt (kontroll) üzemben. Miután ez a réteg műszaki tulajdonságainak ismerete a konzol. A harmadik réteg hajtjuk pufferelés bemeneti és kimeneti adatfolyamok és végrehajtott úgynevezett absztrakt bemeneti és kimeneti csatornák úgy, hogy az alkalmazás nem tudja a specifikációk gondoskodjon PTS cc ode és kimenet.
Ábra. 4 .1. Építészet az operációs rendszert.
Csapat párhuzamos programok egy sor programot, amely kölcsönhatásba léphet egymással, míg ugyanabban az időben zajlik. Ez azt jelenti, hogy ezek a programok, először is, mivel a memóriában, aktiválódnak és alternatív módon osztja az idő egy vagy több központi processzort, és másrészt, hogy végezzen egymás között a dinamikus (futási) kölcsönhatások alapján azokat előállító szinkronizálás. Jellemzően a kölcsönhatás ezen folyamatok között végezzük halad egymással több üzenet.
A legegyszerűbb fajta ilyen építészet a szállítószalag. forrásokat a szervezet, amely egy UNIX operációs rendszer [4 0,3]. A szállítószalag egy sor programot, ahol a standard kimenete az egyes programok, kivéve az utolsó, csatlakozik a szabványos bemenetére a következő program a szekvencia (lásd. Ábra. 4 .2). Szállító kezeli néhány üzenetet folyni. Minden üzenet, hogy patak táplálja bemenetére az első program, amely a feldolgozott küld egy üzenetet, hogy a következő program felülvizsgált, és ő elkezdi feldolgozni a következő üzenet áramlását. Ugyanígy, minden szállítószalag programot jár: veszünk egy üzenetet az előző program és a folyamat, ez továbbítja a feldolgozott üzenet a következő programot, és az utolsó szállítószalag programot kiadja a művelet eredményét az egész szállítószalag (eredmény üzenet). Így egy csővezeték álló n programok egyidejűleg a feldolgozó legfeljebb n üzeneteket. Természetesen annak a ténynek köszönhető, hogy a különböző szállítóberendezés fordítható feldolgozása szokásos üzenetek változó hosszúságú ideig meg kell adni a módját, hogy szinkronizálja ezeket a folyamatokat (egyes folyamatok lehetnek készenléti szakaszban, vagy annak lehetőségét, hogy a feldolgozott üzenetet vagy lehetőséget kap egy újabb üzenetet).
Ábra. 4 .2. A szállítószalag párhuzamos programok.
Általánosabban, a csapat párhuzamos programok is szervezhetők a kikötőkben az üzeneteket.
Port Messaging szoftver alrendszer kiszolgáló néhány üzenetsort: el tudja fogadni a megőrzésre a program bármely üzenet, amivel a helyére, és kiadhatja egy másik üzenetet egy másik programra, annak kérésére. Az üzenet által továbbított program néhány kikötő már nem tartoznak a program (és a források), de ez nem tartozik, és semmilyen más programot, miközben a sorban nem kerülnek át az összes olyan programra kérésére. Így a program elküldi az üzenetet nem lesz a színpadon a várakozás, amíg a program megkapja az üzenetet, nem lenne kész kezelni azt (kivéve, ha a fogadó port lesz zsúfolt).
Egy példa a szoftver rendszer a kikötők üzenetek ábrán látható. 4 .3. U port lehet tekinteni, mint a port bemeneti üzenetek ezen az ábrán látható, a csapat párhuzamos programok és a kikötő W - mint kimeneti nyílás a csoport üzeneteit a programok.
Ábra. 4 .3. Egy példa a szoftver rendszer portok üzeneteket.
4 .3. Építészeti elemeket.
Annak biztosításához, hogy alrendszerek bizonyos esetekben nem kell létrehozni semmilyen további szoftver elemek (amellett, hogy a végrehajtás külső funkciók) - ez lehet elég előzetesen rögzített megállapodások és szabványos funkciók Alapszoftverből (operációs rendszer). Tehát egy összetett önállóan futtatható programok átjárhatósági elég leírást (jellemzést) teljes külső informatikai környezet és az operációs rendszer szolgáltatásait programok indítása. A réteges szoftver rendszer lehet allokálva elegendő leírás szoftver rétegek és a hagyományos készülékek kezelési eljárások. A szoftver csővezeték közötti programok is rendelkezhetnek az operációs rendszer (mint ahogy az a UNIX operációs rendszer).
Azonban bizonyos esetekben, a teremtés további szoftver komponensekre lehet szükség közötti átjárhatóság biztosítása érdekében szoftver alrendszerek. Tehát, hogy ellenőrizzék a működését a komplex önállóan futtatható programok gyakran hozzon létre egy speciális shell, kényelmesebb egy adott tárgykörben elkészítéséhez szükséges külső információs környezet, és indítsa el a kívánt programot, mint az alapvető shell az operációs rendszer. A réteges szoftver rendszerek különleges készüléket kezelő réteg az eljárásokat megállapítható (például, amely egy párhuzamos végrehajtás ezen eljárások). A csapat párhuzamos programok speciális szoftver alrendszer kezelő kommunikációs port. Ezek a szoftverek nincsenek külső funkciók nem végeznek - rájönnek funkciók eredő szoftverfejlesztés építészet. Ezért ezek a funkciók fogják hívni építészet.
4 .4. Control szoftver architektúra.
A szabályozás a architektúra az SS használt a szomszédos vezérlő iruchnaya utánzata.
Szomszédos vezérlő architektúra tetején a PS - az ellenőrzési fejlesztők Megjelenés: a tervezők és fejlesztők a minőségi előírások a funkcionális specifikáció. Szomszédos vezérlő architektúra PS alábbi - az ellenőrzési potenciális fejlesztők a szoftver alrendszerek, amelyek részét képezik az SS, összhangban a fejlett architektúra.
Hivatkozások az alany 4.
4 .2. E. W. Dijkstra. A szerkezet a THE-Multiprogramming // Communications of the ACM. - 1968, 11 (5). - Pp. 341-346.
4 .3. M. Christian. Bevezetés a UNIX operációs rendszer. - M. Phi Nansen és Statisztika 1985 - P. 46-49.