Carnival7
Change Developer
Carnival7
전체 방문자
오늘
어제
  • 분류 전체보기
    • 자바의 정석
    • 프로그래밍 언어별 tools
      • 파이썬
      • 자바
    • 코딩 테스트
      • 백준 강의 기초편
      • 백준 강의 연습편
      • 백준 강의 문제편
      • 삼성 기출
      • 백준 - 일반
      • 카카오 기출
      • 프로그래머스 - 일반
      • 코테 풀이 Tools
    • CS
      • Network
      • 운영체제
      • 알고리즘
      • DB
    • Web_Backend
      • Spring
      • 스프링 MVC 1편 - 백엔드 웹 개발 핵심 기술
      • 스프링 핵심 원리 - 기본편
    • DevOps
    • IT 업무 지식
      • 인프라
      • 클라우드
    • 자격증
      • AWS - CLF
      • 정처기 - 실기
    • 생각 정리

블로그 메뉴

  • 홈
  • 태그
  • 방명록

공지사항

인기 글

태그

  • code deploy
  • 스프링 #인터셉터 #AOP #필터
  • 삼성기출 #2023 #상반기
  • 삼성기출 #백준강의문제편
  • DMZ
  • 스프링 부트 무중단 웹 서비스
  • 프로그래머스 #카카오기출 #레벨2
  • DevOps
  • Github Actions
  • ci/cd
  • 코딩테스트 #삼성기출 #구현 #시뮬레이션
  • 슬라이딩 윈도우 #덱
  • 알고리즘 #백준강의기초편 #코딩테스트
  • nginx
  • 슬라이딩 윈도우
  • 스프링 #AOP

최근 댓글

최근 글

티스토리

hELLO · Designed By 정상우.
Carnival7

Change Developer

CS/운영체제

10. 메모리 관리 전략

2024. 8. 3. 19:51

메모리 관리 전략

메모리 관리 전략은 보조기억장치의 프로그램이나 데이터를 주기억장치에 적재시키는 시기, 적재 위치 등을 지정하여 한정된 주기억장치의 공간을 효율적으로 사용하여 많은 프로세스를 로드하기 위한 것이다.

각각의 프로세스 는 독립된 메모리 공간을 갖고, 운영체제 혹은 다른 프로세스의 메모리 공간에 접근할 수 없는 제한이 걸려있고, 운영체제 만이 운영체제 메모리 영역과 사용자 메모리 영역의 접근에 제약을 받지 않기 때문에 이를 운영체제가 담당한다.


  • 메모리 관리 전략
    • 메모리 관리 전략의 종류
      • 반입 정책(fetch policy)
      • 배치 정책(placement policy)
        • 최초 적합
        • 최적 적합
        • 최악 적합
      • 교체 정책(replacement policy)
        • FIFO(First In First Out)
        • LRU(Least Recently Used)
        • LFU(Least Frequently Used)

메모리 관리 전략의 종류

반입 정책(fetch policy)

보조기억장치에 보관중인 프로그램이나 데이터를 언제 주기억장치로 적재할 것인지를 결정

  • 요구 반입(=요구 페이징) : 실행중인 프로그램이 특정 프로그램이나 데이터 등의 참조를 요구할 때 적재
  • 예상 반입 : 실행중인 프로그램에 의해 참조될 프로그램이나 데이터를 미리 예상하여 적재

배치 정책(placement policy)

새로 반입되는 프로그램이나 데이터를 주기억장치의 어디에 위치시킬 것인가를 결정

최초 적합

프로그램이나 데이터가 들어갈 수 있는 크기의 빈 영역 중 첫 번째 분할 영역에 배치

  • 다른 배치 방법에 비해 탐색 시간이 적어 빠름
  • 메모리 공간 활용도가 떨어질 수 있다.

image

최적 적합

프로그램이나 데이터가 들어갈 수 있는 크기의 빈 영역 중 단편화를 가장 적게 남기는 분할 영역에 배치

  • 매우 작은 크기의 빈공간을 생성하여 메모리 단편화가 적게 발생하지만, 모든 빈 공간을 탐색해야 하므로 탐색 비용이 많이 발생

image

최악 적합

프로그램이나 데이터가 들어갈 수 있는 크기의 빈 영역 중 단편화를 가장 많이 남기는 분할 영역에 배치시키는 방법

  • best fit과 마찬가지로 전체 탐색이 필요
  • 최적 배치와 반대되는 접근 방법으로, 최적 배치는 남는 공간의 활용도가 적은 반면 최악 배치는 남는 공간에 다른 프로세스 및 다른 데이터를 배치할 수 있게된다.

image

교체 정책(replacement policy)

페이지 부재(Page Fault)가 발생하면 가상기억장치에서 필요한 페이지를 찾아 주기억장치에 적재해야 하는데, 이때 주기억장치의 모든 페이지 프레임이 사용중이면 어떤 페이지 프레임을 선택하여 교체할 것인지를 결정하는 기법

FIFO(First In First Out)

각 페이지가 주기억장치에 적재될 때마다 그때의 시간을 기억시켜 가장 먼저 들어와서 가장 오래 있었던 페이지를 교체

LRU(Least Recently Used)

최근에 가장 오랫동안 사용하지 않은 페이지를 교체

LFU(Least Frequently Used)

사용 빈도가 가장 적은 페이지를 교체

Reference

  • https://gamedevlog.tistory.com/84

  • https://dduddublog.tistory.com/28

  • https://aerocode.net/389

  • https://velog.io/@codemcd/운영체제OS-13.-페이징

  • 원본 notion 주소 : https://chemical-dive-e41.notion.site/8670b6f6f5614effa03413d3cd398826

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

12. 가상기억장치 구현 기법  (0) 2024.08.03
11. 주기억장치 할당 기법  (0) 2024.08.03
9. 스케줄링  (0) 2024.08.03
8.좀비 프로세스와 고아 프로세스  (0) 2024.07.12
7.IPC  (0) 2024.07.12
    'CS/운영체제' 카테고리의 다른 글
    • 12. 가상기억장치 구현 기법
    • 11. 주기억장치 할당 기법
    • 9. 스케줄링
    • 8.좀비 프로세스와 고아 프로세스
    Carnival7
    Carnival7

    티스토리툴바