네트워크이니 만큼, 유저 모드와 커널 모드를 자세하게 알 필요는 없지만, 복습 차원에서 간단히 공부해보았다.
User Mode
유저가 사용하는 영역.
코드를 작성하거나 프로세스를 실행하는 행동을 하는 영역.
간단하게 Application을 실행시키면 Application Code가 실행되는 영역으로 생각하면 됨.
Kernel Mode
운영체제 딴에서 서비스를 제공해주는 영역.
커널의 주요 역할은 보안, 자원관리, 추상화 입니다.
그렇기에 커널모드에서는 모든 자원에 접근, 명령을 할 수 있고 하드웨어와도 통신이 가능합니다.
예를 들어서, 내가 작성한 코드에서 운영체제에 접근을 해야되는 경우(fopen 함수 사용)를 생각해보면,
내가 작성한 코드는 UserMode에서 동작을 하고 fopen을 통해서 운영체제에 요청해서 얻어와야된다면
Kernel Mode로 접근을 하게 됩니다.
이렇듯, 프로세스를 실행한다면 KernelMode와 여러번 교환을 거쳐가게 됩니다.

위의 그림과 같은 관계로 OSI-7의 관계를 이해하고 네트워크를 공부한다면 편할 거라고 말씀해주셨다.
그리고 Application에서 File의 형태로 여는 것을 네트워크에서는 네트워크 추상화가 이루어진 파일을 Socket이라고 부른다는 것을 외우면 좋다.