파일 디스크립터와 FILE 구조체에 대한 질문
리눅스는 모든 것을 파일로 관리한다고 알고 있습니다. (장치나 소켓 등도 포함)
파일 디스크립터는 파일의 추상화 개념으로 알고 있는데, 지금 이 강의를 보니까 파일 디스크립터를 주고 파일 포인터를 받아오는데, 그러면 리눅스에서 파일이나 장치는 전부 각자의 파일 구조체를 가지고 있다고 이해해도 될까요?
回答 1
0
안녕하세요. 김상현님
먼저, 개인 사정으로 답변이 늦어졌습니다. 죄송합니다.
말씀하신 대로 리눅스에서는 파일, 소켓, 디바이스 등을 전부 파일로 추상화합니다. 즉, 파일처럼 다룰 수 있다는 말입니다.
하지만 모든 파일이나 장치 등이 파일 디스크립터 혹은 파일 포인터(FILE *)를 갖고 있다고 말할 수는 없습니다. 프로세스가 파일을 열면(open) 그 파일을 다룰 수 있도록 해주는 파일 디스크립터 혹은 파일 포인터를 받아오게 되는 것입니다. 항상 존재하는 것을 주는게 아니라 프로세스가 그 파일에 대해 열기를 요청하면 만들어준다고 이해하시는게 좋을 것 같습니다.
inotify 객체에 등록된 watch descriptor 해제 관련 질문
0
37
2
select API 실습 코드 질문
0
40
2
wsl에서 fcntl사용
0
72
2
inotify_event 구조체 질문 [파일 이벤트 - 라이브 프로그래밍]에서...
0
180
2
./stat 파일이름
0
273
2
fopen r, r+모드 차이
0
460
2
강의를 모두 수강하고 스스로 구현하면 좋을 과제나 프로젝트 주제가 있을까요?
0
326
1
pthread 질문
0
419
2
I/O Multiplexing(select) 질문
0
325
1
inotify.c. ret 질문
0
302
1
inotify.c 질의합니다.
1
317
1
child process
0
715
1
read/blocking
0
564
1
flock
0
565
1
system call
0
598
1
pthread_create() 함수 이용했을 때, thread가 두번 호출되는 것 처럼 나타납니다. 왜 그런것인가요?
0
487
1
fork() 함수 사용시 결과 관련 질문
0
371
1
exec 관련 궁금한 사항
0
450
2
buf 선언에 따른 read() fail 문제
0
251
2
파일 이벤트 - 라이브 프로그래밍 에서 캐스팅 질문
0
254
1
2번 multi thread 방법 질문
0
242
1
segmentation fault 발생 관련 문의
1
842
1
라이브 코딩 실습 코드
0
235
1
화면이 짤려요
0
549
4

