CS

    TCP/IP 에 대하여

    TCP/IP란? TCP/IP는 패킷 통신을 위한 인터넷 규약입니다. 태초에 통신은 연결이 이루어지고 나서 끊어질 때 까지 해당 회선을 완전히 독점하여 사용했습니다. 이러한 통신 방식을 서킷 통신이라고 부릅니다. 이 때 다른쪽에서는 해당 회선을 이용하지 못하고 기다려야 하는 상황이 발생합니 다. 서킷통신의 이러한 단점을 해결하기 위해 나온 방식이 패킷 통신입니다. 패킷통신은 다중망을 사용할 뿐만 아니라 보내는 내용을 잘게 잘라서 보내게 됩니다. 따라서 특정 회선이 끊어지거나 누가 사용하여 통신을 못하게 되는 경우를 예방할 수 있습니다. TCP와 IP의 특징을 살펴보자면, IP는 패킷 전달 여부를 보증하지 않습니다. 또한 패킷을 보낸 순서와 받는 순서가 다를 수도 있습니다. 이에 반하여 TCP는 IP위에서 ..

    Heap(힙)에 대하여

    Heap(힙) 완전 이진 트리의 일종으로 우선순위 큐를 위하여 만들어진 자료구조입니다. 여러 개의 값중에 최댓값이나 최솟값을 빠르게 찾아내도록 만들어진 자료구조입니다. 힙은 반정렬 상태(느슨한 정렬 상태)를 유지합니다. [ 완전 이진 트리의 의미 ] 완전 이진 트리에서 완전이라는 말의 의미는 마지막 레벨을 제외한 모든 노드가 채워져 있으면서 모든 노드가 왼쪽부터 채워져 있어야 하는 것을 의미합니다. 위 그림에서 완전 이진트리는 마지막 레벨을 제외한 모든 노드가 채워져 있고 왼쪽부터 채워진 형태를 볼 수 있습니다. 만약 마지막 레벨의 노드가 모두 채워져 있으면 이를 포화 이진트리라고 부르게 됩니다. [ 힙의 반정렬(느슨한 정렬) 상태 ] 힙은 어떻게 최댓값 또는 최솟값을 빠르게 찾아낼 수 있을까요? 힙이 ..

    캐시 메모리

    Cache Memory(캐시 메모리) 캐시 메모리는 속도가 빠른 장치와 느린 장치 간의 속도차에 따른 병목 현상을 줄이기 위한 범용 메모리입니다. CPU가 처리하는 속도보다 RAM에서 데이터를 인출해오는 속도가 느리기 때문에 시간의 낭비가 발생하게 됩니다. 캐시 메모리는 사용한다면 둘 사이의 속도 차이로 인한 병목현상을 해결 할 수 있습니다. 캐시메모리는 CPU와 메모리 사이에 위치해 있으며 레지스터 보다는 용량이 크고 메모리보다는 빠른 저장 장치입니다. 캐시메모리는 CPU와 가까운 순서대로 계층을 구성합니다. CPU와 가장 가까운 캐시 메모리를 L1 캐시, 그 다음으로 가까운 캐시를 L2 캐시, 그 다음 가까운 캐시 메모리를 L3라고 부릅니다. 캐시 메모리의 용량은 L1, L2 ,L3 순으로 커지고 속..

    PCB와 Context Switching이란?

    PCB(Process Control Block)란? PCB는 프로세스 제어 블록을 지칭하는 말입니다. 모든 프로세스는 실행을 위해 CPU를 필요로 합니다. 하지만 CPU자원은 한정되어 있기 때문에 모든 프로세스를 동시에 실행할 수는 없습니다. 그렇기 때문에 돌아가면서 프로세스들을 실행해야 되는데, 이 때 각 프로세스들의 실행순서와 자원 배분을 위해 운영체제는 PCB를 사용하게 됩니다. 메모리는 커널 영역과 사용자 영역으로 나뉘어 지는데, PCB는 커널 영역에 생성됩니다. PCB는 프로세스 생성 시에 만들어지고 실행이 끝나면 폐기됩니다. PCB에는 아래와 같은 정보가 담기게 됩니다. 프로세스 ID (PID) 레지스터 값 프로세스 상태 CPU 스케줄링 정보 메모리 관리 정보 사용한 파일과 입출력 장치 PCB..