2022. 7. 11. 16:39ㆍLinux Kernel
파일
유닉스 파일은 일련의 바이트로 이루어진 정보를 담는 일종의 그릇. 라이브러리에 있는 프로그램은 커널이 제공하는 시스템 콜을 사용해야 함. 사용자 관점에서 보는 파일은 트리형태의 이름 공간으로 조직됨.
Root directory : 트리의 뿌리에 해당하는 디렉토리. 전통적으로 루트 디렉토리 명은 /(슬래시)
경로명이 /(슬래시)로 시작하면 그 경로명은 시작 지점이 루트 디렉토리이기 때문에 절대 경로(absolute path)라 하며 시작 지점이 현재 디렉토리일 때는 상대 경로(relative path)라고 함.
. : 현재 작업 디렉토리
.. : 부모 디렉토리
현재 작업 디렉토리가 루트 디렉토리인 경우 '.' 과 '..'은 동일.
하드 링크(Hard Link)
디렉토리에 있는 파일명을 '파일 하드 링크(file hard link)', 혹은 링크(link)라 함. 똑같은 파일에 대해 같은 디렉토리나 다른 디렉토리에서 여러 개의 링크를 가짐으로써, 한 파일이 여러 파일명을 가질 수도 있음.
디렉토리에 대한 하드 링크를 만들 수 없고 동일한 파일시스템에 들어있는 파일 사이에서만 하드 링크를 만들 수 있음.
소프트 링크(Soft Link)
심볼릭 링크(Symbolic Link)라고도 하며 이는 다른 파일의 경로명을 포함하는 작은 파일임. 경로명은 어떠한 파일시스템에 들어있는 파일이라도 가리킬 수 있으며 실제로 존재하지 않는 파일도 가리킬 수 있음.
파일 디스크립터(File Descriptor)
유닉스는 파일의 내용과 파일에 관련된 정보를 명확하게 구별. 장치 파일과 특수 파일을 제외하고 각 파일은 일련의 문자로 이뤄짐. 파일에는 파일의 길이나 파일의 끝(EOF, End Of File)을 나타내는 구분자와 같은 제어 정보가 들어 있지 않음. 파일시스템이 파일을 다루는 데 필요한 모든 정보는 아이노드(inode)라는 자료 구조에 들어있음. 각 파일은 자신만의 아이노드를 가지며 파일시스템은 파일을 구별할 때 이 아이노드를 사용.
'Linux Kernel' 카테고리의 다른 글
유닉스 커널 (UNIX Kernel) (0) | 2022.07.11 |
---|---|
운영체제(OS, Operating System), 커널(Kernel) 기본 개념 (0) | 2022.07.11 |