2025/01/21 2

CPU 스케줄링 이란?

1. CPU 스케줄링이란?CPU 스케줄링은 운영 체제가 프로세스나 스레드에 CPU를 효율적으로 할당하는 과정을 의미합니다. 시스템의 성능과 효율성을 극대화하기 위해 CPU는 가능한 한 유휴 상태로 남지 않도록 설계되어야 합니다.2. CPU 스케줄링의 필요성다중 프로그래밍 지원: 하나의 CPU를 여러 프로세스가 사용해야 하는 환경에서 CPU 자원의 최적 분배가 필요합니다.공정성: 모든 프로세스가 공정하게 CPU를 사용할 수 있도록 보장해야 합니다.응답 시간 최소화: 사용자 요청에 대한 빠른 응답을 제공하기 위해 필요합니다.시스템 성능 최적화: CPU 활용도를 극대화하고 문맥 전환 오버헤드를 줄여야 합니다.3. CPU 스케줄링 기준CPU 사용률(CPU Utilization)CPU가 유휴 상태로 있는 시간을 ..

프로세스(Process)와 스레드(Thread)

1. 프로세스란 무엇인가?프로세스는 실행 중인 프로그램을 의미합니다. 운영 체제에서 메모리, CPU와 같은 시스템 자원을 할당받아 독립적으로 실행됩니다. 프로세스는 각자의 메모리 공간을 가지며, 다른 프로세스와 메모리 공간을 공유하지 않습니다.프로세스의 주요 특징독립성: 각 프로세스는 고유의 메모리 영역(코드, 데이터, 힙, 스택)을 가지며, 다른 프로세스와 분리되어 실행됩니다.운영 체제의 관리: 프로세스는 운영 체제에 의해 생성, 관리, 종료됩니다.비용: 프로세스 간 문맥 전환(Context Switching)은 많은 시스템 자원을 소모합니다. 프로세스의 구성 요소코드 영역(Code Segment): 실행할 프로그램의 명령어가 저장됩니다.데이터 영역(Data Segment): 전역 변수와 정적 변수가 ..