Podstawy komputerów - funkcje systemu operacyjnego

Jak wiecie, za funkcjonowanie systemu komputerowego odpowiada system operacyjny. W tym celu wykonuje te trzy szerokie kategorie działań -

  • Essential functions - Zapewnia optymalne i efektywne wykorzystanie zasobów

  • Monitoring functions - Monitoruje i gromadzi informacje związane z wydajnością systemu

  • Service functions - Świadczy usługi użytkownikom

Przyjrzyjmy się niektórym z najważniejszych funkcji związanych z tymi czynnościami.

Zarządzanie procesorami

Nazywa się zarządzanie procesorem komputera w celu zapewnienia jego optymalnego wykorzystania processor management. Zarządzanie procesorem zasadniczo polega na przydzielaniu czasu procesora zadaniom, które należy wykonać. To się nazywajob scheduling. Prace muszą być planowane w taki sposób, aby -

  • Maksymalne wykorzystanie procesora
  • Czas realizacji, czyli czas potrzebny na wykonanie każdej pracy, jest minimalny
  • Czas oczekiwania jest minimalny
  • Każde zadanie uzyskuje najszybszy możliwy czas odpowiedzi
  • Osiąga się maksymalną przepustowość, przy czym przepustowość to średni czas potrzebny do wykonania każdego zadania

Istnieją dwie metody planowania zadań wykonywanych przez systemy operacyjne -

  • Planowanie prewencyjne
  • Planowanie bez wywłaszczania

Planowanie prewencyjne

W przypadku tego typu planowania następne zadanie do wykonania przez procesor można zaplanować przed zakończeniem bieżącego zadania. Jeśli pojawi się zadanie o wyższym priorytecie, procesor może zostać zmuszony do zwolnienia bieżącego zadania i podjęcia następnego. Istnieją dwie techniki planowania, które wykorzystują planowanie z wywłaszczaniem -

  • Round robin scheduling - Nazywa się mała jednostka czasu time slicejest zdefiniowana, a każdy program otrzymuje w danym momencie tylko jeden wycinek czasu. Jeśli nie zostanie zakończona w tym czasie, musi na końcu dołączyć do kolejki zadań i czekać, aż wszystkie programy otrzymają jeden przedział czasu. Zaletą jest to, że wszystkie programy mają równe szanse. Wadą jest to, że jeśli program zakończy wykonywanie przed upływem przedziału czasu, procesor jest bezczynny przez resztę czasu.

  • Response ratio scheduling - Wskaźnik odpowiedzi definiuje się jako

    $$ \ frac {Elapsed \: Time} {Wykonanie \: czas \: otrzymano} $$

    Zadanie z krótszym czasem odpowiedzi ma wyższy priorytet. Większy program może więc czekać, nawet jeśli zażądano go wcześniej niż krótszy program. Poprawia to przepustowość procesora.

Planowanie bez wywłaszczania

W przypadku tego typu planowania decyzje dotyczące planowania zadań są podejmowane dopiero po zakończeniu bieżącego zadania. Zadanie nigdy nie jest przerywane, aby dać pierwszeństwo zadaniom o wyższym priorytecie. Techniki planowania, które używają planowania bez wywłaszczania to:

  • First come first serve scheduling - Jest to najprostsza technika, w której pierwszy program, który zgłosi żądanie, jest wykonywany jako pierwszy.

  • Shortest job next scheduling - Tutaj zadanie wymagające najmniej czasu na wykonanie jest planowane jako następne.

  • Deadline scheduling - Zlecenie z najwcześniejszym terminem realizacji jest planowane jako następne.

Zarządzanie pamięcią

Nazywa się proces regulacji pamięci komputera i stosowania technik optymalizacji w celu zwiększenia ogólnej wydajności systemu memory management. Przestrzeń pamięci jest bardzo ważna w nowoczesnym środowisku komputerowym, dlatego zarządzanie pamięcią jest ważną rolą systemów operacyjnych.

Jak wiesz, komputery mają dwa rodzaje pamięci - primary i secondary. Pamięć podstawowa tofast but expensive a pamięć dodatkowa jest cheap but slower. System operacyjny musi zachować równowagę między nimi, aby zapewnić, że wydajność systemu nie zostanie obniżona z powodu bardzo mniejszej ilości pamięci podstawowej lub koszty systemu nie wzrosną z powodu zbyt dużej ilości pamięci podstawowej.

