파일 설명자, 열린 파일 설명 및 inode의 차이점은 무엇입니까? [복사]

파일 설명자, 열린 파일 설명 및 inode의 차이점은 무엇입니까? [복사]
  1. 파일 설명자와 열린 파일 설명의 대응/차이점은 무엇입니까?
  2. 파일 설명과 inode의 대응/차이점은 무엇입니까?

답변1

나에게 이런 생각이 들었습니다...파일 설명자는 파일을 참조하는 프로세스가 보유하는 숫자 참조입니다."파일 설명 열기"커널에서. 열린 파일 설명에는 어떤 파일이 어떤 모드(읽기/쓰기)로 열렸는지에 대한 정보가 포함되어 있습니다.어디다음번 파일 읽기 또는 쓰기가 적용됩니다.

인덱스 노드어떤 프로세스에도 직접 연결되지 않습니다. 이는 파일 시스템의 기능입니다. 파일 소유권과 같은 메타데이터를 보존합니다. 파일에 여러 개의 파일 이름이 있는 경우(하드 링크된 경우) 여전히 하나의 inode만 갖습니다.

답변2

파일 설명자는 운영 체제에서 애플리케이션에 제공하는 배열의 요소입니다. 항상 이와 같은 배열이 있습니다. 운영 체제는 새 프로세스를 시작할 때 배열을 만듭니다. 운영 체제는 일반적으로 처음 세 요소를 stdin, stdout 및 stderr에 대한 포인터로 채웁니다.

열린 파일 설명자는 파일을 가리키는 배열 요소입니다. 을 호출하면 open()운영 체제는 배열에서 빈 요소를 찾아 사용합니다. 대조적으로, 닫혀 있거나 열리지 않은 파일 설명자는 빈(또는 논리적으로 비어 있는) 배열 요소입니다.

inode - 이 드라이브에 있는 파일의 고유한(드라이브 내부) 식별자입니다.

관련 정보