Spooling (rozwijany jako sequential peripheral operation on-line) – tryb realizowania operacji wejścia-wyjścia w odniesieniu do urządzeń o dostępie wyłącznym. Cała zawartość strumienia jest buforowana zanim zostanie przesłana w miejsce docelowe.

Spooling pozwala zapewnić integralność danych wysyłanych do urządzeń pracujących w sposób sekwencyjny. Z punktu widzenia procesów, działających w systemie komputerowym, zapis jest wykonywany, jak gdyby urządzenie docelowe pozwalało na równoczesny wielodostęp. Jednak przesyłane dane trafiają najpierw do bufora na dysku lub w pamięci komputera, który opuszczają dopiero wtedy, gdy program zamknie strumień wyjściowy. Transferem danych do fizycznego akcesorium zajmuje się system operacyjny[1].

Podejście alternatywne polega na przyznawaniu programowi wyłącznego dostępu do urządzenia. Powoduje to problemy w sytuacjach, kiedy proces nie zwolni blokady w dostępie do tegoż. Dodatkowo, jeśli aplikacja będzie generowała zawartość strumienia wejściowego na bieżąco, podczas operacji wysyłania, urządzenie zewnętrzne może być zajęte przez dłuższy czas niż byłoby to niezbędne[1].

Typowym zastosowaniem spoolingu jest obsługa drukarki. Rozpoczyna ona pracę dopiero po wyrenderowaniu wszystkich stron i umieszczeniu ich w buforze. Dzięki temu, urządzenie jest zajęte tak krótko, jak to jest możliwe[1], a ewentualne błędy aplikacji nie mają wpływu na sposób zakończenia drukowania. Nieoczekiwane zamknięcie programu w trakcie przygotowywania dokumentu do wydruku nie spowoduje przejścia drukarki w stan nieokreślony np. w połowie strony.

Przypisy

  1. 1 2 3 Buforowanie, spooling i przechowywanie podręczne [online], Informatyka MIMUW [dostęp 2021-06-16].
This article is issued from Wikipedia. The text is licensed under Creative Commons - Attribution - Sharealike. Additional terms may apply for the media files.