logo

Buforowanie w systemie operacyjnym

W systemie operacyjnym musieliśmy przekazać dane wejściowe procesorowi, a procesor wykonuje instrukcje i ostatecznie podaje dane wyjściowe. Ale był problem z tym podejściem. W normalnej sytuacji mamy do czynienia z wieloma procesami i wiemy, że czas potrzebny na wykonanie operacji we/wy jest bardzo duży w porównaniu do czasu potrzebnego procesorowi na wykonanie instrukcji. Zatem w starym podejściu jeden proces podaje dane wejściowe za pomocą urządzenia wejściowego i w tym czasie procesor znajduje się w stanie bezczynności.

porządek leksykograficzny

Następnie procesor wykonuje instrukcję, a dane wyjściowe są ponownie przekazywane do jakiegoś urządzenia wyjściowego i w tym momencie procesor również znajduje się w stanie bezczynności. Po pokazaniu wyniku, następny proces rozpoczyna wykonywanie. Dlatego przez większość czasu procesor jest bezczynny, co jest najgorszym stanem, jaki możemy spotkać w systemach operacyjnych. Tutaj pojawia się koncepcja buforowania.

Co to jest buforowanie

Buforowanie to proces, podczas którego dane są tymczasowo przechowywane w celu wykorzystania ich i wykonania przez urządzenie, program lub system. Dane są wysyłane i przechowywane w pamięci lub innej pamięci ulotnej, dopóki program lub komputer nie zażąda ich wykonania.

SPOOL to skrót od jednoczesne operacje peryferyjne online . Ogólnie rzecz biorąc, bufor jest utrzymywany w pamięci fizycznej komputera, buforach lub przerwaniach specyficznych dla urządzenia we/wy. Szpula przetwarzana jest w kolejności rosnącej, pracując w oparciu o algorytm FIFO (pierwsze weszło, pierwsze wyszło).

Buforowanie oznacza umieszczanie danych różnych zadań we/wy w buforze. Bufor ten to specjalny obszar w pamięci lub na dysku twardym, do którego mają dostęp urządzenia wejścia/wyjścia. System operacyjny wykonuje następujące czynności związane ze środowiskiem rozproszonym:

  • Obsługuje buforowanie danych urządzeń we/wy, ponieważ urządzenia mają różne szybkości dostępu do danych.
  • Utrzymuje bufor buforowania, który stanowi stację oczekującą, w której dane mogą odpocząć, podczas gdy wolniejsze urządzenie nadrabia zaległości.
  • Utrzymuje obliczenia równoległe ze względu na proces buforowania, ponieważ komputer może wykonywać operacje we/wy w kolejności równoległej. Staje się możliwe, że komputer będzie odczytywał dane z taśmy, zapisywał je na dysku i zapisywał na drukarce taśmowej podczas wykonywania swoich zadań obliczeniowych.

Jak działa buforowanie w systemie operacyjnym

W systemie operacyjnym buforowanie przebiega w następujących krokach, takich jak:

  1. Buforowanie polega na utworzeniu bufora zwanego SPOOL, który służy do wstrzymywania zadań i danych do czasu, aż urządzenie, w którym utworzono SPOOL, będzie gotowe do użycia i wykonania zadania lub operacji na danych.
  2. Kiedy szybsze urządzenie wysyła dane do wolniejszego urządzenia w celu wykonania jakiejś operacji, wykorzystuje dowolną podłączoną pamięć dodatkową jako bufor SPOOL. Dane te są przechowywane w SPOOL do czasu, aż wolniejsze urządzenie będzie gotowe do pracy na tych danych. Gdy wolniejsze urządzenie będzie gotowe, dane w SPOOL zostaną załadowane do pamięci głównej w celu wykonania wymaganych operacji.
    Buforowanie w systemie operacyjnym
  3. Buforowanie traktuje całą pamięć dodatkową jako ogromny bufor, w którym można przechowywać wiele zadań i danych potrzebnych do wielu operacji. Zaletą buforowania jest to, że może utworzyć kolejkę zadań wykonywanych w kolejności FIFO w celu wykonania zadań jedno po drugim.
  4. Urządzenie może łączyć się z wieloma urządzeniami wejściowymi, co może wymagać pewnych operacji na ich danych. Zatem wszystkie te urządzenia wejściowe mogą umieszczać swoje dane w pamięci dodatkowej (SPOOL), które następnie mogą być wykonywane jedno po drugim przez urządzenie. Dzięki temu procesor nie będzie w żadnym momencie bezczynny. Można więc powiedzieć, że buforowanie jest połączeniem buforowania i kolejkowania.
  5. Gdy procesor wygeneruje pewne dane wyjściowe, dane wyjściowe są najpierw zapisywane w pamięci głównej. Dane wyjściowe są przesyłane do pamięci dodatkowej z pamięci głównej, a stamtąd dane wyjściowe są wysyłane do odpowiednich urządzeń wyjściowych.

Przykład buforowania

Największym przykładem buforowania jest druk . Dokumenty przeznaczone do druku zapisywane są w SPOOL i następnie dodawane do kolejki do druku. W tym czasie wiele procesów może wykonywać swoje operacje i korzystać z procesora, nie czekając, aż drukarka wykona proces drukowania dokumentów jeden po drugim.

