파일 접근 방법


<aside> 💡 NOTE

연속 할당

<aside> 💡 NOTE

스크린샷 2024-03-31 오후 4.41.15.png

링크 할당

<aside> 💡 NOTE

스크린샷 2024-03-31 오후 5.27.12.png

</aside>

indexed 할당

<aside> 💡 NOTE

스크린샷 2024-03-31 오후 5.30.22.png

파일 시스템 구조

<aside> 💡 NOTE

UNIX

스크린샷 2024-03-31 오후 5.33.49.png

FAT

스크린샷 2024-03-31 오후 5.38.43.png

빈 블록을 관리하는 방법

<aside> 💡 NOTE

스크린샷 2024-03-31 오후 5.44.07.png

스크린샷 2024-03-31 오후 5.45.03.png

비어 있는 그다음 위치를 블록에서 가지고 알려준다.

연속적인 빈공간을 찾기 어렵다.

스크린샷 2024-03-31 오후 5.54.25.png

효율적인 방법 : Counting 방법

연속적인 몇개가 있는지와 index를 위치를 알려주는 방법으로 복합적으로 관리

</aside>

Directory를 관리하는 방법

<aside> 💡 NOTE

directory file 구조

  1. Linear list

    <file name, file metadata> 의 리스트

    구현이 간단하고, 디렉토리 내에 파일이 있는지 찾기위해 linear search가 필요 → 오래걸림

  2. Hash Table

    Linear list + hashing

    파일 이름을 linear list의 위치로 바꿔주는 것(inode, FAT 등)

    search time을 없앤다.

    충돌의 우려가 있다.

cf) Long file name의 지원 방법

이름이 매우 긴경우 지원하는 방법

마지막 빈칸에 포인터를 가지고 그다음 위치를 알려주는 방법

스크린샷 2024-03-31 오후 6.14.36.png

</aside>

VFS and NFS

<aside> 💡 NOTE

VFS(가상 파일 시스템)

NFS(네트워크 파일 시스템)

Client, Server가 네트워크로 연결된 상태에서

자신의 인터페이스와 다른 컴퓨터의 인터페이스를 모두 사용하는 방법 : NFS

자신의 파일을 찾는 방법 : VFS

</aside>