6 szoftver architektúra
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ölcsönhatás a alrendszerek iarhitekturnye funkciót. Control szoftver architektúra.
6.1. A koncepció a szoftver architektúra.
Architecture PS - van szerkezete látható (vagy láthatónak kell lennie) azon kívül, azaz a 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:
· Izolálása és térképészeti szoftver alrendszerek, amelyek a külső függvény (amelyet a külső leírás) PS;
· Lehetőségeinek meghatározása 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.
6.2. A fő osztályok szoftverarchitektúrák.
Vannak az alábbi fő osztályokba szoftverarchitektúrák [6.1]
* 0 teljes programban
* 1 szett önállóan futtatható programok
* 2 rétegű szoftver rendszer;
* 3 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 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
· Ezt követően sor a program végrehajtásának engedélyezése más programokat 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 az ellenőrzési programok nem lépnek - 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étegeket. oly módon, hogy:
· Minden egyes réteg, nem ismerjük a tulajdonságait (és még a létezését a) a következő (magasabb) rétegek;
· 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;
· Minden rétegnek bizonyos erőforrásokat, amit akár elrejti a többi réteg, vagy közvetlenül biztosítja a további réteg (a megadott csatoló) azok egyes kivételi.
Í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 alkalmazta az építőiparban Dijkstra az operációs rendszer [6.2]. Ez az operációs rendszer áll négy rétegből (lásd. Ábra. 6.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 belépő és kilépő
adatok és végrehajtani az úgynevezett absztrakt csatornák bemeneti és kimeneti, hogy az alkalmazások nem tudják a műszaki jellemzőit a bemeneti és kimeneti eszközök.Ábra. 6.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. Lehetőségek a szervezet a szállítószalag például, egy UNIX operációs rendszer [6.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. 6.2). Szállító kezeli néhány üzenetet folyni. Minden üzenet, hogy patak táplálja bemenetére az első program, hogy a feldolgozott elküldi az üzenetet, hogy a következő program, és ő elkezdi feldolgozni a következő üzenet áramlását. Ugyanígy, minden program működik a csővezeték: veszünk egy üzenetet a program előző és a kezelést, akkor küld egy üzenetet, a következő felülvizsgált programot és továbblépünk, hogy feldolgozza a következő üzenetet. Az utolsó szállítószalag programot kiadja az eredményt 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. 6.2. A szállítószalag párhuzamos programok.
Általában 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ó. 6.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. 6.3. Egy példa a szoftver rendszer portok üzeneteket.
6.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 (ezen a területen) 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 végrehajtani, mint a külső PS funkciókat és a funkciókat eredő fejlődését az építészet, ez MS. Ezért ezek a funkciók fogják hívni építészet.
6.4. Control szoftver architektúra.
A szabályozás a architektúra az SS használt a szomszédos szabályozás és
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.
Gyakorlatok a 6. fejezet.
6.1. Mi az a szoftver architektúra?
6.2. Mi az építészeti szolgáltatás?
Irodalmi előadás 6.
6.2. E. W. Dijkstra. A szerkezet a THE-Multiprogramming // Communications of the ACM. - 1968, 11 (5). - Pp. 341-346.
6.3. M. Christian. Bevezetés a UNIX operációs rendszer. - M. Pénzügyi és Statisztika, 1985 - P. 46-49.