http://www.osdever.net/tutorials/chs_lba.php?the_id=87

LBA는 1부터 시작하는 논리 섹터
CHS는 실린더, 헤더 섹터로 나뉘는 단위

트랙당섹터수 는 일반적으로 18 (더 클수 있음)
헤드수는 일반적으로 2 (1일 수 있음)

Ralf Brown의 인터럽트 리스트나
BIOS Specification 문서(피닉스 홈피 뒤지면 있음) 보면 그거 나와 있습니다.
INT 13h/AH=08h를 사용하면 현재 사용중인 하드디스크의
Cylinder/Head/Sector 정보가 리턴됩니다.

또 요즘 돌아다니는 기가급 하드들은 이 정보가 다 짜가라는것도 아시죠.
예전 소프트웨어와의 호환성을 위해서 일부러 조작된 값을 보내주죠. 그리고
그 CHS로 액세스할경우 BIOS나 하드디스크 컨트롤러가 알아서 LBA로
바꿔버립니다.

트랙 = 실린더

논리적섹터번호 = (헤드번호 * 트랙당섹터수) + (트랙번호 * 트랙당섹터수*총헤드수) + (섹터번호 -1)

섹터번호 = (LBA % 트랙당섹터수) + 1
트랙번호 = LBA / 트랙당섹터수 / 총헤드수
헤드번호 = LBA / 트랙당섹터수 % 총헤드수

파일이 저장될때 데이터의 저장순서는 보통은 다음과 같습니다.하지만 반드시 그러한 것은 아니며 인터리브방식은 2개이상씩 섹터를 건너뛰며 접근합니다.만약 섹터 1~63 / 트랙 0 ~ 1024 / 헤드 0 ~ 15 인경우설명의 편의상 섹터는 S 트랙은 C 헤드는 H로 표시하겠습니다.S1~63 > H0~15 > C0~1024

종 류 기록 면수 디스크당 트랙수 트랙당 섹터수 섹터당 바이트수 용량
           Head        Cylinder
5.25   2D    2               40             9            512 360KB

5.25  2HD    2               80            15            512 1.2MB

3.5   2DD    2               80             9            512 720KB

3.5   2HD    2               80            18            512 1.44MB

'KB > RTOS' 카테고리의 다른 글

[링크-동영상 강좌] 마이크로프로세서의 이해, 그리고 운영체제와의 관계  (1) 2006.01.11
rtos 관련  (0) 2006.01.11
microkernel  (0) 2005.10.05
semaphore, mutex, critical section  (0) 2005.10.05
os scheduling종류  (0) 2005.10.05

+ Recent posts