460 likes | 655 Views
Technologie informacyjne Systemy operacyjne . Definicja systemu operacyjnego. System operacyjny (angielskie operating system, OS) jest programem, który działa jako pośrednik między użytkownikiem komputera a sprzętem komputerowym.
E N D
Technologie informacyjne Systemy operacyjne
Definicja systemu operacyjnego. System operacyjny (angielskie operating system, OS) jest programem, który działa jako pośrednik między użytkownikiem komputera a sprzętem komputerowym. Zadaniem systemu operacyjnego jest stworzenie bezpiecznego i niezawodnego środowiska, w którym użytkownik może wykonywać swoje programy w sposób wygodny i wydajny. Cechy wyróżniające ten rodzaj oprogramowania: • duża złożoność (80 tys. jednostek funkcjonalności i więcej); • systemy operacyjne są sterowane przerwaniami (zdarzeniami); • system operacyjny rozpoczyna działanie jako pierwszy program w komputerze i nie zaprzestaje działania aż do wyłączenia komputera.
Części składowe systemu operacyjnego. Użytkownik Użytkownik Użytkownik Użytkownik … kompilatory edytor testu syst. bazy danych … gry PROGRAMY UŻYTKOWE SYSTEM OPERACYJNY SPRZĘT KOMPUTEROWY
System operacyjny – jedna z czterech części systemu komputerowego.
Współczesny system operacyjny (OS Operating System). • Zadania. • Kryteria użyteczności. • Cechy. • Klasyfikacja.
Podstawowe zadania przypisywane OS. • Zarządzanie procesami. • Zarządzanie pamięcią operacyjną. • Zarządzanie pamięcią masową. • Zarządzanie plikami. • Zarządzanie urządzeniami wejścia / wyjścia. • Ochrona zasobów. • Obsługa sieci. • Interfejs użytkownika (np. interpreter komend, środowisko graficzne); • Dodatkowe funkcje.
Zarządzanie procesami. System operacyjny, zarządzając procesami wykonuje następujące operacje: • tworzy i usuwa procesy, • zwiesza i wznawia wykonywanie procesu, • dostarcza mechanizmów do synchronizacji procesów i komunikacji między procesami. Uzyskanie procesora Nowy proces Gotowy do wykonania Wykonany Niszczony Zakończenie Wywłaszczenie z procesora Uśpiony Niezaspokojone zadanie zasobu Uzyskanie zasobu Graf stanów procesu
Zarządzanie pamięcią operacyjną. Pamięć operacyjna (ulotna ang. volatile) jest z reguły pamięcią RAM, której zawartość zanika po wyłączeniu zasilania lub w wyniku awarii systemu. System operacyjny, zarządzając pamięcią operacyjną, wykonuje następujące operacje: • rejestruje, które bloki pamięci są aktualnie zajmowane i przez kogo; • podejmuje decyzje, który proces można załadować w momencie zwolnienia jakiejś przestrzeni pamięci; • alokuje (przydziela) i dealokuje (zwalnia) boki pamięci zależnie od potrzeb.
Zarządzanie pamięcią masową. Typową funkcją pamięci masowej jest trwałe zapisywanie danych obrabianych wcześniej w pamięci operacyjnej. Z tego względu spotyka się angielskie określenie secondarystorage system -system archiwizacji (backup) dla pamięci operacyjnej (primarystorage). Takie podejście do roli pamięci masowej stanowi jednak obecnie już zbyt daleko idące uproszczenie. System operacyjny, zarządzając pamięcią masową wykonuje następujące operacje: • zarządza wolną przestrzenią (wolnymi blokami alokacji); • przydziela przestrzeń (bloków alokacji) plikom; • planuje i realizuje operacje dyskowe.
Zarządzanie plikami. Plik jest pewnym zbiorem informacji, zdefiniowanym przez swego twórcę. W typowej sytuacji pliki mogą zawierać zarówno programy (teksty źródłowe, kody binarne) lub dane (w różnych formatach, zdefiniowanych przez konkretne aplikacje lub stanowiących bardziej ogólne standardy). System operacyjny, zarządzając plikami wykonuje następujące operacje: • tworzy i usuwa pliki; • tworzy i usuwa katalogi; • dostarcza podstawowe funkcje umożliwiające manipulowanie plikami oraz katalogami; • odwzorowuje pliki w przestrzeni pamięci masowej (blokach alokacji); • zapisuje pliki w pamięci masowej.
Zarządzanie urządzeniami wejścia / wyjścia. Architektura wejście/wyjścia A 1 A 2 A – aplikacje Pu – procesy usługowe API – moduły odpowiedzialne za wyższe funkcje 1…4 – urządzenia logiczne S – sterowniki Zs – zasoby sprzętu U - urządzenia Pu 1 Pu 2 Pu 3 System wejścia / wyjścia składa się z: • buforów urządzeń; • interfejsów pomiędzy sprzętem a systemem sterowników; • programowych sterowników dla poszczególnych urządzeń. PROCESY API 1 API 2 1 2 3 4 S 1 S 2 S 3 JĄDRO Zs 1 Zs 2 Zs 3 Zs 4 S 1 S 2 S 3 S 4 SPRZĘT U 1 U 2 U 3 U 4
Obsługa sieci (systemy rozproszone). Grupa procesorów, które nie współdzielą pamięci ani zegara systemowego, są zaś połączone ze sobą za pośrednictwem sieci komunikacyjnej może być określona nazwą systemu rozproszonego. Użytkownik takiego systemu może mieć zorganizowany dostęp do różnych jego zasobów, zlokalizowanych w różnych węzłach sieci (serwerach zasobów). Konta użytkowników mogą być zakładane i zarządzane: • oddzielnie na każdym komputerze, • scentralizowane zarządzanie zasobami całej sieci, np. system domen w Windows-NT lub NDS w NetWare, • systemy zachowujące się jak jedna, wirtualna maszyna (superkomputery).
Ochrona zasobów. Pojęcie ochrony zasobów dotyczy wszystkich mechanizmów sterujących dostępem do zasobów systemowych oraz użytkowników systemu. System ochrony musi spełniać następujące funkcje: • rozróżniać autoryzowane i nieautoryzowane próby wykorzystania zasobów; • reagować na próby wymuszenia niedozwolonego użycia zasobów; • dostarczać środków do wymuszenia przestrzegania zasad użytkowania zasobów.
Interfejs użytkownika. Niezależnie od przyjętego sposobu realizacji interfejs użytkownika musi zapewniać użytkownikowi (w szczególności administratorowi) możliwość komunikacji z systemem w zakresie: • tworzenia procesów i zarządzania procesami; • dostępu do urządzeń wejścia/wyjścia; • dostępu do pamięci masowej i zarządzania jednostkami pamięci masowej; • wykorzystywania pamięci operacyjnej i zarządzania pamięcią; • dostępu do systemu plików; • sterowania ochroną zasobów; • konfigurowania i używania sieci.
Dodatkowe funkcje systemu operacyjnego. • współdzielenie zasobów, czyli przydzielanie jednego zasobu grupie użytkowników lub procesów pracujących jednocześnie; • księgowanie (ang. journaling, accounting), czyli śledzenie i zapisywanie dodatkowych informacji na temat wykorzystywania zasobów przez poszczególnych użytkowników i/lub procesy, prowadzenie statystyk, naliczanie opłat za korzystanie z zasobów, zapewnienie możliwości cofnięcia niedokończonych transakcji itp.; • zabezpieczenia, czyli środki pozwalające utrzymać zasoby systemu pod kontrolą jego administratorów, nie dopuścić do używania ich bez zgody właściciela lub w niezgodnie z jego wolą.
Cechy systemów operacyjnych. • Wielozadaniowość (wieloprocesowość) – możliwość wykonywania "jednocześnie" kilka procesów, otrzymywana poprzez tzw. scheduler czyli algorytm kolejkujący i porządkujący procesy, które mają być wykonane. każdy proces jest wykonywany jakiś kwant czasu, a później czeka "w uśpieniu" (oczywiście z uwzględnieniem różnych priorytetów). • systemy wielozadaniowe :UNIX, 32-bitowe systemy z rodziny Microsoft Windows, Mac OS i jego następca Mac OS X, AmigaOS, BeOS, • nie są systemami wielozadaniowymi: DOS), CP/M. • Wielowątkowość możliwość wykonywania w ramach jednego procesu kilka wątków lub jednostek wykonawczych. Nowe wątki to kolejne ciągi instrukcji wykonywane oddzielnie. Wszystkie wątki tego samego procesu współdzielą kod programu i dane. W systemach nie wspierających wielowątkowości pojęcie procesu i wątku utożsamiają się. • systemy wielowątkowe: BeOS, Microsoft Windows 95, Windows NT, niektóre z rodziny Unix. • Wielobieżność (ang. reentrant) to takie, w którym może pracować kilka procesów jednocześnie w trybie jądra (zapewne potrzebując jakiś funkcji systemowych). • Skalowalność (ang. scalability) jest to cecha systemów komputerowych, polegająca na zdolności do dalszej rozbudowy, ale także miniaturyzacji systemu.
Kryteria użyteczności OS. • Łatwość instalacji i użytkowania systemu. • Koegzystencja z innymi systemami tzn., możliwość czytania i zapisywania danych na partycjach innych systemów oraz współpraca i wymiana danych pomiędzy komputerami w sieci lokalnej i Internecie. • Zgodność sprzętowa tzn., możliwość instalacji na konkretnym komputerze utrudnia czasem brak odpowiednich sterowników do określonych urządzeń. • Wymiana danych tzn., możliwość czytania i wymiany dokumentów między różnymi aplikacjami przystosowanymi do różnych systemów. • Przystosowanie do pracy w Internecie tzn., możliwości i wygoda w przeglądaniu witryn, wymiany protokołów Internetowych itp. • Cena. • Ilość aplikacji działającej na danym systemie tzn., nawet najlepiej działający system będzie niewiele wart, jeśli nie będzie posiadał bogatego oprogramowania przystosowanego na swoją platformę. • Lokalizacja (możliwość porozumiewania się z systemem w narodowym języku).
Klasyfikacja systemów operacyjnych. • Pod względem sposobu komunikacji z użytkownikiem rozróżniamy: • Systemy tekstowe - pierwsze wersje DOSu, Unix • Systemy graficzne - Windows, MacOS i inne • Pod względem architektury, systemy operacyjne dzielimy na: • Monolityczne • Warstwowe • Klient serwer • Systemy równoległe • Systemy rozproszone
Mechanizm działania OS – przerwania. Przerwanie (ang. interrupt) - zdarzenie sygnalizowane przez sprzęt lub oprogramowanie za pomocą specjalnego sygnału. Najważniejsze cechy i funkcje przerwań: • Obsługa przerwania polega na przekazaniu sterowania do odpowiedniej procedury systemowej, której adres pobierany jest zwykle z systemowej tablicy adresów (wektora przerwań). • Adres przerwanego programu musi być zapamiętany, po ukończeniu obsługi przerwania system z reguły przekazuje sterowanie z powrotem pod ten adres. • W trakcie obsługi danego przerwania najczęściej blokuje się możliwość przyjęcia następnych przerwań (sprzętowych), aby nie dopuścić do zagnieżdżenia. • Przerwania mogą być także generowane programowo przez użytkownika, odpowiednim rozkazem procesora. Takie przerwania często nazywa się pułapkami (ang. trap). Możliwe jest także generowanie przerwań przez sam procesor (np. po wystąpieniu błędu), przerwania takie nazywane są często wyjątkami (ang. exception). Przerwania dzielą się na trzy grupy: • sprzętowe - generowane przez urządzenia komputera takie jak klawiatura, czy dysk; • wyjątkowe - generowane gdy wystąpi błąd w samym programie; • programowe - generowane gdy wykonywany program potrzebuje skorzystać z dodatkowej usługi.
Koncepcja maszyny wirtualnej. Maszyna wirtualna (ang. virtual machine, VM) to ogólna nazwa dla programów tworzących środowisko uruchomieniowe dla innych programów. Maszyna wirtualna kontroluje wszystkie odwołania uruchamianego programu bezpośrednio do sprzętu lub systemu operacyjnego i zapewnia ich obsługę. Dzięki temu program uruchomiony na maszynie wirtualnej "myśli", że działa na rzeczywistym sprzęcie, podczas gdy w istocie pracuje na sprzęcie wirtualnym, "udawanym" przez odpowiednie oprogramowanie (maszynę wirtualną).
Wady i zalety koncepcji wirtualnej maszyny. • Bardzo dobra ochrona zasobów systemowych, wynikająca z dokładnego odizolowania każdej wirtualnej maszyny od innych wirtualnych maszyn. Z drugiej strony wyklucza to jawne współdzielenie zasobów. • Bardzo dobre środowisko do badań rozwojowych nad systemami • operacyjnymi. Pozwala eksperymentować na dobrze wyizolowanej, wirtualnej maszynie zamiast na maszynie fizycznej, co nie zakłóca normalnej pracy całego systemu i nie uzależnia badacza od szczegółów sprzętowych. • Trudności implementacyjne, wynikające z konieczności dokładnego powielania każdej z instancji maszyny wirtualnej (duża zajętość zasobów fizycznych).
Systemy operacyjne. • Microsoft Windows, • Dystrybucja Linuxa, • Unix.
Linux – historia. • W 1991 roku, fiński programista, Linus Torvalds informuje o hobbystycznym tworzeniu przez siebie niedużego, wolnego systemu operacyjnego, przeznaczonego dla procesorów z rodzin i386, oraz i486. • Użycie w większości oprogramowania GNU do stworzenia pełnego systemu operacyjnego czyli shella, kompilatora, bibliotek, itp..,co jednak w przypadku niektórych komponentów systemu wymagało poważnych zmian, niekiedy finansowanych przez Projekt GNU, niekiedy dokonanych już wcześniej przez Linusa Torvaldsa. • Dużo pracy wymagało także zintegrowanie systemu do postaci dystrybucji,które umożliwiały zainstalowanie go w stosunkowo prosty sposób. Jednymi z pierwszych były opublikowany 16 lipca 1993 Slackware Linux, czy założony miesiąc później Debian,nazywający siebie GNU/Linux. Linus Torvalds, twórca jądra Linuksa
MS-DOS. DOS (ang. Disk Operating System), dyskowy system operacyjny. Najistotniejsze informacje: • System DOS pracuje w trybie tekstowym, bądź w trybie graficznym. • DOS jest systemem jednozadaniowym i jednoużytkownikowym. • Nie był tworzony z myślą o pracy w sieci, nie ma wbudowanych mechanizmów zarządzania pamięcią ani ochrony pamięci. • Narzuca ograniczenia nazw plików (długość - 8 znaków nazwy właściwej + 3 znaki rozszerzenia) dopuszcza jedynie litery, cyfry, i kilka znaków nieliterowych, m.in. "_", "$" i "!". • Stosuje specyfikacje: • "*" – zastępuje ciąg znaków (*.dat – wszystkie pliki z rozszerzeniem dat), • "?" – zastępuje dowolny znak (?a*.* - wszystkie pliki z "a" jako drugi znak).
Ważniejsze polecenia systemu DOS. Polecenia systemu DOS dzielimy na: • wewnętrzne: • A: C: - polecenie zmiany napędu bieżącego, • VER - wyświetlenie na ekranie wersji systemu operacyjnego • TIME - wyświetlenie na ekranie aktualnej godziny z możliwością jej zmiany • VOL - wyświetlenie na ekranie nazwy bieżącego dysku • DIR- wyświetlenie listy plików i podkatalogów danego katalogu • DIR/p - pokazuje listę plików w kolejnych ekranach • DIR/w - lista wyświetlana jest na ekranie w 5 kolumnach • MD - tworzenie katalogu • CD - zmiana katalogu bieżącego • CD\ - powoduje przejście do katalogu głównego • CD.. - powoduje przejście do katalogu nadrzędnego względem katalogu bieżącego • RD - usuwanie katalogu • zewnętrzne: • TREE – wyświetlenie drzewa katalogów • DELTREE – usuwanie katalogu wraz z plikami • UNDELETE – przywrócenie usuniętych wcześniej plików • FORMAT A:(C:) – formatowanie dyskietki znajdującej się w napędzie a:, lub dysku twardego oznaczonego literką C: • FDISK – polecenie pozwalające “przejść” do edycji partycji na dysku twardym (dla bardziej zawansowanych)
Demonstracja operacji na plikach – DOS. PODKAT2 • Ścieżka dostępu do plik1.dat: • C:\KAT1\PODKAT1\plik1.dat • Ścieżka dostępu do plik2.dat: • C:\KAT2\plik2.dat • Kopiowanie plik1.dat z PODKAT1 do KAT2: • copy C:\KAT1\PODKAT1\plik1.datC:\KAT2 • Usuwanie PODKAT2: • rd C:\KAT2\PODKAT2 plik1.dat KAT1 PODKAT1 KAT2 plik2.dat C
Ćwiczenia – DOS. • Ćwiczenie 1: • Uruchom system operacyjny Windows a następnie przejdź do trybu MS-DOS. • Sprawdź datę i godzinę w komputerze. Jeśli są nieprawidłowe, dokonaj korekty. • Wyświetl informacje o wersji systemu operacyjnego, którego używasz. • Wyświetl informacje o stanie pamięci dysku systemowego. • Usuń informacje znajdujące się na ekranie monitora.
Ćwiczenia – DOS. • Ćwiczenie 2: • Utwórz katalog ROK. • W nim utwórz cztery podkatalogi o nazwach pór roku. • W katalogu WIOSNA utwórz trzy podkatalogi o nazwach wiosennych miesięcy. • Analogicznie powtórz operację dla wszystkich pór roku. • W odpowiednich miesiącach utwórz pliki z datą Twoich imienin i urodzin (z rozszerzeniem dat – np. 30lipiec.dat).
Ćwiczenia – DOS. • Ćwiczenie 3: • Skopiuj plik imieninowy do podkatalogu WIOSNA bez zmiany nazwy. • Skopiuj swoje urodziny do katalogu innego miesiąca zmieniając adekwatnie nazwę do daty.
Ćwiczenia – DOS. • Ćwiczenie 4: • Jednym poleceniem przejdź do katalogu Jesień. • Wyświetl jego zawartość. • Jednym poleceniem przejdź do katalogu Luty. • Usuń ten katalog. • Jednym poleceniem przejdź do katalogu głównego. • Wyświetl drzewko katalogów.
Ćwiczenia – DOS. • Ćwiczenie 5: • Jaka jest ścieżka dostępu do katalogu LATO? • Jaka jest ścieżka dostępu do katalogu PAŹDŹIERNIK? • Jaka jest ścieżka dostępu do pliku urodzinowego?
Ćwiczenia – Windows. • Ćwiczenie 1 -Podstawowe operacje myszą: • Na pulpicie odszukaj ikonę Kosza, • Zaznacz ją / odznacz ją, • Otwórz folder Kosz / zamknij folder Kosz, • Przeciągnij ikonę Kosz na środek pulpitu / przeciągnij ikonę Kosz na poprzednie miejsce, • Wyświetl dostępne opcje związane w Koszem (menu kontekstowe).
Ćwiczenia – Windows. • Ćwiczenie 2 - Operacje na oknach: • uruchom program Notatnik (Start > Programy > Akcesoria > Notatnik), • kliknij na pasek tytułu i nie puszczając przycisku myszy przesuń okno w inne miejsce • kliknij na ikonę: by zamknąć okno by maksymalizować okno by przywrócić poprzedni rozmiar okna • kliknij na ikonę by zminimalizować okno (zauważ że jest ono wciąż otwarte na pasku na dole ekranu), przywrócić je, • kliknij w prawy dolny róg okna (które nie jest zmaksymalizowane) i trzymając klawisz myszy zmień rozmiar okna
Ćwiczenia – Windows. • Ćwiczenie 3 - Działania na plikach i folderach: • Załóż dwa foldery na pulpicie, • Nazwij jeden swoim imieniem a drugi nazwiskiem, • Wyświetl zawartość foldera IMIĘ, • Utwórz w nim kilka podfolderów, • Zaznacz jeden dowolny plik (jednokrotne kliknięcie), • Zaznacz zakres plików od-do (klawisz Shift), • Zaznacz kilka wybranych plików (klawisz CTRL).
Ćwiczenia – Windows. • Ćwiczenie 4 - Działania na plikach i folderach – kopiowanie i przenoszenie plików: • Kopiowanie przy pomocy schowka (Kopiuj/Wklej) – wybrany folder z folderu IMIĘ skopiuj do folderu NAZWISKO, • Przenoszenie przy pomocy schowka (Wytnij/Wklej) - wybrany folder z folderu IMIĘ przenieś do Folderu NAZWISKO, • Kopiowanie techniką Drag & Drop („przeciągnij i upuść” + Crtl) – powtórz powyższą operację, • Przenoszenie techniką Drag & Drop („przeciągnij i upuść”) – powtórz powyższą operację.
Ćwiczenia – Windows. • Ćwiczenie 5 -Działania na plikach i folderach – wyszukiwanie plików: • wybierz Start > Znajdź > Pliki lub Foldery... • w oknie podaj parametry (nazwę lub część pliku, określ dysk/folder w którym szukamy, inne zaawansowane opcje), • wyszukaj na dysku C: wszystkie pliki na literę ‘w’, wszystkie pliki zawierające ciąg znaków ‘win’, wszystkie pliki o rozszerzeniu ‘bat’.
Ćwiczenia – Linux. • Ćwiczenie 1: • Utwórz katalog IMIĘ. • Stwórz w katalogu strukturę katalogów, do których dostęp przedstawiają następujące ścieżki bezwzględne: /mnt/floppy/LINUX/WINDOWS /mnt/floppy/LINUX/DOS/DOS /mnt/floppy/DOS/WINDOWS /mnt/floppy/WINDOWS,
Ćwiczenia – Linux. • Ćwiczeni 2: • W katalogu do którego prowadzi ścieżka bezwzględna /mnt/floppy/LINUX/DOS stwórz plik tekstowy o nazwie MOJE.DANE i w jego treści wpisz swoje imię i nazwisko oraz numer grupy, • Utworzony w pkt.3 plik skopiuj do katalogu do którego dostęp opisuje ścieżka bezwzględna /mnt/floppy/LINUX zmieniając mu jednocześnie nazwę na ZALICZENIE.TXT