운영체제_메모리_메모리 관리 요구조건

미뇽·2024년 5월 18일
0

운영체제(강의)

목록 보기
21/43
post-thumbnail

메모리 관리 요구조건

  • 재배치(relocation)
  • 보호(protection)
  • 공유(sharing)
  • 논리적 구성(logical organization)
  • 물리적 구성(physical organization)

메모리 관리 관련 용어

용어설명
프레임(Frame)주기억장치의 고정 길이 블록
페이지(Page)보조기억장치에 있는 데이터의 고정 길이 블록.
한 페이지의 데이터 => 한 프레임의 주기억장치에 임시로 복사될 수 있음
세그먼트(Segment)보조기억장치에 있는 데이터의 가변 길이 블록

재배치(Relocation)

  • 주기억장치는 여러 프로세스에 의해 공유
  • Swap in/Swap out
    - 동일한 메모리 위치로 배치 보장 못함 => 재배치

  • - 프로세스의 이미지는 주기억장치의 연속된 영역이라 가정
    - CPU 하드웨어 + 운영체제 소프트웨어 => 프로그램 코드의 메모리 참조 부분에서 실제 물리 주소로 변환

보호(Protection)

  • 프로세스는 다른 프로세스에 의한 원치 않는 간섭(의도적 or 우연히 발생할 수 있는 간섭)으로부터 보호되어야 함
    => 다른 프로세스에 속한 프로그램들은 허가 없이 읽거나 쓰기를 위해 임의의 프로세스의 메모리 참조 금지
  • 재배치할 때 주기억장치 내의 프로그램 위치 예측 불가
    => 보호 요구 조건을 까다롭게 만듦
    => 보호를 위해 컴파일 시간에 확실한 주소를 아는 것이 불가능
    => 주소 검사는 실행 시간에 동적으로 주소 계산
  • 실행 시간에 다른 프로그램의 명령어로 분기 및 데이터 접근 불가능
    - 이런 상황 발생 시 명령어를 중단시킬 수 있어야 함
  • 메모리 보호는 운영체제(소프트웨어)가 아닌 프로세서(하드웨어)의 역할
    - 운영체제가 예측이 가능하다고 하더라도 모든 메모리 참조를 예측할 수 없기 때문
    - 메모리 참조의 허용 여부 판정
    => 오로지 메모리 참조 명령의 실행 시에만 가능

공유(Sharing)

  • 보호 메커니즘은 주기억장치의 같은 부분을 접근하려는 여러 개의 프로세스들을 융통성있게 허용할 수 있어야 함
  • ex) 여러 개의 프로세스들이 동일한 프로그램 수행중일 때
    - 각 프로세스들이 프로그램의 사본을 가지기 < 프로그램 사본 하나를 모든 프로세스들이 참조
  • 재배치를 허용해도 공유 기능을 지원해야 함
    - 보호 기능을 침해하지 않는 범위에서 제한된 접근을 통해 메모리의 일부분 공유

논리적 구성

운영체제와 컴퓨터 하드웨어가 몇몇 형태의 모듈로 구성된 사용자 프로그램과 데이터를 효과적으로 처리할 수 있을 때 얻는 이점

  • 각 모듈의 작성과 컴파일은 독립적으로 이루어질 수 있으며, 서로 다른 모듈 간에 이루어지는 참조는 수행시간에 시스템에 의해 해결됨
  • 비교적 적은 추가 비용(overhead)으로 각 모듈마다 서로 다른 보호 등급(읽기전용, 수행전용)을 적용 가능
  • 프로세스들 간에 모듈을 공유할 수 있는 기법 제공 가능
    - 모듈 레벨의 공유 => 사용자가 문제를 보는 관점과 부합 + 그 결과 사용자가 자신이 원하는 대로 공유 명시 가능

이러한 요구들을 가장 쉽게 충족시키는 수단 => 세그먼테이션(segmentation)

물리적 구성

  • 빠르고 느린 메모리들의 계층 간의 정보 흐름(주기억장치 <-> 보조기억장치)
    => 프로그래머 개인에게 전가하면 안되는 이유
    - 오버레이 사용해야 함
    - 메모리를 고려한 모듈 구성을 프로그래머가 해야 함
    - 컴파일러가 오버레이 지원해도 인력 낭비
  • 멀티프로그래밍 환경에서 프로그램 작성 시에 프로그래머는 사용가능한 공간의 양과 위치를 모름

=> 시스템이 메모리의 두 계층 사이의 정보의 흐름에 대한 책임을 가져야 함

오버레이(overlay)
컴퓨터의 메인 메모리 기억 장치보다 큰 프로그램을 실행할 수 있게끔하는 방법
메모리의 같은 영역을 차지하는 다양한 모듈들 중에서 프로그램에서 필요한 모듈만 골라 메모리에 적재하는 방식

profile
문이과 통합형 인재(人災)

0개의 댓글