본문 바로가기

Operating system

스레싱, 정적 할당, 동적 할당

스레싱 (threshing)

  • 하드디스크 입출력이 너무 많아져서 잦은 페이지 부재로 작업이 멈춘 것 같은 상태

스레싱 발생 시점

  • CPU가 작업하는 시간보다 스왑 영역에서 페이지를 보내고 새로운 페이지를 메모리에 가져오는 작업이 빈번해져 CPU가 작업할 수 없는 상태에 이르게 됨
  • 물리 메모리의 크기를 늘리면 스레싱 발생 지점이 늦춰져서 프로세스를 원만하게 실행할 수 있음

 

스레싱과 프레임 할당

  • 프로세스에 너무 적은 프레임을 할당하면 페이지 부재가 일어남
  • 프로세스에 너무 많은 프레임을 할당하면 페이지 부재는 줄지만 메모리가 낭비됨
  • 프로세스에 프레임을 할당하는 방식은 크게 정적 할당과 동적 할당으로 구분

 

정적 할당, 동적 할당

  • 정적 할당 : 균등 할당, 비례 할당
  • 동적 할당 : 작업 집합의 갱신, 페이지 부재 빈도

 

균등 할당

  • 프로세스의 크기와 상관없이 사용 가능한 프레임을 모든 프로세스에 동일하게 할당
  • 크기가 큰 프로세스는 필요한 만큼 할당받지 못하고, 크기가 작은 프로세스는 메모리가 낭비됨

 

비례 할당

  • 프로세스의 크기에 비례하여 프레임을 할당
  • 프로세스가 실행 중에 필요로 하는 프레임을 유동적으로 받지 못

 

 

작업집합의 갱신

  • 작업 집합의 크기가 5라는 것은 페이지에 다섯 번 접근할 때마다 작업 집합을 갱신

 

작업집합 윈도우의 크기와 프로세스 실행 성능

  • 작업집합 윈도우를 너무 크게 잡으면 필요 없는 페이지 메모리에 남아서 다른 프로세스에 영향을 미침
  • 너무 작게 잡으면 필요한 페이지가 스왑 영역으로 옮겨져서 프로세스의 성능이 떨어짐
  • 적정크기의 작업집합을 유지해아 함

 

페이지 부재 빈도

  • 페이지 부재 횟수를 기록하여 페이지 부재 비율을 개선
  • 페이지 부재 비율이 상한선을 초과하면 프레임을 추가, 하한선 밑으로 내려가면 할당한 프레임을 회수
  • 페이지 빈도 반식은 프로세스를 실행하면서 적정 페이지 할당량을 조절

'Operating system' 카테고리의 다른 글

쓰기 시점 복사  (1) 2023.11.17
전역 교체와 지역 교체  (1) 2023.11.17
페이지 교체 알고리즘  (0) 2023.11.17
페이지 부재  (0) 2023.11.17
요구 페이징  (0) 2023.11.17