|
Architektura systemu BeOS z punktu widzenia programisty :
Jedną z najbardziej charakterystycznych cech systemu BeOS jest nowoczesna architektura
stworzona specjalnie na potrzeby operacji multimedialnych.
Największe zalety tej architektury to :
- możliwość obsługi więcej niż jednego procesora
- doskonała wielowątkowość - system sam dzieli program na osobne wątki np.
każde okno programu to oddzielny wątek posiadający własną pętlę obsługi zdarzeń.
Rozwiązanie to nie tylko poprawia szybkość działania programów na systemach wieloprocesorowych,
ale także zapobiega blokowaniu wszystkich okien programu podczas wykonywania skomplikowanych obliczeń.
Ilość czasu procesora poświęcana danemu wątkowi, określana jest na podstawie jego priorytetu.
- możliwość przetwarzania fonii i wizji w czasie rzeczywistym
- bazodanowy system plików - umożliwia szybkie przeszukiwanie dysków i określanie specjalnych atrybutów dla plików.
- obsługa dynamicznie ładowanych sterowników
- obsługa bibliotek współdzielonych
- tryb chroniony
Budowa systemu BeOS :
System można podzielić na trzy podstawowe warstwy :

- mikrojądro, którego zadaniem jest pośredniczyć między sprzętem a warstwami wyższymi
- serwery, których zadaniem jest wykonywanie niskopoziomowych zadań (zwykle w innych systemach wykonywanych przez aplikację).
Serwery te nie służą użytkownikowi (jak np. serwer www), lecz służą aplikacjom (architektura klient - serwer, aplikacja jest klientem serwera app_server)
- biblioteki - biblioteki dostarczają funkcji za pomocą których możemy odwoływać się do serwerów i jądra. Funkcje te podzielone są na tzw. Software Kits, czyli partie odpowiedzialne za wykonywanie określonych operacji :
Software Kits : |
Application Kit | dostarcza interfejs potrzebny do ustanowienia połączenia między app_server (serwerem aplikacji) a tworzoną aplikacją |
Device Kit | dzieli się na dwie części, pierwsza służy do tworzenia sterowników urządzeń, druga dostarcza funkcje do obsługi urządzeń takich jak joystick, serial port |
Game Kit | zawiera funkcje ułatwiające tworzenie gier |
Interface Kit | dostarcza interfejs wykorzystywany do tworzenia graficznych interfejsów użytkownika |
Kernel Kit | zawiera funkcję do zarządzania wątkami, pamięcią itd. |
Media Kit | dostarcza interfejs wykorzystywany przy przetwarzaniu informacji w czasie rzeczywistym, ze szczególnym uwzględnieniem danych graficznych i dźwiękowych |
Midi Kit | dostarcza interfejs wykorzystywany przy przetwarzaniu danych MIDI |
Network Kit | zawiera funkcje pozwalające ustanawiać połączenia TCP i UDP. |
OpenGL Kit | dostarcza interfejs OpenGL wykorzystywany do tworzenia grafiki 3D |
Translation Kit | zawiera funkcje pozwalające napisać własny translator umożliwiający zmianę formatów plików |
Storage Kit | dostarcza interfejsu (funkcji) wykorzystywanych przy operacjach zapisu/odczytu/przeszukiwania danych zapisanych na dyskach |
Support Kit | zawiera funkcje i typy danych wykorzystywane w innych modułach (Kits) |
Ogromna większość interfejsu programistycznego BeOS-a została napisana w obiektowym C++ np. okno określone jest za pomocą klasy BWindow . Jedynie Kernel Kit nie dostarcza obiektowego interfejsu. BeOS słynie z przejrzystego i łatwego do zrozumienia API.
Powrót
|