디스크 파일링 시스템

Disc Filing System
DFS
개발자에이콘 컴퓨터
풀네임디스크 파일링 시스템
소개했다1982년, 40년 전(1982년) Acon MOS 사용
파티션 식별자없음.
구조물들
디렉토리 내용31개의 고정 길이 레코드의 단일 카탈로그
파일 할당Start-Length 엔트리
불량 블록없음.
한계
최대 볼륨 크기256 KB
최대 파일 크기255µKB
최대 파일 수31
최대 파일 이름 길이7 문자
파일 이름에 허용되는 문자ASCII
특징들
기록된 날짜없음.
날짜 범위없음
포크아니요.
특성디렉토리 문자, 로드 주소, 실행 주소, 잠금
파일 시스템 권한아니요.
투과적 압축아니요.
투과적 암호화아니요.
다른.
지원되는 운영 체제아콘 MOS

디스크 파일링 시스템(DFS)은 Acon Computers에 의해 개발컴퓨터 파일 시스템으로, 처음에는 Eurocard 기반의 Acon System 2의 추가 기능으로 사용되었습니다.

1981년 웨스턴오스트레일리아와 사우스오스트레일리아 교육부는 학교에 개인용 컴퓨터를 공급하는 공동입찰을 발표했다.Acorn의 호주 컴퓨터 대리점 Barson Computers는 공동 전무이사 Hermann Hauser와 Chris Curry를 설득하여 곧 출시될 Acorn BBC Microcomputer를 번들의 일부로 디스크 스토리지와 함께 제공하도록 했습니다.그들은 Barson이 이용할 수 있는 리소스가 없기 때문에 Acorn의 도움 없이 System 2에서 Acorn DFS를 채택하는 조건으로 합의했다.이를 위해서는 DFS가 BBC Micro와 호환되도록 하기 위해 약간의 하드웨어 및 소프트웨어를 변경해야 했습니다.

Barson은 DFS가 설치된 두 주 모두에서 영국보다 1년 먼저 입찰에 성공했습니다.BBC Micro가 호주 교육 시장에 더욱 집중하게 된 것은 이 초기 이니셔티브였다.Acon Electron이 등장할 때까지 가정용 컴퓨터 시장은 거의 침투하지 않았다.

DFS는 BBC Micro의 메인보드에 장착된 ROM 및 디스크 컨트롤러 칩으로 출고되었습니다.파일링 시스템은 플랫 디렉토리 구조를 사용하여 기능과 스토리지 용량이 극히 제한되었습니다.각 파일명의 길이는 최대 7글자, 파일이 격납되어 [1]있는 디렉토리의 경우는 최대 1글자입니다.

DFS는 대부분의 파일 시스템과 달리 단일 벤더나 구현이 없었다는 점에서 주목할 만합니다.원래의 DFS는, 독자적인 코드 베이스를 계속 유지하고 있는 Acon에 의해서 작성되었지만, 다양한 디스크 드라이브 벤더가 독자적인 실장을 작성했습니다.자체 DFS 구현을 작성한 기업으로는 Cumana, Solidisk, Opus 및 Watford Electronics가 있습니다.Watford Electronics의 실장은 비표준 디스크 포맷을 사용하여 디스크당 62개의 파일을 지원하는 것이 특징입니다.게다가 Solidisk 실장에서는, 디스크 마다 파일을 무제한으로 사용할 수 있는 독자적인 「체인」카탈로그가 도입되었습니다(디스크 [2]사이즈에 의해서만 제약됩니다).서드파티제 실장의 다른 기능으로는 빈 영역을 리뷰할 수 있는 기능, 빌트인 기능 등이 있습니다.FORMAT그리고.VERIFY명령어는 원래 Acon DFS와 함께 유틸리티 디스크에 포함되어 있습니다.

Acorn은 이전 버전과 동일한 디스크 포맷을 사용했지만 일련의 추가 명령어를 추가하여 개선된 WD1770 플로피 드라이브 컨트롤러 칩을 지원했던 Acorn 1770 DFS 시리즈에 이어 출시되었습니다.

물리 형식

DFS는 보통 2배밀도의 5인치 플로피 디스크의 한쪽 면을 사용합니다.디스크는 40 또는 80 트랙으로 포맷되며, 한 면당 용량이 100 또는 200KB(트랙당 256바이트 섹터 10개, FM 인코딩 포함)입니다.

