질문자 : 최은혜
답변자 :�이강현, 오유진, 최다환
범위 : [혼자 공부하는 컴퓨터 구조 + 운영체제] 14장 ~ 15장
최다환 : 저는 FIFO 페이지 교체 알고리즘에 대해 설명드리겠습니다. FIFO 알고리즘은 가장 먼저 들어간걸 가장 먼저 빼는 페이지 알고리즘입니다. 항상 최적을 보장할 수 없다는 단점이 있어서 이걸 보완하기 위해 만든것이 2차 기회 페이지 교체 알고리즘입니다. 이건 가장 먼저 들어간 것을 뺀다음에, 유효비트가 1이면 0으로 만든 다음 다시 현재 시간으로 설정해서 넣어놓는 방법으로 구현됩니다.
오유진 : 최적 페이지 교체 알고리즘은 페이지 사용 빈도가 낮을 것을 예측해서 페이지를 교체하는 알고리즘입니다. 예측을 해야하기 때문에 정확성이 높지않을 수 있습니다. 따라서 사용하기 보단 성능 평가용으로 자주 사용됩니다.
이강현 : LRU 페이지 교체 알고리즘은 최적 페이지 교체 알고리즘이 실현 불가능한 것이기 때문에 생긴 알고리즘으로서, 제일 사용되지 않은 페이지를 교체합니다.
오유진 : CPU 사용빈도가 높으면 페이지폴트가 감소하고, CPU 사용빈도가 낮으면 페이지폴트가 증가합니다.
이강현 : 멀티프로그래밍의 정도가 늘어날수록 CPU 사용빈도가 늘어날 것이라고 생각하겠지만, 실제로는 스래싱 현상이 일어날 경우 페이지를 교체하는 시간이 CPU 사용하는 시간보다 많아지기 때문에 꼭 비례해서 증가하지는 않습니다. 멀티프로그래밍의 정도가 올라갈수록 CPU 이용률이 올라가다가 어느 한 지점부터 스래싱 현상이 발생해서 CPU 이용률이 떨어지게됩니다.
이강현 : 균등 할당은 모든 프로세스에게 똑같은 프레임을 할당하는 방식입니다.
최다환 : 비례 할당방식은 프로세스의 크기에 따라서 프레임을 할당하는 방식입니다.
오유진 : 작업 집합 모델은 일정시간동안 참조한 페이지 크기만큼 프레임을 할당하는 방식입니다.
최다환 : 파티셔닝은 보조기억장치의 구역을 나누는 것을 의미하고, 포매팅은 많은 사람들이 컴퓨터를 초기화한 것으로 알고있지만 그게아니라 새로운 파일을 쓰기 위해 준비하는 작업입니다.
오유진 : 파티셔닝이란 구역을 나누어서 구분하는 작업을 의미하고, 포매팅은 초기화하는 것이 아니라 프로세스를 관리하고 새로운 작업을 시작하기 위해 준비하는 것을 말합니다.
이강현 : 파티셔닝은 보조기억장치를 어떻게 사용할지를 나누는 작업이고, 포매팅은 어떤 파일 시스템을 쓸건지 새로운 데이터를 쓰기위한 준비를 하는 과정입니다.
오유진 : 연속 할당은 할당할때 연속적인 공간을 할당할 수 있는데, 작업 중 취소하면 생기는 빈공간에 다른 프로세스를 담을 수 없는 외부 단편화가 발생할 수 있습니다.
이강현 : 연결 할당은 시작하는 블록부터 다음 블록의 위치를 적어두면, 다음 블록을 찾아나가면서 데이터를 저장하는 방법입니다. 이걸 통해서 외부 단편화를 해결할 수 있다는 장점이 있지만, 물리적으로 프로세스에 문제가 생겼을 경우에는 데이터를 불러들이지 못한다는 단점이 있습니다.
최다환 : 색인 할당은 모든 파일의 블록 주소를 색인 블록에 저장해두고 사용하는 방식입니다.