전체 글 99

리눅스 커널 분석 - Mutex

리눅스 시스템 응용 설계 term project였던 리눅스 커널 분석이다. Mutex 코드 분석을 맡았고, 분석했던 걸 정리하였다. 딥한 부분을 다루기보다는 Mutex의 코드 프로세스에 초점을 두었다. kernel version은 linux 5.4.214이다. Mutex 개념 정의 한 스레드, 프로세스에 의해 소유될 수 있는 key를 기반으로 한 상호배제기법 자원에 대한 접근을 동기화하기 위해 사용 프로그램이 시작될 때 고유한 이름으로 생성 Locking 메커니즘 오직 하나의 스레드만 동일한 시점에 mutex를 얻어 critical section에 들어올 수 있다. 또한 오직 이 스레드만이 critical section에서 나갈 때 mutex를 해제할 수 있다. Mutex Busy Waiting? CPU..

[우아한테크코스] 우테코 백엔드 5기 최종 합격 후기

탈락하고 나서는 후기를 못 쓸 것 같았는데, 다행히 합격해서 후기를 남긴다. 아무래도 개인적인 이야기다 보니, 읽으시는 분들도 이 글이 정답이라고 생각하지 않으셨으면 좋겠다. 우아한테크코스를 신청했던 계기 우테코에 대해서는 예전부터 들어왔었다. 처음 알게 된 건 1학년 말이었던 것 같다. 우테코 지원 페이지를 보면서 내가 학년이 올라가면 저기에 지원할 수 있을까? 라는 생각을 했었다. 그때는 내가 실력이 모자라다 생각했고, 어차피 떨어질 거라 생각했다. 그래서 지원하지 않았다. 무엇보다 학업도 마음에 걸렸다. (2학년 때 휴학하기는 싫었기 때문에) 그러다가 올해 10월에 우연히 다시 우테코 5기 모집 공지를 보게 되었다. 어디였는지도 기억나는데, 동기와 함께 6피 팀플실에서 나중에 뭐 할 지 이야기 하다..

19. IP 패킷 실제 전달 과정

Addressing : packet forwarding to another LAN walkthrough : datagram을 R을 통해 A에서 B로 전송한다. A는 B의 IP 주소를 안다 : by DNS A는 R의 IP 주소를 안다 : by DHCP A는 R의 MAC 주소를 안다 : by ARP A가 출발지를 A, B로 하는 IP datagram 생성 A는 R의 MAC주소를 목적지 주소로 하는 link-layer frame을 생성하고, frame은 A-to-B의 IP datagram을 포함한다. (encapsulation) frame은 A에서 R로 전송된다. R은 frame을 받고, datagram을 삭제하고, IP로 전달한다. R은 A-B로 이동하는 datagram forward R은 B의 MAC 주소..

18. 인터네트워킹 (Internetworking) 기본

인터넷 서비스 모델 internet : 인터네트워크를 위한 서비스. 모든 것이 전화와 반대. 인터네트워크 네트워크의 연속 Concatenation of Networks 네트워크 계층 위에서 표준화 다양한 네트워크들을 링크(link)로 간주해서 그대로 사용 (이질적 네트워크 연결) 전역 주소 체계 (Global Addressing Scheme) 필요 프로토콜 스택 패킷 전달 서비스 모델 전역 주소 체계 (Global Addressing Scheme) 비연결성 (데이터그램 - 기반) 최선 노력 전달 (신뢰성 없는 서비스 - 안 가면 말고 식) - best-effort 패킷이 손실될 수 있다. 패킷이 순서가 바뀌어 전달될 수 있다. 중복된 패킷이 올 수 있다. 패킷이 오랜 시간 지연될 수 있다. 단편화 및 재..

17. 셀 스위칭 (Cell Switching): ATM

개요 ATM (비동기 전송 모드) 전화회사가 만든 패킷 스위칭 네트워크 극단적인 연결성 패킷 스위칭 작은 고정 길이 패킷 cell이라고 한다. : 5-byte 헤더 + 48-byte 페이로드 signalling(연결 설정) 프로토콜 : Q.2931 한때 WAN과 LAN 환경에서 모두 사용되었지만 현재 LAN에서는 switching ehternet에 의해 퇴출되었다. 보통 광케이블을 사용하는 장거리 연결에 사용한다. SONET interface 카드 사용 현재는 인터넷의 아래 계층, 즉 이더넷 수준의 역할을 수행한다. 셀(Cells) : 패킷 가변 길이 vs 고정 길이 최적의 고정길이는 없다. 작으면 : 데이터에 비해 헤더가 차지하는 오버헤드가 크다. 크면 : 작은 메시지에 대해 효율이 낮다. 고정 길이는..

16. 브리지(Bridge) 및 LAN 스위치

브리지 및 확장 LAN (Bridges and Extended LANs) LAN 의 물리적인 제한 + 트래픽 분리 두 개 또는 그 이상의 LAN 들을 repeater / bridge를 이용하여 연결한다. 브리지에 의해 연결된 LAN의 집합을 extended LAN(확장 LAN)이라고 한다. 확장 LAN이 보편화 (LAN, 확장 LAN) 을 현재는 (LAN segment, LAN)으로 부른다. 브리지(Bridge)의 동작 브리지 (리피터와 달리 주소를 보고 선택적으로 중계 or filtering) 동작 : 수신 (Accept) 및 포워드 (forward) : 스위치 ⇒ 필터링 (filtering) ; 리피터와의 기능적 차이 - 주소를 인식해야 하므로 frame을 다루는 2계층 작업 여러 개의 포트를 가지는..