Przedmiot: Technologia informacyjna Temat: Systemy operacyjne (zawiera materiały wykraczające poza podstawowy zakres nauczania przedmiotu) 1. Sprzęt komputerowy (sprzęt komputerowy trzeba oprogramować) 2. Oprogramowanie Program = algorytm + struktury danych Programy komputerowe: system operacyjne, języki programowania, programy narzędziowe, programy użytkowe. System operacyjny tworzy środowisko (platformę systemową), które jest niezbędne do działania programów pracujących pod jego kontrolą. Do najważniejszych zadań realizowanych przez system operacyjny należą: zarządzanie pamięcią operacyjną komputera, nadzorowanie pracy wszystkich uruchomionych pod jego kontrolą programów, tworzenie ujednoliconej struktury dysków, tzw. folderów (katalogów) i plików dla programów, nadzorowanie współpracy wszystkich dostępnych w systemie komputerowym urządzeń, zapewnienie komunikacji użytkownika z komputerem, sygnalizowanie błędów. Najważniejszym elementem systemu operacyjnego jest jego jądro - czyli element zajmujący się obsługą sprzętu i realizacją najbardziej niskopoziomowych zadań (takich, jak np. obsługa liczników, czy też szeregowanie zadań). Jednak użytkownikowi komputera samo jądro nie wystarczy. Potrzebujemy programu, który będzie pośredniczył między jądrem a użytkownikiem. Ten program nazywa się powłoką (ang. shell). Ma on różne postacie - może być zwykłą konsolą tekstową (np. w systemie UNIX), jak i złożonym środowiskiem graficznym (np. KDE). Każdy system operacyjny oferuje biblioteki, które umożliwiają komunikację między samym jądrem a programami w przestrzeni użytkownika. Zwykle podstawową biblioteką systemu jest biblioteka dla języka w którym został ów system napisany system operacyjny składa się z następujących elementów: * jądra * bibliotek systemowych * powłoki Jądro i biblioteki decydują o tym, jakie dany system będzie mógł uruchomić programy, natomiast powłoka służy wydawaniu poleceń komputerowi. W skład systemu operacyjnego wchodzą także narzędzia, które służą do administracji komputerem i zmianą ustawień sprzętu. Budowa jądra Jądro monolityczne Jądro tego typu jest dużym obrazem pamięci, który wczytywany jest zaraz po uruchomieniu systemu i działa aż do momentu wyłączenia komputera. Jest to stosunkowo proste i wygodne dla programisty rozwiązanie, jednak niesie ze sobą pewne wady, takie jak np: * zawieszenie któregoś z elementów jądra powoduje zawieszenie całego systemu * wymiana jakiegokolwiek elementu jądra wymaga ponownej rekompilacji całego jądra * błędy, takie jak np. wskazanie na adres 0 powodują duże problemy * duża ilość kodu wykonywana jest w przestrzeni jądra Natomiast z zalet wymienić należy przede wszystkim: * prostotę budowy * dużą szybkość działania Jądra monolityczne są używane w większości systemów z rodziny UNIX (np. Linux, *BSD). Mikrojądro Mikrojądro zawiera tylko najbardziej niezbędne elementy, takie jak funkcje zarządzania wątkami, komunikacja międzyprocesowa oraz obsługa przerwań i wyjątków. Zalety: * mniej podatny na zawieszenie niż jądro monolityczne Wady: * trudniejsza budowa jądra Przykładem systemu z mikrojądrem jest ReactOS, MINIX, Hurd, L4 oraz systemy Windows z linii NT.
3. Uruchamianie systemu operacyjnego Procedury POST W woluminach NTFS pola danych występujące po bloku BPB tworzą rozszerzony BPB. Dane te pozwalają programowi Ntldr odnaleźć główną tabelę plików (MFT) podczas uruchamiania. W przeciwieństwie do FAT16 i FAT32, w woluminach NTFS tabela MFT nie zawsze jest usytuowana w określonym miejscu. Oznacza to, że tabelę MFT można przenieść do innego miejsca w przypadku, gdy jej sektor został uszkodzony. Natomiast jeśli dane są uszkodzone, to odnalezienie MFT jest niemożliwe i system Windows 2000 przyjmie, że wolumin nie został sformatowany. Informacje ogólne dotyczące uruchamiania się systemu operacyjnego. Po zakończeniu testu POST system BIOS próbuje uruchomić system operacyjny. Proces ten zależy od konfiguracji BIOS. Na przykład, jeśli kolejność poszukiwania ustawiona jest na "A, C", to BIOS spróbuje odnaleźć dyskietkę startową w napędzie A i załadować jej pierwszy sektor (sektor startowy partycji - Boot Sector) do pamięci. Jeśli dyskietka nie jest dyskietką startową, to pojawi się komunikat o błędzie. Jeśli BIOS nie znajdzie dyskietki w napędzie A, to poszuka aktywnej partycji dysku twardego. Po odnalezieniu aktywnej partycji dysku twardego BIOS przeczyta główny zapis startowy MBR (eng. Master Boot Record) i załaduje go do pamięci. Następnie MBR odczyta informacje o partycji systemowej z tabeli partycji, załaduje do pamięci sektor 0 partycji systemowej i uruchomi ten sektor. Sektor 0 partycji systemowej może zawierać narzędzie, program diagnostyczny lub kod uruchamiający system operacyjny. Partycja systemowa musi znajdować się na pierwszym fizycznym dysku i musi zawierać m.in. następujące pliki: Ntldr, Boot.ini, Bootsect.dos, Ntdetect.com, Ntbootdd.sys, Klucz systemowy, Sterowniki urządzeń. Partycja startowa może znajdować się w tej samej partycji co partycja systemowa, w innej partycji lub na innym dysku twardym. Najważniejszymi sektorami dla uruchomienia komputera są: MBR (master boot record) zawsze umieszczony w sektorze 1, na cylindrze 0, pod głowicą 0 (czyli w pierwszym sektorze dysku twardego) oraz sektor startowy, który znajduje się w sektorze 1 każdego woluminu. Obydwa sektory zawierają kod wykonywalny oraz dane potrzebne do wykonania kodu. MBR działa prawie niezależnie od systemu operacyjnego. Na przykład MBR może uruchomić systemy Windows NT, Windows 95, Windows 98, MS-DOS, Microsoft Windows 3.x i Windows 2000 Professional. Jednak po załadowaniu do pamięci sektora startowego 0, sektor startowy partycji jest zależny od systemu operacyjnego oraz od systemu plików. Proces uruchamiania Windows 2000 Professional obejmuje następujące etapy: * POST (test wewnętrzny po włączeniu) * Wyjściowy proces uruchamiania * Proces początkowego ładowania * Wybór systemu operacyjnego (w przypadku konfiguracji wielosystemowej) * Wykrywanie sprzętu * Wybór konfiguracji sprzętu (w przypadku stosowania więcej niż jednego profilu) * Ładowanie jądra * Logowanie w systemie operacyjnym
Uruchamianie systemu Windows 9x. Windows 9x jest rozwinięciem i połączeniem dwóch produktów - systemu operacyjnego MS-DOS i graficznego środowiska użytkownika Windows 3.11. Z jednej strony zgodność z istniejącym oprogramowaniem, z drugiej - ograniczenia natury technicznej, powodują że Windows 9x nie wszystkie dane przechowuje w Rejestrze. Wykorzystywanych jest kilka plików tekstowych: * MSDOS.SYS -- nie występujący ani w DOS-ie, ani w Windows 3.x, przechowujący tak podstawowe informacje, jak położenie folderu systemu operacyjnego (C:\WINDOWS). * CONFIG.SYS -- znany z DOS-u, służący głównie do ładowania programów obsługi urządzeń. Jego główna rola w Windows 9x to ładowanie tych programów obsługi, gdy brak specjalnych dla Windows 9x. * AUTOEXEC.BAT -- jest to plik wsadowy, co oznacza, że zawiera polecenia DOS-u i polecenia uruchamiające programy. Również znany z DOS-u. W Windows 9x wykorzystywany głównie dla utworzenia środowiska pracy dla aplikacji DOS-u i ładowania programów pozostających w pamięci (rezydentnych), takich jak np. sterownik myszy. * SYSTEM.INI i WIN.INI -- znane z Windows 3.x i pełniące w tym środowisku rolę podobną jak Rejestr w Windows 9x. W nowym systemie ich znaczenie jest mniejsze, ale w dalszym ciągu przechowują pewne informacje istotne dla środowiska graficznego. * IOS.INI -- baza danych o sterownikach trybu rzeczywistego, czyli ładowanych poprzez pliki CONFIG.SYS i AUTOEXEC.BAT. Na podstawie zawartych w niej informacji Windows 9x określa jak traktować programy obsługi urządzeń, dla których posiada 32- bitowe, zaprojektowane dla Windows 9x odpowiedniki. Pierwsze trzy pliki znajdziemy w folderze głównym dysku systemowego, pozostałe w folderze Windows. Wszystkie są prostymi plikami ASCII, które można przeglądać i zmieniać w Notatniku (w innych edytorach również, ale pod warunkiem zachowywania ich w formacie "Plik tekstowy"). Dostęp do CONFIG.SYS, AUTOEXEC.BAT, SYSTEM.INI i WIN.INI zapewnia również Edytor konfiguracji systemu. Nie ma do niego skrótu, ale możemy go łatwo wywołać poleceniem sysedit. Sektor startowy partycji Windows 2000 wykonuje następujące zadania: * Odczytanie systemu plików w celu odnalezienia programu początkowego ładowania. * Załadowanie tego programu do pamięci. * Uruchomienie programu początkowego ładowania. Proces początkowego ładowania. Ntldr ładuje pliki systemu operacyjnego z partycji startowej. W przypadku konfiguracji z kilkoma systemami użytkownik proszony jest o wybór systemu operacyjnego. Ntldr kieruje procesem wyboru systemu operacyjnego i wykrywania sprzętu, zanim przekaże kontrolę jądru Windows 2000. Ntldr musi znajdować się w folderze głównym dysku uruchamiającego. Ntldr wykonuje następujące zadania: * Uruchomienie systemu plików NTFS, FAT16 lub FAT 32. * Odczytanie pliku Boot.ini, który wyświetla wybrane opcje na ekranie programu początkowego ładowania. Jeśli wybrano system operacyjny inny niż Windows 2000 Professional, to Ntldr załaduje plik Bootsect.dos i przekaże mu kontrolę w celu uruchomienia wybranego systemu. Jeśli wybrano Windows 2000 Professional, to Ntldr uruchomi plik Ntdetect.com w celu zebrania informacji dotyczących sprzętu. * Poproszenie użytkownika o wybór profilu sprzętu (o ile komputer posiada więcej niż jeden profil). * Załadowanie pliku Ntoskrnl.exe i przekazanie mu informacji zebranych przez Ntdetect.com, po czym pojawia się ekran uruchamiania. Ewentualny wybór systemu operacyjnego Boot.ini zawiera listę dostępnych systemów operacyjnych. Każda pozycja zawiera ścieżkę do partycji startowej systemu operacyjnego, łańcuch do wyświetlenia na ekranie programu początkowego ładowania oraz parametry opcjonalne. Boot.ini wspiera uruchamianie różnych wersji Windows 2000 oraz innych systemów operacyjnych, takich jak Windows 95, Windows 98, Windows NT 4.0, MS-DOS i OS/2. Informacje wyświetlane na ekranie programu początkowego ładowania oparte są na zawartości Boot.ini. Wykrywanie sprzętu. Po wyborze systemu operacyjnego plik Ntdetect.com wykrywa sprzęt i przekazuje listę zainstalowanych komponentów sprzętowych plikowi Ntldr. Ntdetect.com wykrywa następujące komponenty: * Identyfikator komputera * Typ szyny/adaptera * Adapter wideo * Klawiatura * Porty komunikacji * Dyskietki * Mysz lub inne urządzenia wskazujące * Porty równoległe
Wybór konfiguracji sprzętu. Na etapie Ntdetect, jeśli komputer posiada kilka konfiguracji sprzętu, to pojawią się informacje dotyczące wyboru profilu sprzętowego. Jeśli profilu nie wybrano, system Windows 2000 Professional będzie stosować ustawienia domyślne. W tym przypadku program ładowania wykorzysta informacje rejestrowe zapisane przez Windows 2000 Professional przy ostatnim zamknięciu systemu. Po wyborze profilu Ntdetect.com przekazuje kontrolę z powrotem plikowi Ntldr. Ładowanie i inicjowanie jądra. W kolejnym etapie Ntldr ładuje do pamięci jądro systemu. Ntldr tworzy zestaw kontroli służący do inicjacji komputera. Stosowany jest domyślny zestaw kontroli, chyba że na ekranie Profile sprzętu wybrano opcję Ostatnia znana dobra konfiguracja. Jądro inicjuje ekran systemu Windows 2000 Professional i wyświetla pasek postępu Uruchamiania. Po zakończeniu tego procesu Ntoskrnl przygotowuje informacje o sieci. Na podstawie informacji przekazanych przez program ładowania jądro tworzy odpowiedni klucz w rejestrze, który zawiera dane dotyczące różnych komponentów sprzętu na płycie głównej oraz przerwań systemowych przydzielonych przez każde urządzenie. Logowanie się w systemie operacyjnym. Podsystem Windows automatycznie uruchamia Winlogon.exe, który uruchamia z kolei administrację zabezpieczeń lokalnych. Pojawia się okno dialogowe Rozpocznij logowanie. System Windows 2000 może w tym momencie jeszcze inicjować sterowniki sieciowe, ale zalogowanie jest już możliwe. Za zakończenie procesu uruchamiania systemu Windows 2000 uważa się udane zalogowanie użytkownika w systemie. Jak działa standard Plug&Play. Byłoby idealnie, gdyby po podłączeniu nowego urządzenia system operacyjny wykrył je automatycznie i zainstalował odpowiednie sterowniki - bez żadnej ingerencji ze strony użytkownika. System Windows 2000 zbliża się do ideału - przynajmniej teoretycznie - dzięki standardowi Plug & Play. Plug & Play jest szeroko rozpowszechnionym standardem przemysłowym, definiującym zasady współdziałania komputerów i urządzeń peryferyjnych. Windows 2000 jest w pełni zgodny z tym standardem. Po podłączeniu urządzenia zgodnego ze standardem Plug & Play, Windows 2000 automatycznie je wykrywa i rozpoznaje. W kolejnym etapie Windows usiłuje odszukać w swojej bazie odpowiedni sterownik, sprawdza też, czy użyt-kownik zainstalował nowszą wersję takiego sterownika. Jeżeli prawidłowy sterownik zostanie odnaleziony, Windows automatycznie rozpoczyna jego instalację. Rejestr jest centralną bazą danych przeznaczoną do przechowywania w ujednolicony sposób wszystkich informacji konfiguracyjnych systemu operacyjnego i aplikacji. Zawiera on kompletny zestaw wpisów dotyczących ustawień takich elementów, jak programy obsługi (sterowniki) urządzeń, pamięć czy programy obsługi sieci. Narzędzia systemu operacyjnego pozwalają na dostęp do niego zarówno z komputera, którego dotyczy, jak również poprzez sieć. Architektura Rejestru jest połączeniem idei znanych z Windows 3.x plików INI oraz występującego także w tym środowisku Rejestru (przechowującego znacznie mniej informacji). Rejestr jest miejscem, w którym możemy konfigurować nasz Windows. Rejestr możemy modyfikować m.in. za pomocą edytora Regedit, który uruchamia się poleceniem Start / Uruchom / regedit.exe. Niektóre zmiany mogą być widoczne dopiero po ponownym uruchomieniu komputera. Tworzenie kopii zapasowej Rejestru Przed przystąpieniem do modyfikowania danych w Rejestrze powinniśmy koniecznie wykonać ich kopię, aby w razie potrzeby można było przywrócić pierwotną zawartość bazy. Pamiętajmy, że kilka błędnych pozycji w Rejestrze może spowodować zawieszenie Windows, a edytor Regedit zapisuje od razu wszystkie modyfikacje i nieostrzega przed wprowadzeniem nieprawidłowych wartości! W systemie Windows 95 do kopiowania Rejestru możemy wykorzystać program narzędziowy ERU (Emergency Recovery Utiiity) dostępny na płycie instalacyjnej, natomiast w Windows 98 wystarczy użyć polecenia scanreg /backup (w celu odtwożenia kopii rejestru używamy polecenia scanreg /restore [oczywiście pod DOS-em]). W przypadku systemu NT należy z kolei wykorzystać polecenie rdisk /s. Defragmentowanie Rejestru Duże rozmiary Rejestru mają negatywny wpływ na szybkość pracy systemu. Z tego też względu co kilka tygodni powinniśmy optymalizować zawartość tej bazy. W tym celu musimy uruchomić komputer w trybie MS-DOS i wprowadzić polecenie scanreg /fix. Po sprawdzeniu zawartości nastąpi automatyczna defragmentacja Rejestru, dzięki czemu znacznie zmniejszą się jego rozmiary. Kopiowanie parametrów wprowadzonych w rejestrze na inne komputery.
Aby skopiować na inne komputery wprowadzone do Rejestru parametry powinniśmy skorzystać z dostępnej w Rejestrze funkcji eksportu. Edytor Rejestru pozwala bowiem na skopiowanie wybranych gałęzi bazy do pliku o rozszerzeniu REG. Aby następnie zaimportować tak zapisane parametry systemu, wystarczy dwukrotnie kliknąć utworzony plik. Najlepszym rozwiązaniem jest wyeksportowanie parametrów na dyskietkę, dzięki czemu mogą one być później wczytane na innych komputerach. W celu zapisania odpowiednich parametrów wybieramy odpowiednią gałąź i uaktywniamy funkcję Rejestr Eksportuj plik Rejestru. Trzeba przy tym zwrócić uwagę, aby nie eksportować całego Rejestru, lecz tylko wybraną gałąź. Ćwiczenia realizowane na lekcji: 1. Tworzenie algorytmów zadań, 2. Przeglądanie elementów komputera oraz analiza poszczególnych części (parametry, zadania, wydajność, wpływ na pracę systemu), 3. Obsługa SETUP-u, 4. Konfigurowanie ustawień WINDOWS, 5. Instalacja urządzeń Opracowano w oparciu o informacje zawarte na str. http://pl.wikibooks.org, http://ik1.kik.pcz.pl oraz własne przemyślenia. mgr Sławomir Ciernicki Materiały pomocnicze do lekcji przygotował