File Systems
- file storage management
- 파일 탐색기
Files
- 어떤 관계있는 정보를 모아서 저장장치에 써놓고 이름을 붙여놓은 것
- 운영체제가 현재 컴퓨터에 있는 상태를 알려주는 pseudo file이라는 형태로 컴퓨터의 상태를 보여주는데도 file이라는 것을 쓴다.
File Attributes
- Name
- Identifier : 사람이 읽을 수 없는 형태의 파일 이름
- Type
- Location
- Size
- Protection/Permission
- Time, date, and user identification
=> 디렉토리 항목은 파일의 이름과 고유의 식별자로 구성된다. 식별자는 다시 다른 파일 속성을 찾는 데 사용된다.
File Operations
File is an abstract data type
- Create a file
- Write a file
- Read a file
- Reposition within file
- Delete
- Truncate
- Open
- Open-file table은 open files의 정보를 가지고 있다.
- 파일 오픈 계수
- 파일의 디스크 위치
- 접근 권한
- 각 process는 고유한 file descriptor(fd) table을 가진다.
Directories
- 파일과 디렉토리를 묶어놓고 이름을 붙여놓은 것
- Directory = List of(file name, file attributes)
- Root directory
/
- Current directory
.
- Parent directory
..
- Absolute path name vs relative path name
- /etc/ssh/sshd_config
- On /etc, ./ssh/sshd_config, ../etc/../etc/ssh/sshd_config
Links
To resolve a link type file
1. Hard links(ln)
- 원본 파일의 inode를 하드 링크 파일도 같이 사용하게 되어, 하드링크가 걸린 파일을 이동시켜도 계속 원본 파일을 가리키게 된다.
- 하나의 파일에 이름만 두 개 이상 붙어있는 것
- Symbolic links(ln -s)
- 원본 파일의 inode와는 별개로 새로운 inode를 만들고 포인터는 원본파일을 가리킨다. Symbolic link가 걸린 파일을 이동시키면 링크는 원본파일을 가리키지 못한다. 후에 다시 원위치로 되돌리면 다시 원본파일을 가리킨다.
- 윈도의 바로가기 아이콘과 같은 개념
Page Cache
- 디스크의 파일에 대한 액세스 속도를 향상시키기 위함
- Write back 방식에서 사용자 프로세스가 읽기 또는 쓰기를 시작할 때마다 사용되며 커널은 사용자가 작업중인 파일의 사본을 찾으며 그러한 사본이 없는 경우 캐시 메모리의 한 페이지를 새로 할당하고 디스크에서 읽은 해당 내용을 적재
- 임의적으로 disable할 수 없다.