Systemy Operacyjne

Systemy Operacyjne

SystemSystem operacyjnyoperacyjny WindowsWindows XPXP • Perspektywa historyczna • Podstawy projektu • Elementy systemu Jądro Egzekutor • Podsystemy środowiskowe • System plików • Interfejs programowy Wiesław Płaczek Systemy Operacyjne: Wykład 13 1 PerspektywaPerspektywa historycznahistoryczna • Sierpień 1981: firma Microsoft wypuściła system operacyjny DOS 1.0 (4000 linii kodu asemblera, 8 KB pamięci) dla pierwszego komputera osobistego (PC) IBM, z mikroprocesorem Intel 8086. • Przez kolejne lata DOS, pomimo pojawiania się kolejnych, ulepszonych wersji, pozostawał w tyle za rozwojem technologicznym sprzętu; np. kolejne procesory Intela: 80286, 80386, 80486, pomimo wielu istotnych jakościowo zmian, były traktowane przez DOS jedynie jako „szybki 8086”. •We wczesnych latach 1980-tych Microsoft rozpoczął prace na graficznym interfejsem użytkownika (graphical user interface – GUI) dla systemu DOS, który mógłby rywalizować z systemem Macintosh – rezultatem tego był GUI o nazwie Windows 3.0 (przed 1990), dalsze wcielenia to Windows 95/98/Me. •W połowie lat 1980-tych Microsoft i IBM rozpoczęły pracę nad wielozadaniowym systemem nowej generacji, o nazwie OS/2, który mógłby w pełni wykorzystać możliwości oferowane przez procesor Intel 80286. • W roku 1988 Microsoft wycofał się z projektu OS/2 i rozpoczął pracę nad własnym systemem, wynajmując do tego Dave’a Cutlera, konstruktora systemu operacyjnego VMS dla komputerów VAX firmy DEC. • Pierwsza wersja nowego systemu o nazwie Windows NT („new technology”) z numerem 3.1 została wypuszczona w roku 1993 (używała GUI Windows 3.1). • Dalszym rozwinięciem systemu Windows NT był Windows 2000 (rok 2000). • Windows XP jest uaktualnieniem Windows 2000 oraz zastępuje Windows 95/98. Wiesław Płaczek Systemy Operacyjne: Wykład 13 2 PodstawyPodstawy projektuprojektu • Windows XP jest wielozadaniowym systemem operacyjnym z wywłaszczaniem, ma organizację 32- lub 64-bitową i jest przeznaczony dla procesorów Intel IA32/IA64, AMD K6/K7 i późniejszych. Stosuje model klient-serwer na podobieństwo systemu operacyjnego Mach. Jest systemem wielostanowiskowym (multiuser), realizującym jednoczesny dostęp za pośrednictwem usług rozproszonych lub wielu egzemplarzy GUI. Jest pierwszą wersją systemu Windows dostarczaną w postaci 64-bitowej. Istnieją dwie wersje biurkowe: Windows XP Professional oraz Windows XP Personal (Home Edition) – bez bardziej zaawansowanych cech. Od roku 2002 istnieją wersje serwerowe XP o nazwie Windows .Net Server –służą do obsługi farm serwerów WWW, serwerów druku i plików, klastrów systemów i wielkich maszyn w centrach danych (do 64 GB pamięci operacyjnej i do 32 procesorów IA32 lub do 128 GB i 64 procesorów IA64). •Główne cele projektowe systemu: bezpieczeństwo, niezawodność, zgodność z aplikacjami Windows i POSIX, duża wydajność, rozszerzalność, przenośność, dostosowanie do wymogów międzynarodowych. Wiesław Płaczek Systemy Operacyjne: Wykład 13 3 PodstawyPodstawy projektuprojektu –– c.d.c.d. • Bezpieczeństwo: Wymagania bezpieczeństwa przewyższyły standardy projektowe systemu Windows NT 4.0, który uzyskał poziom klasy bezpieczeństwa C2. Szeroko zakrojone przeglądanie i testowanie kodu połączono z użyciem automatycznych narzędzi analizy potencjalnie słabych punktów. • Niezawodność: Dokonano dogłębnego przeglądu kodu metodami ręcznymi i automatycznymi. Windows XP dokładniej weryfikuje moduły sterujące. Posiada lepsze możliwości wychwytywania błędów oprogramowania w kodzie poziomu użytkownika. Aplikacje, moduły sterujące i urządzenia pochodzące z obcych źródeł poddaje procesowi surowego atestowania. Sprowadza (przez Internet) środki zaradzania problemom. Lepsze rozwiązania w graficznym interfejsie użytkownika (GUI). • Zgodność z aplikacjami Windows i POSIX: Warstwa zgodności usytuowana między aplikacjami a API Win32 sprawia, że XP wygląda na w pełni zgodny z poprzednimi wersjami Windows. Dostępny jest podsystem POSIX o nazwie Interix –umożliwia kompilowanie i wykonywanie popularnego oprogramowania zgodnego z systemem UNIX. Wiesław Płaczek Systemy Operacyjne: Wykład 13 4 PodstawyPodstawy projektuprojektu –– c.d.c.d. • Duża wydajność: Podsystemy XP mogą wydajnie komunikować się między sobą za pomocą lokalnego wywołania procedury (LPC) umożliwiającego wysoko wydajne przekazywanie komunikatów. Możliwość wywłaszczania wątków w podsystemach XP przez wątki o wyższym priorytecie pozwala szybko reagować na zdarzenia zewnętrzne. Windows XP zaprojektowano do wieloprzetwarzania symetrycznego (SMP) – na komputerze wieloprocesorowym kilka wątków może działać równolegle. Windows XP stosuje różnorodne techniki zwiększania wydajności systemu: asynchroniczne wejście-wyjście, optymalizowane protokoły sieciowe, grafika oparte na kodzie jądra, wyrafinowane techniki przechowywania podręcznego danych systemu plików, lepsze algorytmy i procesorowe struktury danych itd. • Przenośność (portability) –możliwość przenoszenia z jednej architektury sprzętowej na inną ze stosunkowo niewielkimi zmianami. Większość systemu napisana w językach C i C++. Kod zależny od procesora jest wyizolowany w bibliotece dołączanej dynamicznie (DLL) zwanej warstwą abstrakcji sprzętu (hardware abstraction layer – HAL) – uniezależnienie reszty systemu od różnic sprzętowych (warstwa HAL działa bezpośrednio na sprzęcie; górne warstwy Windows XP zależą od warstwy HAL, a nie od znajdującego się pod nią sprzętu). Wiesław Płaczek Systemy Operacyjne: Wykład 13 5 PodstawyPodstawy projektuprojektu –– c.d.c.d. • Rozszerzalność (extensibility) – architektura warstwowa: Egzekutor (executive) Windows XP, działa w trybie jądra (chronionym) i dostarcza podstawowych usług systemowych. Powyżej egzekutora działa w trybie użytkownika kilka podsystemów usługowych, m.in. podsystemy środowiskowe emulujące różne systemy operacyjne (np. MS-DOS, MS-Windows, POSIX). Modularna struktura pozwala dodawać do systemu następne podsystemy środowiskowe bez naruszania egzekutora. Ładowalne moduły sterujące w systemie WE/WY umożliwiają dodawanie nowych systemów plików, nowych typów urządzeń WE/WY oraz nowych rodzajów sieci podczas działania systemu. • Zaplecze międzynarodowe: Uwzględnia różne cechy lokalne poprzez interfejs API zaplecza języków narodowych (national language support – NLS). Interfejs API NLS dostarcza specjalizowanych procedur formatowania daty, czasu, kwot pieniężnych itp. – odpowiednio do lokalnych zwyczajów. Oryginalnym kodem znaków w Windows XP jest UNICODE (16-bitowy). Napisy systemowe przechowywane są w plikach zasobów, które można zastąpić w celu dostosowania systemu do różnych języków. Możliwe jest współbieżne korzystanie z wielu ustawień lokalnych. Wiesław Płaczek Systemy Operacyjne: Wykład 13 6 ElementyElementy systemusystemu Proces Aplikacje Aplikacje Aplikacje Aplikacje Aplikacje rejestracyjny systemu OS/2 systemu Win16 systemu Win32 systemu DOS systemu POSIX Podsystem Podsystem Win16 bezpieczeństwa MS-DOS Podsystem OS/2 VDM VDM POSIX Pakiet uwierzytelniania Podsystem Baza danych zarządcy Win32 Tryb bezpieczeństwa kont użytkownika Egzekutor Zarządca WE/WY Monitor Zarządca Udogodnienie automa- Zarządca System plików Zarządca bezpie- Zarządca wywoływania tycznego pamięci czeństwa procesów procedur Zarządca obiektów instalo- pamięci odniesień wirtualnej lokalnych Zarządca wirtualnej wania okien Moduły obsługi urządzeń Jądro Moduły Moduły obsługi sterujące urządzeń sieci Tryb graficznych Warstwa abstrakcji sprzętu (HAL) jądra Sprzęt Wiesław Płaczek Systemy Operacyjne: Wykład 13 7 JJąądrodro • Jądro (kernel) Windows XP stanowi podstawę egzekutora i podsystemów. • Strony jądra nie są nigdy usuwane z pamięci, a jego działanie nie jest nigdy wywłaszczane. •Jądro ma cztery główne obowiązki: planowanie procesów; obsługa przerwań i sytuacji wyjątkowych; synchronizacja procesora; podejmowanie działań naprawczych po awarii zasilania. •Jądro jest obiektowe – wykonuje zadania posługując się obiektami jądrowymi. Typ obiektu – zdefiniowany w systemie typ danych mający zbiór atrybutów (wartości danych) i zbiór metod (np. funkcji lub operacji). Obiekt – konkret typu obiektowego. • Procesy i wątki: Proces dysponuje przestrzenią adresową i informacjami do inicjowania wątków, takimi jak podstawowy priorytet oraz przypisanie jednego lub większej liczby procesorów; każdy proces ma jeden lub więcej wątków. Wątek jest jednostką wykonywania zarządzaną przez jądro – ma własny stan planowania, w tym priorytet, przypisanie do procesora i informacje rozliczeniowe; może się znajdować w jednym z sześciu stanów: gotowości (ready) , pogotowia (standby) (bezpośrednio przed wykonaniem), aktywności (running) , oczekiwania, przejściowym (transition) (oczekiwanie na niezbędne zasoby) i zakończenia. Wiesław Płaczek Systemy Operacyjne: Wykład 13 8 JJąądrodro –– pplanowanielanowanie pprzrzyydziadziałłuu procesoraprocesora • Dyspozytor jądrowy (kernel dispatcher) korzysta z 32 priorytetów w celu ustalenia kolejności wątków – dwie klasy: Klasa zmienna –wątki o priorytetach 0–15; Klasa czasu rzeczywistego –wątki o priorytetach z przedziału 16–31. Z każdym priorytetem związana jest osobna kolejka. • Charakterystyka strategii planowania priorytetowego: Tworzenie dobrych czasów odpowiedzi w wątkach interakcyjnych (korzystających z okien) oraz utrzymywanie urządzeń WE/WY w ruchu – przez podwyższanie priorytetów procesów ograniczonych przez WE/WY. Umożliwienie wątkom ograniczonym przez procesor korzystanie z zaoszczędzonych cykli procesora w trybie drugoplanowym – przez obniżanie ich priorytetów przy przerwaniach czasomierza. • Planowanie przydziału

View Full Text

Details

  • File Type
    pdf
  • Upload Time
    -
  • Content Languages
    English
  • Upload User
    Anonymous/Not logged-in
  • File Pages
    34 Page
  • File Size
    -

Download

Channel Download Status
Express Download Enable

Copyright

We respect the copyrights and intellectual property rights of all users. All uploaded documents are either original works of the uploader or authorized works of the rightful owners.

  • Not to be reproduced or distributed without explicit permission.
  • Not used for commercial purposes outside of approved use cases.
  • Not used to infringe on the rights of the original creators.
  • If you believe any content infringes your copyright, please contact us immediately.

Support

For help with questions, suggestions, or problems, please contact us