Amiga 오래된 파일 시스템

Amiga Old File System

Amiga에서는 오래된 파일 시스템이 Amiga의 파일 시스템이었습니다.Amiga Fast File System 이전의 OS.512바이트 블록을 사용했지만 메타데이터를 위해블록의 첫 번째 작은 부분을 예약하여 블록당 488바이트의 실제 데이터 블록 용량을 남겼습니다.그것은 플로피 디스크를 제외한 어떤 것에도 적합하지 않았고, 곧 교체되었다.

역사

원래는 Amiga File System으로 알려졌으며, 첫 번째 버전의 Amiga DOS의 기반이 된 TRIPOS의 파일 시스템에서 유래했습니다.Fast File System이 AmigaOS 1.3과 함께 출시되었을 때 "Old" 또는 "Original" 파일 시스템이라는 별명을 얻었습니다.

OFS는 문제 발생 시 파일 시스템 복구에 매우 효과적이지만, 서드파티 소프트웨어 제조업체가 제공하는 No-DOS 타입의 오토스타트 디스크를 게임용 부팅 디스크로 복구할 수 없기 때문에 Commodore가 제공하는 DiskDestroyer라는 이름을 빠르게 얻었습니다.비표준 자동 부트 가능 디스크를 만드는 아이디어는 Amiga 그래픽, 오디오 및 메모리 칩셋에 직접 액세스하기 위해 이러한 디스크의 복사를 방지하고 Amiga DOS의 로드 및 시작을 피하기 위한 원시적인 시도에서 비롯되었습니다.실제로 DiskDoctor는 자동 시작 디스크 부트 블록을 표준 AmigaDOS 기반 부트 블록으로 변경했으며 디스크 이름을 "Lazarus"로 변경하여 자동 시작 디스크를 사용할 [1]수 없게 만들었습니다.

아미가의 특징DOS 플로피 디스크

Amiga는 플로피 디스크를 처리할 때 기본적으로 MFM 인코딩/디코딩을 사용합니다.Amiga 플로피 디스크에는 80개의 실린더가 있습니다.각 실린더에는 디스크의 양쪽에 하나씩 2개의 MFM 트랙이 있습니다.Double Density(DD; 배밀도) 디스크는 MFM 트랙당 11개의 섹터가 있으며 고밀도(HD) 디스크는 22개의 섹터가 있습니다.

Amiga 플로피 디스크의 구조는 다음과 같습니다.

  • DD 디스크: 섹터당 512바이트, 섹터/트랙 11개, 트랙/사이클 2개, 디스크당 80cyl
  • HD 디스크: 섹터당 512바이트, 섹터/트랙 22개, 트랙/사이클 2개, 디스크당 80cyl

DD 디스크에는 11 * 2 * 80 = 1760 (0 ~ 1759) 블록이 있으며 HD 디스크에는 22 * 2 * 80 = 3520 블록이 있습니다.

Amiga는 DD 디스크에 880KiB, HD 플로피 디스크에 1760KiB를 저장합니다.

Amiga의 파일 특성DOS

AmigaOS 3.5 이전 버전, AmigaDOS 파일 핸들은 다음 읽기 또는 쓰기 작업을 시작할 위치를 알려주는 32비트 와이드 오프셋 매개 변수(부호 없음)를 유지했습니다.따라서 이러한 운영 체제에서 단일 Amiga 파일의 최대 크기는 2 = 4 GiB입니다32.Amiga OS 3.5 이후 파일 핸들은 2 = 16 EiB 파일을 참조할64 수 있습니다.그러나 OFS 포맷된 디스크는 미디어에 기록되는 포맷의 본질적인 제한이기 때문에 32비트 제한을 계속 유지합니다.

OFS 데이터록에는 블록사이즈 BSIZE-24 바이트(일반적으로 가장 자주 사용되는 BSIZE는 488 바이트)가 저장됩니다.

루트 블록은 미디어의 물리적 중간(DD Disk의 경우 블록 번호 880, HD의 경우 블록 1760)에 위치합니다.이를 통해 탐색 시간을 최소화할 수 있습니다.

저장 위치에 대한 정확한 계산은 다음과 같습니다.

numCyls = highCyl - lowCyl + 1 highKey = numCyls * numSurfaces * numBlocksPerTrack - 1 rootKey = INT (numReserved + highKey) / 2

루트 블록에는 디스크에 대한 정보(이름, 포맷 날짜 등)가 포함되어 있습니다.또한 최상위(루트) 디렉터리에 있는 파일/디렉토리/링크에 대한 액세스 정보도 포함되어 있습니다.

파일 및 볼륨 이름에는 '/' 및 ':' 문자를 사용할 수 없지만 *!@#$%^+&_()=\-[]{}';, <>?' are'와 같은 발음 구별 마크가 있는 글자는 사용할 수 있습니다.

루트 블록(및 기타 블록)의 날짜 필드는 DAYS, MINS 및 TICKs 형식으로 구성됩니다.DAYS 필드에는 1978년 1월 1일 이후의 일수가 포함됩니다.MINS는 자정 이후 경과한 시간(분)으로, TICKs는 1/50초 단위로 표시됩니다.대부분의 프로그램에서는 day 값이 0이면 불법으로 간주됩니다.DAYS 값은 32비트 수치로 저장되므로 Amiga 파일 시스템에는 2000년 문제2038년 문제는 없습니다.

파일, 디렉토리 또는 링크, Amiga에 접속하려면DOS는 해시 함수를 사용하여 디스크 블록 내의 어떤 32비트 워드를 해시 버킷목록 포인터로 사용할지를 계산합니다.이것에는 파일, 디렉토리 또는 링크레코드가 포함됩니다.버킷 목록은 동일한 오프셋으로 해시되는 이름을 가진 파일 시스템 개체를 지원하기 위해 사용됩니다.예를 들어 file_1a, file_24file_5u의 해시 값은 동일합니다.

파일 이름 문자는 소문자와 대문자일 수 있지만 액세스 시 대소문자를 구분하지 않습니다.즉, 같은 디렉토리에 있는 「MyFile」과 「myFile」은 같은 파일을 참조합니다.

파일은 파일에 대한 정보(크기, 마지막 액세스 시간, 데이터 블록 포인터 등)를 포함하는 파일 헤더 블록과 실제 데이터를 포함하는 데이터 블록으로 구성됩니다.파일 헤더 블록에는 최대 BSIZE/4-56 데이터 블록포인터가 포함되어 있습니다(통상 512바이트 블록에서는 72엔트리).파일이 그 크기보다 크면 파일 확장자 블록이 데이터 블록 포인터를 유지하기 위해 할당됩니다.파일 확장자 블록은 파일 헤더 블록('확장자 필드')에서 시작하는 링크된 목록으로 구성됩니다.

「 」를 참조해 주세요.

외부 링크