용량은 오리지널 BBC Micro의 Intel 8271 컨트롤러 선택에 의해 제한됩니다.이 컨트롤러는 BBC Micro가 출시되었을 때 이미 일반적으로 사용되고 있던 MFM 인코딩이 아닌 FM 인코딩만 지원합니다.FM 인코딩은 특정 물리 디스크 밀도에 대해 MFM 녹음 용량의 절반을 제공합니다.

FM 및 MFM 인코딩은 다른 드라이브와 디스크를 사용하는 "고밀도"와는 달리 디스크와 드라이브는 동일하지만 일반적으로 "단일 밀도" 및 "이중 밀도"라고 불립니다.

배밀도의 3인치 디스크는 1770 DFS로 포맷 및 사용할 수 있습니다(인텔 8271 기반의 DFS는 많은 3인치 드라이브에서 문제가 발생하고 있습니다).FM 인코딩과 동일한 "단밀도" 용량을 제공하지만 이는 당초 표준적인 방식이 아니었습니다.3인치 디스크는 일반적으로 최신 Advanced Disc Filing System을 사용하여 MFM "double density"로 포맷되었습니다.이것은 3인치 드라이브가 부속된 모든 Acon 머신에 포함되어 있기 때문입니다.2009년 현재 3인치 드라이브는 가용성이 향상되고 최신 컴퓨터와의 데이터 교환이 용이하기 때문에 DFS를 포함하여 과거보다 BBC Micro에서 많이 사용되고 있습니다.

고밀도 5인치 및 3인치 디스크는 DFS에서 지원되지 않습니다.

단측 및 양측 조작

DFS는 양면 디스크를 직접 지원하지 않습니다. 대신 양면 드라이브의 두 헤드는 두 개의 개별 논리 드라이브로 취급됩니다.DFS는 최대 4개의 볼륨을 지원할 수 있으며, 번호는 0 ~3 입니다.드라이브 0이 기본이고 드라이브 1은 케이블에 연결된 두 번째 드라이브를 나타냅니다."드라이브" 2는 드라이브 0의 뒷면을 가리키며, "드라이브" 3은 드라이브 1의 반대면을 가리킵니다.3대 이상의 물리 드라이브는 지원되지 않습니다.

단면 드라이브의 설치 기반 때문에 상용 소프트웨어는 보통 단면 디스크에 제공되거나 "플리피 디스크"로 제공되어 다른 면에 액세스하기 위해 수동으로 역방향으로 전환되었습니다.

40 트랙과 80 트랙의 호환성

디스크는 40 또는 80개의 트랙을 사용하여 포맷할 수 있습니다.*FORM40또는*FORM80명령 및 드라이브는 40 또는 80 트랙 중 하나입니다.이것은 DFS 사용자에게 가장 일반적인 호환성 문제입니다.40 트랙 디스크는 40 트랙 드라이브의 설치 기반 때문에 상용 소프트웨어 배포의 표준이었지만, 80 트랙 드라이브는 가격이 떨어지면서 더 많은 데이터를 저장할 수 있게 되었습니다.80 트랙 드라이브는 40 트랙 디스크를 자동으로 읽지 않습니다.

디스크 용량은 트랙 0의 카탈로그에 섹터 수로 저장됩니다.트랙 0은 40 트랙 디스크와 80 트랙 디스크 모두에서 동일한 위치에 있으므로 디스크 파일 시스템이 모터 스테핑을 적절히 설정할 수 있습니다.다만, 인텔 8271 베이스의 Acon DFS에서는, 이러한 기능이 실현되지 않기 때문에, 듀얼 포맷의 기능은 다양한 방법으로 대응되고 있습니다.

  • 40트랙 드라이브와 80트랙 드라이브를 모두 BBC Micro에 연결하기만 하면 됩니다. 하지만 가정 사용자에게는 비용이 많이 듭니다.
  • 일부 디스크 드라이브 재판매 업체, 특히 UFD(사용자 친화적 장치)와 Akhter Computer Group은 40 또는 80 트랙 작동을 선택할 수 있는 스위치가 장착된 드라이브 어셈블리를 제공했습니다.
  • The Micro User와 같은 잡지는 디스크 드라이브 케이블에 배선할 수 있는 회로 기판을 구축하기 위한 키트를 제공하고 있으며, 옵션으로 [3]연결된 드라이브를 '더블 스테핑'할 수도 있습니다.
  • Micro User는 또한 21개의 트랙의 데이터를 두 가지 형식으로 저장하여 두 가지 유형의 드라이브에 모두 액세스할 수 있도록 하는 듀얼 포맷 디스크 작성에 대한 기사를[4] 실었습니다. 그러나 이러한 디스크는 용량이 제한되었고 한 번 생성되면 읽기 전용이었습니다.
  • Acorn User 매거진은 트랙 0에 작은 유틸리티 프로그램이 포함된 40 트랙 커버 디스크를 배포하여 80 트랙 드라이브를 소유한 소유자가 처음 40 트랙에 원래 콘텐츠를 포함한 80 트랙 디스크로 다시 포맷할 수 있도록 했습니다.
  • 사용자는 WD1770 또는 유사한 컨트롤러로 업그레이드할 수 있습니다.Acaton 1770 DFS 및 일부 서드파티제 컨트롤러 시스템은 트랙 탐색 중에 컨트롤러를 재프로그래밍함으로써 소프트웨어에서 듀얼 포맷 기능을 제공했습니다.또한 서드파티제 시스템은 디스크 용량을 더욱 늘리기 위해 독자적인 MFM(이중 밀도) 포맷을 제공했습니다.

