
우리는 컴퓨터를 이용하면서 파일을 아주 자연스럽게 사용하고 있습니다. 이러한 파일들의 관리 역시 OS 를 통해 이루어집니다. 이에 대해 자세히 알아보도록 합시다. 파일이란 무엇이고, 운영체제는 파일을 어떻게 관리하는가? 파일이란? : 보조 기억장치에 저장되어 전원이 꺼지더라도 지워지지 않는 정보의 저장단위. 이 파일을 이용하여 우리는 정보를 읽고 쓸 수 있으며, 다른 프로그램의 입력/출력을 위해서도 사용할 수 있습니다. 파일의 종류로는 다음과 같은 것들이 있습니다. Regular File : 일반적인 파일 Directory : 우리가 아는 폴더에 해당합니다. Device File : 장치 파일, 외부 연결 기기를 추상화 한 파일입니다. Link : 우리가 아는 바로가기에 해당합니다. Socket, Pip..

링크 계층에서 데이터의 전송은 인접 노드로의 전송만이 가능합니다. 즉, 데이터 프레임은 같은 LAN 내에 존재하는 컴퓨터 - 컴퓨터, 컴퓨터 - 공유기 사이에서 전송됩니다. 이렇게 링크 계층에서 데이터 프레임을 송수신하기 위해서는 Destination 의 MAC 주소를 알아야합니다. 예를 들어, www.tistory.com 으로 접속하고자 한다면, DNS 가 www.tistory.com 의 IP 주소를 알려줄 수 있지만, MAC 주소는 알려주지 않습니다. 그렇다면 www.tistory.com 으로 어떻게 링크 계층 데이터를 보낼 수 있을까요? 위 그림을 보면 A,B,C 컴퓨터가 같은 네트워크 (LAN) 에 연결되어 있고, A 컴퓨터에서 외부 네트워크에 존재하는 컴퓨터 P 로 데이터를 전송하고자 합니다. ..

이번 포스팅에서는 Concurrency 하게 프로세스를 운영하면서 생길 수 있는 데드락 문제에 대해서 알아보겠습니다. 데드락이란 무엇인가? 사전 상으로 "교착 상태" 를 의미하며, OS 에서 이르는 데드락의 의미는 둘 이상의 프로세스가 서로를 기다리며 아무것도 할 수 없는 상태를 의미합니다. 다음 그림과 같은 상황이 그렇습니다. 위 상태를, 각 프로세스의 진행상황에 따라 어떤 상황이 발생할 수 있는지 그래프로 나타내면 다음과 같습니다. 회색 구역으로 진입하는 3, 4 번의 flow 는 deadlock 입니다. 서로가 서로에게 필요한 자원을 점유하고 있기 때문에 시간이 흐르더라도 각 프로세스는 더이상 진행할 수 없습니다. 그 외의 1,2,5,6 의 상황은 각 프로세스가 원하는 자원을 즉시 받지 못할 뿐, ..

오른쪽 Host 처럼 우리가 어떤 HTTP 요청을 보낸다고 하자. 그러면 이것이 Encapsulation 을 할 때 , TCP 계층에서 Destination 의 포트를 적고 IP 계층에서는 DNS 를 통해서 IP 주소를 받아온 뒤 IP Header 에 Destination IP 를 적을 수 있다고 생각했다. 그런데 Data Link 계층에서 Ethernet Header 에 Destination MAC Address 은 어떻게 적을 수 있을까? 내가 서버의 MAC 주소를 다 알고 있을리는 만무하다. 결론 : 도착지 IP 에 해당하는 머신의 MAC 을 직접 담을 수는 없다. 계속된 Routing 을 통해 목적지까지 보낼 수 있다. 찾아보았더니 ARP (Address Resoultion Protocol) 이라..