병렬처리 3

파이프라이닝(Pipelining)과 성능 최적화

1. 파이프라이닝(Pipelining)이란? 파이프라이닝(Pipelining)은 CPU에서 여러 명령어를 동시에 처리하여 성능을 향상시키는 기술이다. 하나의 명령어가 완료될 때까지 기다리는 것이 아니라, 여러 개의 명령어를 겹쳐서 실행함으로써 CPU의 활용도를 극대화할 수 있다. ✅ 비유: 자동차 조립 라인전통적인 방식: 한 명이 자동차 한 대를 완성한 후 다음 차를 제작파이프라이닝 방식: 조립 공정을 나누어 여러 명이 동시에 여러 대를 제작📌 즉, 파이프라이닝은 각 단계별로 작업을 나누어 병렬로 처리하여 CPU 성능을 높이는 기법이다.2. 파이프라이닝의 기본 원리 파이프라이닝은 명령어 실행을 여러 단계로 나누어 처리하는 방식이다. 일반적으로 5단계 파이프라인이 사용된다. ✅ CPU의 5단계 파이프라인..

컴퓨터공학 2025.03.15

운영체제의 스케줄링 알고리즘: 개념과 종류

1. CPU 스케줄링이란?운영체제는 한정된 CPU 자원을 효율적으로 분배하기 위해 프로세스를 관리해야 한다.이때, CPU가 어떤 프로세스를 실행할지 결정하는 과정이 **CPU 스케줄링(CPU Scheduling)**이다.CPU는 한 번에 하나의 프로세스만 실행할 수 있으므로, 여러 프로세스를 공정하고 효율적으로 배치하는 방법이 필요하다.운영체제는 특정 규칙을 기반으로 프로세스의 실행 순서를 결정하는데, 이를 CPU 스케줄링 알고리즘이라고 한다.1-1. 스케줄링 알고리즘의 목표CPU 사용률(CPU Utilization) 극대화: CPU가 최대한 유휴 상태 없이 동작하도록 함처리량(Throughput) 증가: 단위 시간당 더 많은 프로세스를 처리응답 시간(Response Time) 최소화: 사용자 요청에 대..

컴퓨터공학 2025.03.05

프로세스와 스레드의 차이: 개념과 실행 방식

1. 프로세스와 스레드란? 기본 개념 이해컴퓨터에서 프로그램을 실행하면 **프로세스(Process)**가 생성된다.프로세스는 실행 중인 프로그램을 의미하며, 내부에서 여러 개의 **스레드(Thread)**를 가질 수 있다.프로세스(Process): 실행 중인 하나의 독립적인 프로그램스레드(Thread): 프로세스 내에서 실행되는 작업의 단위1-1. 프로세스(Process)의 특징운영체제가 할당하는 독립적인 작업 단위각각의 프로세스는 별도의 메모리 공간을 가짐다른 프로세스와 독립적으로 실행됨1-2. 스레드(Thread)의 특징프로세스 내부에서 실행되는 작은 실행 단위같은 프로세스 내에서는 메모리를 공유함멀티스레딩을 사용하면 동시에 여러 작업을 처리할 수 있음2. 프로세스와 스레드의 차이점 비교 항목 프로..

컴퓨터공학 2025.03.05