Buforowanie w systemie operacyjnym

Do procesu buforowania drukowania można także dodać wiele funkcji, takich jak ustawianie priorytetów lub powiadamianie o zakończeniu procesu drukowania lub wybieranie różnych rodzajów papieru do drukowania zgodnie z wyborem użytkownika.

Zalety buforowania

Oto następujące zalety buforowania w systemie operacyjnym, takie jak:

tablica vs lista tablic
  • Liczba urządzeń wejścia/wyjścia lub operacji nie ma znaczenia. Wiele urządzeń wejścia/wyjścia może współpracować jednocześnie bez żadnych wzajemnych zakłóceń i zakłóceń.
  • Podczas buforowania nie ma interakcji pomiędzy urządzeniami we/wy a procesorem. Oznacza to, że procesor nie musi czekać na wykonanie operacji we/wy. Wykonanie takich operacji zajmuje dużo czasu, więc procesor nie będzie czekał na ich zakończenie.
  • Procesor w stanie bezczynności nie jest uważany za bardzo wydajny. Większość protokołów jest tworzona w celu efektywnego wykorzystania procesora w jak najkrótszym czasie. Podczas buforowania procesor jest przez większość czasu zajęty i przechodzi w stan bezczynności dopiero po wyczerpaniu się kolejki. Zatem wszystkie zadania są dodawane do kolejki, a procesor zakończy je i przejdzie w stan bezczynności.
  • Pozwala aplikacjom działać z szybkością procesora, jednocześnie obsługując urządzenia we/wy z ich pełną szybkością.

Wady buforowania

W systemie operacyjnym buforowanie ma następujące wady, takie jak:

  • Buforowanie wymaga dużej ilości pamięci w zależności od liczby żądań wysyłanych na wejście i liczby podłączonych urządzeń wejściowych.
  • Ponieważ SPOOL jest tworzony w pamięci dodatkowej, jednoczesne działanie wielu urządzeń wejściowych może zająć dużo miejsca w pamięci dodatkowej, a tym samym zwiększyć ruch na dysku. Powoduje to, że dysk staje się coraz wolniejszy w miarę zwiększania się ruchu.
  • Buforowanie służy do kopiowania i wykonywania danych z wolniejszego urządzenia na szybsze urządzenie. Wolniejsze urządzenie tworzy SPOOL do przechowywania danych w kolejce, a procesor na nich pracuje. Ten proces sam w sobie sprawia, że ​​buforowanie jest bezużyteczne w środowiskach czasu rzeczywistego, w których potrzebujemy wyników w czasie rzeczywistym z procesora. Dzieje się tak dlatego, że urządzenie wejściowe jest wolniejsze i dlatego generuje dane w wolniejszym tempie, podczas gdy procesor może działać szybciej, więc przechodzi do następnego procesu w kolejce. Dlatego też ostateczny wynik lub produkt końcowy jest generowany później, a nie w czasie rzeczywistym.

Różnica między buforowaniem a buforowaniem

Buforowanie i buforowanie to dwa sposoby, dzięki którym podsystemy we/wy poprawiają wydajność i efektywność komputera poprzez wykorzystanie miejsca w pamięci głównej lub na dysku.

Buforowanie w systemie operacyjnym

Podstawowa różnica między buforowaniem a buforowaniem polega na tym, że buforowanie nakłada się na operacje we/wy jednego zadania z wykonaniem innego zadania. Dla porównania, buforowanie nakłada się na operacje we/wy jednego zadania z wykonaniem tego samego zadania. Poniżej znajduje się kilka dodatkowych różnic między buforowaniem a buforowaniem, takich jak:

Warunki Buforowanie Buforowanie
Definicja Buforowanie, akronim od Simultaneous Peripheral Operation Online (SPOOL), umieszcza dane w tymczasowym obszarze roboczym, aby uzyskać do nich dostęp i je przetworzyć przez inny program lub zasób. Buforowanie to czynność polegająca na tymczasowym przechowywaniu danych w buforze. Pomaga w dopasowaniu prędkości strumienia danych pomiędzy nadawcą a odbiorcą.
Zapotrzebowanie na zasoby Buforowanie wymaga mniejszego zarządzania zasobami, ponieważ różne zasoby zarządzają procesem dla określonych zadań. Buforowanie wymaga lepszego zarządzania zasobami, ponieważ ten sam zasób zarządza procesem tego samego podzielonego zadania.
Wdrożenie wewnętrzne Buforowanie nakłada dane wejściowe i wyjściowe jednego zadania na obliczenia innego zadania. Buforowanie nakłada dane wejściowe i wyjściowe jednego zadania na obliczenia tego samego zadania.
Wydajny Buforowanie jest bardziej wydajne niż buforowanie. Buforowanie jest mniej wydajne niż buforowanie.
Edytor Buforowanie może również przetwarzać dane w odległych lokalizacjach. Bufor musi jedynie powiadamiać o zakończeniu procesu w lokalizacji zdalnej, aby buforować następny proces do urządzenia po stronie zdalnej. Buforowanie nie obsługuje zdalnego przetwarzania.
Rozmiar w pamięci Traktuje dysk jako ogromną szpulę lub bufor. Bufor to ograniczony obszar w pamięci głównej.