przeglad popularnych systemów operacyjnych
Post on 11-Jan-2017
228 Views
Preview:
TRANSCRIPT
Przegląd popularnych systemów operacyjnych
dr hab. inż. Krzysztof Patan, prof. PWSZ
Instytut PolitechnicznyPaństwowa Wyższa Szkoła Zawodowa w Głogowie
k.patan@issi.uz.zgora.pl
System Windows 2000
Struktura systemu
Ntdll.dll
Win32Lsass Services.exeWindows
Explorer
OS/2
Tryb u ytkownika¿
Interfejsy sprz towe, urz dzenia I/O, przerwania, kana y DMA, magistraleê ¹ ³
Tryb j dra¹
Mened er
sesji
¿ Spooler
Mened er
zada
¿
ñPOSIXWinlogon Svchost.exe
Centrum
wykonawcze
Win32 USER
GDISterowniki
urz dze¹ ñSterowniki
graficzne
Warstwa abstrakcji sprz tu HALê
J dro¹
Tryb jądra i tryb użytkownika
Tryb jądra – uprzywilejowany tryb wykonywania kodu, wktórym procesor zezwala na dostęp do całej pamięci systemuoraz do wszystkich instrukcji procesora
W trybie jądra działa kod systemu operacyjnego
Tryb użytkownika – nieuprzywilejowany tryb procesora, wktórym działają aplikacje użytkownika
W trybie użytkownika dostępna jest ograniczona liczbainterfejsów oraz ograniczony dostęp do zasobów systemowych
Dwa tryby pracy procesora wprowadzono w celu ochronykrytycznych dla systemu operacyjnego danych
Mechanizm uniemożliwiający błędnej aplikacji użytkownikanaruszenie stabilności całego systemu
Komponenty systemu Windows 2000
* Warstwa uniezależnienia od sprzętu
warstwa uniezależnienia od sprzętu HAL (ang. HardwareAbstraction Layer)
HAL odgrywa zasadniczą rolę w zapewnieniu przenaszalnościsystemu operacyjnego
jest zewnętrznym pracującym w trybie jądra modułem(hal.dll)
zapewnia niskopoziomowy interfejs do platformy sprzętowej
wewntęrzne komponenty systemu oraz sterowniki urządzeńchcąc dostać się do sprzętu wywołują procedury warstwy HAL
podczas instalacji systemu wybierana jest odpowiednia dladanej platformy sprzętowej wersja warstwy HAL
* Jądro
zawiera zestaw funkcji zapewniających podstawowemechanizmy (szeregowanie wątków, synchronizacja)wykorzystywane przez centrum wykonawcze orazniskopoziomowe funkcje zależne od platformy sprzętowej(obsługa przerwań i wyjątków)
kod jądra napisano w C/C++ z wstawkami asemblerowymi(specjalizowane instrukcje procesora oraz rejestrów)
dolna warstwa pliku ntoskrnl.exe lub ntkrnlpa.exe (dlaobsługi pamięci większej niż 4 GB) (folder System32)
Windows 2000 posiada jądro monolityczne – większość kodusystemu operacyjnego współdzieli tę samą, chronionąprzestrzeń adresową trybu jądra
istnieje możliwość zakłócenia integralności danych jednegokomponentu systemu przez inny
* Sterowniki urządzeń
są zewnętrznymi modułami jądra (pliki z rozszerzeniem .sys),które służą jako interfejs pomiędzy menedżerem I/O, aodpowiednimi urządzeniamidziałają w trybie jądra w jednym z trzech kontekstów:1 w kontekscie wątku użytkownika, który zainicjował funkcję I/O2 w kontekscie systemowego wątku trybu jądra3 jako rezultat przerwania
sterowniki nie wykonują operacji bezpośrednio na sprzęcie,lecz za pośrednictwem warstwy HAL
zainstalowanie sterownika jest jedynym sposobem dodania dosystemu (wykonywanego w trybie jądra) kodu stworzonegoprzez użytkownika – możliwość dostępu do wewnętrznychfunkcji lub struktur danych systemu operacyjnego
* Centrum wykonawcze
górna warstwa pliku ntoskrnl.exe (ntkrnlopa.exe)na centrum wykonawcze składają się:� Menedżer konfiguracji – implementacja i zarządzanie rejestremsystemowym� Menedżer procesów i wątków – funkcje systemowe do obsługiprocesów i wątków zaimplementowano w jądrze, natomiastcentrum nadaje im funkcjonalność� Monitor bezpieczeństwa odwołań – ochrona zasobów systemuoperacyjnego� Menedżer pamięci podręcznej – zwiększa wydajność plikowychoperacji I/O poprzez składowanie w pamięci danych dyskowychdo których dostęp odbywał się niedawno; opóźnianie operacjizapisu, poprzez składowanie uaktualnień w pamięci przedwysłaniem ich na dysk� Menedżer energii – koordynuje zdarzenia związane z poboremmocy przez system; generuje komunikaty dotyczącezarządzania energią; gdy system nie wykonuje obliczeń możeprzewidywać obniżenie poboru mocy poprzez uśpienieprocesora
� Menedżer PnP – określa i ładuje sterowniki potrzebne do obsługikonkretnych urządzeń; pobiera wymagania zasobów sprzętowychkażdego urządzenia; na podstawie wymagań sprzętowych urządzeńprzyznaje odpowiednie zasoby (porty I/O, przerwania IRQ, kanałyDMA, adresy pamięci); wysyła komunikaty w przypadku zmianystanu urządzeń
� Menedżer I/O – implementacja niezależnych od sprzętu operacji I/Oi przekierunkowanie żądań do odpowiednich sterowników urządzeń
� Menedżer pamięci wirtualnej – implementuje pamięć wirtualnązapewniającą każdemu procesowi dużą, prywatną przestrzeńadresową, która może przekraczać dostępną przestrzeń fizyczną
� Menedżer obiektów – tworzy, zarządza i usuwa obiekty Windows2000 oraz abstrakcyjne typy danych używane do reprezentacjizasobów systemu operacyjnego (procesy, wątki obiektysynchronizacyjne)
� Mechanizm LPC (ang. Local Procedure Call) – przekazujekomunikaty między procesem klienta, a procesem serwera na tymsamym komputerze; jest to wersja zdalnych wywołań procedur (ang.Remote Procedure Call – RPC)
* Ntdll.dll
specjalna biblioteka wspierająca system; wspomagakorzystanie z bibliotek podsystemowych� procedury przekazujące wywołania usług systemowych docentrum wykonawczegointerfejs do wewnętrznych usług Windows 2000 (ponad 200)� wewnętrzne funkcje pomocnicze, wykorzystywane przezpodsystemy, biblioteki podsystemów i inne komponenty
Procesy systemowe
Proces jałowy
proces nie wykonuje żadnego programu trybu użytkownika
zawiera po jednym wątku dla każdego procesora; wątek tenjest wykonywany w jałowym czasie procesora
proces posiada identyfikator 0
Proces systemowy
identyfikator procesu – zawsze 8
zawiera wątki specjalnego rodzaju wykonujące się jedynie wtrybie jądra
wątki systemowe są tworzone przez system oraz różnesterowniki urządzeń podczas inicjacji systemu
Menedżer sesji smss
lokalizacja: \winnt\system32\smss.exepierwszy proces trybu użytkownika w systemie
jest odpowiedzialny za czynności podczas uruchamianiasystemu (otwarcie plików stronicowania, operacje zmianynazwy i usunięcia plików, inicjacja systemowych zmiennychśrodowiskowych)
uruchamia procesy podsystemów (csrss.exe) oraz proceswinlogon, który tworzy pozostałe procesy w systemie
po inicjacji główny wątek w smss oczekuje na uchwytach doprocesów csrss i winlogon; jeśli którykolwiek z tychprocesów nieoczekiwanie zakończy się, smss powodujezałamanie systemu
oczekuje także na żądania załadowania podsystemów orazzdarzenia związane z wykrywaniem błędów
Proces logowania winlogon
lokalizacja \winnt\system32\winlogon.exeobsługuje logowanie i wylogowanie się użytkowników
proces dokonuje częściowej inicjacji środowiska użytkownika(ustanowienie liter napędów, polityka bezpieczeństwa)
tworzy proces, w którym uruchamiana jest powłoka systemuexplorer.exe
proces przechwytuje sekwencję SAS (ang. Secure AttentionSequence) z klawiatury (Ctrl+Alt+Delete); może w ten sposóburuchomić Menedżera zadań, zablokować komputer lub zamknąćsystem
Lokalny serwer bezpieczeństwa LSASS
lokalizacja: \winnt\system32\lsass.exeotrzymuje żądania uwierzytelniania od procesu winlogon i wywołujeodpowiedni pakiet uwierzytelniający celem dokonania weryfikacji
po uwierzytelnieniu, proces generuje tzw. znacznik dostępuzawierający profil bezpieczeństwa użytkownika
Menedżer kontroli usług SCM
lokalizacja: \winnt\system32\services.exespecjalny proces systemowy odpowiadający za uruchamianie,zatrzymywanie i interakcje z procesami usługowymi
usługi mogą odnosić się do procesów serwerowych lub dosterowników
usługi mogą być uruchamiane automatycznie lub ręcznie
zainstalowane usługi można wyświetlić za pomocą narzędziaUsługi znajdującego się w Narzędziachadministracyjnych
Rejestr systemowy
kluczowy komponent w konfiguracji i zarządzaniu systemem
rejestr jest bazą danych składającą się z kluczy oraz wartości
rejestr ma strukturę drzewa z sześcioma kluczami głównymi:
1 HKEY CURRENT USER – dane dotyczące aktualnie zalogowanegoużytkownika
2 HKEY USERS – przechowuje informacje o wszystkich kontachdostępnych na danym komputerze
3 HKEY CLASSES ROOT – dane o skojarzeniu plików z aplikacjami
4 HKEY LOCAL MACHINE – dane dotyczące systemu
5 HKEY PERFORMANCE DATA – dane dotyczące wydajności
6 HKEY CURRENT CONFIG – informacje o aktualnym profilusprzętowym
aplikacje do pracy z rejestrem regedit i regedt32
Pliki zawierające części rejestru
Ścieżka w rejestrze Ścieżka w systemie plików
HKEY LOCAL MACHINE\SYSTEM \winnt\system32\config\systemHKEY LOCAL MACHINE\SAM \winnt\system32\config\samHKEY LOCAL MACHINE\SECURITY \winnt\system32\config\securityHKEY LOCAL MACHINE\SOFTWARE \winnt\system32\config\softwareHKEY LOCAL MACHINE\HARDWARE ulotnyHKEY LOCAL MACHINE\SYSTEM\Clone ulotnyHKEY USERS\<security ID of username> \documents and settings\<username>\
ntuser.datHKEY USERS\<security ID of username> Classes \documents and settings\<username>\
\local settings\application data\microsoft\windows\usrclass.dat
HKEY USERS\.DEFAULT \winnt\system32\config\default
System UNIX
Struktura jądra
Sterowanie sprzêtem
Interfejs funkcji systemowych
Biblioteki
Sprzêt
Poziom u¿ytkownikaProgramy u¿ytkownika
Poziom j¹dra
Poziom j¹dra
Poziom sprzêtu
Podsystem plików
Podrêcznapamiêæ buforowa
Komunikacja miêdzyprocesowa
Zarz¹dzanie pamiêci¹
Przydzia³ CPU
Podsystem steruj¹cy procesamiProgramy obs³ugi urz¹dzeñ
Znakowe Blokowe
Plik i proces – podstawowe pojęcia w modelu systemu
Jądro (ang. kernel)
Program posiadający podczas działania systemu operacyjnegoszereg przywilejów dostępu do zasobów fizycznych komputera
Usługi jądra1 zarządzanie jednostkami pamięci2 określanie zawartości rejestrów procesora3 pozwala innym procesom, serwerom na kontakt z zasobamifizycznymi komputera
4 określa przestrzenie adresowe do wzajemnej ochrony procesówprzed sobą
5 nadzorowanie mechanizmem przywoływania zasobówzarządzanych przez jądro - pułapki systemowe (ang. systemcall trap)
Jądra monolityczne i mikrojądra
1 Jądro monolitycznejądro monolityczne wykonuje wszystkie podstawowe funkcjesystemu operacyjnegorozmiary jądra sięgają megabajta kodu i danychjądro umieszczone jest zazwyczaj w pliku /unix( /vmunix /vmlinuz /genunix )jądro jest nierozbieralne - budowa niemodularnajądro nie jest podatne na modyfikacjedostosowanie jakiegokolwiek elementu jego oprogramowania dozmieniających się wymagań jest trudne
jądro monolityczne może zawierać pewną liczbę procesówusługowych, które działają w jego ramach (serwery plików,procesy sieciowe)
wiele usług świadczonych przez jądro może być dostarczanychprzez usługi otwarte
...
...S1 S2 S3
S4
j dro monolityczne¹
program adowany dynamicznie³
kod i dane j dra¹
serwer, program us ugowy³
2 Mikrojądro (ang. microkernel)
mikrojądro to jądro realizujące najmniejszy z możliwychzbiorów usług i zasobówwszystkie inne usługi systemowe są dostarczane przez serweryumieszczane dynamicznie tylko w tym komputerach systemurozproszonego, które mają dostarczać danych usług
...S2 S3 S4
mikroj dro¹
S1
rozmiary mikrojądra wahają się od 10 KB do kilkuset KBmikrojądro jest tak zaprojektowane aby można je byłoprzenosić między różnymi architekturami komputerów
większa część kodu zaprojektowana jest w języku wysokiegopoziomu np. C lub C++
właściwości jądra ułożone są warstwowo, tak aby składnikizależne od maszyny redukowały się do minimalnej dolnejwarstwy
budowa typowego mikrojądra
Zarz dca procesów¹
Nadzorca
Zarz dca pami ci¹ êZarz dca w tków¹ ¹
Zarz dcakomunikacji
¹
Zarządca procesów – zajmuje się tworzeniem procesów iwykonywaniem na nich niskopoziomowych operacji
Zarządca wątków – odpowiada za tworzenie wątków, ichsynchronizację oraz planowanie. Wątki to działania skojarzonez procesem
Zarządca komunikacji – zapewnia łączność między wątkaminależącymi do różnych procesów lokalnych. Można tutajumieścić poziom komunikacji pomiędzy wątkami procesówzdalnych
Zarządca pamięci – administruje zasobami pamięci fizycznej,jednostką zarządzania pamięcią oraz sprzętowymi pamięciamipodręcznymi
Nadzorca – koordynuje obsługę przerwań, wywołań pułapeksystemowych i innych wyjątków
Porównanie
Mikrojądro
G otwartośćG małe rozmiaryG mniejsza podatność na błędy
Jądro monolityczne
G duże rozmiaryG trudne w pielęgnacjiG moduły jądra wykonywane są w tej samej przestrzeniadresowej
G istnieje możliwość naruszania ścisłych reguł modularnościG błąd w jednym module może źle wpływać na działanieinnego modułu
G ponowna implementacja modułu pociąga za sobąprzebudowę jądra
G dobra wydajność wywoływania operacji
1 Funkcje systemowe – zbiór funkcji systemowych podzielonona dwie grupy:funkcje systemowe do komunikacji procesów z podsystememplików: open , close , read , write , stat , chown , chmodfunkcje systemowe do sterowania procesami: fork , exec ,exit , wait , brk , signal
2 Podsystem plików – zarządza plikami, przydziela na niepamięć, administruje pamięcią wolną, steruje dostępem doplików, udostępnia użytkownikom dane
3 Podręczna pamięć buforowa – podsystem plików udostępniadane z plików za pomocą mechanizmu buforowania, regulacjaprzepływu danych między jądrem i urządzeniami pamięcipomocniczej
4 Programy obsługi urządzeń – są to moduły jądra sterującepracą urządzeń peryferyjnychblokowe – urządzenia o dostępie bezpośrednim lub urządzeniadla których ich podprogramy tworzą taką iluzjęznakowe (surowe) – reszta urządzeń, które nie są blokowe
6 Podsystem sterowania procesami – odpowiada zasynchronizację procesów, komunikację między nimi,współpracuje z podsystemem plików podczas ładowania plikudo pamięci w celu wykonania• zarządzanie pamięcią – steruje przydziałem pamięci(wymiana i stronicowanie na żądanie)• przydział CPU – przydzielanie czasu procesora procesomgotowym do wykonania, ustalanie kolejności wykonywaniaprocesów• komunikacja międzyprocesowa – realizowane są różnesposoby komunikacji międzyprocesowej, asynchronicznesygnalizowanie zdarzeń i synchroniczna transmisjakomunikatów między procesami
7 Sterowanie sprzętem – odpowiada za obsługę przerwań i zakomunikowanie się z komputerem. Dyski czy terminale mogąprzerywać pracę jednostki centralnej podczas wykonywaniaprocesu. Jądro może wznowić wykonywanie przerwanegoprocesu po zakończeniu obsługi przerwania
Podsumowanie
klasyczne jądro uniksowe było monolityczne i nie dawałosię łatwo rozszerzaćw miarę wzbogacania funkcjonalności systemu stawało sięcoraz większe i bardziej złożonejednym z rozwiązań była architektura mikrojądra, np.system Machwydajność mikrojądra okazała się nieporównywalna zwydajnością tradycyjnego jądrawięcej korzysci przyniosły próby modularyzacji i ładowaniadynamicznego
Budowa nowoczesnego jądra
Tablicarozdzielcza
Tablicarozdzielczaurz¹dzeñblokowych
Interfejsv-wêz³ów
NFS
FFS
coffa.out elf
RFS
Procesy zpodzia³em czasu
Podprogram obs³ugiurz¹dzeñ tty
Podprogramobs³ugi sieci
Podprogramobs³ugidysku
Odwzorowaniaanonimowe
Odwzorowaniaplików
Odwzorowaniaurz¹dzeñ
Podprogramobs³ugi taœmy
Procesy czasurzeczywistego
Procesysystemowe
Modu³szeregowa-
nia
Modu³pamiêci
wirtualnej
Strumienie
Wspólneudogodnie-
nia
System Linux
System Linux sprawia wrażenie systemu podobnego od innychsystemów uniksowych
Zaprojektowano go tak, aby był podobny do Uniksa i w pełnizgodny z Uniksem
Definicja systemu
Linux jest swobodnie dostępnym jądrem systemu operacyjnegoopartego na systemie UNIX
Spojrzenie całościowe
Linux jest swobodnie dostępnym jądrem systemu operacyjnegoopartego na Uniksie, który zawiera jądro, narzędzia systemowe,programy użytkowe i pełne środowisko do pisania i modyfikowaniaprogramów
Powstanie i rozwój systemu Linux
1991� Linus Torvalds, student Uniwersytetu w Helsinkach rozpoczynaprojekt dotyczący programowania niskopoziomowego procesoraIntel 80386� opiera się na systemie Minix (Andrew Tanenbaum)� powstaje jądro systemu Linux 0.01� autor początkowo obłożył system restrykcyjną licencją, alepóźniej zdecydował się na licencję GPL (ang. General PublicLicense)
Linux nie jest oprogramowaniem public domainLinux – oprogramowanie w wolnym obieguzakaz prywatyzacji pochodnych produktów Linuksaoprogramowania na zasadach licencji GPL nie wolno rozsyłaćw formie czysto binarnej
� jądro zostało udostępnione w sieci Internet – burzliwy rozwójsystemu
Projekt Linux
system operacyjny Linux składa się z jądra systemu i innychskładowych
jądro systemu jest zestawione w całości przez kod napisany odpoczątku specjalnie dla projektu Linux
znaczna część pomocniczego oprogramowania nie należy wyłączniedo systemu Linux, lecz jest wspólna dla wielu systemów uniksowych– wiele narzędzi systemu BSD z Berkeley, system X Window z MIT,oprogramowanie GNU
jako całość Linux jest utrzymywany przez luźną sieć twórcówwspółpracujących za pomocą Internetu
społeczność linuksowa utrzymuje dokument pt. Standard HierarchiiSystemu Plików w celu zachowania zgodności między różnymiskładowymi systemu
ważne cele projektowe – szybkość i wydajność
standaryzacja – Linux pozostaje w zgodzie z istotnymi opisamistandardu POSIX
Upowszechnianie systemu
system Linux może zainstalować każdy, sprowadzając najnowszewersje niezbędnych części systemu ze stanowisk ftp i kompilując je
z biegiem czasu osoby i grupy osób dołożyły starań, by instalacjabyła jak najmniej skomplikowana
dostarczano zawczasu skompilowane zbiory pakietów do łatwegoinstalowania nazywane dystrybycjami
pierwszą uznaną dystrybucją był zbiór pakietów nazwany SLS – braknarzędzi zarządzania pakietami
dystrybucja Slackware – istotne ulepszenie
popularna dystrybucja Ret Hat – upowszechniana komercyjnie
Debian – dystrybucja rozpowszechniana bezpłatnie przezspołeczność linuksową
inne znane dystrybucje – Caldera, CraftWorks, Mandrake
rozmaitość różnych dystrybucji nie przeszkadza w ich wzajemnejzgodności
Zasoby internetowe
o serwisy WWW na świecie
slashdog.org
linux.org
portalux.com
www.linuxdoc.org
linuxjurnal.com
linuxword.com
linuxgazette.com
linuxtoday.com
lwn.net
o polskie strony WWW
linux.org.pl
jzt.org.pl
ultra.wsp.krakow/linuxpl
linux.com.pl
www.pld.org.pl
o listy adresowe
o grupy dyskusyjne
Linux - pulpit
Mac OS X
Mac OS X
Złożony system operacyjny dla komputerów Macintosh opracowanyw roku 2000 w amerykańskiej firmie Apple Computer. X w nazwieoznacza 10 wersję systemu Mac OS, jednak Mac OS X jestsystemem o całkowicie odmiennej budowie niż poprzednie wersjeMac OS.
Mac OS X powstał w oparciu o mikrojądro Mach oraz usługi inarzędzia zaczerpnięte z projektów NetBSD oraz FreeBSDPodstawą systemu jest opracowany w Apple Computer systemoperacyjny DarwinGraficzny interfejs użytkownika nosi nazwę Aqua i jestwłasnym rozwiązaniem opracowanym przez Apple zwykorzystaniem doświadczeń i wzorów z poprzednichsystemów tej firmyApple udostępnia także własną wersję X Window System
Struktura systemu
Interfejs Aqua
Carbon Cocoa Java
Quartz OpenGL QuickTime
system operacyjny Darwin
Właściwościmożliwość uruchamiania programów napisanych dlawcześniejszych wersji systemu Mac OSłatwość adaptacji, kompilacji i wykorzystaniaoprogramowania stworzonego dla systemów uniksowych,zwłaszcza typu BSDQuartz Extreme, format PDF jako podstawa interfejsugraficznegoColorSync, przemysłowej jakości system zarządzaniakoloremwydajny silnik OpenGLma wbudowane zaawansowane narzędzia sieciowe
Na konferencji WWDC (WorldWide Developer Conference) 6czerwca 2005 prezes Apple, Steve Jobs oświadczył, że Mac OS Xbył tworzony z myślą o procesorach firmy Intel i kompatybilnych.Zapowiedział przejście w ciągu dwóch lat całej linii komputerówMacintosh (a co za tym idzie - systemu operacyjnego ioprogramowania) na procesory Intela. Ma w tym pomócinnowacyjne oprogramowanie umożliwiające uruchamianieoprogramowania przewidzianego na procesory PowerPC naprocesorach klasy x86. Jako przyczyny przejścia wymieniane byłyproblemy firmy IBM z wyprodukowaniem energooszczędnych,szybkich procesorów do komputerów przenośnych.
MacOS X – wersje
MacOS X 10.4 Tiger (2005r.)pierwsza wersja systemu na platformę PC
MACOS X 10.5 Leopard (koniec 2007r.)polepszono interfejsy użytkownika nie pogarszając tym samymznacząco wydajności systemuQuick Look – wyświetlanie, odtwarzanie i czytanie plików bezich otwieraniaTime Machine – narzędzie do tworzenia kopii zapasowychKontrola rodzicielska – zarządzanie, monitorowanie ikontrolowanie czasu, jaki dzieci spędzają przy komputerze,strony, które odwiedzają, a także osoby, z którymi prowadząrozmowySpaces – tworzenie własnych przestrzeni roboczych w celulepszej organizacji prqacyBoot Camp – uruchamianie systemu Windows XP/Vista nakomputerach Mac
MacOS X – wersje, c.d.
MACOS X 10.6 Snow Leopard (sierpień 2009)rezygnacja ze wsparcia procesorów PowerPCGrand Central Dispatch – technologia zwiększająca wsparciedla aplikacji 64 bitowych, łatwe wykorzystaniewielordzeniowych procesorów przez programistówOpenCL – Opoen Computing Language, wspoarcie dlaaplikacji wieloplatformowych składających się z różnegorodzaju jednostek obliczeniowych (CPU, GPU)pełne wsparcie Microsoft Exchange 2007
MAC OS X 10.7 Lion (lato 2011)sterowanie gestamipołączenie funkcjonalności MAC OS X z iPada
Mac OS – pulpit
Mac OS X Leopard – pulpit
Rynek systemów operacyjnych – 2002
źródło: Bristol University
Rynek systemów operacyjnych – 2004
źródło: Bristol University
Rynek systemów operacyjnych – 2007
źródło: Geminus SA, użytkownicy internetu
Symbian OS
Symbian jest złożonym systemem operacyjnym dedykowanym naplatformę telefonów komórkowych
Zbudowany jest z tzw. podsystemówpodsystem nie grupuje bibliotek czy plików źródłowychw ramach podsystemu można wyróżnić tzw, funkcjonalnościpowiązane ze sobą
Struktura systemu
Base – zawiera klasy do przechwytywania ciągów znaków,tablic, przechwytywania błędów i prostych typów danych.Zawiera także API dla zwykłych programistów, którzypotrzebują wykonywać operacje na wątkach, procesach ipamięci
Security – zawiera komponenty, które dostarczają algorytmówkryptograficznych, zarządzania certyfikatami oraz aplikacjiinstalacyjnych zawierających cechy bezpieczeństwa
Graphics – zawiera API do rysowania na szczególnych typachurządzeń takich jak ekrany i drukarki oraz przechwytywaniaczcionek i bitmap
Application framework – podsystem zawiera definicjedotyczące struktury aplikacji oraz ich prostego interfejsuużytkownika. Aplikacja ma tutaj inne znaczenie niż program.Aplikacja traktowana jest jako program łącznie z interfejsemużytkownika
Engines and utilities – zapewnia dostęp do danych aplikacji
Communications – podsystem zawiera API związane ztechnologiami komunikacyjnymipołączenia na podczerwień IrDa, Bluetooth, połączeniepoprzez port szeregowy
Telephony zapewnia dostęp do funkcjonalności telefonu iokreśla zasady pisania sterowników dla określonego sprzętu
Narrow bands Protocols – zapewnia przechwytywaniewiadomości SMS
Messaging – udostępnia zasady dla wielo-protokołowegoprzesyłania wiadomości
WAP Stack – umożliwia dostęp do stosu protokołu WAP
WAP Browser – zapewnia pomoc dla WAP Push
Właściwości systemu
Przenaszalność
Symbian jest systemem operacyjnym zbudowanym modularnie
Istnieje możliwość dodawania, usuwania oraz modyfiowaniakomponentów
Symbian zbudowany dla jednego typu telefonu może być, ale niemusi, kompatybilny z innym typem telefonu
Znaczna część komponentów jest wspólna dla wielu typówtelefonów komórkowych
Interfejs użytkownika
Telefony dedykowane dla różnych grup użytkowników wymagajązupełnie innych mechanizmów na wprowadzanie czy wyprowadzanieinformacji
Symbian zarządza wymaganiami użytkowników oddzielając warstwęinterfejsu użytkownika od systemu operacyjnego
System udostępnia szkielet struktury i usług, zaś producent telefonudostarcza prawidłowy interfejs użytkownika dla swojego telefonu
Wspomaganie standardów
Symbian implementuje szeroką gamę standardów, główniekomunikacyjnych
Bluetooth, CDMA, CompactFlash, Fax, GPRS, GSM, HSCSD,HTTP, IMAP4, IPv4, IPv6, IrDA, IrTranP, MIDP, MMS,MultiMediaCard, POP3, RS232, SMS, SMTP, SyncML, TCP/IP,Unicode, USB, WAP
Języki programowania
C++ – Symbian jest napisany w C++, czyli jest to naturalny językdo implementacji nowych programów
Java – głowny język programowania jako alternatywa do C++
Assembler – używany rzadko, w sytuacjach kiedy wydajność jestpriorytetowa
JavaScript – obsługa stron HTML po stronie klienta
WMLScript – język skryptowy do obsługi WAP
Rynek mobilnych systemów operacyjnych – 2008
źródło: Wikipedia
top related