System operacyjny
System operacyjny wywodzi się języka angielskiego od zwrotu OS, czyli Operating System. Poprzez system operacyjny rozumiemy oprogramowanie, które ma za zadanie sterowanie komputerem, poprzez stworzenie mu środowiska do uruchomienia sprzętu, jednocześnie do zdolności użytkownika do kontrolowania zadań. Do najważniejszych celów systemu operacyjnego zalicza się: planowanie czasu poświęcanego przez procesor na wykonywanie zadań, kontrola pamięci operacyjnego dla poszczególnych zadań, zapewnienie mechanizmów, służących do synchronizacji zadań, obsługę sprzętu oraz zapewnienie równoległego dostępu do sprzętu. Nowoczesne systemu operacyjne często są wyposażone w zadania dodatkowe, jak między innymi; ustalanie oraz obsługa połączeń sieciowych czy zarządzanie określonymi plikami. Bardzo ważnym osiągnięciem w dziedzinie systemów operacyjnych było zbudowanie środowiska graficznego, które bardzo mocno ułatwiło użytkownikom korzystanie z komputerów. Mianem oprogramowanie bardzo często określa się systemu operacyjne, które dostarczane są przez sklep podczas zakupu maszyny. Niekiedy odnosi się ten zwrot do samego jądra systemu, a czasami do programu rozruchowego. Jednym z najważniejszych elementów systemu operacyjnego jest jego interfejs, który pozwala użytkownikowi na wykonywanie poszczególnych zadań i operacji. Między innymi musi on zapewnić metody, które są zdolne uruchomić zadanie lub je zaniechać. Zwykle w systemie operacyjnym za takie zadania odpowiada API, czyli Application Programming Interface. Programista, który korzysta z takich zadań, zwykle ma na celu zwiększenie wydajności systemu poprzez polepszenie komunikacji danych z plików dyskowych. Interfejs, z jakim obecnie mamy najwięcej do czynienia to interfejs użytkownika. To właśnie on odpowiada za bezpośrednią komunikację użytkownika z komputerem. Jedną z metod komunikacji jest między innymi bezpieczne wyłączanie sprzętu. Różnice pomiędzy tymi dwoma rodzajami interfejsów polegają na tym, że interfejs API jest niezbędny w systemie, natomiast interfejs użytkownika jest jedynie wygodnym dodatkiem. Aby zapewnić systemowi operacyjnemu niezawodność pracy oraz efektywność wykonywanych zadań należy wyposażyć go w mechanizmy zarządzania oraz ochrony pamięci. Aby system był w stanie dobrze podzielić zadania dla procesora, oraz przypisać im odpowiedni czas musi on odpowiednio współpracować z pamięcią. Zapewnienie technicznej ochrony procesorowi odbywa się poprzez podział pamięci na segmenty oraz strony. Wywoływanie zadań poprzez użytkownika odzwierciedlane jest poprzez rejestry CPU, oraz rejestry kontrolne podzespołu, który jest odpowiedzialny za zarządzanie pamięcią. Kontrola ta uniemożliwia awarię zadania jak również próbę błędnego wpisania go do pamięci. Dzięki temu uzyskano również ochronę wszelkich plików, których system wymaga do poprawnego działania. Aktywność danego systemu operacyjnego, jak również jego komponentów (sterowniki) zachodzi w trybie kernel, w którym ochrona pamięci jest mocno ograniczona.