인프런 커뮤니티 질문&답변

돈우님의 프로필 이미지
돈우

작성한 질문수

CS 지식의 정석 | 디자인패턴 네트워크 운영체제 데이터베이스 자료구조

가상메모리와 스와핑, 페이지폴트 그리고 스레싱 ★★★

안녕하세요 운영체제 부분 질문 있습니다!!

해결된 질문

작성

·

190

0

안녕하세요

  1. 페이지 폴트 과정에서 가상 메모리가 page table 참조하다가 만약 실제 주소에 자리가 없으면 페이지 폴트가 일어난다고 이해했는데, 그럼 페이지 테이블에서 trap 발생하는것도 인터럽트인가요??

  2. 스레싱이 발생하면 CPU 이용률이 줄어든다고 했는데, 그럼 스와핑이 일어날때 RAM에 있는 프로세스를 하드디스크로 보내자나요 즉 스와핑이 일어나고 있을때 CPU는 잠시 정지를 하는건가요??

답변 1

2

큰돌님의 프로필 이미지
큰돌
지식공유자

안녕하세요 돈우님 ㅎㅎ

  1. 페이지 폴트 과정에서 가상 메모리가 page table 참조하다가 만약 실제 주소에 자리가 없으면 페이지 폴트가 일어난다고 이해했는데, 그럼 페이지 테이블에서 trap 발생하는것도 인터럽트인가요??

>> 네 맞습니다. 정확히는 page table miss >> trap 발동 등의 과정이 일어나게 됩니다.

 

  1. 스레싱이 발생하면 CPU 이용률이 줄어든다고 했는데, 그럼 스와핑이 일어날때 RAM에 있는 프로세스를 하드디스크로 보내자나요 즉 스와핑이 일어나고 있을때 CPU는 잠시 정지를 하는건가요??

>>

아닙니다.

먼저 스레싱은 페이지폴트율이 높은 것을 말하는데요.

페이지폴트가 발생이 되면 메모리 > HDD & HDD > 메모리가 발생하는데 이 때 HDD의 평균 대기시간 3ms, 검색시간은 5ms, 전송시간은 페이지당 0.05ms입니다. 즉, 페이지폴트가 발생하면 "페이징"에 걸리는 시간은 8ms(= 8,000μs)에 가깝습니다. 평균적으로 메모리 엑세스 시간이 0.2μs라면 약 40,000배 느려지게 됩니다.

(지금은 SSD라서 좀 더 빠를 수도 있지만요.)

 

즉, 이렇게 성능에 안 좋은 영향을 주는 페이지폴트가 계속해서 일어난다 = 스레싱이 되는 것인데요.

그렇기 때문에 CPU는 일을 하고 있지만 40,000배 느려져서 받아오는 메모리에 있는 명령어를 읽게 되므로 이용률도 떨어지게 되는 것입니다.

CPU는 계속 일하고 있습니다. ㅎㅎ

 

 


또 질문 있으시면 언제든지 질문 부탁드립니다.

좋은 수강평과 별점 5점은 제게 큰 힘이 됩니다. :)

감사합니다.

강사 큰돌 올림.


 

돈우님의 프로필 이미지
돈우

작성한 질문수

질문하기