[CS스터디]-운영체제- 메모리, 페이징

한주영·2023년 6월 5일
0

CS

목록 보기
19/19

메모리 관리

컴퓨터 시스템에서 사용가능한 물리적 메모리를 효율적으로 할당,
관리 및 보호하는 과정
이는 프로세스(프로그램 실행 단위)가 메모리에 로드되고 실행되는 방식을 조절함으로써 시스템의 성능과 안정성을 향상시킨다.

메모리 관리 기능

1.주소 공간 할당
2.주소 변환
3.메모리 할당 및 해제
4.가상 메모리
5.메모리 보호
6.페이지 교체

메모리 관리 필요성

1.프로세스 격리
2.메모리 할당
3. 효율적인 메모리 활용
4.가상 메모리 지원
5.메모리 공유
6.메모리 보호
7.동적 메모리 할당

고정 분할 방식

운영제체에서 프로세스에 메모리를 할당하는데 사용하는 메모리 관리 기술
주 메모리는 고정 크기 파티션 또는 영역으로 나뉘며
각 파티션은 하나의 프로세스를 보유할수 있다.

작동방식

1.파티션 생성
2.프로세스에 할당
3.파티션 활용
4.메모리 조각화
5.프로세스 스케줄링

가변 분할 방식

사용가능한 메모리를 가변 크기 파티션으로 나누어 다양한 메모리
요구사항을 가진 프로세스를 수용하는 운영체제의 메모리관리 체계이다.
유연한 메모리의 할당을 허용한다.

가변분할방식의 주요기능
1.파티션 생성
2.파티션 할당
3.단편화
-외부조각화:시간이 지남에따라 프로세스가 로드 및 언로드됨에따라 사용가능한 메모리 블록이 메모리 공간전체에 흩어지는것
-내부조각화: 프로세에 실제 메모리 요구사항보다 큰 파티션이 할당되면
파티션내에서 사용되지않은 나머지 공간으로 인해발생.
4.메모리 관리 알고리즘
-First-Fit, Worst-Fit, Next-Fit
5.압축

가상 메모리 개요

가상 메모리 정의

사용가능한 물리적 메모리가 제한되어있는 경우에도 각 프로세스에 크고 연속적인 주소 공간을 제공하기위해 최신 운영체제에서 사용하는 메모리 기술이다.
RAM과 보조 저장소간에 데이터를 투명하게 이동하여
프로세스가 시스템에 물리적으로 설치된것보다 더 많은 메모리를 사용할수있다.

가상 메모리 필요성

  1. 증가된 주소 공간
  2. 메모리 격리
  3. 효율적인 메모리 활용
  4. 유연한 메모리 할당
  5. 스와핑 및 프로세스 중단
  6. 단순화된 메모리 관리

페이징 기법

가상 메모리를 구현하는 데 사용되는 메모리 관리 기술이다.
물리적 메모리(RAM)와 프로세스의 가상 주소 공간을 모두 페이지라고 하는 고정 크기 블록으로 나뉜다.

페이징 기술에 대한 특징 및 개요

-페이지 크기
-가상 주소공간
-페이지 테이블
-주소 변환
-페이징 요청
-페이지 교체
-단편화
-페이지 공유 및 기록중 복사

세그먼테이션 기법

가상 메모리를 구현하는 데 사용되는 또 다른 메모리 관리 기술이다.
메모리를 고정 크기 블록으로 나누는 페이징과 달리 세그먼테이션은 메모리를 가변 크기 세그먼트로 나눈다.

세그먼테이션에 대한 특징 및 개요

-분할단위
-세그먼트 테이블
-가상 주소 공간
-주소 변환
-메모리 보호
-조각화
-세그먼트 공유
-성장 축소 및 세그먼트

가상 메모리 관리

요구 페이징

프로그램을 실행시 프로세스를 구성하는 모든 페이지를 한꺼번에 메모리에 올리려는것이 아니라 당장 사용될 페이지만을 올리는 방식
특정 페이지에대한 CPU요청이 들어온 뒤 해당 페이지를 메모리에 적재한다.

요구페이징을 사용함으로써 얻을수있는 장점
1.필요한 페이지만 메모리에 적재하기때문에 메모리 사용량이 감소한다.
2.프로세스 전체를 메모리에 올리는데 소요되는 입출력 오버헤드가 감소한다.
3.사용되지 않는 주소 영역에 대한 입출력이 줄어서 응답시간이 줄어든다.
4.시스템이 더 많은 프로세스를 수용할수 있게 해준다
5.물리적 메모리의 제약을 벗어날수있다.

페이지 교체 알고리즘

•FIFO (First-In-First-Out):

-가장간단한 페이지 교체 알고리즘
-메모리에 가장 오래있던 페이지부터 먼저 교체
-페이지는 대기열에 유지되며 대기열에 맨앞에있는 페이지(가장 오래된 페이지)가
교체 대상으로 선택됨
-새 페이지를 로드해야하는 경우 대기열끝에 배치된다.

•OPT (Optimal):

  • 앞으로 가장 오랫동안 사용하지 않을 페이지를 교체하는 알고리즘
    -모든 페이지 교체 알고리즘 중 page-fault 발생이 가장 적다
    -프로세스가 앞으로 사용할 페이지를 미리 알아야한다.
    -실제로 구현하기 거의 불가능한 알고리즘이다.
    -실제로 사용하기 보다는 연구 목적을 위해 사용

•LRU (Least Recently Used):

-LRU 알고리즘은 가장 오랫동안 사용하지 않은 페이지를 교체하는 알고리즘이다.
-최적 알고리즘과 비슷한 효과를 낼 수 있다.
-성능이 좋은 편이다.
-많은 운영체제가 채택하는 알고리즘이다.

profile
백엔드개발자가 되고싶은 코린이:)

0개의 댓글