2sjin
2sjin
2sjin

블로그 메뉴

  • My GitHub
  • 전체 게시글
    • UNIX 이론 정리
    • Linux
      • Linux 관련 노하우
      • Linux 과제
      • OracleCloud & Ubuntu
      • Tomcat Server
      • MySQL Server
      • 구름 OS
      • 라즈베리파이4
    • 데이터베이스
      • DB 관련 노하우
      • DB 과제
      • DB 프로젝트
    • Unity
    • Computer Science
      • 통신 & 네트워크
      • 자료구조 & 알고리즘
      • 운영체제
      • 정보보호
      • 기타 분야
    • 소프트웨어
      • 소프트웨어공학
      • 프로그래밍 언어

공지사항

인기 글

태그

  • 팀 프로젝트
  • 개인 Term Project

최근 글

티스토리

전체 방문자
오늘
어제
hELLO · Designed By 정상우.
2sjin

2sjin

[컴퓨터공학개론 과제] 가상기억장치(Virtual Memory)의 관리
Computer Science/운영체제

[컴퓨터공학개론 과제] 가상기억장치(Virtual Memory)의 관리

2022. 10. 3. 14:23

관련 게시글

https://2sjin.tistory.com/86

 

가상기억장치(Virtual Memory) 관리 기법

관련 게시글 https://2sjin.tistory.com/66 [컴퓨터공학개론] 가상기억장치(Virtual Memory)의 관리 ■ 가상기억장치(Virtual Memory)의 관리 1. 개요 RAM과 같은 주기억장치의 용량이 부족하다면, 주기억장치..

2sjin.tistory.com

 


 

■ 가상기억장치(Virtual Memory)의 관리

 

1. 개요

RAM과 같은 주기억장치의 용량이 부족하다면, 주기억장치를 확장하는 방법도 있지만, HDD와 SSD 등의 보조기억장치 일부 영역을 주기억장치와 논리적으로 합쳐서 사용하는 방법도 있다. 이때 합쳐진 보조기억장치의 영역을 가상기억장치(Virtual Memory)라고 한다.

가상기억장치의 사용은 같은 용량의 주기억장치를 물리적으로 확장한 것에 비해 처리 속도가 느리다는 단점이 있으나, 가격 대비 고용량의 주기억장치를 사용할 수 있다는 것이 장점이다. 따라서 프로세스 간의 메모리 침범 가능성이 줄어들며, 메모리 관리 측면에서 매우 효율적이다.

가상기억장치는 페이징 기법과(Paging) 세그먼테이션 기법(Segmentation)을 사용하여 관리한다.

[참고] 메모리의 단편화

기억 장치에 공백 영역이 발생하거나 데이터가 여러 개의 조각으로 나뉘는 현상을 단편화라고 한다. 단편화에는 내부 단편화와 외부 단편화가 있다. 내부 단편화는 분할된 기억 장치의 빈 영역에 프로세스가 적재될 때 자투리 공간이 발생하는 경우를 말한다. 외부 단편화는 기억 장치의 공백 영역이 프로세스의 크기보다 작을 경우, 큰 프로세스가 적재될 수 없는 경우를 말한다.

 

2. 페이징(Paging)

가상기억장치를 일정한 크기의 페이지(Page) 단위로 미리 나누고, 주기억장치를 같은 크기의 프레임(Frame) 단위로 나누어, 가상기억장치 내의 프로세스(Process)를 필요에 따라 주기억장치에 할당하는 기법을 페이징(Paging) 기법이라고 한다.

페이징(Paging) 기법을 사용하는 가상기억장치 시스템에서는 내부 단편화가 발생할 수 있다. 마지막 페이지(Page) 크기가 프레임(Frame) 크기와 일치하지 않을 수 있기 때문이다. 내부 단편화는 각 프로세스(Process)의 마지막 페이지에서 소량(평균적으로 각 프로세스 당 반 페이지 정도의 내부 단편화가 발생할 수 있다. 반면, 외부 단편화는 발생하지 않는다. 페이지(Page) 크기와 프레임(Frame) 크기를 같이 분할하고, 모든 빈 프레임(Frame)을 프로세스(Process)에게 할당할 수 있기 때문이다.

 

3. 세그먼테이션(Segmentation)

가상기억장치 내의 프로세스(Process)가 주기억장치에 적재될 때, 가변적인 크기의 세그먼트(Segment) 단위로 논리적으로 나누어 주기억장치에 동적으로 할당하는 기법을 세그먼테이션(Segmentation) 기법이라고 한다.

페이지, 프레임과 달리 분할된 세그먼트(Segment) 영역들은 서로 크기가 다르다. 운행 중, 분할된 세그먼트(Segment) 영역들은 자유 영역(공백)으로 되돌려질 수 있는데, 이 자유 영역들이 너무 작을 때 외부 단편화(적재 불가)가 발생할 수 있다. 반면, 내부 단편화는 발생하지 않는다.

 

4. 혼합 기법

페이징(Paging) 기법과 세그먼테이션(segmentation) 기법을 혼하여 사용하는 기법을 혼합 기법이라고 한다. 혼합 기법에서는 모든 세그먼트(Segment)를 페이지(Page) 단위로 다시 나누어 외부 단편화 문제를 해결할 수 있다. 그러나 내부 단편화 현상은 여전히 존재할 수 있다.

 

 

[참고] Windows 가상 메모리 설정

Windows 운영체제에서 가상기억장치를 설정하기 위해서는 아래 경로를 통해 가상 메모리 변경 창을 실행하면 된다.

시스템 속성 → 고급 탭 → 성능 설정(S) → 고급 탭 → 가상 메모리 → 변경(C)

드라이브별로 가상기억장치 사용 여부 및 처음 크기, 최대 크기 설정을 할 수 있으며, 시스템이 자동으로 관리하도록 설정해 둘 수도 있다. 게임과 같은 일부 응용프로그램의 경우 주기억장치(RAM) 용량이 넉넉하더라도 프로그램 설계상 소용량의 가상 기억공간을 요구할 수도 있다. 그러므로 주기억장치 용량이 넉넉하다고 해서 가상기억장치를 아예 비활성화하는 것보다는 프로그램에 따라 소용량을 할당해 주는 것이 가장 바람직하다.

 

'Computer Science > 운영체제' 카테고리의 다른 글

프로세스 실행 다이어그램  (0) 2022.10.03
운영체제의 기능과 역할, 실시간 운영체제  (0) 2022.10.03
[컴퓨터공학개론 과제] 캐시 메모리(Cache Memory)  (0) 2022.10.03
[컴퓨터공학개론 과제] 중앙처리장치(Control Processing Unit, CPU)  (0) 2022.10.03
운영체제 Term Project - 버퍼 기반의 고속 암호화기  (0) 2022.04.15
'Computer Science/운영체제' 카테고리의 다른 글
  • 프로세스 실행 다이어그램
  • 운영체제의 기능과 역할, 실시간 운영체제
  • [컴퓨터공학개론 과제] 캐시 메모리(Cache Memory)
  • [컴퓨터공학개론 과제] 중앙처리장치(Control Processing Unit, CPU)
2sjin
2sjin

티스토리툴바