CS/OS

[운영체제] 가상메모리 기법

IT록흐 2021. 11. 15. 23:47
반응형
 

[운영체제] 메모리 분할 ( Memory Partioning ) [ 비연속 메모리 할당 ]

[운영체제] 메모리 분할 ( Memory Partioning ) [ 연속 메모리 할당 ] 다수의 프로세스에게 메모리를 분할해줘야 한다. 이번 포스팅에서는 연속 메모리 할당 방식의 메모리 분할법을 다루겠다. 연속 메

lordofkangs.tistory.com

 

 

지난 포스팅에서

프로세스를 주기억장치에

할당하는 방법을 다루었다.

 

프로세스 전부를 주기억장치에 할당하면

메모리를 효율적으로 사용할 수 없다.

 

만약 두 가지 조건을 만족하면

필요하지 않은 블록은 보조기억장치로 보낼 수 있다.

 

 

가상메모리 기법 운용 조건

 

1) 프로세스의 메모리 참조는 논리주소로 이루어지고 동적으로 물리주소로 변환된다.

 

물리주소는 실제 블록이 메모리에 저장된 위치를 의미한다. 물리주소가 동적으로 계산되면 블록이 필요하지 않을 때 굳이 메모리에 상주하고 있을 필요가 없다.  

 

2) 프로세스 블록은 비연속적으로 메모리에 할당된다. 

 

비연속적 메모리 할당 기법에는 페이징 기법과 세그멘테이션 기법이 있다. 두 기법은 메모리를 연속적으로 할당하지 않기에 블록을 미리 할당하고 있을 필요가 없다. 나중에 공간이 빈 메모리 아무 곳이나 할당하면 된다.

 

이렇듯, 두 가지 조건을 만족하면 실메모리(주기억장치)에 모든 프로세스 블록을 할당할 필요가 없다. 필요하지 않은 블록은 보조기억장치에서 대기하는데, 이 공간을 가상메모리(Virtual Memory)라 부른다. 

 

 

가상 메모리 기법의 장점 

 

1) 많은 프로세스를 주기억장치에 유지할 수 있다.

2) 주기억장치보다 큰 프로세스를 운용할 수 있다. 

 

 

가상 메모리 기법의 단점

 

 

 

이미 주기억장치에 상주한 프로세스 블록들을 적재집합(resident set)이라 부른다. 필요한 블록이 적재집합에 없을 수 있다.  ( Memory Access Fault ) 모든 블록(페이지)을 주기억장치에 상주시키지 않기 때문이다.

 

메모리 폴트가 발생하면 해당 프로세스는 인터럽트되어 입출력이 완료될 때까지 대기해야한다. 가상 메모리 기법은 반복적으로 발생하는 메모리 폴트가 단점이다. 메모리 폴트가 과도하게 발생하면 프로세스 처리시간보다 프로세스 입출력시간이 더 커지는데, 이를 쓰레싱(Thrashing)이라 한다. 그러므로 가상 메모리 기법은 쓰레싱을 어떻게 줄이는지가 관건이다. 

 

 


 

 

참고자료

 

운영체제

컴퓨터 공학 전공자들을 위한 운영체제 내부구조 및 설계원리를 소개하는 책이다.

book.naver.com

 

반응형