Przeglad popularnych systemów operacyjnych

50
Przegląd popularnych systemów operacyjnych dr hab. inż. Krzysztof Patan, prof. PWSZ Instytut Politechniczny Państwowa Wyższa Szkola Zawodowa w Glogowie [email protected]

Transcript of Przeglad popularnych systemów operacyjnych

Page 1: Przeglad popularnych systemów operacyjnych

Przegląd popularnych systemów operacyjnych

dr hab. inż. Krzysztof Patan, prof. PWSZ

Instytut PolitechnicznyPaństwowa Wyższa Szkoła Zawodowa w Głogowie

[email protected]

Page 2: Przeglad popularnych systemów operacyjnych

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¹

Page 3: Przeglad popularnych systemów operacyjnych

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

Page 4: Przeglad popularnych systemów operacyjnych

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

Page 5: Przeglad popularnych systemów operacyjnych

* 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

Page 6: Przeglad popularnych systemów operacyjnych

* 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

Page 7: Przeglad popularnych systemów operacyjnych

* 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

Page 8: Przeglad popularnych systemów operacyjnych

� 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)

Page 9: Przeglad popularnych systemów operacyjnych

* 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

Page 10: Przeglad popularnych systemów operacyjnych

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

Page 11: Przeglad popularnych systemów operacyjnych

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

Page 12: Przeglad popularnych systemów operacyjnych

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

Page 13: Przeglad popularnych systemów operacyjnych

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

Page 14: Przeglad popularnych systemów operacyjnych

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

Page 15: Przeglad popularnych systemów operacyjnych

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

Page 16: Przeglad popularnych systemów operacyjnych

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

Page 17: Przeglad popularnych systemów operacyjnych

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)

Page 18: Przeglad popularnych systemów operacyjnych

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

Page 19: Przeglad popularnych systemów operacyjnych

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³

Page 20: Przeglad popularnych systemów operacyjnych

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

Page 21: Przeglad popularnych systemów operacyjnych

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

¹

Page 22: Przeglad popularnych systemów operacyjnych

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

Page 23: Przeglad popularnych systemów operacyjnych

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

Page 24: Przeglad popularnych systemów operacyjnych

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

Page 25: Przeglad popularnych systemów operacyjnych

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

Page 26: Przeglad popularnych systemów operacyjnych

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

Page 27: Przeglad popularnych systemów operacyjnych

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

Page 28: Przeglad popularnych systemów operacyjnych

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

Page 29: Przeglad popularnych systemów operacyjnych

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

Page 30: Przeglad popularnych systemów operacyjnych

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

Page 31: Przeglad popularnych systemów operacyjnych

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

Page 32: Przeglad popularnych systemów operacyjnych

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

Page 33: Przeglad popularnych systemów operacyjnych

Linux - pulpit

Page 34: Przeglad popularnych systemów operacyjnych

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

Page 35: Przeglad popularnych systemów operacyjnych

Struktura systemu

Interfejs Aqua

Carbon Cocoa Java

Quartz OpenGL QuickTime

system operacyjny Darwin

Page 36: Przeglad popularnych systemów operacyjnych

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

Page 37: Przeglad popularnych systemów operacyjnych

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.

Page 38: Przeglad popularnych systemów operacyjnych

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

Page 39: Przeglad popularnych systemów operacyjnych

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

Page 40: Przeglad popularnych systemów operacyjnych

Mac OS – pulpit

Page 41: Przeglad popularnych systemów operacyjnych

Mac OS X Leopard – pulpit

Page 42: Przeglad popularnych systemów operacyjnych

Rynek systemów operacyjnych – 2002

źródło: Bristol University

Page 43: Przeglad popularnych systemów operacyjnych

Rynek systemów operacyjnych – 2004

źródło: Bristol University

Page 44: Przeglad popularnych systemów operacyjnych

Rynek systemów operacyjnych – 2007

źródło: Geminus SA, użytkownicy internetu

Page 45: Przeglad popularnych systemów operacyjnych

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

Page 46: Przeglad popularnych systemów operacyjnych

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

Page 47: Przeglad popularnych systemów operacyjnych

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

Page 48: Przeglad popularnych systemów operacyjnych

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

Page 49: Przeglad popularnych systemów operacyjnych

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

Page 50: Przeglad popularnych systemów operacyjnych

Rynek mobilnych systemów operacyjnych – 2008

źródło: Wikipedia