올바른 설정을 사용하지 않으면 DFS에서 다음과 같은 오류가 발생합니다.Disk fault 18 at 01/00또는 디스크 표면의 물리적인 끝을 넘어 헤드를 밟으려고 하면 디스크 드라이브가 파손됩니다.[5]

80개의 트랙으로 전환해도 카탈로그가 확장되지 않아 디스크 공간이 부족하기 전에 파일 이름 슬롯이 부족해질 수 있습니다.이 상황으로 인해Cat full에러입니다.

파일 저장소

파일명

DFS는 대소문자를 구분하지만 대소문자를 구분하지 않습니다.All-Capitars 파일명의 보급은, 하드 리셋 또는 소프트 리셋 후에, 디폴트로 캡스 록이 유효하게 되어 있는 것이 원인으로 생각할 수 있습니다.문자 집합은 상당히 허용되며, 공백을 포함하여 7비트 ASCII의 인쇄 가능한 모든 문자를 사용할 수 있습니다. 단, 다음 문자는 제외됩니다.

  • 단일 와일드카드 문자#.
  • 다중 와일드카드 문자*.
  • 셸 이스케이프 문자에 의해 생성되는 제어 코드 단, 시퀀스는 단일화를 나타내기 위해 사용할 수 있다 문자를 지정합니다.
  • 드라이브 지정 문자:리프 이름의 첫 번째 문자로 지정합니다(파일 이름이 적절함).이로 인해Bad drive또는Bad name에러. 콜론이 모호하지 않은 경우, 예를 들어FOO:BAR리프 이름의 일부로 사용할 수 있습니다.
  • 디렉토리 지정자 문자.잎 이름의 첫 번째 또는 두 번째 문자로 지정합니다. .디렉토리 문자로 사용할 수 없습니다.다음과 같이 점이 모호하지 않은 경우PRG.BAS이 경우 리프 이름의 일부로 허용되며 디렉토리 지정자로는 취급되지 않습니다.F.MONEY파일이 될 것이다.MONEY전화번호부에F).

서드파티제의 DFS 실장에의 이식성을 확보하기 위해서, 이 기능을 사용하지 않는 것이 최선입니다.:그리고..잎 이름으로.

따옴표는 허용되지만 BBC BASIC은 따옴표를 두 번 이스케이프해야 합니다.

  • SAVE """""""A"""스트링을 전달하다"""A"DFS에 접속하면, 다음의 파일이 보존됩니다."A.
  • 반대로SAVE "A"""라는 이름의 파일을 저장합니다.A".
  • 공백 삽입에도 같은 기술이 사용됩니다.SAVE """B A R"""라는 이름의 파일을 저장합니다.B A R.

완전 수식 파일 이름 또는 "파일 사양"("fsp")에는 콜론, 드라이브 번호, 점, 디렉토리 문자, 다른 점 및 이름이 포함됩니다.예를 들어 "drive" 2의 기본 디렉터리에 있는 파일이BOB완전한 사양이 될 것이다:2.$.BOB드라이브와 디렉토리 지정자는 모두 옵션입니다.

디렉토리

DFS 의 「디렉토리」는, 파일명의 1 문자 프리픽스입니다.예를 들어 다음과 같습니다.FF.BankLtr- 파일을 그룹화하는 데 사용됩니다.배열은 플랫이며 기본 디렉토리는$루트 디렉토리 대신 사용됩니다.디스크 카탈로그 요청 시(와 함께)*CAT또는*.commands)를 지정하면 현재 디렉토리의 파일은 1개의 블록에 디렉토리 프레픽스가 없는 상태로 표시됩니다.아래에는 디렉토리 프레픽스가 표시됩니다.예를 들어 (Acon DFS - 서드파티 DFS 구현은 약간 다를 수 있습니다)

