14장 가상메모리

2023. 4. 3. 23:04

14-1) 연속 메모리 할당

  • 프로세스에 연속적인 메모리 공간을 할당하는 방식을 연속 메모리 할당이라함
    • 연속 메모리 할당시 고려할점과 잠재적 문제를 알아보자

  • 스와핑
    • 메모리 상의 사용되지 않는 프로세스를 보조기억장치의 스왑 영역으로 쫓아내고 빈 공간에 다른 프로세스를 적재하여 실행하는 것을 의미함
    • 스왑 아웃 : 프로세스가 메모리에서 스왑 영역으로 옮겨지는 것
    • 스왑 인 : 스왑 영역에 있던 프로세스가 다시 메모리로 옮겨오는 것
  • 메모리 할당
    • 메모리 내에 빈 공간이 여러개 있다면 프로세스를 어떻게 배치해야 할까?
    • 최초 적합 : 운영체제가 메모리 내의 빈 공간을 순서대로 검색하다가 적재할 수 있는 공간을 발견하면 적재
      • 빠른 할당 가능
    • 최적 적합 : 빈 공간을 모두 검색 후 배치할 수 있는 공간중 가장 작은 공간에 프로세스 배치
    • 최악 적합 : 적재될수 있는 공간중 가장 큰 공간에 배치
  • 외부 단편화
    • 연속 메모리 할당은 외부 단편화 문제를 내포하고 있다.
    • 빈 공간보다 큰 프로세스를 적재하기 어려운 상황을 초래하며 메모리가 낭비되는 현상을 의미함

14-2) 페이징을 통한 가상 메모리 관리

  • 가상메모리는 실행하고자 하는 프로그램을 일부만 메모리에 적재하여 실제 물리 메모리 크기보다 더 큰 프로세스를 실행할 수 있게 하는 기술
  • 페이징
    • 메모리의 물리 주소 공간을 프레임 단위로 자르고, 프로세스의 논리 주소 공간을 페이지 단위로 자른 뒤 각 페이지를 프레임에 할당하는 가상 메모리 관리 기법
  • 페이지 테이블
    • 현재 어떤 페이지가 어떤 프레임에 할당되었는지 알려줌
    • 페이지 번호를 이용해 페이지가 적재된 프레임을 찾을 수 있음
    • 프로세스마다 각자의 프로세스 테이블을 가지고 있다.
    • 페이지 테이블은 메모리에 적재되어 있고 CPU 내의 페이지 테이블 베이스 레지스터(PTBR)는 각 프로세스의 페이지 테이블이 적재된 주소를 가리키고 있음
    • 페이지 테이블을 찾기 위해 메모리에 접근하면 불필요한 메모리 접근이 생기기 때문에 CPU 곁에 TLB라는 페이지 테이블의 캐시 메모리를 둠
  • 페이징에서의 주소 변환
    • 특정 주소에 접근하려면 다음과 같은 정보가 필요하다.
      • 어떤 페이지 혹은 프레임에 접근하고 싶은지
      • 접근하려는 주소가 그 페이지 혹은 프레임으로부터 얼마나 떨어져있는지
    • 페이징 시스템에서는 모든 논리주소가 기본적으로 페이지번호(page number)와 변위(offset)로 이루어져있음

' > 혼자 공부하는 컴퓨터 구조 + 운영체제' 카테고리의 다른 글

12장 프로세스 동기화  (0) 2023.03.29
11장 CPU 스케줄링  (0) 2023.03.29
10장 프로세스와 스레드  (0) 2023.03.26
9장 운영체제 시작하기  (0) 2023.03.26
8장 입출력장치  (0) 2023.03.23

+ Recent posts