익명 사용자
로그인하지 않음
토론
기여
계정 만들기
로그인
IT 위키
검색
2차 기회 알고리즘
편집하기
IT 위키
이름공간
문서
토론
더 보기
더 보기
문서 행위
읽기
편집
원본 편집
역사
경고:
로그인하지 않았습니다. 편집을 하면 IP 주소가 공개되게 됩니다.
로그인
하거나
계정을 생성하면
편집자가 사용자 이름으로 기록되고, 다른 장점도 있습니다.
스팸 방지 검사입니다. 이것을 입력하지
마세요
!
2차 기회 알고리즘(Second-Chance algorithm)은 [[FIFO (페이지 교체 알고리즘)]]를 개선한 방식으로, 교체 대상 페이지에 '''기회를 한 번 더 부여'''하여 최근에 참조된 페이지가 바로 제거되지 않도록 하는 알고리즘이다. [[클럭 알고리즘]]의 이론적 기초가 되며, [[LRU (페이지 교체 알고리즘)]]의 근사 형태로 분류된다. ==개념== 기본적으로 FIFO 방식으로 페이지를 제거하되, 페이지마다 '''참조 비트(reference bit)'''를 추가로 관리한다. 페이지가 참조되면 참조 비트는 1로 설정된다. 교체 대상 선정 시, 참조 비트가 1인 경우는 제거 대상에서 제외하고 0으로 초기화한 뒤 다시 큐의 뒤로 넣는다. 이를 통해 '''최근에 참조된 페이지는 제거되지 않고 한 번 더 기회를 얻는다.''' ==동작 방식== #페이지 요청이 들어오면, 참조된 페이지의 참조 비트를 1로 설정한다. #페이지 폴트가 발생하고 프레임이 가득 찼을 경우: ##큐의 맨 앞 페이지를 확인한다. ##참조 비트가 0이면 → 해당 페이지를 교체한다. ##참조 비트가 1이면 → 참조 비트를 0으로 초기화하고 큐 뒤로 이동시킨다. #교체 대상이 결정될 때까지 위 단계를 반복한다. ==예시== 초기 상태: 프레임 큐 = [A<sup>1</sup>, B<sup>0</sup>, C<sup>1</sup>] → B는 참조 비트가 0이므로 제거됨 → A와 C는 참조 비트를 0으로 초기화한 후 큐 뒤로 이동 ==장점== *FIFO의 단점을 완화하고 지역성을 어느 정도 반영 *구현이 간단하고 실제 시스템 적용 가능 *[[클럭 알고리즘]]으로 확장 가능 ==단점== *참조 비트를 추적해야 하므로 완전한 FIFO보다 오버헤드가 있음 *정확한 [[LRU (페이지 교체 알고리즘)]]는 아님 *페이지가 많은 경우, 반복 탐색으로 지연이 발생할 수 있음 ==클럭 알고리즘과의 관계== *[[클럭 알고리즘]]은 2차 기회 알고리즘을 원형 큐로 구현한 구조 *2차 기회 알고리즘은 이론, 클럭 알고리즘은 실제 운영체제에서의 구현 형태 ==같이 보기== *[[FIFO (페이지 교체 알고리즘)]] *[[클럭 알고리즘]] *[[LRU (페이지 교체 알고리즘)]] *[[참조 비트]] *[[페이지 교체 알고리즘]] ==참고 문헌== *Silberschatz, A., Galvin, P. B., & Gagne, G. (2020). Operating System Concepts. Wiley *Tanenbaum, A. S., & Bos, H. (2014). Modern Operating Systems. Pearson [[분류:운영체제]] [[분류:가상 메모리]]
요약:
IT 위키에서의 모든 기여는 크리에이티브 커먼즈 저작자표시-비영리-동일조건변경허락 라이선스로 배포된다는 점을 유의해 주세요(자세한 내용에 대해서는
IT 위키:저작권
문서를 읽어주세요). 만약 여기에 동의하지 않는다면 문서를 저장하지 말아 주세요.
또한, 직접 작성했거나 퍼블릭 도메인과 같은 자유 문서에서 가져왔다는 것을 보증해야 합니다.
저작권이 있는 내용을 허가 없이 저장하지 마세요!
취소
편집 도움말
(새 창에서 열림)
둘러보기
둘러보기
대문
최근 바뀜
광고
위키 도구
위키 도구
특수 문서 목록
문서 도구
문서 도구
사용자 문서 도구
더 보기
여기를 가리키는 문서
가리키는 글의 최근 바뀜
문서 정보
문서 기록