Pisanie OS/Co to jest?

Z Wikibooks, biblioteki wolnych podręczników.

> OS Programming

Czym jest system operacyjny?[edytuj]

Wielu ludzi uważa, że systemem operacyjnym jest to, co widzą po uruchomieniu komputera. Zwykle mają na myśli pulpit systemu Windows. Mało ludzi wie, czym jednak tak naprawdę jest system operacyjny. Omówmy zatem jak zbudowany jest system operacyjny oraz jakie pełni funkcje.

Budowa systemu operacyjnego[edytuj]

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). Zwykle to właśnie powłokę ludzie uważają za system operacyjny. Jednak to od niej tak naprawdę niewiele zależy. Może teraz pojawić się pytanie: jak powłoka komunikuje się z jądrem? Otóż 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 (np. biblioteka języka C w systemie UNIX). W dalszej części podręcznika wszystkie elementy systemu operacyjnego zostaną dokładnie opisane.

Funkcje systemu operacyjnego[edytuj]

Nadrzędną funkcją systemu operacyjnego jest oczywiście pośredniczenie pomiędzy sprzętem komputerowym, a programami użytkownika. Jednak to nie jest jedyne zadanie systemu operacyjnego. Zapewne komputery nie były by dzisiaj tak szeroko rozpowszechnione, gdyby ich obsługa wymagała jakiejś niesamowitej wiedzy technicznej oraz szczególnych umiejętności. Systemy operacyjne, instalowane w dzisiejszych komputerach mają maksymalnie ułatwiać i umilać pracę z komputerem. Podsumowując - system operacyjny ma za zadanie ułatwić korzystanie ze sprzętu komputerowego. Dzięki niemu nie musimy się martwić, jak np. działa karta graficzna czy też jak zbudowany jest protokół IP. Drugą ważną funkcją systemu operacyjnego jest stworzenie kompletnego środowiska, w którym użytkownik może uruchamiać programy (tzw. API). Dzięki temu uruchomienie programu może odbywać się poprzez proste kliknięcie na ikonę, czy też wpisanie odpowiedniego polecenia w wierszu poleceń. Biblioteki systemowe, o których wspomniałem wcześniej są właśnie jednym z elementów tego środowiska.