-페이징에서 보호
:페이지 테이블에 보호 비트를 추가하여 페이지 보호
페이지 테이블에 VRWE가 담긴다.
-페이지 테이블의 액세스 타당과 비타당
타당과 비타당을 설정/페이지마다 고정된 크기로 분할한다.
-세그먼테이션
프로세스 관점을 지원하여 메모리를 크기가 변할 수 있는 세그먼트로 나누는 것이다.
프로그램을 구성하는 서브루틴, 프로시저, 함수나 모듈 등으로 세그먼트가 구성된다.
각 세그먼트는 연관된 기능을 수행하는 하나의 모듈 프로그램으로 생각한다.
메모리의 사용자 관점을 지원하는 비연속 메모리 할당 방법, 논리적 영역을 세그먼트의 집합으로 인식한다.
보통 컴파일러가 원시 프로그램을 실행 프로그램으로 자동 변환하면서 서브루틴과 프로시저, 함수 모듈 등 각기 크기가 다른 세그먼트로 구성되어있다.
하드웨어 보호 등 관리에 필요한 사항은 페이징과 비슷하거나 동일하다
프로세스에 따라 세그먼트 크기가 달라 메모리를 크기가 일정한 페이지 프레임으로 나누지 않고 동적 분할(가변 분할)방법으로 할당한다.
-페이징과 세그먼테이션 메모리 할당 비교
페이징 : 동일한 크기로 나눠서 메모리에 분산 적재한다.
세그먼테이션 : 각 크기에 따라 나누어 분산 적재한다.
-세그먼트 하드웨어 시스템 구조
-세그먼테이션 예
-세그먼트 공유의 개념
페이징 시스템과 달리 매우 단순하다.(페이징 시스템은 페이지 테이블의 공유 항을 표시, 세그먼트는 공유한다고 선언만 하면된다.)
공유 기능을 사용하는 시스템은 적절한 보호 체계를 제공하여 승인한 사용자만 세그먼트에 액세스 할 수 있도록 해야한다.
-페이징과 세그먼테이션 비교
프로그램을 나눈 모든 세그먼트에서 메모리의 빈 공간을 찾아 할당하는 것이 페이징과 비슷하다.
페이징과 달리 프로그램을 나누는 크기가 변한다.(가변 크기 분할 방법처럼 세그먼테이션도 최적, 최초 적합 알고리즘으로 해결하는 동적 메모리 할당 방법을 이용한다. - 따라서 외부 단편화가 일어날 수 있는데, 사용 가능한 메모리의 모든 블록이 너무 작아서 세그먼트를 수용할 수 없을 때 발생한다. 대부분 기다리거나 압축해서 더 큰 공간을 만든다.)
외부 단편화 문제는 대부분 평균 세그먼트 크기에 의존한다. 일반적으로 평균 세그먼트 크기가 작으면 외부 단편화 도한 작다.
페이징은 물리적 주소 없이도 큰 가상 주소 공간이 가능하게 하려고 등장했다.
세그먼테이션은 프로그램과 데이터를 논리적으로 독립된 주소 공간으로 나누고 쉽게 공유, 보호할 수 있게 하려고 등장했다.
-페이징화된 세그먼테이션
페이징과 세그먼테이션의 장단점을 취합했다.
:페이징은 내부 단편화가 발생할 수 있으나, 메모리 효율적 사용, 작업 크기가 동일하여 다양한 알고리즘을 개발한다.
:세그먼테이션은 외부 단편화가 발생할 수 있으나, 가변적인 데이터 구조와 모듈 처리, 공유와 보호의 지원이 편리하다.
외부 단편화 문제를 제거하면서 할당 과정이 쉽게 해결된다.(멀틱스 시스템과 인텔 386계열에서 사용)
-페이지화된 세그먼트 메모리 주소 변환 예
-세그먼트 메모리 관리의 장단점
장점 : 융통성 있는 보호와 내부 단편화가 없다.
공유 기능이 간단하며, 작은 세그먼트 테이블은 메모리 관리 장치에 적합하다.
미사용 메모리 할당을 피하면서 전체 프로그램보다 세그먼트 대치가 쉬워 오버헤드가 적다.
단점 : 세그먼트는 가변 길이를 가지며, 클 수 있으므로 외부 단편화가 발생한다.
충분히 큰 메모리 영역을 찾을 수 있으나, 메모리 관리 알고리즘이 비싸다.
크기가 동일 하지 않은 세그먼트는 스와핑에 적합하지 않다.
-페이징 및 세그먼트 기법의 특징
메모리 참조는 실행시간에 동적으로 물리적 주소로 변환된다.
프로그램은 실행시간에 메모리에 적재되어 시작주소가 결정된다.
프로세스는 페이지 또는 세그먼트로 분할되어 메모리에 적재되므로 메모리에 연속적으로 적재될 필요가 없다.
-페이징 및 세그먼트 기법의 한계
프로세스의 모든 부분이 실행되는 동안 메모리에 적재될 필요가 없다. =>부분 적재 가능
프로세스 실행은 한 시점에 다음에 수행할 명령어 또는 처리할 데이터가 메모리에 적재된 페이지 또는 세그먼트에 있으면 진행될 수 있다.
이미지 출처 : 저서명: 운영체제 개정 3판, 저자: 구현회, 출판사: 한빛아카데미, 발행년: 2017
'Computer Science(cs 지식)' 카테고리의 다른 글
[운영체제]프레임 할당, 프로세스 적재, 기타 이슈 (0) | 2021.10.28 |
---|---|
[운영체제]가상메모리 및 페이지 대치 (0) | 2021.10.28 |
운영체제(페이징) (0) | 2021.10.21 |
운영체제(메모리 관리) (0) | 2021.10.21 |
운영체제(스케줄링) (0) | 2021.10.20 |