프로그램(12) 드라이브 0 옵션 2(RUN) Dir.:0.$ Lib.:0.$!BOOT HELLO SUMS 테이블 테스트 벡터 좀비 A.안녕하세요 엘비.SUMS F.BankLtr

상위 7개의 파일은 모두 현재 디렉토리에 있으며,$드라이브 0에 있습니다.이 경우는, 다른 디렉토리에 있는 모든 파일을 다음에 나타냅니다.A,B그리고.F. ANL파일 이름 뒤에 (와 같이)A.HELLO위)는 파일이 변경 또는 삭제에 대해 잠겨 있음을 나타냅니다.첫 번째 줄에는 디스크 제목과 수정 횟수가 포함됩니다.

DFS는 디렉토리와 라이브러리로 분할된 작업 공간을 제공합니다."디렉토리"는 다른 명령줄 시스템의 작업 디렉토리와 마찬가지로 현재 볼륨의 작업 디렉토리입니다."라이브러리"는 PATH와 같은 기능을 하는 두 번째 대체 작업 디렉토리이며 어떤 볼륨에도 존재할 수 있다는 장점이 있습니다.이름이 수식되지 않은 파일을 열려는 요청은 먼저 작업 디렉토리에서 검색됩니다. 검색되지 않을 경우 라이브러리 디렉토리도 검색됩니다.디렉토리와 라이브러리는 모두 디폴트로 같은 디렉토리로 설정됩니다.

디스크 구조

카탈로그(파일 테이블)는 처음 두 개의 디스크 섹터를 차지합니다.하나는 각 파일의 이름과 디렉토리를 위한 섹터와 파일의 위치, 크기 및 메타데이터를 저장하는 섹터입니다.각 파일에는 각 섹터의 8바이트가 사용됩니다.각 섹터에서 추가로 8바이트가 12바이트의 디스크 제목과 볼륨 정보용으로 예약되어 있기 때문에 디스크 상의 총 파일 수는 31개로 제한됩니다(각 파일이 어느 디렉토리에 있는지에 관계없이).공간을 절약하기 위해 파일의 디렉토리 문자의 최상위 비트가 잠금(읽기 전용) 플래그로 사용됩니다.

볼륨 사이즈

일반적으로 실제 Disk는 100KB 또는 200KB로 포맷되지만 DFS는 최대 256KB의 볼륨 크기를 지원합니다.

파일 사이즈는 18비트 단위로 저장되므로 허용되는 최대 DFS 파일사이즈는 볼륨사이즈에서 카탈로그의 µKB를 뺀 값입니다.

파일 할당

DFS는 데이터 조각화를 지원하지 않습니다. 즉, 파일의 데이터는 연속되는 섹터의 한 번의 실행으로 저장해야 하지만 사용 가능한 공간이 조각화되기 쉽습니다.랜덤 액세스 파일의 기입은, 디스크의 다른 장소에 빈 섹터가 있는 경우에서도, 파일의 끝이 다음의 선두에 이르면 실패합니다.이 경우 DFS는 오류로 중단됩니다. SAVE또한 사용 가능한 공간에 맞게 파일을 분할할 수 없지만 섹터 할당 단계에서 장애가 발생하면 반환되는 오류는 다음과 같습니다.Disk full.

A *COMPACT디스크 내의 모든 파일을 솔리드 블록으로 재배치하여 모든 빈 공간을 두 번째 블록에 배치하는 명령어는 디스크 내의 모든 파일을 솔리드 블록으로 재배치합니다.이렇게 하면 생성된 다음 파일은 디스크를 채울 수 있지만 이동하지 않고 마지막 기존 파일만 확장할 수 있습니다. SAVE는 기존 파일을 삭제하고 지정된 메모리 블록을 디스크에 공간이 있는 모든 위치에 복사합니다.대조적으로*COMPACT명령어는 프로그램메모리를 버퍼로 사용하여 파일을 재배치하고 메모리 내의 프로그램 및 데이터를 덮어씁니다.

메타데이터

카세트 파일링 시스템과 마찬가지로 Acon DFS는 BBC Micro의 표준 파일 메타데이터인 로드 주소와 실행 주소를 지원합니다.이는 Acon MOS(BBC Micro에서 사용되는 운영 체제)가 이진 코드 재배치를 지원하지 않기 때문입니다.파일은 프로그래머가 의도한 주소로 로드해야 합니다.내용은 내부 위치를 절대 주소로 참조할 수 있기 때문입니다.또, 엔트리 포인트가 반드시 선두에 있는 것은 아니고, 파일내에 있는 것도 아니기 때문에, 실행 주소를 기록한다.

