Mount
마운트는 디스크와 같은 특정 물리적 장치를 디렉토리에 연결해주는 작업을 의미한다. 프로세스에서 파일 시스템을 사용하기 위해서는 반드시 파일 시스템이 마운트되어 있어야 하며, 마운트를 수행할 때는 저장장치의 이름과 마운트 포인트를 결정해야 한다.
Root partition
운영체제가 설치되는 루트 파티션(Root Partition)은 시스템이 부팅될 때 자동으로 마운트된다. 파일을 구분하는 방식으로는 단일 파일 시스템 내에서 사용되는 inode와 여러 파일 시스템에 걸쳐 사용되는 vnode가 있다.
Virtual File System (VFS)
여러 파티션에 서로 다른 file system이 올려져있다면, 파일에 대한 system call을 호출할 때마다 file system에 맞는 함수를 호출해야하는 불편함이 있을 것이다. 때문에 file system과 프로세스 사이에 가상의 층을 도입하여 동일한 함수를 사용해도 file system에 해당하는 함수가 호출될 수 있게 하는 시스템이 VFS이다.
Remote file system
원격 파일 시스템(Remote File System)은 FTP, 분산 파일 시스템, 월드 와이드 웹 등 다양한 형태로 존재한다. 특히 네트워크 파일 시스템(Network File System)은 RPC 프로토콜을 활용하여 서버의 함수를 호출할 수 있게 해준다. 이를 통해 서버의 디스크에 접근하여 파일을 가져올 수 있으며, 원격 디렉토리를 로컬 파일 시스템의 디렉토리로 마운트할 수 있다.
Network File System
네트워크 파일 시스템은 RPC(Remote Procedure Call) 프로토콜을 사용하여 서버에 있는 함수를 호출할 수 있다. 이를 통해 서버의 디스크에 접근하여 파일을 가져올 수 있으며, 원격 디렉토리를 로컬 파일 시스템의 디렉토리로 마운트할 수 있다. 서버는 export list를 통해 공유하고자 하는 파일들을 관리하며, stateless 방식으로 동작하여 서버가 클라이언트의 상태를 기억하지 않고 요청마다 모든 정보를 전송한다. 이때 수정된 데이터는 반드시 서버에 반영되어야 하며, 동시성 제어는 지원되지 않는다.
'학교공부 > 운영체제' 카테고리의 다른 글
[운영체제] 스레드와 동시성(Thread & Concurrency) (0) | 2023.08.10 |
---|---|
[운영체제] File system implementation (0) | 2023.06.06 |
[운영체제] File system interface (0) | 2023.06.04 |
[운영체제] Main Memory (0) | 2023.05.11 |
Exercise 3. Process Synchronization (0) | 2023.04.24 |