3월 19일 - 프로세스 스케줄링(2)

Yullgiii·2024년 3월 18일
0
post-thumbnail

프로세스 스케줄링 알고리즘과 컨텍스트 상세 이해

RR (Round Robin) 스케줄링과 Time Slice의 Trade-off

RR 스케줄링에서 타임 슬라이스의 길이는 중요한 trade-off를 가져온다:

  • 짧은 타임 슬라이스는 컨텍스트 스위칭의 빈번한 발생으로 오버헤드를 증가시키지만, 시스템 응답 시간을 개선하고 프로세스 간의 공정한 CPU 접근성을 보장한다.
  • 긴 타임 슬라이스는 오버헤드를 감소시키지만, RR이 사실상 FCFS와 유사하게 작동하여 특정 프로세스에 대한 지연을 증가시킬 수 있다.

상시 실행 프로세스를 위한 스케줄링 알고리즘

상시 실행되어야 하는 프로세스가 있는 경우 실시간 스케줄링이 적합하다:

  • 작업의 마감 시간을 보장하여 시스템의 예측 가능성과 안정성을 유지한다.
  • 실시간 스케줄링은 해당 프로세스에 가장 높은 우선순위를 부여하여 시스템의 중요 작업을 지속적으로 수행할 수 있게 한다.

동시성과 병렬성의 차이

  • 동시성(Concurrency)는 단일 CPU에서 여러 작업이 번갈아 가며 실행되어 동시에 처리되는 것처럼 보이는 컴퓨팅 개념이다.
  • 병렬성(Parallelism)은 여러 처리기를 사용하여 여러 작업을 실제로 동시에 실행하는 것을 의미한다.

Multi-level Feedback Queue의 문제 해결 능력

Multi-level Feedback Queue 스케줄링은 다음과 같은 문제를 해결한다:

  • 다양한 프로세스 유형(시스템, 대화형, 배치 등)을 효율적으로 관리한다.
  • 프로세스의 실행 패턴에 따라 동적으로 우선순위를 조정하여 기아 현상과 공정성 문제를 해결한다.
  • 짧은 작업과 사용자 인터랙션에 빠른 응답을 제공하여 시스템의 사용성을 개선한다.

FIFO 스케줄러의 유용성

FIFO 스케줄러는 간단하고 예측 가능한 작업 처리에 유용하며, 특히 작업의 종류와 실행 시간이 비슷한 배치 처리 시스템에서 적합하다.

프로세스 대 스레드 스케줄링

스케줄링 알고리즘은 주로 프로세스 단위로 논의되지만, 멀티스레딩 환경에서는 스레드 간 스케줄링도 중요하다. 스레드 스케줄링은 프로세스 내의 리소스 공유를 최적화하고 효율적인 실행을 가능하게 한다.

유저 스레드와 커널 스레드 스케줄링 차이

유저 스레드와 커널 스레드는 다르게 스케줄링 될 수 있다:

  • 유저 스레드는 사용자 수준에서 관리되며, 커널 스레드는 운영 체제가 직접 관리한다.
  • 커널 스레드 스케줄링은 운영 체제의 커널에 의해 처리되며, 보다 복잡한 우선순위 및 정책을 적용받는다.
profile
개발이란 무엇인가..를 공부하는 거북이의 성장일기 🐢

0개의 댓글