목록CS (3)
코딩하는 오징어
병렬 알고리즘과 관련해서 최근의 연구 결과를 보면 대부분이 Non-Blocking 알고리즘, 즉 여러 스레드가 동작하는 환경에서 데이터의 안정성을 보장하는 방법으로 락을 사용하는 대신 저수준의 하드웨어에서 제공하는 compare-and-swap 혹은 compare-and-set (이후 CAS연산이라고 하겠다.)등의 명령을 사용하는 알고리즘을 다루고 있다. Non-Blocking 알고리즘은 운영체제나 JVM에서 프로세스나 스레드를 스케줄링 하거나 가비지 컬렉션 작업, 그리고 락이나 기타 병렬 자료 구조를 구현하는 부분에서 많이 사용되고 있다. 다음과 같은 순서로 글을 써내려가겠다. 락 기반 알고리즘의 단점 병렬 연산을 위한 하드웨어 지원 JVM에서의 CAS 연산 지원 Non-Blocking 알고리즘 락 기..
DHCP 기초 DHCP의 기본적인 역할은 IP 주소 할당 이다. 하지만 단순히 `192.168.0.101`과 같은 IP 주소를 PC에 할당해 봐야 네트워크는 통신할 수 없다. 일반적으로 DHCP 서버는 IP주소, 서브넷 마스크, 디폴트 게이트웨이라는 기본 3종 세트와 DNS(Domain Name Service)서버 IP 주소, 도메인 이름 같은 추가 정보를 제공한다. 기본 3종 세트에 대해 간단히 설명하면 다음과 같다. 그림 1-1 1. IP 네트워크는 위의 그림과 같이 복수의 서브넷이 라우터로 서로 연결되는 구조이다. 각 서브넷에는 `네트워크 주소`와 `서브넷 마스크`가 할당되고, 할당된 정보로 그 서브넷에서 이용할 수 있는 IP주소의 범위가 정해진다. ip address / subnet mask ->..
인터넷을 이용하여 검색이나 웹 서핑, 이메일 등의 웹 애플리케이션을 사용할 때 사용자는 도메인 이름을 웹 브라우저의 주소 창에 입력하고 해당 데이터를 요청한다. 즉, 실제 웹 브라우저와 웹 서버는 숫자로 구성된 IP 주소로 통신하지만 사용자는 기억하기 쉬운 도메인 이름을 사용하는 것이다.이와 같이 사용자가 입력한 도메인 주소를 IP 주소로 변환 하는 과정이 필요한데, 이를 담당하는 시스템이 DNS(Domain Name System)이다. DNS의 구성 요소 도메인 네임 스페이스 (Domain Name Space) - DNS는 거대한 분산 네이밍 시스템이며, 도메인 네임 스페이스는 이러한 DNS가 저장/관리하는 계층적 구조를 의미한다. - 최상위 Root DNS 서버가 존재하고, 그 하위로 인터넷에 연결된..