블류_
chill days
블류_

블로그 메뉴

  • TIL
  • CS
  • 졸업작품[2018]
전체 방문자
오늘
어제
  • 분류 전체보기 (22)
    • logs (2)
      • 2018 (1)
    • TIL (17)
      • 졸업 작품 (3)
    • 책 (0)

공지사항

인기 글

최근 댓글

최근 글

hELLO · Designed By 정상우.
블류_

chill days

TIL

가상메모리 - page/segmentation

2022. 12. 13. 11:05
반응형

 

가상메모리

  • 주어진 기계에서 실제로 사용가능한 저장리소스의 이상화된 추상 메모리
  • 운영체제에서는 프로그램에서 사용하는 가상 주소라는 메모리 주소를 컴퓨터 메모리에 있는 물리적 주소와 mapped 됨
  • 프로세스마다 실제 물리 메모리가 아닌 가상의 주소 공간을 보이게 한다는 의미
  • 효과
    • 주기억장치의 효율적인 관리
    • 메모리 관리의 단순화
    • 메모리 용량 및 안전성 보장
  • 가상 주소
    • 프로세스가 생성되어 독립적으로 할당 받는 주소
  • Memory manage unit (MMU)에서 관리함
  • 멀티 태스킹 OS에서 흔히 사용
    • 가상 기억 장치의 개념에서 가상 공간의 연속적 주소가 실제 물리적인 공간 상에서 연속적일 필요가 없음인위적인 연속성 (artificial continuity)

Paging

  • 가상 주소 공간을 page라는 단위로 나누어짐
  • 크기가 정해져있음
  • 내부 단편화
    • page 영역 > 실행 프로그램

Page Table

  • 가상 메모리 주소를 물리 주소로 변환해준다.
  • 실제 메모리를 사용하는지 아닌 플래그를 가짐
    • 실제 메모리 안에 있으면 실제 메모리를 페이지 테이블 항목에 가지고 있음
    • 그게 아닐경우 page fault exception 발생함 ⇒ interrupt
      • 가상메모리 공간에는 존재하지만 시스템의 RAM에서 존재하지 않을 때

Page Supervisor

  • 페이지 테이블과 쉬고 있는 페이지 프레임 리스트를 생성하고 관리함
  • page fault를 해결하기 위해서 페이지 교체 알고리즘을 이용하여 잠깐 동안 할당된 페이지 프레임을 훔침

Pinned Page

  • OS는 고정된 메모리를 가짐
  • 페이지 슈퍼바이저도 고정된 메모리 가짐

Thrashing

  • 페이징과 페이지을 훔칠때 thrashing 발생가능
  • 모든 활성 프로그램의 작업들을 저장하는 메모리가 충분하지 않을 때 발생

Segementation(분할)

  • 페이지와 다르게 서로 다른 크기의 논리적 단위인 세그먼트로 분할
  • 외부 단편화
    • 주기억 장치 내 사용자 영역 < 실팽 프로그램
  • 페이지와 세그먼트는 혼용해서 사용이 가능함

Paging 과 Segmentation의 차이

  • 메모리 분할 차이
  • 세그먼트는 사용자 프로세스에서 볼 수 있음
  • page가 segmentation에 비해 빠름
  • 페이징은 운영체제에서 사용 가능한 프레임 목록을 유지, segmentation은 운영체제에서 주메모리의 누수 목록을 유지 관리함
  • 페이지는 정보의 물리적 단위 / 분할은 정보의 논리적 단위
저작자표시 (새창열림)

'TIL' 카테고리의 다른 글

prisma - update error : An operation failed because it depends on one or more records that were required but not found. Record to update not found.  (0) 2023.01.05
알고리즘 강의 정리 (간략)  (0) 2023.01.03
MySQL grant all privileges 문법  (0) 2022.11.15
20210521:: font-face / div 둥굴게 만들기 / div 투명하게 만들기  (0) 2021.05.22
[pieces] 스터디 해왔던 기록들  (0) 2021.05.12
    'TIL' 카테고리의 다른 글
    • prisma - update error : An operation failed because it depends on one or more records that were required but not found. Record to update not found.
    • 알고리즘 강의 정리 (간략)
    • MySQL grant all privileges 문법
    • 20210521:: font-face / div 둥굴게 만들기 / div 투명하게 만들기
    블류_
    블류_
    github : https://github.com/eclatchung

    티스토리툴바