목록전체 글 (67)
The Boxer
※ 두 스레드를 구분할 때 물리적과 논리적이라는 단어는 제가 임의로 붙인 단어입니다. 하드웨어적으로 구현된 스레드와 소프트웨어적으로 구현된 스레드를 구분하기 위함입니다. [물리적 스레드] - 물리적 스레드를 알기 전에 먼저 코어가 무엇인지 알아봅시다. - 코어 : CPU에 내장된 처리회로. 명령어를 메모리에서 뽑아 해석하고 실행하는 반도체 유닛.- CPU는 다수의 코어를 장착할 수 있습니다. 최근에 나오는 듀얼 코어(2코어), 쿼드 코어(4코어), 옥타 코어(8코어) 등이 그 개념입니다.- 코어의 수가 증가할수록 CPU의 처리 속도는 빨라집니다. 싱글 코어에서 2번 해야될 연산을 듀얼 코어에서는 한번에 수행하여 완료할 수 있습니다. 다만, 코어가 증가할 수록 클럭(코어당 연산의 속도)가 낮아진다는 단점이..
[프로세스(Process)] 정의 : 컴퓨터에서 연속적으로 실행되고 있는 프로그램메모리상에서 실행되는 코드 특징- 프로세스는 실행시 Code, Data, Stack, Heap의 독립된 메모리 영역을 할당 받음- 중앙처리장치(CPU)가 돌면서 여러 프로세스를 처리(멀티 프로그래밍)- 프로세스를 회전하면서 프로세스의 상태(Context)를 저장하고 실행시 다시 불러옴(Context Switching)- 프로세스는 독립된 메모리 영역을 차지하므로 Context Switching에 오버헤드가 발생함 [쓰레드(Thread)]정의 : 프로세스에서 동작하는 여러 실행의 흐름프로세스는 최소 1개 이상의 쓰레드를 소유하나의 프로그램에서 여러개의 태스킹을 동시에 실행할때 스레드를 사용가령 게임에서 여러 캐릭터들이 동시에 ..
[동시성(Concurrency)] 싱글코어에서 멀티쓰레드를 동작시키는 방식 싱글코어가 여러개의 쓰레드를 번갈아 가면서 작업(멀티 프로그래밍)논리적인 병렬성 구현쓰레드가 병렬적으로 실행되는것 처럼 보임 [병렬성(Parallelism)]멀티코어에서 멀티쓰레드를 동작시키는 방식멀티코어가 여러개의 쓰레드를 동시에 작업(멀티 프로세싱)물리적인 병렬성 구현쓰레드가 실제로 병렬적으로 실행됨 데이터 병렬성- 같은 작업을 병렬처리 하는 방식- 전체 데이터를 서브 데이터로 나누어 서브 데이터들을 병렬처리- 서브 데이터는 코어 수 만큼 나뉨- Java 8에서 지원하는 병렬 스트림이 데이터 병렬성을 사용함 작업 병렬성- 서로 다른작업을 병렬처리 하는 방식 [Parallelism vs Concurrency] (출처 : http..
[IPv4 주소 체계]IP 주소 : 네트워크 통신시 노드를 구별하기 위한 논리적인 주소 표기법- 32 bit로 표현하며 10진수 4자리를 '.' 으로 나누어 표현 계층 구조- IP 주소는 접두사(prefix)와 접미사(suffix)로 나뉨- 32 bit주소 중 앞 부분은 prefix, 나머지 부분이 suffix- prefix는 Network를 판별하기 위한 Network ID로 사용되며 suffix는 Host를 구분하기 위한 Host ID로 사용됨 (편지를 전달하기 위해 Network는 동네 - 아파트에, Host는 아파트 몇 호에 사는 개인으로 비유할 수 있음)- IP 주소 체계에서 '/' 뒤에 이어지는 부분이 prefix에 대한 길이(bit)를 나타냄 (출처 : http://www.ktword.co...
[네트워크 통신망의 종류]네트워크 통신 구조와 방법에 대한 정리 [근거리 통신망(LAN)]Local Area Network : 개인 소유, 단일 사무실, 건물, 학교등 소규모에 있는 호스트를 연결한 네트워크 구조소규모의 네트워크 호스트간 상호 연결을 통해 구성 일반적으로 개인이 사적으로 사용하기 위한 목적 [광역 통신망(WAN)] Wide Area Network : 넓은 지리적인 크기를 갖는 도시, 주, 국가간의 네트워크 구조LAN과는 다르게 라우터, 교환기 등을 사용하여 호스트를 연결 WAN은 주로 통신회사가 구성하고 이를 임대하는 목적 [교환 망]회선 교환 망 - 두 시스템 사이에 회선(circuit)이라 불리는 전용선이 사용됨- 물리적인 회선을 사용하여 통신 패킷 교환 망- 일반적인 컴퓨터 네트워크..