가상 메모리에 대해서 설명하세요.

Jit Hoon·2023년 8월 1일

OS

목록 보기
4/4
post-thumbnail

들어가기 전, OS 공부 위치와 오늘의 핵심은?

  • OS의 핵심 서비스 세 가지 중 자원 접근 및 할당 서비스인 메모리 페이징, 스와핑, 가상 메모리를 배우고 있다.

💡 OS 핵심 서비스 3
1. 프로세스 관리

	- 프로세스와 스레드, 프로세스 동기화, 교착 상태 해결

2. 자원 접근 및 할당

	- CPU 스케줄링, 메모리 페이징, 스와핑, 입출력장치 인터럽트 서비스 루틴

3. 파일 시스템 관리

	- 관련 정보를 묶어 파일 단위와 파일을 묶어 폴더(디렉터리) 단위로 저장 장치에 보관

오늘의 핵심

개발자가 실제 운영체제에서 가상메모리를 사용하고 있기 때문에 메모리에서 가장 중요한 개념은 가상 메모리이다.


[연속 메모리 할당의 문제점을 채우는 메모리 압축]

  • 연속 메모리 할당의 문제점인 외부 단편화를 해경하는 메모리 압축 방식

연속 메모리 할당의 기본 메모리 활용 방식 : 스와핑

  • 현재 사용되지 않는 프로세스롤 보조기억장치(스왑 영역)로 옮기고 그 빈공간에 새 프로세스를 적재하는 방식

연속 메모리 할당의 세 가지 방식 : 최초, 최적, 최악 적합

  1. 최초 적합 (first-fit)

    순차적으로 빈 공간을 찾다가 발견 시 바로 프로세스 배치

    • 검색 최소화, 빠른 할당
  2. 최적 적합 (best-fit)

    검색한 모든 빈 공간 중 가장 작은 공간에 프로세스 배치

  3. 최악 적합 (worst-fit)

    검색한 모든 빈 공간 중 가장 큰 공간에 프로세스 배치


연속 메모리 할당의 문제점 : 외부 단편화

  • 메모리를 연속적으로 할당했기 때문에, 프로세스 종료 후 메모리 사이 사이에 새 프로세스가 들어갈 수 없는 빈 공간 발생

외부 단편화 해결 방식 : 메모리 압축 (compaction)

  • 메모리의 흩어진 빈 공간을 하나로 모으는 방식. 하지만 메모리 이동이 잦아 오버해드 발생 가능성이 높다.

[앞선 문제점을 해결해줄 가상 메모리]

  • process 전체를 메모리에 올리지 않더라도 실행이 가능한 방식

페이징 방식

세그멘테이션 방식

요구 페이징(demand paging)

Page fault

page 교체

  • page fault가 발생하면, 요청된 page를 디스크에서 메모리로 가져온다. 이 때, 물리적 메모리에 공간이 부족하면 메모리에 올라와 있는 page를 디스크로 옮겨서 메모리 공간을 확보해야 하며 이를 page 교체라고 한다.

page 교체 알고리즘(replacement algorithm)

profile
최지훈_FE_최최최최종.log

0개의 댓글