인프런 커뮤니티 질문&답변

김상현님의 프로필 이미지
김상현

작성한 질문수

리눅스 시스템 프로그래밍 - 이론과 실습

저수준 파일 문자/문자열 읽고 쓰기 - 라이브 프로그래밍

파일 디스크립터와 FILE 구조체에 대한 질문

해결된 질문

작성

·

431

0

리눅스는 모든 것을 파일로 관리한다고 알고 있습니다. (장치나 소켓 등도 포함)

파일 디스크립터는 파일의 추상화 개념으로 알고 있는데, 지금 이 강의를 보니까 파일 디스크립터를 주고 파일 포인터를 받아오는데, 그러면 리눅스에서 파일이나 장치는 전부 각자의 파일 구조체를 가지고 있다고 이해해도 될까요?

답변 1

0

런잇(ProgCoach4U)님의 프로필 이미지
런잇(ProgCoach4U)
지식공유자

안녕하세요. 김상현님

먼저, 개인 사정으로 답변이 늦어졌습니다. 죄송합니다.

말씀하신 대로 리눅스에서는 파일, 소켓, 디바이스 등을 전부 파일로 추상화합니다. 즉, 파일처럼 다룰 수 있다는 말입니다.

하지만 모든 파일이나 장치 등이 파일 디스크립터 혹은 파일 포인터(FILE *)를 갖고 있다고 말할 수는 없습니다. 프로세스가 파일을 열면(open) 그 파일을 다룰 수 있도록 해주는 파일 디스크립터 혹은 파일 포인터를 받아오게 되는 것입니다. 항상 존재하는 것을 주는게 아니라 프로세스가 그 파일에 대해 열기를 요청하면 만들어준다고 이해하시는게 좋을 것 같습니다.

김상현님의 프로필 이미지
김상현

작성한 질문수

질문하기