W przypadku pamięci mechanicznej działanie dysku niskiego poziomu seek()powoduje, że głowice dysków twardych przemieszczają się w miejsce, dzięki czemu są gotowe do odczytu z danego obszaru dysku.
Dzięki pamięci półprzewodnikowej, takiej jak karty SD, dyski flash i dyski SSD, nie ma ruchomych części sprzętu, a jedynie sygnały elektryczne.
Zakładając, że nieulotna technologia pamięci RAM NAND jest podstawą sprzętu, jaką funkcję seek()faktycznie wykonuje na poziomie sprzętowym takiego urządzenia?
Żeby było jasne, już wiem, że dzieje się tak:
Program przestrzeni użytkownika wywołuje
seek()wywołanie systemowe lub odpowiednik specyficzny dla systemu operacyjnegoJądro interpretuje wywołanie systemowe i wysyła komunikat do kontrolera SATA w celu wyszukania
Kontroler SATA interpretuje polecenie i mówi podłączonemu urządzeniu dyskowemu, które jest w stanie stałym, aby szukał (a może jest wystarczająco inteligentny, aby rozpoznać, że jest w stanie stałym, a nawet nie mówi?)
Co ja nie wiem, jest urządzenie półprzewodnikowe robi ??? z poleceniem „szukać”.
Jeśli istnieją szczegóły, które zależą od systemu operacyjnego, załóż względnie standardową wersję GNU / Linux na komputery stacjonarne z jądrem w wersji 3.2.