SW마에스트로 13기/CS스터디 4

데드락(=교착상태)/사용자수준&커널수준 쓰레드/외부단편화&내부단편화/Context-Switching/Swapping

교착상태란? - 1번째 스레드는 2번째 쓰레드가 들고 있는 객체의 락이 풀리기를 기달리고, 2번째 쓰레드도 1번째 쓰레드가 들고 있는 객체의 락이 풀리기를 기다리는 상황. - 즉, 모든 쓰레드가 "무한 대기 상태" 교착상태의 4가지 조건 1. 상호배제 : 한번에 한 프로세스만 공유 자원 사용. 공유 자원에 대한 접근 권한이 제한된다. 자원 양이 제한되어 있어도 교착상태 발생 가능. 2. Hold and Wait(점유대기) : 공유 자원에 접근권한을 가진 프로세스가 양보하지 않고 갖고 있는 상태로 다른 자원 접근 권한 요구. 3. 선취(비선점) : 한 프로세스가 다른 프로세스의 자원 접근 권한을 강제로 취소할 수 없다. 4. Circular Wait(순환대기) : 두 개 이상의 프로세스가 자원 접근을 기다..

TCP, UDP, VPN(Virtual Private Network)

CS면접 네트워크 모음(https://luv-n-interest.tistory.com/1170) TCP에 비해 UDP의 패킷 구조가 매우 단순한 것을 아래와 같이 직관적으로 확인할 수 있다. VPN의 장점 전용선을 일일히 설치할 필요가 없기 때문에 장거리 통신망 구축비용이 매우 저렴하다. 익명성보장이 가능하다. 해외 사이트 속도 향상 이는 국내 ISP가 늘어나는 해외 트래픽 비용을 감당하지 못해 QoS 정책을 통해 국내 유저의 해외 인터넷 속도의 제한을 걸었기 때문입니다. ISP의 속도제한을 우회하여 접속하기 때문에 본래 나와야하는 속도가 나오는 경우가 생기기 때문입니다. 가입된 인터넷 회선 종류에 따라서 다르기 때문에 무조건적인 장점이라고 할 수 없기도 하니 참고 하시길 바랍니다. - PPTP (Poi..

동기와 비동기/프로세스 동기화/메모리관리전략/가상메모리/캐시의 지역성/자료구조

동기 vs 비동기 어떠한 프로그램 개발한다고 할 때, 어떤 function()를 구현할때 둘의 차이점은 아래와 같다. 동기 : function(); 이 끝나기를 기다렸다가 진행하는 것. +) function()의 값이 꼭 필요하고 수행해야될 경우. -) 그러므로 한 작업 시간이 길어지면, 전체 응답이 지연 될 수 있다. 비동기 : function(); 을 호출하고 바로 다음 줄로 넘어가는 방식. +) function()의 값이 꼭 필요하지 않아 계속 진행해도 되는 경우. +) 요청 순서에 상관없이, 동시&다수 작업 수행. -) 작업이 끝날 때 이벤트 감지하고 결과를 받아 그에 따른 추가 작업을 해줘야 하므로 느릴 수 있음. => Callback 함수를 통해 지나갔지만 호출된 function()의 결과값이..