Powrót na stronę główną www.And3mD.prv.pl

Menu:
Strona Początkowa
Co Nowego?
BeOS/OpenBeOS
Linux
Podstawy C/C++
C FAQ
Biblioteki stand. C (GNU libc)
Programowanie w Linuxie
Programowanie w BeOSie
GLib
GTK
OpenGL
SDL
Moje Programy
Download
Linki
Pozdrowienia
Autor




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 Kitdostarcza interfejs potrzebny do ustanowienia połączenia między app_server (serwerem aplikacji) a tworzoną aplikacją
    Device Kitdzieli 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 Kitzawiera funkcje ułatwiające tworzenie gier
    Interface Kitdostarcza interfejs wykorzystywany do tworzenia graficznych interfejsów użytkownika
    Kernel Kitzawiera funkcję do zarządzania wątkami, pamięcią itd.
    Media Kitdostarcza interfejs wykorzystywany przy przetwarzaniu informacji w czasie rzeczywistym, ze szczególnym uwzględnieniem danych graficznych i dźwiękowych
    Midi Kitdostarcza interfejs wykorzystywany przy przetwarzaniu danych MIDI
    Network Kitzawiera funkcje pozwalające ustanawiać połączenia TCP i UDP.
    OpenGL Kitdostarcza interfejs OpenGL wykorzystywany do tworzenia grafiki 3D
    Translation Kitzawiera funkcje pozwalające napisać własny translator umożliwiający zmianę formatów plików
    Storage Kitdostarcza interfejsu (funkcji) wykorzystywanych przy operacjach zapisu/odczytu/przeszukiwania danych zapisanych na dyskach
    Support Kitzawiera 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


And3mD online - www.and3md.prv.pl
Kontakt: And3mD@interia.pl