고급 디스크 파일링 시스템
Advanced Disc Filing System![]() |
개발자 | Hugo Tyson, Nick Reeves (Acorn Computers) |
---|---|
풀네임 | 고급 디스크 파일링 시스템 |
소개했다 | Acon MOS 사용 | 전(
파티션 식별자 | Hugo 또는Nick (디렉토리 머리글/바닥글) |
구조물들 | |
디렉토리 내용 | 계층형 고정 길이 테이블 |
파일 할당 | 파일당 1개의 범위와 빈 공간 범위 테이블(L), 내장 파일 ID가 있는 비트맵(E) |
불량 블록 | 없음(L),[1] 비트맵(E)으로 표시됨 |
한계 | |
최대 볼륨 크기 | 512 MB |
최대 파일 크기 | 512 MB |
최대 파일 수 | 디렉토리당 47(L), 디렉토리당 77(E) |
최대 파일 이름 길이 | 10글자 |
파일 이름에 허용되는 문자 | ASCII(Acorn MOS), ISO 8859-1(RISC OS) |
특징들 | |
기록된 날짜 | 수정. |
날짜 범위 | 1900년 1월 1일 - 2248년 6월 3일 |
날짜 해결 | 10 밀리초 |
포크 | 아니요. |
특성 | 로드 주소, 실행 주소 및 파일 사이클 번호(Acorn MOS), 파일 형식 및 수정 시간(RISC OS), 사용자 읽기/쓰기/실행 전용, 공용 읽기/쓰기/실행 전용, 삭제 잠금 |
파일 시스템 권한 | 없음. |
투과적 압축 | 아니요. |
투과적 암호화 | 아니요. |
데이터 중복 배제 | 아니요. |
다른. | |
지원되는 운영 체제 | Acorn MOS, RISC OS |
ADFS(Advanced Disc Filing System)는 Acon 컴퓨터 제품군 및 RISC OS 기반 후계 제품에만 고유한 컴퓨팅 파일 시스템입니다.처음에는 희귀한 Acon Winchester Filing System을 기반으로 플로피 디스크 지원(WD1770 플로피 디스크 컨트롤러 사용)이 추가되었을 때 Advanced Disc Filing System으로 이름이 변경되었습니다.이후 32비트 시스템에서는 PC 스타일의 플로피 [2]컨트롤러의 변형입니다.
Acorn의 원래 디스크 파일링 시스템은 디스크 표면당 31개의 파일, 파일 이름당 7개의 문자, 디렉토리 이름의 단일 문자로 제한되었습니다. 이 형식은 이전의 Atom 및 System 3-5 유로카드 컴퓨터에서 상속되었습니다.이러한 제한을 극복하기 위해 Acorn은 ADFS를 개발했습니다.가장 극적인 변화는 계층적 디렉토리 구조의 도입이었다.파일명의 길이는 7글자에서 10글자로 증가하였고 디렉토리 내의 파일 수는 47글자로 확장되었습니다.DFS로부터의 피상적인 속성도 몇 가지 남아 있습니다.디렉토리 구분자는 계속 점으로 되어 있습니다.$
파일 시스템의 계층 루트를 나타냅니다. ^
부모 디렉토리를 참조하기 위해서 사용되었습니다.@
현재 디렉토리 및\
는 이전에 복사된 디렉토리입니다.
BBC Master Compact에는 ADFS 버전 2.0이 포함되어 있어 ROM에 format, verify 및 backup 명령을 추가했지만 하드 [3]디스크 지원은 생략했습니다.
8비트 사용방법
8비트 시스템의 ADFS에는 WD1770 이후의 1772 시리즈 플로피 컨트롤러가 필요했습니다.이는 인텔 8271 칩이 ADFS에 대응할 수 없기 때문입니다.그러나 ADFS를 사용하여 1770 컨트롤러 없이 하드 디스크를 지원할 수 있었습니다. 개발 시 하드 디스크를 사용하는 것이 주된 목표였으며 플로피 디스크 처리를 위한 확장은 [citation needed]나중에 이루어졌습니다.1770 플로피 컨트롤러는 마스터 시리즈 및 B+ [4]모델의 설계에 직접 통합되어 이전 모델 [5][6]B의 업그레이드 보드로 사용할 수 있었습니다.ADFS는 모델 B 및 B+ 시스템에 추가 업그레이드를 [7]통해 추가할 수 있습니다.
Acon Electron의 공식 디스크 확장인 Acon Plus 3에는 ADFS가 표준으로 제공되었지만, 이번 구현에는 다양한 주목할 만한 버그가 있습니다.라고 하는 파일ZYSYSHELP는 "시스템에 의해 요구"되었으며 [8]: 7 포맷 중에 작성되었습니다.이건 크러지였어플로피 디스크의 처음 몇 개의 트랙에 쓸 때 Acorn의 초기 ADFS 구현은 신뢰할 수 없었기 때문에 이는 "수정"이었고 의심스러운 부분에 가비지가 가득 찬 파일을 쓰는 것을 포함했습니다.그 후 ADFS는 [citation needed]그것을 건너뜁니다.깜박이는 텍스트 [9][note 1]커서를 사용하지 않고 명령을 사용하려고 할 때도 디스크가 손상될 수 있습니다.ADFS의 주요 개발자인 Hugo Tyson은 이 버그가 늦은 테스트 중에 발견되었지만 해결 방법이 존재하기 때문에 늦은 변경을 피하기 위해 초기 ROM 릴리스에서는 수정되지 않았다고 회상합니다.
Electron에서는 디스크 포맷이 *FORM80established / DFS 명령 대신 명령어로 이루어졌습니다.또한 이 명령어는 BBC Microcomputer의 1770 ADFS에 대응하는 명령어와 다릅니다.이는 Electron에 ZYSYSHELP 파일을 생성해야 하기 때문일 수 있습니다.이 명령어는 Plus3와 함께 제공된 웰컴 디스크에서만 제공되었으며 [8]: 48 ROM에는 포함되지 않았습니다.
ADFS는 하드 디스크와 최대 640KB의 용량을 갖춘5 인치 플로피 디스크를 지원했습니다(L 형식, 싱글사이드 디스크는 S 형식(160KB) 및 M 형식(320KB)으로 지원).BBC 마이크로컴퓨터 시스템(및 이후 RISC OS)에서 구현된 ADFS는 단밀도 플로피를 지원하지 않았습니다.
ADFS의 하드 디스크 지원은 256바이트 [10]블록의 측면에서 L 포맷 플로피와 동일한 형식을 사용했습니다. 트랙과 섹터의 기본 배열은 실제 사용된 드라이브에 따라 달랐지만 SCSI 컨트롤러에 의해 관리되었습니다.BBC Micro의 1MHz 버스, Acon 설계 인터페이스 카드(1MHz Bus to SCSI 어댑터) 및 시판 Adaptec SCSI 컨트롤러(SCSI to ST-506 어댑터)를 통해 ST506/ST412 기반의 Winchester 유닛과 인터페이스합니다.
IDE/ATAPI 스타일 드라이브에 대한 지원은 최근 [11]서드파티에 의해 비공식적으로 추가되었습니다.
ADFS 파일 포맷은 ADFS 작성자 Hugo Tyson의 이름을 딴 디스크의 디렉토리 이름을 구분하기 위해 ASCII 바이트 Hugo를 사용했습니다.
32비트 사용(Arthur 및 RISC OS)
32비트 시스템에서는 WD 1770 또는 1772가 초기에 플로피 컨트롤러로 사용되었습니다.이후 모델에서는 ADFS를 약간 변경해야 하는 PC 스타일의 멀티 I/O 컨트롤러를 사용했습니다.L형 포맷에 대한 레거시 지원 외에도 Arthur와 이후 RISC OS는 BBC Micro의 한계를 극복하는 향상된 포맷을 제공했습니다.
Arthur는 이전 47개에서 디렉토리당 77개의 엔트리를 가진 D 포맷을 추가했습니다.또한 하드 디스크와 800KB의 새로운 이중 밀도 플로피 포맷에서도 사용할 수 있습니다.파일별 "type" 속성이 이전에 로드 및 실행 주소를 저장하기 위해 사용된 공간에 추가되었습니다.유형 정보의 12비트는 파일의 내용 또는 사용 목적을 나타내기 위해 사용됩니다.일반적으로 3자리 16진수로 표시됩니다.이는 Apple의 HFS 파일 시스템에 저장된 32비트 유형 속성과 유사하며 개념적으로는 Unix 시스템에서 Be Operating System(BeOS)에 의한 보다 일반적인 MIME 유형 사용 또는 매직 번호(Magic Number는 메타데이터가 아닌 파일의 일부로 저장됨)와 유사합니다.
RISC OS는 배밀도의 디스크와 고밀도의 디스크/하드 디스크 드라이브에 각각E 및 F 포맷을 도입했습니다.이러한 형식은 파일 조각화(이른바 "새로운 맵"), 조각당 여러 개의 파일 저장 및 디렉토리 테이블에 작은 파일 저장을 지원합니다.할당 전략은 조각화를 최소화하도록 최적화되며 파일 스토리지 [1]작업의 일부로 조각 모음을 수행하는 경우가 있습니다.RISC OS 4 에서는,[citation needed] E+/F+ 포맷을 추가해, 긴 파일명과 디렉토리 마다 77 이상의 파일을 사용할 수 있습니다.Iyonix를 포함한 RISC OS의 최신 버전은 ADFS를 계속 제공하고 있으며, 더 큰 하드 디스크 크기에 대응하도록 확장되었습니다.
8비트의 실장과는 달리, RISC OS에 실장되어 있는ADFS는 일원성이 아닙니다."ADFS"라는 시스템 모듈은 블록 드라이버와 사용자 인터페이스만 제공합니다.여기서 "FileCore" 모듈에는 실제 파일 시스템 구현이 포함되며 FileSwitch에는 VFS 및 고급 파일 액세스 API 구현이 포함됩니다.이를 통해 IDEFS(IDE 애드온 카드에 일반적으로 사용), SCSIF 및 네트워크 인식 AppFS와 같은 다른 하드웨어에서 ADFS 형식을 쉽게 사용할 수 있습니다.FileCore 및 FileSwitch의 기능은 Windows NT의 IFS 및 IO 시스템 매니저와 어떤 면에서 유사합니다.이러한 유연성 덕분에 다른 파일 시스템을 RISC OS에 비교적 쉽게 구현할 수 있게 되었습니다.
다른 플랫폼에서의 ADFS 지원
Linux 커널은 E 형식 이상에 대해 ADFS를 지원합니다.
NetBSD 1.4 이후에서는, NetBSD 에[12] 파일 코어가 서포트되고 있습니다.
Omniflop(Windows 2000 이후) 및 Libdsk 지원 등의 도구를 사용하면 내장 드라이브를 사용하는 PC 시스템에서 ADFS 플로피의 '물리적' 레이아웃을 읽을 수 있습니다.그러나 논리적 구조는 구현되지 않은 채로 남아 있습니다.
레퍼런스
- ^ a b Reeves, Nick (26 October 1990). "E format design document". Retrieved 24 May 2013.
- ^ Advanced Disc Filing System: User Guide (PDF). Acorn Computers Limited. September 1985. Retrieved 1 August 2016.
- ^ "Taking the lid off the Master Compact". Acorn User. October 1986. p. 17. Retrieved 5 September 2020.
- ^ Smith, Bruce (July 1985). "B+ Grading". Acorn User. pp. 160–161. Retrieved 18 October 2020.
- ^ 1770 Disc Interface (PDF). Acorn Computers Limited. Retrieved 6 March 2021.
- ^ 1770 Disc Interface Upgrade Kit Fitting Instructions (PDF). Acorn Computers Limited. August 1985. Retrieved 11 March 2021.
- ^ ADFS upgrade (PDF). Acorn Computers Limited. Retrieved 6 March 2021.
- ^ a b The Electron Plus 3 User Guide (PDF). Acorn Computers Limited. October 1984. Retrieved 6 March 2021.
- ^ Waddilove, Roland (August 1988). "Improving on perfection". Electron User. Vol. 5, no. 11. p. 9. Retrieved 20 January 2021.
- ^ "Acorn 8-Bit ADFS Filesystem Structure" (TXT). Mdfs.net. Retrieved 2016-08-01.
- ^ "BBC IDE Interface - MDFS::Info.Comp.BBC.IDE". MDFS.net. Retrieved 2016-08-01.
- ^ "Changes and NetBSD News in 1998". Netbsd.org. Retrieved 2016-08-01.
- Watford Electronics, "The Advanced Reference Manual for the BBC Master Series", 1988 (p.169)
- Acon Computers Ltd, "BBC Microcomputer System Master Series Reference Manual Part 1", Part No, 0443-001, 제1호, 1986년 3월 - (페이지(J.10-1 ~ J10-3))
메모들
- ^ 이는 명령어가 동작 중에 스크린메모리(디폴트)를 작업공간으로 사용하여 소프트웨어에서 구현된 깜박임 커서가 메모리 공간을 손상시켰기 때문입니다.다른 방법으로는 예를 들어 화면 모드 6에서 워크스페이스에 스크린 이외의 메모리를 사용할 수 있도록 인수를 지정할 수 있습니다.BBC Micro에서는 화면 메모리를 변경하지 않고 6845 CRTC와 Acorn의 비디오 ULA에 의해 깜박이는 커서가 디스플레이 출력에 중첩되었습니다.Acoron Electron은 이러한 추가 하드웨어를 가지고 있지 않았고 커서가 깜박이기 위해 소프트웨어에서 화면 메모리를 변경해야 했다.