본문 바로가기

CS35

멀티프로세싱, 멀티스레딩 멀티프로세싱, 멀티스레딩 이번 포스팅에선 멀티프로세싱, 멀티스레딩을 설명해 보겠습니다. 멀티프로세싱 우리가 알고 있는 일반적인 개념은 하나의 프로그램이 실행되면 하나의 프로세스가 된다는 것입니다. 멀티프로세싱이란 하나의 응용프로그램을 여러 개의 프로세스로 구성하여 마찬가지로 여러 개의 프로세서가 하나의 작업을 처리하는 것입니다. 프로세서란 CPU를 의미하며 현재 우리가 사용하는 PC는 대부분 멀티코어로 여러 개의 프로세스를 가지고 있습니다. 멀티프로세싱에서 중요한 점은 하나의 프로그램이 여러개의 프로세스로 나누어진다는 것입니다. 나누어졌기 때문에 하나 이상의 일을 병렬로 처리할 수 있으며 프로세스 중 일부에 문제가 발생해도 다른 프로세스에 영향이 없어 신뢰성이 높은 강점이 있습니다. 하지만 각 프로세스들.. 2023. 3. 7.
ARP(Address Resolution Protocol) ARP(Address Resolution Protocol) ARP란 주소 결정 프로토콜로 IP 주소로 부터 MAC 주소를 찾는 프로토콜입니다. 컴퓨터 간의 통신은 IP 주소에서 ARP를 통해 MAC 주소를 찾아 MAC 주소를 기반으로 하는 통신입니다. 내부 네트워크에서 호스트를 찾을 때 스위치에서 호스트들에게 본인의 주소를 포함하여 ARP Request 브로드캐스트를 보냅니다. 그 후에는 찾고있는 IP에 해당하는 host가 받은 주소로 MAC주소를 반환합니다. ※ 잘못된 정보, 혹은 다른 의견이 있다면 댓글로 말해주세요. 감사합니다. 2023. 3. 7.
컨텍스트 스위칭 컨텍스트 스위칭 우리가 컴퓨터를 쓸 때 하나의 프로그램만 실행하지 않습니다. 인터넷, 게임 등 여러개를 실행시킬 수 있죠? 프로그램들은 동시에 실행되는 것이 아니라 엄청나게 빠른 속도로 프로그램을 교체하며 실행시키는 것인데요. 예를 들어 A, B, C란 프로그램들을 실행시키자고 할 때 CPU는 하나의 코어를 기준으로 A -> B -> C -> A -> B -> A -> C 처럼 매우 빠르게 프로그램을 교체하는 것입니다. 이러한 방법을 '컨텍스트 스위칭'이라고합니다. PCB 컨텍스트 스위칭은 PCB를 통해 이루어 집니다. PCB란 운영체제에서 프로세스에 대한 메타데이터를 저장한 데이터인데요 메타데이터란 데이터를 설명하는 작은 데이터 입니다. 컨텍스트 스위칭은 프로그램들, 즉 프로세스들을 계속해서 교체하는 .. 2023. 3. 3.
조인(Join) 알고리즘 - 정렬 병합 조인(Sort Merge Join) 조인(Join) 알고리즘 - 정렬 병합 조인(Sort Merge Join) 조인이란 데이터베이스에서 하나의 테이블이 아닌 두 개 이상의 테이블을 묶어서 하나의 결과물을 만드는 것입니다. 이번 포스팅에서는 이러한 조인의 원리. 즉, 조인 알고리즘 중 정렬 병합 조인에 대해서 알아보겠습니다. 정렬 병합 조인 (Sort Merge Join) 각각의 테이블을 조인할 필드 기준으로 가져와 별도의 공간에서 정렬하고 정렬한 결과를 차례로 스캔하면서 조건에 맞는 값을 병합하는 방법입니다. 위와 같이 정렬 병합 조인은 중첩 루프 조인과 다르게 인덱스가 필요 없다는 것을 알 수 있습니다. 정렬 병합 조인은 스캔방식이기 때문에 조인할 때 쓸 적절한 인덱스가 없을 때 사용하기 좋습니다. 또한 랜덤 액세스 방법보다 I/O에 대.. 2023. 3. 2.