BUILD_SSO

[OS] 파일 시스템 본문

Tech Interview

[OS] 파일 시스템

sohyeonnn 2023. 3. 29. 19:40

파일 시스템

컴퓨터에서 파일이나 자료를 쉽게 발견할 수 있도록, 유지 및 관리하는 방법이다. 저장매체에는 수많은 파일이 있기 때문에, 이런 파일들을 관리하는 방법을 말한다.

 

👉🏻File Descriptor 에 대해 설명해 주세요.(Linux)

  • 파이프, FIFO, 소켓, 터미널, 디바이스, 일반파일 등 종류에 상관없이 모든 열려있는 파일을 참조할 때 쓴다.
  • 유닉스 시스템에서 프로세스가  파일들을 접근할때 파일 디스크립터(File Descriptor)라는 개념을 이용한다.

 

👉🏻0 1 2 stdi / stdo / err

  • 프로그램이 프로세스로 메모리에서 실행을 시작 할 떄, 기본적으로 할당되는 파일 디스크립터들이 있다.
  • 바로 표준 입력, 표준 출력, 표준 에러이다. 이들에게 각각 0,1,2라는 정수가 할당되며,  매크로는 <unitsh.h> 헤더에서 찾아 볼 수있다.
  • 0 아닌 정수로 표현되는 파일 디스크립터는 0~ OPEN_MAX까지 값을 가진다.
  • 정리: 파일 디스크립터는 파이프, FIFO, 소켓, 터미널, 디바이스, 일반파일 등 종류에 상관없이 모든 열려있는 파일을 참조할 때 쓴다.
파일 디스크립터  목적  POSIX 이름  stdio 스트림 
 0  표준 입력  STDIN_FILENO  stdin
 1  표준 출력  STDOUT_FILENO  stdout
 2  표준 에러  STDERR_FILENO  stderr

 

👉🏻File System, i-Node

  • 파일시스템
    • 파일 시스템(File System)은 운영체제와 모든 데이터, 프로그램의 저장과 접근을 위한 기법을 제공한다.
    • 시스템 내의 모든 파일에 관한 정보를 제공하는 계층적 디렉터리 구조이고, 파일 및 파일의 메타데이터, 디렉터리 정보 등을 관리한다.
  • i-Node는 파일 종류 (일반파일,소켓, fifo)와 권한, lock 목록 포인터, 여러 파일 오퍼레이션과 다양한 파일 속성(크기, 타임스탬프 등) 갖고 있다.
Comments