page3
프로세스가 큐 간 이동이 가능한 고급 알고리즘으로, 프로세스의 실행 특성에 따라 동적으로 우선순위
를 조정합니다 .
다중처리기 환경에서는 로드 밸런싱, 프로세서 친화성, 대칭 다중처리(SMP) 등을 고려해야 합니다 .
각 프로세서는 자체 스케줄러를 가지거나 공통 스케줄러를 사용할 수 있습니다 .
실시간 시스템에서는 데드라인 보장이 핵심이며, 하드 실시간과 소프트 실시간으로 구분됩니다 .
Rate Monotonic Scheduling과 Earliest Deadline First 등의 알고리즘이 사용됩니다 .
프로세스는 동시에 실행될 수 있으며, 언제든지 실행이 부분적으로 완료된 상태로 중단될 수 있습니다
. 공유 데이터에 대한 동시 접근은 데이터 불일치를 초래할 수 있어, 협력하는 프로세스의 순서 있는
실행을 보장하는 메커니즘이 필요합니다 .
여러 프로세스가 동시에 공유 데이터에 접근할 때, 실행 순서에 따라 결과가 달라지는 상황입니다 .
예를 들어,
counter++
연산이 세 개의 기계어 명령어로 구현될 때 중간에 다른 프로세스가 개입하면 예
상과 다른 결과가 나올 수 있습니다 .
n개의 프로세스가 공통 변수를 변경하거나 테이블을 업데이트하는 등의 작업을 수행하는 코드 세그먼
트입니다 . 한 프로세스가 임계 구역에서 실행 중일 때 다른 프로세스는 자신의 임계 구역에 들어갈
수 없어야 합니다 .
다단계 피드백 큐
[1]
1.6 다중처리기 스케줄링
[1]
[1]
1.7 실시간 스케줄링
[1]
[1]
2. 동기화 도구
2.1 배경 및 기본 개념
동시성과 데이터 일관성
[2]
[2]
경합 조건 (Race Condition)
[2]
[2]
2.2 임계 구역 문제
임계 구역 정의
[2]
[2]
해결책의 요구사항
상호 배제: 프로세스가 임계 구역에서 실행 중이면 다른 프로세스는 진입 불가
[2]
진행: 임계 구역이 비어있고 진입 요청이 있으면 선택 과정이 무한 연기되지 않아야 함
[2]
유한 대기: 진입 요청 후 허가까지 다른 프로세스의 진입 횟수에 상한이 존재해야 함
[2]