Dysk (I/O)

Dysk, w odróżnieniu od pamięci RAM, służy do długoterminowego przechowywania danych w postaci plików różnego typu (dokumentów, obrazków, kodu źródłowego, itp.). Można na niego patrzeć jak na rodzaj pamięci trwałej. Rozmiary dysków są liczone w setkach GB (gigabajtów) a nawet sięgają rzędu paru TB (terabajtów), są więc dużo większe niż pamięć komputera. Z tego względu dyski określa się pojęciem pamięć masowa. Potocznie często mówi się o "dysku twardym" – określenie to wywodzi się od starszej technologii, jaką jest HDD (hard disk drive). Współcześnie standardem są znacznie szybsze dyski SSD (solid state drive). Dysk jest podpięty do płyty głównej za pośrednictwem kabla (SATA) albo jest wpięty bezpośrednio do odpowiedniego złącza (SATA M.2, PCIe).

Typy dysków – HDD oraz SSD

HDD (hard disk drive), czyli dysk twardy, korzysta z technologii magnetycznej do zapisywania i odczytywania danych. Wewnątrz dysku znajduje się wirujący talerz pokryty warstwą magnetyczną, a głowica odczytu/zapisu przesuwa się po powierzchni tego talerza. Jest to technologia, która jest używana od wielu lat i jest szeroko dostępna w różnych pojemnościach.

SSD (solid state drive) jest oparty na technologii półprzewodnikowej. W przeciwieństwie do HDD, nie ma ruchomych części wewnątrz dysku. Dane są przechowywane w układach scalonych, co oznacza, że dostęp do danych jest znacznie szybszy, a dysk jest bardziej odporny na wstrząsy i uszkodzenia mechaniczne.

cpu

dysk wpięty do płyty głównej poprzez gniazdo M.2 [źródło]

cpu

klasyczny dysk HDD podpięty do płyty głównej kablem SATA [źródło]

Z perspektywy procesora, dysk jest urządzeniem wejścia/wyjścia czyli urządzeniem I/O (input/output). Komputer może pobierać dane z takiego urządzenia (input) oraz wysyłać do niego dane do zapisu (output). Niskopoziomowo, podobnie do pamięci, dysk można sobie wyobrazić jako zbiór komórek danych, które posiadają swoje adresy, ale niekoniecznie jest to pojedyncza tablica. W przeciwieństwie do RAM, dyski posiadają mniejszą granulację danych. Pojedyncza "komórka" dysku, określana jako sektor (czasem jako blok), przechowuje wiele bajtów. Przykładowo dla dysków HDD typowy rozmiar bloku to 512 bajtów.

Inne nośniki danych

Oprócz dysków HDD i SSD, istnieją również inne rodzaje trwałej pamięci masowej. Są to pamięci USB (pendrive), karty pamięci, dyski zewnętrzne czy płyty CD/DVD. Z perspektywy komputera na wszystkie te nośniki patrzy się tak samo – są to urządzenia wejścia/wyjścia, które pełnią taką samą rolę jak dysk. W praktycznym zastosowaniu różnią się one możliwą do uzyskania szybkością transferu oraz pojemnością, czasem ograniczeniem zapisu danych (jak w przypadku płyt CD/DVD). Warto zwrócić uwagę, że na przepustowość danego nośnika wpływ ma nie tylko samo urządzenie, ale również rodzaj łącza jakim dany nośnik jest podpięty do komputera czy jego płyty głównej (np. USB, SATA, PCIe).

Procesor nie pracuje bezpośrednio na danych przechowywanych na dysku. Zamiast tego wysyła odpowiednie żądanie, które powoduje pobranie danych z dysku i ich umieszczenie w pamięci RAM w celu dalszego przetwarzania. Analogicznie jest wykonywany zapis. Działa to podobnie jak transfer danych między RAM a rejestrami CPU, lecz wykorzystuje znacznie większe porcje danych.

W praktyce dane na dysku są zorganizowane w sposób hierarchiczny w postaci plików i folderów. Z perspektywy programu interakcja z dyskiem jest zorganizowania w formie tzw. operacji I/O. Są to operacje typu otwarcie pliku, odczyt danych (całości lub fragmentu) z pliku, zapis danych, zamknięcie pliku.

W porównaniu do prędkości CPU lub czasu dostępu do RAM, operacje I/O są dużo bardziej czasochłonne. Transfer danych z dysku jest relatywnie wolny. Nawet najszybsze dyski SSD mają znacznie wolniejszą prędkość niż pamięć RAM. Z perspektywy CPU pośredniość w dostępie do danych z dysku jeszcze bardziej wydłuża czas oczekiwania – najpierw dane trzeba załadować do RAM, a dopiero później mogą one trafić do rejestrów CPU, by tam zostały przetworzone.


Ostatnia aktualizacja: 7 grudnia 2023