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

cjw7823님의 프로필 이미지
cjw7823

작성한 질문수

곰책으로 쉽게 배우는 최소한의 운영체제론

대충 넘어가는 교착상태

소켓은 파일이라 하셨는데..

해결된 질문

작성

·

785

0

강사님 안녕하세요. 강사님 강의를 쭉 보다가 의문이 생겨 질문 드립니다.
네트워크 통신에서 소켓이 파일이라 하셨는데 이 부분이 이해가 가지 않습니다.

파일이라 함은 2차 메모리에 저장되는 포맷(파일이라는 형태로 저장된다고 말씀하셨습니다.) 아닌가요?
하지만 소켓 통신은 Ram 수준에서 버퍼를 통해 통신하지 않습니까?

'소켓의 본질은 파일이다.' 가 무슨 의미인지 이해가 가지 않습니다.

답변 1

4

널널한 개발자님의 프로필 이미지
널널한 개발자
지식공유자

OS 수준에서 파일은 크게 보면 두 종류입니다. 2차 메모리에 저장된 단위 데이터 덩어리를 의미하는 파일과 장치에 대한 추상화된 인터페이스를 제공하는 장치파일 입니다. 내부는 전혀 다른 이 두 파일은 어쨌든 파일 입니다. C언어에서 파일을 개방하는 함수로 fopen() 함수가 있습니다. 재밌는 것은 이 함수로 데이터 파일이든 장치파일이든 개방이 가능하다는 것입니다.

소켓은 TCP에 대한 추상화된 인터페이스이며 TCP는 결국 NIC을 이용합니다. 결과적으로 소켓은 네트워크 통신 체계 및 장치에 대한 추상화 된 인터페이스이며 파일형식을 갖고 있습니다. 이 파일에 쓰면 2차 메모리에 데이터를 저장하는 일이 일어나는 것이 아니라 NIC을 움직여 정보를 송신합니다. 두 경우 모두 '쓰기' 입니다. 다만 소켓에서는 쓰기 대신 '송신'이라는 표현으로 바꾼 것입니다.

참고하시기 바랍니다.

cjw7823님의 프로필 이미지
cjw7823
질문자

와... 정말 감사합니다. 더 열심히 공부하겠습니다!

영상에서 파일이라고 말씀하신 게 몇 번을 봐도 이해가 안갔는데 두 번째 의미로 생각해보니 애하가 되네요 감사합니다

cjw7823님의 프로필 이미지
cjw7823

작성한 질문수

질문하기