Systemy operacyjne - Wprowadzenie do systemów operacyjnych
1. Komponenty systemu operacyjnego:
13. Hierarchia pamięci (im wyżej tym drożej i szybciej)
- hardware (zapewnia zasoby systemu komputerowego)
- system operacyjny (tworzy środowisko, w którym użytkownik może wykonywać programy w sposób wygodny i wydajny)
- aplikacje (określa sposób w jaki używany jest hardware)
- użytkownicy (osoby korzystające ze wszystkich komponentów)
2. Schemat systemu operacyjnego:
3. System operacyjny to zaawansowane oprogramowanie pozwalające użytkownikom na korzystanie ze zasobów sprzętowych systemu komputerowego.
4. Zadania systemu komputerowego:
- zarządzanie zasobami komputera (np. procesory, pamięć RAM, urządzenia wejścia-wyjścia, porty komunikacyjne, magistrale systemowe)
5. Popularne architektury systemu operacyjnego:
- systemy ogólnego przeznaczenia (komputery osobiste, stanowiska pracy)
- systemy czasu rzeczywistego (systemy monitoringu, systemy przemysłowe)
- systemy wbudowane (mikrokontrolery)
- systemy wielozadaniowe (procesor jest przypisywany do różnych zadań i przełącza się pomiędzy nimi np. sekwencyjnie)
- obliczenia rozproszone
6. Architektura komputerów:
- Architektura harwardzka
- Zmodyfikowana architektura harwardzka
- SHARC
- Architektura von Neumanna
- Zmodyfikowana architektura von Neumanna
7. Schemat architektury harwardzkiej (lepsza, efektywniejsza, droższa)
- są dwie niezależne magistrale - jedna dla instrukcji, druga dla danych
- procesor ma jednoczesny i niezależny dostęp do programu i danych
8. Schemat architektury von Neumanna (popularniejsza, bo tańsza)
- komputer podzielony jest na 3 części: procesor, pamięć i urządzenia wejścia-wyjścia
- program i dane są w tej samej pamięci współdzielonej
- procesor odczytuje instrukcje programu i ma dostęp do danych poprzez jeden kanał (nie da się jednocześnie!)
Rejestry:
- licznik rozkazów (licznik programów) - służy do wskazania adresu kolejnej instrukcji do pobrania i wykonaniu
- rejestr rozkazów - służy do umieszczenia instrukcji celem jej dekodowania i wykonania
- rejestr flagowy (rejestr stanu procesora) - odzwierciedla stan ostatnio wykonanej operacji arytmetycznej lub logicznej
Cykl von Neumanna:
Adres komórki pamięci, od której rozpoczyna się kod następnego rozkazu do wykonania, przechowywany jest w liczniku rozkazów. Zawartość tego rejestru wystawiana jest na szynę adresową magistrali systemowej w celu pobrania z pamięci kodu rozkazu. Po zdekodowaniu operacji licznik ten zwiększany jest odpowiednio do długości pobranego rozkazu, w ten sposób wskazuje następny rozkaz do wykonania.
9. Typowe operacje wykonywane przez procesor:
- kopiowania (z pamięci do rejestru, z rejestru do pamięci, z pamięci do pamięci)
- arytmetyczne (dodawanie, odejmowanie, zmiana znaku itd.)
- bitowe (AND, OR, NOT, XOR, ...)
- instrukcje skoku
10. Typy architektury zestawu instrukcji procesora:
- CISC (rozbudowana lista rozkazów, duża liczba typów adresowania dostępna w rozkazach wewnętrznych, mała liczba rejestrów roboczych w procesorze, zróżnicowane czasy wykonywania rozkazów, układ sterowania procesora jest przeważnie mikroprogramowany)
- RISC (ograniczona lista rozkazów, rozkazy wewnętrzne mają prostą treść operacyjną, mała liczba typów adresowania dostępna w rozkazach wewnętrznych, duża liczba rejestrów roboczych w procesorze, mała liczba formatów rozkazów wewnętrznych, ujednolicony czas wykonania rozkazów, układ sterowania procesora jest sprzętowy)
11. DMA – technika, w której sprzęt komputerowy podłączony do płyty głównej, np. karta graficzna, karta dźwiękowa, karta sieciowa czy kontroler dysku twardego, mogą korzystać z pamięci operacyjnej RAM lub portów we-wy, pomijając przy tym CPU.
KROK 1: System operacyjny odczytuje bufor z kolejki buforów
KROK 2: Sterownik urządzenia ustawia w rejestrze DMA źródłowy oraz docelowy adres pamięci i długość danych
KROK 3: Kontroler DMA rozpoczyna przysłanie danych (podczas przesyłania procesor może robić inne rzeczy)
KROK 4: Kiedy operacja się zakończy, kontroler DMA wysyła przerwanie do procesora.
12. Przerwania powodują przerwanie aktualnie wykonywanego programu i wykonania procedury obsługi danego przerwania. Przerwania mogą być sprzętowe (generowane przez np. urządzenia wejścia-wyjścia) oraz programowe (z kodu programu wywoływana jest procedura obsługi przerwania).
Więcej o przerwaniach: TUTAJ!
14. Szybsza pamięć może być używana jako pamięć podręczna dla wolniejszych pamięci. W przypadku, gdy jakaś informacja jest potrzebna najpierw przeszukiwana jest pamięć Cache (w zależności od wyników wyszukiwania informacja jest kopiowana do Cache). Konstrukcja pamięci podręcznej jest kompromisem pomiędzy rozmiarem Cache, a algorytmem zastępowania stron). W hierarchicznej strukturze pamięci te same informacje mogą pojawiać się na różnych poziomach. Konieczne jest zagwarantowanie (przy użyciu metod sprzętowych lub programowych), żeby informacje były spójne na wszystkich poziomach.