레코드 지향 파일 시스템
Record-oriented filesystem이 기사는 검증을 위해 추가적인 인용이 필요합니다. 찾기 : " 중심 시스템 – · · · (2007년 3월 (본 메시지 및 ) |
컴퓨터 과학에서 기록 지향 파일 시스템은 데이터가 기록의 모음으로 저장되는 파일 시스템입니다.이는 데이터가 포맷되지 않은 바이트 스트림으로 처리되는 바이트 지향 파일 시스템과는 대조적입니다.가능한 레코드 형식은 여러 가지가 있으며 세부 사항은 특정 시스템에 따라 다릅니다.일반적으로 포맷은 물리적 조직이나 패딩 메커니즘이 다른 고정 길이 또는 가변 길이일 수 있습니다. 메타데이터는 레코드 길이를 정의하기 위해 파일 레코드와 연관되거나 데이터가 레코드의 일부일 수 있습니다.레코드에 대한 액세스 방법이 서로 다를 수 있습니다. 예를 들어, 레코드를 순차적으로, 키별로, 또는 레코드 번호별로 검색할 수 있습니다.
원산지 및 특성
레코드 지향 파일 시스템은 OS/360 및 후속[1], DOS/360 및 후속과 같은 메인프레임 운영 체제 및 RSX-11 및 VMS와 같은 미드레인지 운영 체제와 자주 관련되지만 ICS([2]Input/Output Control System)와 같은 소프트웨어에서 더 일찍 비롯되었습니다.때로는 논리 레코드라고도 불리는 레코드는 종종 블록으로 함께 작성되며 때로는 물리 레코드라고도 합니다. 이는 직접 액세스 및 테이프 장치에 대한 표준이지만 단위 레코드 장치의 파일은 일반적으로 차단되지 않습니다. 즉, 블록당 하나의 레코드만 있습니다.
레코드 지향 파일 시스템은 직접 액세스 장치 이외의 미디어에서 지원할 수 있습니다.천공 카드 덱은 레코드 지향 파일로 간주될 수 있습니다.자기 테이프는 균일한 길이 또는 가변적인 길이의 기록을 지원할 수 있는 매체의 예입니다.
레코드 파일 시스템에서 프로그래머는 파일에 사용될 수 있는 레코드를 설계합니다.레코드 추가, 읽기 또는 업데이트에 관계없이 파일에 액세스하는 모든 응용 프로그램은 레코드의 설계에 대한 이해를 공유합니다.DOS/360, OS/360 및 그 후속 프로그램에서는 데이터 레코드를 구성하는 비트 패턴에 제한이 없습니다. 즉, 구분 문자가 없습니다. 이는 301, 501, 601 및 3301의 RCA 파일 제어 프로세서(FCP)에 대한 특정 레코드 유형과 같은 다른 소프트웨어에서는 항상 해당되지 않습니다.
파일 시스템에 파일 생성 요청이 발행되면 파일이 존재하게 됩니다.파일에 대한 일부 정보는 생성 요청에 포함될 수 있습니다.이 정보는 파일에 레코드 크기와 함께 고정 길이 레코드(모든 레코드가 동일한 크기)가 있음을 지정할 수 있습니다.또는, 명세서에는 레코드가 최대 레코드 길이와 함께 가변 길이라고 명시되어 있을 수도 있습니다.블록킹 팩터, 바이너리 대 텍스트, 최대 레코드 수 등을 포함한 추가 정보를 지정할 수 있습니다.
레코드의 처음 부분만 읽을 수도 있습니다. 다음 순차 읽기는 작성자가 함께 그룹화하려고 했던 데이터(레코드)의 다음 컬렉션을 반환합니다.또한 레코드의 시작 부분만 쓰는 것도 허용될 수 있습니다.이러한 경우 파일이 이진 파일로 인식되는지 또는 텍스트 파일로 인식되는지에 따라 레코드에 이진 0 또는 공백이 추가됩니다.
일부 운영 체제에서는 레코드 형식에 특정한 라이브러리 루틴을 프로그램에 포함할 것을 요구합니다.즉, 원래 가변 길이 레코드 파일을 읽을 것으로 예상되는 프로그램은 고정 길이 파일을 읽을 수 없습니다.이러한 운영 체제는 파일을 한 형식과 다른 형식으로 변환하기 위한 파일 시스템 유틸리티를 제공해야 합니다.따라서 파일을 복사해야 할 수도 있습니다(추가 저장 공간, 시간 및 조정이 필요합니다).
다른 운영 체제들은 다양한 루틴들을 포함하며, 실행 시점에서 파일 조직에 따라 적절한 루틴을 연관시킵니다.
두 경우 모두 파일 무결성을 보장하기 위해 보호된 루틴에 기록을 관리하기 위한 상당한 양의 코드가 제공되어야 합니다.
레코드 지향 파일의 대안은 스트림입니다.스트림 파일에서 파일 시스템은 파일을 구조화되지 않은 바이트 시퀀스로 취급합니다.애플리케이션이 기록 구조를 강요할 수는 있지만 반드시 그럴 필요는 없습니다.이러한 접근 방식은 라이브러리의 크기와 복잡성을 크게 줄이고 파일을 유지 관리하는 데 필요한 유틸리티의 수를 줄입니다.
스트림으로 표현되는 텍스트 파일에 대한 일반적인 응용 규칙은 레코드(일반적으로 CR, CRLF 또는 LF)를 분리하거나 종료하기 위해 새로운 줄 구분 기호를 사용하는 것입니다.불행하게도, 레코드 구분 기호를 구문 분석하는 데 필요한 CPU 시간이 매우 길고, 레코드 구분 기호 패턴을 데이터에서 제외하는 것은 종종 바람직하지 않습니다.
대체 규칙은 각 레코드에 길이 필드를 포함하는 것입니다.작성자 응용프로그램은 모든 기록 구조를 부과할 책임이 있으며, 판독자 응용프로그램은 기록을 분리할 책임이 있습니다.
장점 및 비용
레코드 지향 파일은 몇 가지 장점이 있습니다.프로그램이 데이터 모음을 레코드로 작성한 후 해당 레코드를 읽는 프로그램은 해당 데이터를 컬렉션으로 이해합니다.프로그램이 시퀀스의 시작 부분을 읽은 후에 다음 순차 읽기는 작성자가 함께 그룹화하려고 했던 데이터(기록)의 다음 컬렉션을 반환합니다.또 다른 장점은 레코드가 길이를 가지며 데이터 레코드를 구성하는 비트 패턴에 제한이 없다는 것, 즉 구분 문자가 없다는 것입니다.
일반적으로 레코드 지향 파일과 관련된 비용이 있습니다.고정 길이 레코드의 경우 일부 레코드에 사용되지 않는 공간이 있는 반면, 가변 길이 레코드의 경우 구분 기호 또는 길이 필드가 공간을 차지합니다.가변 길이 블록은 구분 기호 또는 길이 필드로 인해 오버헤드가 발생할 수 있습니다.또한 장치에 의해 부과되는 오버헤드가 있습니다.자기 테이프 오버헤드는 일반적으로 레코드 간 갭의 형태를 갖습니다.블록의 마지막 섹터에는 사용되지 않는 공간이 있을 수 있으며, 고정된 길이 섹터를 갖는 직접 액세스 장치.물리적 레코드 길이가 가변적인 직접 액세스 장치에서는 일반적으로 오버헤드가 메타데이터 및 레코드 간 간격의 형태를 취합니다.
다양한 길이 레코드로 구성된 파일에서 최대 레코드 길이가 정의되어 각 레코드와 연관된 길이 메타데이터의 크기를 결정합니다.
레코드 지향 파일 시스템의 가장 큰 장점은 이전의 문서에 보관된 파일을 추상화한다는 점입니다.레코드에는 특정한 건물, 연락처, 직원, 부품, 장소 등과 관련된 데이터가 포함되어 있을 수 있습니다.
레코드 지향성의 개념에 대한 두 번째 동기는 비휘발성이지만 느린 물리적 저장 장치의 영구 저장을 위한 더 자연스러운 지향성이라는 것입니다.대부분의 물리적 저장 장치는 블록 단위로만 통신할 수 있습니다.현대적인 운영 체제 커널과 관련 장치 드라이버의 상당 부분은 물리적 스토리지 장치의 자연스럽게 구조화되고 구분된 특성(어떤 의미에서는 블록이 물리적 기록에 불과함)을 감추는 데 전념하고 있습니다.레코드 지향 파일 시스템이 추상화 기능이 훨씬 적었던 바이트 스트림 지향 파일 시스템보다 컴퓨팅 역사상 더 일찍 등장한 것은 우연이 아닙니다.
참고 항목
- 스트리밍(컴퓨팅)
- 데이터 세트(IBM 메인프레임)
- 파일-11
- CMS 파일 시스템
- ISAM/VSAM
- DDM(Distributed Data Management Architecture)
- 레코드 지향 파일(DDM)
참고문헌
- ^ z/OS DFSMS Using Data Sets Version 2 Release 3 (PDF), October 2, 2018, SC23-6855-30
- ^ Reference Manual, IBM 709/7090 Input/output Control System (PDF). IBM. p. 3. C28-6100-2. Retrieved Sep 12, 2020.