CS 21

[CS] 프로세스와 스레드

순서프로세스란?스레드란?프로세스와 스레드의 차이점요약프로세스란?프로세스란 운영체제가 제공하는 실행 단위로 독립적인가상 주소 공간과 자원을 갖음프로세스마다 코드, 데이터, 스택, 힙이 별도로 관리됨.스레드란?프로세스 내부에서 실행 단위로 하나의 프로세스 안에서 여러 스레드가 메모리를 공유함코드, 힙, 전역 변수를 공유하고 스택만 스레드별로 독립됨CPU가 스케줄링하여 병렬/동시 실행 가능함.프로세스와 스레드의 차이점구분프로세스스레드메모리독립적(각자 가상 주소 공간)공유(같은 프로세스 힙/글로벌)자원독립적 자원(파일, 햄들 등)공유 자원생성비용높음낮음통신IPC 필요메모리 공유로 직접 가능함C++/언리얼 활용CreateProcess/FPlatformProcess::CreateProcstd::thread, FRu..

CS 2025.08.28

[CS]메모리 단편화

순서메모리 단편화란?메모리 단편화의 종류메모리 단편화가 생기는 원인메모리 단편화의 측정과 영향메모리 단편화를 해결하기 위한 방법정리메모리 단편화란?메모리 할당.해제 과정에서 사용 가능한 메모리 블록이 조각나서 요구하는 메모리의 크기의 연속된 공간을 확보하기 어려운 현상.메모리 단편화의 종류내부 단편화(Internal fragmentation)메모리 정렬이나 최소 블록 단위 때문에 실제 필요한 크기보다 더 많이 할당되는 현상예를 들어 3바이트가 필요해도 8바이트 단위로 맞춰서 할당되는 것외부 단편화(External fragmentation)동적 메모리 할당과 해제가 반복되면서 힙 메모리가 잘게 조각나 큰 연속적인 공간을 할당하기 어려워지는 문제작은 객체를 반복적으로 생성/삭제하다가 큰 객체를 생성하려고 하..

CS 2025.08.28

[CS]프로세스의 메모리

순서프로세스란?프로세스 메모리 구조프로세스 메모리의 핵심 메커니즘프로세스 메모리의 동작프로세스란?프로세스란 프로그램이 실행되어 운영체제에 의해 관리되는 실행 단위로, 독립적인 가상 주소 공간을 가짐.프로세스가 보는 주소는 물리 메모리와 1:1이 아니라 페이지 단위로 매핑되어 있고, 이 매핑을 통해 프로세스마다 격리와 보호가 이뤄집니다.큰 흐름: 로더(또는 런타임) > 세그먼트(코드. 데이터 등) 적재 > 실행 중에 동적 할당.매핑 > 페이지 폴트/스왑/캐시 관리프로세스 메모리 구조낮은주소에서 높은주소 순으로 코드, 데이터, 힙, 스택 네 부분으로 나뉘며, 실행 중 확장/축소됨코드(code) 영역실행할 프로그램의 기계어 명령어 저장보통 읽기 전용(Read-only임)이며 실행 권한이 있음.함수 정의, 제어..

CS 2025.08.27

[CS]빌드 프로세스

순서빌드란?빌드의 종류빌드 과정빌드란?컴퓨터는 2진법으로 0과 1밖에 모르기 때문에 코드를 컴퓨터가 이해할 수 있도록 기계어로 번역하여, 실행 가능한 파일로 만드는 과정우리가 만든 소스코드를 빌드라는 과정을 통해 실행 파일을 얻음. 이렇게 얻은 실행파일은 컴퓨터가 읽을 수 있는 이진코드인 기계어로 이루어져있음.빌드의 종류Compile Type: 소스코드 전체를 기계어로 번역함Interpreted Type: 소스코드를 한 줄씩 번역하면서 실행함Hybrid Type: 소스코드 전체를 중간코드(바이트 코드)로 번역한 뒤 가상머신(VM)에서 한 줄씩 실행함빌드 과정CompileType의 빌드과정전처리(Processing)#include, #define, #if같은 지시문들을 처리함헤더 파일을 불러오고, 매크로를..

CS 2025.08.27

[CS] CPU와 GPU

