인프런 영문 브랜드 로고
인프런 영문 브랜드 로고

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

아무도_모를_아이디님의 프로필 이미지
아무도_모를_아이디

작성한 질문수

그림으로 쉽게 배우는 운영체제

파일과 디스크

파일디스크립터 질문드려요.

작성

·

15

0

- 학습 관련 질문을 남겨주세요. 상세히 작성하면 더 좋아요!
- 먼저 유사한 질문이 있었는지 검색해보세요.
- 서로 예의를 지키며 존중하는 문화를 만들어가요.
- 잠깐! 인프런 서비스 운영 관련 문의는 1:1 문의하기를 이용해주세요.

 

여러 프로세스 혹은 스레드가 동일한 파일에 접근하면 같은 내용의 디스크립터가 반환되나요?

 

현재 다른 스레드(프로세스가) 같은 파일을 열고 있다는 메타데이터는 어디에서 관리되나요?

 

그리고 파일을 동시에 접근 제어 할 수 있는 방법은 유저스레드에서 뮤텍스나 세마포어나 락 설정 외에 커널에서 제공하는 방법이 있나요?

답변 2

0

빠른 답변 감사합니다!! -_-bbbbbbbb

 

커널에서 FD 번호를 관리하는 테이블이 따로 있나요. 제가 자바에 익숙해서 그런지 왜 숫자로 반환하는 지 이해가 잘 안되네요.

 

이제 강의에서 버츄얼 메모리 남았는데 부담스럽기도 하고 기대되기도하네요.

I/O멀티플렉싱도 따로 보고 있는데

제가 주로 하는 Java/Kotlin가 C보다 추상화가 좀더 되어있어서

확실히 C를 알아야 이해도가 높아질 것 같은데 지금와서 C를 하는 것도 참 곤란하네요.

강의 감사합니다

 

 

감자님의 프로필 이미지
감자
지식공유자

파일 디스크립터는 파일 디스크립터 테이블에서 사용되는 포인터 배열의 인덱스라서 숫자로 사용됩니다.

여기 글을 읽어 보시면 왜 서로 다른 프로세스에서는 다른 번호가, 스레드에선 같은 번호가 사용되는지도 알 수 있을 것 같습니다!

개인적인 생각으론 C를 알아두시면 전반적으로 도움이 되는 경우가 많다고 생각들어서 배우시는 걸 추천합니다.😄

0

감자님의 프로필 이미지
감자
지식공유자

안녕하세요 아무도_모를_아이디님!

여러 프로세스에서 접근하게 되면 다른 내용의 번호가 할당될 수 있습니다.
반면 스레드에서 접근하게 되면 같은 내용의 번호가 할당됩니다.

현재 열린 파일을 관리하는 메타데이터는 v-node가 관리합니다.

뮤텍스나 세마포어 외에 동시 접근할 수 있는 방법에는 파일오픈 시 공유모드를 이용하는 방법도 있습니다.
하지만 공유모드는 ANSI 표준이 아니라 호환성이 좋지는 않습니다.

궁금증이 해결되셨나요?😊

아무도_모를_아이디님의 프로필 이미지
아무도_모를_아이디

작성한 질문수

질문하기