150 likes | 409 Vues
Processer. Oversigt, principper og teknikker Kapitel 11. Resultat af Processer. Aktiviteter i Processer. Kriterier Komponenter Processer. Et fysisk modul med programkode. Udgør hovedparten af et typisk system. Kan udføres på en processor.
E N D
Processer Oversigt, principper og teknikker Kapitel 11
Aktiviteter i Processer • Kriterier • Komponenter • Processer
Et fysisk modul med programkode. Udgør hovedparten af et typisk system. Kan udføres på en processor. Passivt objekt, som bliver kaldt af et aktivt objekt eller en anden programkomponent. Indeholder under udførelsen en dynamisk samling af objekter. Programkomponent
Adskil aktive objekter og programkomponenter: Tag alle de (logiske) komponenter i komponentarkitekturen. Hvis en komponent indeholder objekter med aktive operationer deles den i: tilsvarende aktive objekter en programkomponent med resten Fordel aktive objekter og programkomponenter på processorer. Aktivt objekt: et objekt hvortil der er knyttet en proces. Fordel programkomponenter
Mønstre for distribuering • Hvis programkomponenter og aktive objekter i en klient-server arkitektur skal fordeles på flere processorer kan tre mønstre overvejes: • Det centraliserede mønster • Det distribuerede mønster • Det decentraliserede mønster
Det centraliserede mønster • Minimal distribuering – kun grænseflade på klienter • Fordele: • billige klienter • konsistente data (et sted) • enkel og forståelig struktur • moderat netværkstrafik • Ulemper: • lav robusthed (serveren skal være oppe) • høj access-tid • ingen gratis backup
Det distribuerede mønster • Maksimal distribuering – alt er på alle klienter • Fordele: • lav access-tid • høj robusthed • rigeligt med backup • Ulemper: • redundante og potentielt inkonsistente data • høj netværkstrafik • dyre klienter • Kompliceret at forstå strukturen
Det decentraliserede mønster • Klienter har deres egne lokalt relevante data. • Delte data er på serveren. • Fordele: • konsistente data • lav netværkstrafik • lav access-tid • Ulemper: • dyre klienter • ingen gratis backup • Kræver naturlig distribuering af data.
Find delte ressourcer • Ressourcer der kan deles: • Processor • Programkomponent • Ekstern enhed • Delingen kan give flaskehalse • Proces: afgrænset og sammenhængende sekvens af operationer (kald og udførelse)
Deling af programkomponent • Deling af programkomponent (ressource) kan opstå på to måder: • Sand samtidighed: To eller flere begivenheder i systemets omgivelser kan indtræffe samtidigt. • Designet (tilfældig) samtidighed: To eller flere operationer er designet således, at de skal udføres samtidigt. • Den sidste form kan vi design os ud af – men ikke den første. • Begge kan løses ved at lade et aktivt objekt koordinere udnyttelsen af ressourcen.
Eksempel: Fartpiloten • Fire logiske komponenter • Kernen deles – skal håndteres
Udforsk mønstre for koordinering • Koordinering af udnyttelsen af delte ressourcer • Indkapsling af koordineringsmekanismen • Mønstre: • Dedikeret monitor til sikring af udelelig adgang til fælles ressourcer • Centraliseret opgavefordeling til koordinering af alle samtidige processer • Abonnement på tilstandsskift til igangsætning af processer i gunstige situationer • Asynkron dataudveksling for at undgå unødig venten ved skrive- og læseoperationer
Oversigt • At fastlægge en fysisk strukturering af et system. • Procesarkitektur: En strukturering af et edb-systems udførelse i indbyrdes afhængige processer. • Processor: en enhed, der kan udføre et program. • Programkomponent: Et fysisk programmodul. • Aktivt objekt: Et objekt, hvortil der er knyttet en proces. • Tilstræb en arkitektur uden flaskehalse. • Fordel komponenter på processorer. • Koordiner ressourcedeling ved hjælp af aktive objekter. • Et fordelingsdiagram med processorer, tilknyttede programkomponenter og aktive objekter. Formål Begreber Principper Resultat
Formål At definere relevante processer. Arbejdsform Tag udgangspunkt i den valgte komponentarkitektur samt kravene til systemet. Fastlæg de tilgængelige processorer. Overvej relevansen af de generelle mønstre for distribuering. Vurder om der er ressourcer, som deles, og om det afføder problemer. Resultat Et fordelingsdiagram med procesarkitek-turen. Opgave 2: Processer