순서CPUGPUCPU와 GPU의 차이CPUCPU란?Central Processing Unit으로 중앙처리장치라고 부르며 컴퓨터에서 기억, 해석, 연산, 제어라는 4대 주요 기능을 관할하는 장치임.강력한 연산 처리능력으로 개별적인 작업을 신속하게 처리하는데 특화되어 복잡한 연산을 순차적으로 빠르게 처리할 수 있음CPU의 주요 구성요소제어장치(CU): 메모리와 입출력 장치, ALU가 서로 데이터를 주고받을 수 있도록 제어 신호를 내보내며 어떤 명령을 언제 실행할지 순서를 관리함산술/논리단위(ALU): 덧셈, 뺄셈 같은 산술 연산과 AND, OR같은 논리 연산을 담당함레지스터(Register): CPU 내부에 있는 초고속 임시 저장 공간으로 아래의 대표적인 세가지가 있음.PC(Program Counter): ..

CS 2025.08.26

[CS] 컴퓨터의 메모리 구조

순서메모리 계층 구조프로세스 메모리 구조두 구조의 관계메모리 계층 구조메모리 계층 구조는 하드웨어가 실제 메모리를 관리하는 방식임. 하드웨어 관점의 메모리 계층 구조는 아래 순서와 같이 이루어져 있다.레지스터 : CPU 내부, 가장 빠르고 용량이 매우 작다.캐시(L1, L2, L3) : CPU 칩 가까이에 위치, 빠르지만 용량이 제한적임주 기억장치(Ram) : 일반적인 작업이 이뤄지는 공간, 중간의 속도르 가짐보조 저장장치(SSD, HDD) : 용량이 크지만 느림보관 장치(테이프, 클라우드) : 아카이브용, 매우 느리지만 용량이 큼CPU는 자주 쓰는 데이터를 빠른 계층(레지스터 또는 캐시)에 두고, 덜 쓰는 건 RAM 또는 SSD에 둠프로세스 메모리 구조프로세스 메모리 구조는 운영체제가 프로그램에 제공하..

CS 2025.08.22

[C++] 우선순위 큐

순서큐란?우선순위 큐란?우선순위 큐 구현방법힙이란?힙의 특징과 종류큐란?큐(Queue)는 먼저 들어오는 데이터가 먼저 나가는 FIFO(First In First Out)형식의 자료구조우선순위 큐란?우선순위 큐(Priority Queue)는 먼저 들어오는 데이터가 아닌, 우선순위가 높은 데이터가 먼저 나가는 형태의 자료구조일반적으로 힙(Heap)을 이용하여 구현함우선순위 큐 구현방법 힙이란? 힙은 우선순위 큐를 위해 고안된 완전 이진 트리 형태의 자료구조여러 개의 값 중 최댓값 또는 최솟값을 찾아내는 연산이 빠름힙의 특징과 종류힙의 특징완전 이진 트리 형태로 이루어져있음부모 노드와 서브 트리간 대소 관계가 성립됨.(반정렬 상태)이진 탐색 트리와 달리 중복된 값이 허용됨힙의 종류최대 힙: 부모 노드의 키 값..

CS/자료구조 2025.07.24

[자료구조]AVL트리

순서트리란?트리에 사용되는 용어AVL트리란?레드-블랙트리란?이진탐색트리(BST)레드-블랙트리와 AVL트리 비교AVL트리가 STL 컨테이너로부터 간택받을 수 없는 이유트리란?트리란 계층적인 자료구조이다.하나의 루트(root)노드에서 시작하여 자식 노드로 나눠짐그래프의 한 종류지만 사이클이 없는 형태트리의 용도계층적 데이터 표현탐색 및 정렬우선순위 큐(힙)파싱 등 트리에 사용되는 용어루트 노드: 트리의 가장 위에 있는 노드를 뜻함리프 노드: 자식이 없는 노드부모/자식: 연결된 두 노드의 관계를 뜻함서브트리: 트리의 일부로서 하나의 노드와 그 하위 노드들높이: 루트에서 가장 깊은 리프까지의 거리AVL트리란?각 노드의 왼쪽, 오른쪽 서브트리 높이 차이가 1 이하가 되도록 자동으로 균형을 유지하는 이진 탐색 ..

CS/자료구조 2025.07.21