építészeti megoldások

A fő osztályok szoftverarchitektúrák

Vannak az alábbi fő osztályokba szoftverarchitektúrák [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 markáns jellemzője, é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 külső együttműködési programok, kölcsönhatások azt 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 egy réteges szoftver rendszer, egyes rétegek végre valami 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. Ez az architektúra már alkalmazzák az építőiparban Dijkstra az operációs rendszer. [2] Ez az operációs rendszer négy rétegből áll (lásd. Ábra. 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 műszaki jellemzőit input-output eszközök.

Ábra. 1. Architecture az operációs rendszer.

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 változata ez az architektúra egy szállítópálya a szervezet az, amelyek rendelkezésre állnak a UNIX operációs rendszer [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. 2). Szállító kezeli néhány üzenetet folyni. Minden üzenet, hogy patak táplálja bemenetére az első program, amely a feldolgozás után 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).

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ásait), de ez nem tartozik, és semmilyen más programot, miközben a sorban nem kerülnek át az összes olyan programra annak 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ó. 3. Port U 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.

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.

Kapcsolódó cikkek