Dlaczego łączna liczba sektorów dysku twardego pokazana na fdisku nie jest taka sama jak obliczenia teoretyczne?

9

Gdy używamy fdisk do sprawdzania dysku twardego, wyświetla się coś takiego:

Disk /dev/sda/: 21.5 GB, 21474836480 bytes
255 heads, 63 sectors/track, 2610 cylinders, total 41943040 sectors

Ale kiedy pomnożymy 255 x 63 x 2610, liczba ta wynosi 41929650, nieco mniej niż całkowita liczba. sektorów pokazanych powyżej. Dlaczego?

GreenPenguin
źródło
3
Zdecydowanie powiązane: Interpretacja liczby głów zwróconych przez fdisk na Super User . Pełne ujawnienie: Akceptowana odpowiedź jest moja.
CVn

Odpowiedzi:

14

Numery głowicy, cylindra i sektorów są wyświetlane wyłącznie w celach historycznych i do użytku przez niektóre naprawdę stare oprogramowanie. Adresowanie bloków logicznych służy dziś do adresowania dysków. Geometria współczesnych dysków zazwyczaj ma zmienną liczbę sektorów, ścieżki zewnętrzne mają więcej sektorów niż ścieżki wewnętrzne.

Różne interfejsy mają maksymalne wartości 255 głowic, 63 sektory / ścieżkę, więc aby móc wyrazić wartości CHS dla dużego dysku, są one ustawione na odpowiadające im maksymalne wartości, a liczba cylindrów jest zaokrąglana w dół do najbliższej liczby całkowitej przybliżona wartość całkowitej liczby sektorów na dysku. Rzeczywista liczba sektorów jest zazwyczaj inna, jak widzieliście. Rzeczywista geometria dysku nie jest nawet bliska wartości CHS; prawdopodobnie żaden wyprodukowany dysk nie ma na przykład 255 głowic.

Johan Myréen
źródło
6
„Adresowanie bloków logicznych jest dziś używane do adresowania dysków” - aby dać pewne spojrzenie na ramy czasowe: 22-bitowy LBA został wprowadzony w 1986 r., 28-bitowy w 1994 r., 48-bitowy w 2003 r. Od 1996 r. Wszystkie dyski obsługują LBA . Bez LBA maksymalny rozmiar adresowalnego dysku wynosi ~ 7,8 GiByte w porównaniu do 128 PiByte z LBA48.
Jörg W Mittag