파일 속성은 단일 비트로 제한됩니다.잠겼습니다.설정되면L카탈로그의 파일 이름 오른쪽에 표시되며 파일을 변경, 덮어쓰기 또는 삭제할 수 없습니다.

날짜

DFS 디스크는 날짜를 추적하지 않습니다(버전 3 이전의 Acon MOS는 실시간클럭을 유지하지 않았기 때문에).대신 수정 횟수라는 독특한 기능을 제공합니다.카탈로그가 업데이트될 때마다 카운트가 증가합니다.개수는 디스크 카탈로그의 첫 번째 줄 제목 뒤에 괄호 안에 표시됩니다.12를 참조해 주세요.

기타 기능

DFS는 키 시퀀스에 따라 디스크 소프트웨어를 시작하는 방법도 지원합니다.시스템이 소프트 또는 하드 리셋되어 있는 동안 시프트 키가 유지되면 DFS는 드라이브 0에서 양의 부트 플래그가 포함된 디스크를 확인합니다.부트 플래그는 0(무시), 1(로드 파일), 2(실행 머신 코드 파일) 또는 3('스크립트 실행') 중 하나입니다.부트 플래그가 긍정일 경우,$.!BOOT를 검색하여 메모리(1)에 로드하고 기계 코드(2)로 로드하여 실행하거나 키보드 버퍼(3)에 공급합니다.옵션 3은 "EXEC" 파일, 원시 셸 스크립트로 사용되는 텍스트 매크로 파일을 읽습니다.이것들은, 실제의 셸 스크립트가 아니고, 재생하는 녹음과 같이 입력하는 일련의 키입니다.따라서 이러한 코드를 BASIC 인터프리터에 입력하지 않으면 루프 또는 분기할 수 없습니다.리셋시에 사용할 뿐만 아니라, operating system의 operating system과 함께 언제라도 실행할 수 있습니다.*EXEC명령어를 입력합니다.EXEC 파일은 파일시스템에 의존하지 않습니다.

대체 수단

DNFS(디스크/네트워크 파일링 시스템), 표준 디스크 파일링 시스템 및 튜브 공동 프로세서 지원 소프트웨어를 단일 ROM에 포함하는 DFS(디스크/네트워크 파일링 시스템)라는 변종 DFS가 있었습니다. 이 ROM은 한 번에 두 개의 파일링 시스템을 OS에 설치했습니다.

DFS의 초기 설계는 IBM Personal Computer에서 발견된 8272 설계의 바로 이전 버전인 Intel Corporation FDC 8271 디스크 드라이브 컨트롤러를 기반으로 했습니다.8271 컨트롤러는 기능이 한정되어 구식이었습니다.Solidisk, Acon, Watford Electronics 등 다양한 벤더의 파일 시스템의 최신 버전은 최신 WD1770 및 WD1772 드라이브 컨트롤러를 기반으로 했습니다.1770 컨트롤러는 ADFS의 등장에 따라 Acon 범위의 표준 컨트롤러가 되었습니다.

DFS는 완전히 계층화되어 BBC Micro에서 하드 드라이브를 실행하기에 적합한 ADFS(Advanced Disc Filing System)로 대체되었습니다.ADFS는 BBC 마스터의 기본 파일 시스템이었지만 대부분의 사용자는 호환성을 이유로 DFS로 돌아왔을 가능성이 있습니다.ADFS는 DFS 디스크를 읽을 수 없었습니다.ADFS는 RISC OS의 표준 파일 시스템으로도 선택되었습니다.

레퍼런스

  1. ^ "Chriswhy.co.uk" (PDF).
  2. ^ "MMB/SSD Utils in perl".
  3. ^ Cook, Mike (October 1985). "Downgrading your system? Yes, it can make sense". The Micro User. Stockport, UK: Database Publications. 3 (8): 125–127. ISSN 0265-4040.
  4. ^ Nixon, Chris (April 1987). "DIY dual format discs". The Micro User. Stockport, UK: Database Publications. 5 (2): 43–44. ISSN 0265-4040.
  5. ^ Acoron Disc Fileing System User Guide, 제2호, 1983년 7월, 84페이지. "Disk"는 오류 메시지에서는 "k"로 표기되지만 파일 시스템의 이름에서는 "c"로 표기됩니다.

외부 링크