본문 바로가기

공부/CS공부

운영체제 - 메모리관리 정리 (방송통신대학교 운영체제)

반응형

프로세스와 메모리

프로세스의 동작

  • 프로그램 카운터를 참조하여 메모리로부터 수행될 명령을 읽어 CPU의 해당 명령을 수행
  • 프로그램은 보조기억장치에 파일 단위로 있다가, 실제 수행시 메모리에 로드해서 사용
  • 메모리에 있는 프로세스를 반복해서 사용해야 하는 경우, 더욱 빠른 기억장치인 캐시에 저장하여 사용

기억장치 계층 구조

  • 적절한 비용으로 높은 성능을 낼 수 있도록 계층적으로 구성
  • CPU[레지스터] > 캐시 기억장치 > 메모리 > 보조 기억장치

OS의 메모리 관리

  • 메모리 호출: 언제 새로운 프로세스를 메모리에 둘 것인가?
  • 메모리 배치: 실행된 프로세스를 메모리 내의 어느 곳에 둘 것인가?
  • 메모리 교체: 메모리가 꽉 찬 상태에서 새로운 프로세스를 적재해야 한다면 어떤 프로세스를 제거할 것인가?
  • 메모리를 고정 분할할 것인가 동적 분할할 것인가?
  • 프로세스 적재 영역이 고정적인가 유동적인가?

단일 프로그래밍 환경

초기의 시스템

  • 오직 하나의 프로세스만 메모리를 전용으로 사용
  • 프로세스는 하나의 연속된 블록으로 메모리에 할당(연속 메모리 할당)

문제점

  • 메모리 용량을 초과하는 프로세스는 실행 불가
  • 메모리 낭비: 당장 사용되지 않는 프로세스의 영역도 계속 적재
  • 자원의 낭비: CPU나 I/O를 사용하는 경우 반대쪽 자원이 사용되지 못함

다중 프로그래밍 환경

  • 여러 개의 프로세스가 메모리에 동시에 적재되는 것
  • CPU 연산과 입출력을 동시에 함으로써 CPU 이용도와 시스템 처리량 증가

메모리 분할

  • 여러 프로세스를 메모리에 적재하기 위하여 고안된 방법
  • 하나의 분할에 하나의 프로세스가 적재
  • 두 가지 방식: 고정 분할, 동적 분할

고정 분할

고정 분할 프로세스 배치 방법 1

  • 메모리를 여러 개의 고정된 크기의 영역으로 분할
  • 분할 된 영역마다 큐를 두고 큐에 들어온 프로세스는 해당 분할 영역에만 적재
  • 절대 번역 및 적재
  • 효율성 낮음
  • 절대 번역: 한번 작업 큐에 들어간 작업을 다른 작업 큐로 옮겨 처리할 수 없음

고정 분할 프로세스 배치 방법 2

  • 1개의 작업 큐를 사용
  • 하나의 큐만 두고 큐에 들어온 프로세스는 어느 분할 영역에든 적재
  • 재배치 가능 번역 및 적재
  • 복잡함
반응형