: 읽거나 쓸 수 있는 바이트의 연속적인 배열
inode : 파일의 고유한 id와 같은 것.
OS에서 파일은 시스템 콜로 읽거나 쓰거나 생성한다.
open()
: 파일이 없으면 파일을 생성하고 그 파일을 fd 테이블에 추가하고 파일 디스크립터 반환
close()
: 파일 닫기.
read()
: 파일 읽기. 파일에는 바이트가 연속적으로 있으므로 파일을 읽을 때는 순서대로 읽고 버퍼에 올린다.
write()
: 파일 쓰기. 버퍼에서 쓰기를 진행하고 fsync
로 디스크의 파일과 동기화시킨다.
: 파일의 경로를 저장하는 파일. 하위에 다른 디렉토리가 올 수도 있고, 파일이 올 수도 있다. 파일 및 디렉토리의 inode를 가진 디렉토리 엔트리 목록을 가지고 있다.
여러 개의 파일이 하나의 파일을 가리킴.(동일한 inode를 가짐)
원본 파일을 수정해도, hardlink1을 수정해도, hardlink2를 수정해도 똑같은 파일이 수정된다.
윈도우 운영체제의 바로가기 아이콘을 떠올리면 이해하기 쉽다.
소프트링크 파일은 새로운 inode를 가지며, 이 파일이 다른 파일을 가리키는 것은 하드 링크와 동일하다.
하지만 원본 파일이 사라지면 다른 softlink 파일이 참조할 파일이 사라져 무용지물이 된다.
파일에 빠르게 접근하기 위해 디스크에서 메모리로 맵핑하여 작업 수행