Dane wejściowe i wyjściowe, instrukcje użytkownika i dane potrzebne do wykonania programu muszą być efektywnie przechowywane, dostępne i odzyskiwane w celu zapewnienia wysokiej wydajności systemu. Po zaakceptowaniu żądania programu system operacyjny przydziela mu podstawowe i dodatkowe obszary pamięci zgodnie z wymaganiami. Po zakończeniu wykonywania przydzielona mu przestrzeń pamięci jest zwalniana. System operacyjny korzysta z wielu technik zarządzania pamięcią masową, aby śledzić wszystkie przydzielone lub wolne miejsca.

Ciągłe przydzielanie pamięci

Jest to najprostsza technika alokacji przestrzeni dyskowej, w której do każdego programu przypisywane są ciągłe lokalizacje pamięci. System operacyjny musi oszacować ilość pamięci wymaganej dla całego procesu przed przydzieleniem.

Nieciągłe przydzielanie pamięci

Jak sama nazwa wskazuje, program i związane z nim dane nie muszą być przechowywane w sąsiadujących lokalizacjach. Program jest podzielony na mniejsze komponenty, a każdy komponent jest przechowywany w innym miejscu. Tabela przechowuje zapis, gdzie jest przechowywany każdy składnik programu. Gdy procesor musi uzyskać dostęp do dowolnego składnika, system operacyjny zapewnia dostęp przy użyciu tej tabeli alokacji.

W prawdziwym scenariuszu pamięć podstawowa może nie być wystarczająca do przechowywania całego programu. W takim przypadku OS korzysta z pomocyVirtual Storagetechnika, w której program jest fizycznie przechowywany w pamięci dodatkowej, ale wydaje się być przechowywany w pamięci podstawowej. Wprowadza to niewielkie opóźnienie w dostępie do komponentów programu. Istnieją dwa podejścia do magazynów wirtualnych -

  • Program paging - Program jest podzielony na stały rozmiar pagei przechowywane w pamięci dodatkowej. Podano stronylogical address or virtual addressod 0 do n. ZApage table odwzorowuje adresy logiczne na adresy fizyczne, które są używane do pobierania stron, gdy jest to wymagane.

  • Program segmentation - Program jest podzielony na jednostki logiczne o nazwie segments, przypisany adres logiczny od 0 do n i przechowywany w pamięci dodatkowej. ZAsegment table służy do ładowania segmentów z pamięci dodatkowej do pamięci podstawowej.

Systemy operacyjne zazwyczaj używają kombinacji segmentacji stron i programów w celu optymalizacji wykorzystania pamięci. Duży segment programu może być podzielony na strony lub więcej niż jeden mały segment może być przechowywany jako pojedyncza strona.

Zarządzanie plikami

Dane i informacje są przechowywane na komputerach w postaci plików. Zarządzanie systemem plików w celu umożliwienia użytkownikom bezpiecznego i prawidłowego przechowywania danych jest ważną funkcją systemów operacyjnych. Zarządzanie systemami plików przez system operacyjny nazywa sięfile management. Zarządzanie plikami jest wymagane, aby zapewnić narzędzia do tych działań związanych z plikami -

  • Tworzenie nowych plików do przechowywania danych
  • Updating
  • Sharing
  • Zabezpieczanie danych za pomocą haseł i szyfrowania
  • Odzyskiwanie w przypadku awarii systemu

Zarządzanie urządzeniami

Proces wdrażania, obsługi i konserwacji urządzenia przez system operacyjny to tzw device management. System operacyjny wykorzystuje oprogramowanie narzędziowe o nazwiedevice driver jako interfejs do urządzenia.

Gdy wiele procesów uzyskuje dostęp do urządzeń lub żąda dostępu do urządzeń, system operacyjny zarządza urządzeniami w sposób efektywnie współdzielony przez wszystkie procesy. Przetwarza dostęp do urządzeń za pośrednictwemsystem call interface, interfejs programowania dostarczany przez system operacyjny.