Różnica między systemami programowania wieloprogramowego i dzielenia czasu

Multiprogramowanie a systemy podziału czasu

Multiprogramowanie to alokacja więcej niż jednego współbieżnego programu w systemie komputerowym i jego zasobach. Wieloprogramowanie pozwala efektywnie wykorzystywać procesor, umożliwiając różnym użytkownikom efektywne korzystanie z procesora i urządzeń I / O. Wieloprogramowanie zapewnia, że ​​procesor zawsze ma coś do wykonania, co zwiększa wykorzystanie procesora. Z drugiej strony, dzielenie czasu to współdzielenie zasobów obliczeniowych przez kilku użytkowników jednocześnie. Ponieważ pozwoli to dużej liczbie użytkowników na pracę w jednym systemie komputerowym w tym samym czasie, obniży to koszt zapewnienia możliwości obliczeniowych.

Co to jest system wieloprogramowy?

Multiprogramowanie to szybkie przełączanie procesora między kilkoma programami. Program składa się zazwyczaj z kilku zadań. Zadanie zwykle kończy się żądaniem przeniesienia danych, które wymagałoby wykonania niektórych operacji we / wy. Często wykonywano wielozadaniowość, aby procesor był zajęty, podczas gdy aktualnie uruchomiony program wykonuje operacje we / wy. W porównaniu z innymi instrukcjami wykonywania operacje we / wy są bardzo wolne. Nawet jeśli program zawiera bardzo małą liczbę operacji we / wy, większość czasu przeznaczonego na program jest poświęcana na te operacje we / wy. Dlatego użycie tego czasu bezczynności i umożliwienie innym programom wykorzystania procesora w tym czasie zwiększy wykorzystanie procesora. Multiprogramowanie zostało pierwotnie opracowane pod koniec lat 50. XX wieku jako funkcja systemów operacyjnych i zostało po raz pierwszy zastosowane w komputerach mainframe. Dzięki wprowadzeniu technologii pamięci wirtualnej i maszyn wirtualnych korzystanie z multiprogramowania zostało ulepszone.

Co to jest system podziału czasu?

Współdzielenie czasu, wprowadzone w latach 60. XX wieku, polega na współdzieleniu zasobów obliczeniowych przez kilku użytkowników jednocześnie. W systemach współdzielenia czasu kilka terminali jest podłączonych do jednego dedykowanego serwera z własnym procesorem. Działania / polecenia wykonywane przez system operacyjny systemu współdzielenia czasu mają bardzo krótki okres czasu. Dlatego procesor jest przydzielany użytkownikom na terminalach na krótki czas, dzięki czemu użytkownik w terminalu ma wrażenie, że za terminalem ma dedykowany procesor. Krótki okres, w którym polecenie jest wykonywane w systemie współdzielenia czasu, nazywa się wycinkiem czasu lub kwantem czasu. Wraz z rozwojem Internetu systemy dzielenia czasu stały się bardziej popularne, ponieważ drogie farmy serwerów mogą obsługiwać bardzo dużą liczbę klientów korzystających z tych samych zasobów. Ponieważ strony internetowe działają głównie w okresach gwałtownej aktywności, po których następują okresy bezczynności, czas bezczynności jednego klienta może być efektywnie wykorzystany przez drugiego, bez zauważenia opóźnienia.

Jaka jest różnica między systemem programowania wieloprogramowego a systemem podziału czasu?

Główną różnicą między multiprogramowaniem a dzieleniem czasu jest to, że multiprogramowanie to efektywne wykorzystanie czasu procesora, pozwalając kilku programom na korzystanie z procesora w tym samym czasie, ale dzielenie czasu to współdzielenie obiektu komputerowego przez kilku użytkowników, którzy chcą korzystać z tego samego obiektu w tym samym czasie. Każdy użytkownik w systemie współdzielenia czasu otrzymuje własny terminal i ma wrażenie, że używa samego procesora. W rzeczywistości systemy współdzielenia czasu wykorzystują koncepcję multiprogramowania do dzielenia czasu procesora między wieloma użytkownikami jednocześnie.