System operacyjny komputera Informacje podstawowe System operacyjny (ang. skrót OS Operating System) - program komputerowy bądź zbiór programów, który zarządza sprzętem oraz aplikacjami komputera. Podstawą wszystkich systemów operacyjnych jest wykonywanie podstawowych zadań takich jak: kontrolowanie i przypisywanie pamięci, przydział czasu procesora, obsługa urządzeń, ustalanie połączeń sieciowych oraz zarządzanie plikami. Wiele systemów operacyjnych posiada środowiska graficzne ułatwiające ich obsługę. Zadania systemu operacyjnego - zarządzanie zasobami komputera, m.in.: procesorem (a dokładniej czasem procesora), pamięcią, urządzeniami peryferyjnymi oraz przydzielanie zasobów procesom, - koordynacja pracy ww. urządzeń poprzez obsługę przerwań oraz odpowiednie na nie reagowanie, - ochrona danych i pamięci - tak aby jeden proces, w wyniku błędu lub zamierzonego działania nie mógł zniszczyć lub pozyskać danych innego procesu, - automatyzacja najczęściej wykonywanych funkcji, - ukrywanie przed aplikacjami skomplikowania sprzętu komputerowego przez tworzenie abstrakcji, np. abstrakcja równoległości wykonywania programów, jednolity sposób dostępu do urządzeń. System operacyjny jest ładowany do pamięci na początku pracy komputera. Program ten ma bardzo specyficzny charakter: w przeciwieństwie do programów użytkowych (aplikacji) nie korzysta z żadnych gotowych funkcji, tylko sam je udostępnia, a więc od niego zależą rzeczywiste możliwości wykorzystania sprzętu komputerowego. Systemy operacyjne ze względu na sposób przetwarzania można podzielić na: - Systemy przetwarzania bezpośredniego systemy interakcyjne gdzie występuje bezpośrednia interakcja pomiędzy użytkownikiem a systemem i wykonywanie zadania użytkownika rozpoczyna się zaraz po przedłożeniu, - Systemy przetwarzania pośredniego systemy wsadowe gdzie występuje znacząca zwłoka czasowa między przedłożeniem a rozpoczęciem wykonywania zadania i niemożliwa jest ingerencja użytkownika w wykonywanie zadania.
Ze względu na dopuszczalną liczbę zadań systemy dzielimy na: - Systemy jednozadaniowe gdzie niedopuszczalne jest rozpoczęcie wykonywania następnego zadania użytkownika przed zakończeniem poprzedniego, - Systemy wielozadaniowe gdzie dopuszczalne jest istnienie jednocześnie wielu zadań (procesów), którym zgodnie z pewną strategią przydzielany jest procesor. Zwolnienie procesora następuje w wyniku: żądania przydziału dodatkowego zasobu, zainicjowania operacji wejścia/wyjścia, przekroczenia ustalonego limitu czasu (kwantu czasu). Wielozadaniowe systemy operacyjne można podzielić na oferujące i pozbawione wywłaszczania. W systemie z wywłaszczaniem jest możliwe przerwanie wykonywania procesu i przeniesienie go z powrotem do kolejki kontrolowanej przez algorytm szeregowania. W systemie bez wywłaszczania zadania muszą przełączać się dobrowolnie. Proces aktywny (wykonujący się) jest przenoszony do kolejki procesów oczekujących tylko wtedy, gdy sam przerwie (wstrzyma, zawiesi) swoje działanie a dopóki tego nie uczyni (lub nie zakończy działania), żaden inny proces nie otrzyma dostępu do procesora. Biorąc pod uwagę liczbę użytkowników systemy operacyjne można podzielić na: - Systemy dla jednego użytkownika gdzie zasoby przeznaczone są dla jednego użytkownika (np. w przypadku komputerów osobistych), nie ma mechanizmów autoryzacji dostępu, a mechanizmy ochrony informacji są ograniczone, - Systemy wielodostępne gdzie wielu użytkowników może korzystać z zasobów systemu komputerowego, a system operacyjny gwarantuje ich ochronę przed niepowołaną ingerencją. Budowa systemu operacyjnego: Trzy główne elementy budowy systemu operacyjnego: - jądro systemu wykonujące ww. zadania, - powłoka - specjalny program komunikujący użytkownika z systemem operacyjnym, - system plików - sposób zapisu struktury danych na nośniku. Powłoka systemowa - (ang. shell) to program pełniący rolę pośrednika pomiędzy systemem operacyjnym lub aplikacjami a użytkownikiem, przyjmując jego polecenia i "wyprowadzając" wyniki działania programów. Przykłady: 4DOS/4OS2/4NT - (DOS, OS/2, Windows NT)
cmd.exe - (OS/2, Windows 2000, Windows NT - Windows Vista) command.com - procesor poleceń systemu DOS Windows PowerShell - (Windows XP, Windows Server 2003, Windows Vista, Microsoft Exchange Server 2007) Windows Recovery Console - (Windows 2000, Windows XP) oraz graficzne, takie jak np.: GNOME, KDE, explorer - powłoka systemu Microsoft Windows Jądro systemu operacyjnego (ang. kernel) - podstawowa część systemu operacyjnego, która jest odpowiedzialna za wszystkie jego zadania Budowa jądra Wyróżniamy kilka podstawowych metod konstrukcji jąder: Jądro monolityczne - wszystkie zadania są wykonywane przez jądro, będące jednym, dużym programem działającym w trybie jądra, często stosowane w systemach typu Unix. Mikrojądro - w tej technice z monolitycznego jądra zostaje tylko jego podstawowa część, a części odpowiedzialne za bardziej wyrafinowane funkcje są wydzielone do funkcjonalnych bloków albo realizowane jako zwykłe procesy w trybie użytkownika. Jądro hybrydowe - kompromis między architekturą jądra monolitycznego i mikrojądra.
Cechy jądra: Z budowy jądra wynikają jego cechy, takie jak: wielozadaniowość (wieloprocesowość), wielowątkowość, wielobieżność, skalowalność, to, czy jądro jest wywłaszczalne. Przykłady: Jądra monolityczne: Tradycyjne jądra UNIX, jak np. jądra systemów BSD, Linux Hybrydowe: Windows Mikrojądra: Mach, wykorzystywany w systemach GNU Hurd i Mac OS X Plik (ang. file), jest to nazwany ciąg danych (inaczej zbiór danych), o skończonej długości, posiadający szereg atrybutów i stanowiący dla systemu operacyjnego całość. System plików metoda przechowywania plików, zarządzania plikami, informacjami o tych plikach, tak by dostęp do plików i danych w nich zgromadzonych był łatwy dla użytkownika systemu; także: wolumin. Systemy plików stosuje się dla różnych nośników danych, takich jak dyski, dyskietki, a także w strumieniach danych, sieciach komputerowych, pamięciach. We współczesnych systemach operacyjnych bezpośrednie operowanie na danych w plikach zarezerwowane jest tylko dla systemu operacyjnego, aplikacje mają dostęp tylko do operacji na plikach i mają zabroniony bezpośredni dostęp do nośnika danych. Z formalnego punktu widzenia system plików to reguły umieszczania na nośniku danych abstrakcyjnych danych oraz informacji umożliwiających przechowywanie tych danych, łatwy i szybki dostęp do informacji o danych oraz do tych danych, manipulowania nimi a także sposobach usuwania ich.
Większość systemów operacyjnych posiada własny (macierzysty) system plików, rozwijany równolegle z nim (np. FAT w DOS-ie, NTFS w Microsoft Windows NT lub ext/ext2/ext3/ext4 i ReiserFS/Reiser4 w Linuksie), ze względu na pewne specyficzne właściwości nadawane plikom (np. atrybut wykonywalności pliku), podobnie jak niektóre nośniki danych (np. ISO 9660 na CD-ROM i UDF na DVD), jednak sam system plików jest niezależny od nich. Same systemy operacyjne (w szczególności Unix i jego pochodne) potrafią obsługiwać wiele systemów plików. Atrybuty pliku To dodatkowe informacje dołączane do pliku. Ich zadaniem jest opisywanie i regulowanie użycia pliku. W systemie plików FAT istnieją cztery rodzaje atrybutów plików: ukryty, tylko do odczytu, archiwalny i systemowy. W systemie NTFS oprócz tych czterech standardowych atrybutów dodane zostały dodatkowe atrybuty bezpieczeństwa - dzięki nim wiadomo na przykład, którzy użytkownicy mają prawo do modyfikacji istniejących plików na dysku twardym. Modyfikacji atrybutów pliku w Windows można dokonać, klikając na jego ikonę prawym przyciskiem myszy i wybierając polecenie Właściwości. Atrybut pliku to cecha charakterystyczna danego pliku w komputerze. Atrybutami mogą być: rozmiar, nazwa, data utworzenia, modyfikacji, ostatniego dostępu, usunięcia, właściciel i grupa pliku, prawa (zapisu, odczytu itd. - mogą być odmienne dla różnych grup użytkowników), położenie, czyli wskaźnik do miejsca na urządzeniu, na którym plik został zapisany (często tablica wskaźników), czy jest to katalog, plik wykonywalny. Atrybuty zależą od systemu operacyjnego, a dokładniej od jego systemu plików. Pliki dzielimy na kilka typów: pliki wykonywalne (ang. executable files), skrypty (ang. scripts), pliki wsadowe (ang. batch files) - zawierające program do wykonania lub polecenia dla interpretera pliki binarne i tekstowe (ASCII).
Format plików: Format pliku w informatyce to ustalony standard zapisu informacji w pliku danego typu. Sposób zakodowania informacji lub danych zależy od zastosowanej aplikacji. Ze względu na dostępność do specyfikacji struktury formatu, wyróżniamy powszechnie znany, czyli otwarty format pliku (o publicznie dostępnej strukturze) oraz utajniony przez producenta programu format zamknięty. Przykładowo, do najczęściej stosowanych formatów plików do zapisu grafiki należą bmp, gif, jpeg, png. Często format pliku jest określany przez jego rozszerzenie. Rozszerzenie: Sposób oznaczania typu pliku za pomocą krótkiego ciągu znaków, występującego po kropce. Stosowany najszerzej w systemach typu DOS, gdzie rozszerzenie musiało mieć co najwyżej 3 znaki, przez co wiele dłuższych rozszerzeń występuje do dziś w 3- literowych formach skróconych.jpg zamiast jpeg. Systemy Unikowe/Linuxowe nie posługują się mechanizmem rozszerzeń plików w taki sposób. Ponieważ nazwa pliku może zawierać dowolne znaki, czyli także kropki, rozszerzenie jest tu jedynie częścią nazwy pliku. Część ta nie jest ani obowiązkowa, ani nie musi mieć określonej długości. Może także występować wielokrotnie np..tar.gz oznacza skompresowany gzipem (.gz) plik typu tar (.tar). Rozszerzenia służą tu raczej informowaniu użytkownika niż programów i nie są tak istotne jak na systemach dosopochodnych. Źródła: http://pl.wikipedia.org/wiki/system_operacyjny http://www.fizyka.umk.pl/~duch/wyklady/komput/w07/op-sys.html http://winter.pl/internet/systemy.html http://www.rozszerzenia.republika.pl/ http://www.file-extensions.org/ Literatura: A. Silberschatz, J.L. Peterson, G. Gagne, Podstawy systemów operacyjnych. WNT, Warszawa 2005. W. Stallings, Systemy operacyjne. Robomatic, Wrocław 2004.
Danuta Mendrala, Marcin Szeliga, Marcin Świątelski, ABC systemu Windows XP PL, Wydawnictwo Helion, Gliwice 2006. Piotr Czarny, Windows XP PL. Podstawy obsługi systemu, Wydawnictwo Helion, Gliwice 2002. Danuta Mendrala, Marcin Szeliga, Windows XP Home PL, Ćwiczenia praktyczne, Wydawnictwo Helion, Gliwice 2006.