전통문화대전망 - 음식 관습 - 디스크 주소 지정 방법
디스크 주소 지정 방법
하드 디스크에는 두 가지 주소 지정 모드가 있습니다. 하나는 C/H/S(실린더/헤드/섹터) 주소 지정 모드로, 3차원 주소 지정 모드라고도 합니다. 하드디스크가 사용하는 모드. 당시 하드디스크의 용량은 아직 매우 작았습니다. 사람들은 플로피 디스크와 유사한 구조를 사용하여 하드디스크를 생산했습니다. 즉, 하드디스크 플래터의 각 트랙은 동일한 번호를 가졌습니다. 이는 소위 3D 매개변수(디스크 기하학), 즉 헤드 수(Heads), 실린더 수(Cylinders), 섹터 수(Sectors) 및 해당 주소 지정 방법으로 이어집니다.
오래된 하드 드라이브에서는 각 트랙이 동일한 수의 섹터를 갖기 때문에(플로피 디스크와 동일) 외부 트랙의 기록 밀도가 내부 트랙의 기록 밀도보다 훨씬 낮으므로 많은 낭비가 발생합니다. 디스크 공간. 이 문제를 해결하고 하드 디스크 용량을 더욱 늘리기 위해(C/H/S 주소 지정 용량은 제한되어 있으며 이는 나중에 언급함) 사람들은 균등 밀도 구조를 사용하여 하드 디스크, 즉 섹터를 생산하는 방식으로 전환했습니다. 외부 트랙의 내부 링보다 더 많은 트랙이 있습니다. 이 구조를 채택하면 하드 디스크에는 더 이상 실제 3D 매개변수가 없으며 주소 지정 모드도 선형 주소 지정, 즉 섹터 단위로 주소 지정되는 방식으로 변경됩니다. 이 주소 지정 모드를 LBA(Logic Block Address)라고 합니다. 섹터의 논리 블록 주소).
섹터의 3차원 물리적 주소는 하드 디스크의 물리적 섹터와 일대일로 대응됩니다. 즉, 3차원 물리적 주소는 하드 디스크의 물리적 섹터를 완전히 결정할 수 있습니다. . LBA 모드에서는 시스템은 모든 물리 섹터를 일정한 방법이나 규칙에 따라 선형적으로 번호가 부여된 섹터, 즉 0부터 특정 최대값까지 배열하여 선으로 연결한 것으로 간주하고, LBA를 전체적으로 처리하는 것으로 간주하고, 특정 실제 C/H/S 값이 아닌 하나의 서수만 사용하여 고유한 물리적 섹터를 결정합니다. 분명히 선형 주소는 물리적 섹터의 논리적 주소입니다.
C/H/S 주소 지정을 사용하는 기존 소프트웨어(예: BIOS Int13H 인터페이스를 사용하는 소프트웨어)와 호환되기 위해 주소 변환기가 하드 디스크 컨트롤러 내부에 설치됩니다. C/H/S 매개변수 변환은 LBA 주소로 변환됩니다.
그렇다면 LBA 주소는 실제 C/H/S 값과 어떻게 일치할까요? C/H/S 주소를 LBA 주소로 변환하고 LBA 주소를 C/H/S 값으로 변환하는 방법은 무엇입니까?
먼저 C/H/S에서 LBA 선형 주소로의 변환 규칙을 이해해 보겠습니다. 시스템은 실린더에서 실린더로 데이터를 쓰기 때문에 이전 실린더에 데이터가 채워진 후에야 자기 헤드가 다음 실린더로 이동하고, 실린더에 있는 첫 번째 자기 헤드의 첫 번째 섹터부터 해당 영역이 쓰기 시작합니다. , 이를 통해 디스크 성능을 최적화하므로 물리적 섹터를 선형적으로 처리할 때도 이러한 방식으로 수행됩니다. 즉, 첫 번째 실린더(0 실린더)의 첫 번째 자기 헤드(0 면)의 첫 번째 섹터(1 섹터)는 논리 "0" 섹터로 컴파일되며, 첫 번째 실린더의 첫 번째 자기 헤드(0 면)는 (0 실린더) 첫 번째 실린더(0 실린더)의 두 번째 섹터(섹터 2)는 첫 번째 실린더의 첫 번째 헤드(0 표면)의 63번째 섹터(63 섹터)까지 논리 "1" 섹터로 프로그래밍됩니다( 0 실린더)를 논리 "1" 섹터로 프로그래밍한 다음 첫 번째 실린더(0 실린더)의 첫 번째 섹터(1 섹터)와 두 번째 헤드(1 면)로 이동하여 위의 내용을 컴파일합니다. 논리 "63" 섹터로, 0개 실린더 모두 섹터 번호 지정이 완료된 후 실린더 1의 섹터 0으로 이동하고 모든 섹터 번호가 지정될 때까지 순차적으로 아래쪽으로 진행합니다.
또한 C/H/S의 섹터 번호 범위는 "1"부터 "63"까지인 반면, LBA 모드에서는 섹터 번호가 "0"부터 시작하여 모든 섹터가 순차적으로 번호가 지정됩니다.
이 관계를 숙지하고 나면 두 가지 주소 지정 모드를 서로 변환하는 공식을 나열할 수 있습니다.
C/H/S에서 LBA로의 변환 공식:
C는 현재 실린더 번호, H는 현재 헤드 번호, S는 현재 섹터 번호, CS는 시작 실린더 번호, HS는 시작 헤드 번호, SS는 시작 섹터 번호, PS는 트랙당 섹터 수, PH는 실린더당 트랙 수를 나타내므로 공식은 다음과 같습니다.
LBA= ( C–CS)﹡PH﹡PS+(H–HS)﹡PS+(S–SS)
일반적으로 CS=0, HS=0, SS=1, PS=63, PH =255 .
확인하기 위해 몇 가지 값을 가져와 보겠습니다.
C/H/S=0/0/1일 때 공식을 대체하여 LBA=0을 얻습니다.
C/H/S=0/0/63일 때 공식을 대체하여 LBA=62를 얻습니다.
C/H/S=0/1/1일 때 공식을 대체하여 LBA를 얻습니다. =63
여기에서는 그다지 많은 검증이 필요하지 않습니다. 독자가 직접 다중 값을 검증하도록 요청합니다. LBA에서 C/H/S로의 변환 관계를 살펴보겠습니다.
먼저 DIV와 MOD라는 두 가지 연산을 소개합니다(여기서는 양의 정수 연산을 말합니다). DIV는 정수 나누기 연산이라고 하는데, 피제수를 제수로 나누어 얻은 몫의 정수 부분을 말합니다. 예를 들어, 3 DIV 2=1, 10 DIV 3=3이면 MOD 연산은 몫의 나머지를 취하는 것입니다. 예를 들어 5 MOD 2=1, 10 MOD 3=1입니다. DIV와 MOD는 쌍이며, 하나는 정수 부분을 취하고 다른 하나는 나머지 부분을 사용합니다.
각 매개변수는 여전히 위의 가정을 기반으로 하며 LBA에서 C/H/S로의 변환 공식은 다음과 같습니다.
C=LBA DIV (PH﹡PS)+CS< /p >
H=(LBA DIV PS)MOD PH+HS
S=LBA MOD PS+SS
확인을 위해 여러 값을 가져올 수도 있습니다.
LBA=0일 때 공식을 대체하여 C/H/S=0/0/1을 얻습니다.
LBA=62일 때 공식을 대체하여 C/H/S를 얻습니다. =0/0/63
LBA=63일 때 공식을 대체하여 C/H/S=0/1/1을 얻으세요
- 관련 기사
- 왕휘는 궈더강의 두 번째 아내입니다. 왕휘와 궈치린은 왜 원한 없이 모친처럼 가까워질 수 있을까요?
- 옥루춘류 3 대 기적의 배우 유민은 무림 외전 중 가오리 매미다
- 남자는 대학에서 어떤 전공을 공부해야 하나요?
- '농구화재'에서 위안다잉이 말한 '코트 위에서 우리에게 신임을 주는 사람은 누구인가'의 원문은 무엇인가요?
- 실제 건설 현장의 공장 생활은 어떤가요?
- 결혼식에 빨간 봉투를 보내는 축복은 어떻게 말할까요?
- 세로로 구부러진 획은 어떻게 쓰나요?
- 1에이커당 몇 톤의 달콤한 코끼리풀을 생산할 수 있나요?
- TV 시리즈 '나는 풀이다'의 주제가 Xiaocao를 부른 사람은 누구인가요?
- 덴드로비움은 습기를 제거하는 효과가 있나요? 덴드로비움은 체중을 감량할 수 있나요?