In the implementation of file system, there are two approaches; file server implementation and kernel implementation. The kernel implementation is used in centralized time-sharing computer system. But most distributed file systems are implemented on several computers, on which file servers are running to manage file system and provide file services to clients.
We chose file server approach to implement a file system. The design of file server was focused on file system reliability, consistency and expansibility. During file operations, machine failure or network failure can cause partial results to remain in system. System reliability is enhanced by disk shadowing. To keep system consistent under concurrent file access, transaction concept and optimistic concurrency control are used. And file server has layered structure to support system expansibility.
화일 시스템의 구현은 kernel에 의 한 것과 server에 의한 두 가지 방법이 있다. Kernel에의한 방법은 중앙집중 시분할 시스템에서 널리 쓰이는 방법이다. 대부분의 분산 컴퓨터 시스템에서의 화일 시스템은 file server에 의하여 이루어 진다. 분산 화일 시스템은 여러 컴퓨터위에서 돌고 있는 file server들로 구성되며 그것들은 각각의 화일들을 관리하면서 화일에 관련된 services을 한다. 본 논문에서는 실험적인 file server를 구현했다. 그것의 설계에서 주요점은 화일 시스템의 reliability, consistency와 확장성에 두었다. 그러한 것들을 이루기 위하여 여러 개념들을 도입했고 그것들은 효과적이었다. 여러 개념을 도입함으로써 목적을 이룬 반면에 file service을 하는데 드는 시간은 길어졌다. 그러나 이러한 overhead는 일반적인 동작 조건에서 그리 크지 않음 을 실험을 통해 알아 보았다. 현재 file server는 분산 컴퓨터 시스템에서 잘 동작되고있다.