본문 바로가기
OS/Windows

[Windows 기초] CPU 개념(구성, 스케줄링, interrupt)

by SE_123 2023. 6. 29.

 

CPU 구성

  • Thread: CPU 스레드는 독립적인 작업을 동시에 수행할 수 있는 CPU 코어 내의 최소 실행 단위입니다. 스레드는 병렬 실행하여 처리량 증가, 멀티태스킹 기능 향상, 응답성 향상이 가능합니다. 이를 통해 여러 작업 또는 프로세스를 동시에 실행하고 워크로드를 분산시킬 수 있습니다. 
  • Workingset:: 컴퓨팅에서 워킹셋은 프로세스 또는 시스템에서 사용하는 메모리(RAM)값을 나타냅니다.워킹셋 최적화를 통해 윈도우는 메모리 리소스의 활용도를  높이고 고비용의 디스크 I/O 작업은 줄일 수 있습니다. 

 

CPU 스케줄링

Windows CPU 스케줄링은 서로 다른 작업과 프로세스 간에 CPU(중앙 처리 장치) 리소스를 할당하기 위해 Windows 운영 체제에서 사용하는 메커니즘입니다. CPU 스케줄링의 주요 목표는 CPU 활용을 최적화하고 여러 프로세스를 효율적으로 실행하는 것입니다.알고리즘에 따른 우선순위(IRQL)에 따라 interrupt가 발생해 실행됩니다. 

  • Interrupt: 실행중인 스레드를 방해하고 다른 스레드를 먼저 처리 되게 합니다. 인터럽트 처리 후에는, 인터럽트가 생기기 이전으로 복귀시키는 스케줄링 과정을 갖습니다. .
    • dispatch: 할당
    • DPC: 실행
    • APC: 대기
    • Passive: 준비(← 메모리가 올라올때 까지)

 

스케줄링 알고리즘 종류

CPU 스케줄링은 알고리즘에 따라 각기 다른 스케줄링 우선순위 부여 방식을 가집니다.대표적인 스케줄링 알고리즘 종류는 다음과 같습니다. 

  • FIFO (FCFS) 스케쥴링 알고리즘 (배치 처리 시스템)
  • 최단 작업 우선(SJF) 스케쥴링 알고리즘
  • 우선순위 기반 스케쥴링 알고리즘(정적 우선순위, 동적 우선순위)
  • Round Robin 스케쥴링 알고리즘(시분할 시스템)
  • 프로세스 상태 기반 스케쥴링 알고리즘(멀티 프로그래밍)

 

Windows CPU 스케줄링은 리소스 할당을 통해 효율적인 멀티태스킹, 응답성 및 공정성을 제공하도록 설계되어 사용자가 시스템 안정성과 성능을 유지하면서 동시에 여러 응용 프로그램을 실행하는 역할을 합니다. 

 

⭐️Windows Internals시리즈⭐️

[Windows Internals] 32bit와 64bit 시스템

[Windows Internals] 가상 메모리의 사용

[Windows Internals] CPU 개념(구성, 스케줄링, interrupt)

...작성중...

반응형