programmera.net -> architecture -> normal för utskrift | info@programmera.net |
Unix, ett exempel på komponentbaserad arkitektur
1. Small is beautiful 2. Unix och komponentbaserad arkitektur 3. Hur kopplas programmen samman? 4. Komponenter som är oberoende av programmeringsspråk 5. Operativsystem och skräddarsydda program |
1. Small is beautiful
I Unixvärlden används frasen "Small is Beautiful" frekvent. Med denna fras menas att ett litet program är bättre än ett stort. Frasen beskriver ganska bra den grundläggande strategin för de Unixliknande operativsystemen. Operativsystemen utnyttjar en uppsjö av små program (eller kommandon) som kombineras för att lösa större problem.
Ett program som löser för många uppgifter och därför inte längre är "small and beautiful" kallas för "bloated" (uppsvälld).
2. Unix och komponentbaserad arkitektur
Jag tycker att Unix har kommit långt i sin strävan att bygga en komponentbaserad arkitektur, om man ser operativsystemets små program som komponenter. Vi går tillbaka till definitionen från sidan
komponentbaserad arkitektur :
I och med den starka inkapslingen är det lätt att byta ut enskilda program om de skulle visa sig innehålla någon bugg.
3. Hur kopplas programmen samman?
Programmen kan kopplas samman för att lösa mer komplexa problem med hjälp av följande tekniker:
4. Komponenter som är oberoende av programmeringsspråk
Om du till exempel vill använda en generell komponent i ett programmeringsspråk, säg Java, är det mycket lättare att utnyttja denna komponent om komponenten själv är skriven i Java! Om du vill använda en komponent skriven i till exempel Perl inifrån Java måste du använda ett "native"-anrop. Det som gör Unix komponentbaserade arkitektur så värdefull är att det inte spelar någon roll vilket programmeringsspråk komponenten är skriven i, alla program kan samverka med varandra eftersom de endast kommunicerar med text.
5. Operativsystem och skräddarsydda program
När ett system konstrueras kan man blanda små program som följer med operativsystemet med program som är skräddarsydda för systemet.