본문 바로가기

Library/File Structure

Beyond Record Structure

파일 구조와 파일 처리의 역사는 컴퓨터 하드웨어와 소프트웨어와 함께 병행해왔다. 파일 처리가 처음으로 컴퓨터에서 일반화되었을 때는 마그네틱 테이프와 펀치 카드가 파일을 저장하기 위한 주된 수단이었다. 메모리 공간은 매우 작았고, 프로그래밍 언어는 원시적이었다. 프로그래머나 사용자나 테이프나 카드에 나타난 그대로 파일 데이터를 봐야 했다. 데이터가 메모리에 올려진 이후에도, 데이터를 보고 다룰 수 있는 툴은 조잡했고 마그네틱 테이프 자체를 반영하는 형태일 뿐이었다. 데이터 처리란, 전통적으로 필드와 레코드를 처리하는 것을 의미했다.

점차, 컴퓨터 사용자들이 컴퓨터가 단지 필드와 레코드보다 더 많은 것을 처리할 수 있다는 것을 인식하기 시작했다. 예를 들어, 컴퓨터는 소리를 처리하거나 전송하거나, 이미지를 그리고 문서를 처리할 수 있게 된 것이다. 이런 애플리케이션들은, 궁극적으로는 물리적으로는 필드와 레코드로 저장되지만, 필드로 구분된 레코드 형태로 표현할 수 없는 정보를 다룬다. 문서나 이미지, 소리와 같은 데이터는 단순히 디스크 상에 필드나 레코드 같은 것으로 보기보다는 그들 자체에 특수한 방식으로 처리되는 개체로 보는 것이 더 낫다.

데이터를 특정 매체에 나타난 그대로 볼 필요가 없다는 생각은, 매체 지향이라기보다 애플리케이션 지향의 데이터를 보는 관점을 나타내는 용어인 '추상 데이터 모델(Abstract Data Model)'이란 말에 잘 나타난다. 이 구조와 접근 방법은 데이터의 물리적인 저장 방법보다 애플리케이션이 데이터를 보는 관점에서 기술되어 있다.

사용자가 파일의 개체들에 대해 알 필요가 없도록 만드는 한 가지 방법은, 파일에 접근하는 소프트웨어가 그 개체들을 이해하기 위해 사용할 수 있는 정보를 그 파일 내에 유지하는 것이다. 이를 위해, 헤더에 파일 구조에 대한 정보를 저장할 수 있다.


Reference
Michael J. Folk, Bill Zoellick, Greg Riccardi, File Structure, Adison Wesley