Notice
Recent Posts
Recent Comments
Link
«   2024/07   »
1 2 3 4 5 6
7 8 9 10 11 12 13
14 15 16 17 18 19 20
21 22 23 24 25 26 27
28 29 30 31
Archives
Today
Total
관리 메뉴

브래의 슬기로운 코딩 생활

운영체제 10주차 정리 - 2 본문

2-1/운영체제

운영체제 10주차 정리 - 2

김브래 2023. 5. 5. 22:54

메모리 관리 - 페이징과 세그먼테이션
로딩 및 할당


할당(Allocation)

- 연속 메모리 할당 방법(Contiguous Allocation)
- 비연속(분산) 메모리 할당 방법(Partition Allocation)


페이징 개념


개념

- 비연속 메모리 할당 기법을 사용
- 프로세스 하나가 여러 개로 나뉘어 메모리에 할당됨
• 페이지(page)의 크기는 모두 동일

프로그램 로딩

- 프로세스에 필요한 페이지를 결정하여 페이지 번호 부여
- 메모리의 빈 프레임을 조사하여 프로세스를 적재할 위치 파악
- 프로세스의 페이지를 빈 프레임에 적재

특징

- 빈 프레임에 어떤 페이지이든 적재 = 효율적인 메모리 사용
- 프로세스가 분산된 위치에 적재 = 운영체제 관리 부담 큼
- 프레임 간 내부 단편화(Internal Fragmentation) 방지
• 단, 마지막 페이지에 할당된 프레임이 완전히 차지 않을 경우 단편화 발생


페이징


하드웨어적 접근 구조

- CPU는 논리 주소로 접근
- MMU에 의해 물리적 주소로 전환되어 주 기억장치에 접근

접근 예

16비트 논리적 주소 사용 예

공유 페이지

- 다중 태스크환경에서 공유되는 명령코드들의 공간을 공유


- 공유 코드는 재 진입을 허용
=재진입 코드(re-entrant code) = 순수 코드(pure code)


- 읽기만 가능
=수정불가


페이징 관련 명령어


명령어

명령: vmstat
• 가상 메모리에 대한 통계자료를 출력하는 프로그램


명령: getconf PAGESIZE
• 시스템 설정값을 추출하는 프로그램


다단계 페이징


원리

- 논리적 주소가 클수록 페이지 테이블 크기도 증가
- 메모리에 더 큰 적재 공간 필요
- 더 넓은 영역을 접근하기 위해 테이블을 계층화 함


세그먼테이션 개념


개념

- 비연속 메모리 할당 방법


- 프로세스를 동적의 크기를 갖는 여러 개의 세그먼트(Segmentation)로 나눔


- 세그먼트 분할 단위
• 서브루틴(subroutine), 프로시저(procedure), 함수(function) 단위


- 각 세그먼트는 하나의 작은 프로그램으로 간주

 관리에 필요한 사항은 페이징과 비슷하거나 동일
• 세그먼트 크기가 달라 메모리를 동적 분할(가변 분할) 방법으로 할당이 차이 남


세그먼테이션


하드웨어적 접근 구조

- CPU는 논리 주소로 접근
- MMU에 의해 물리적 주소로 전환되어 주 기억장치에 접근

공유 세그먼테이션

페이징 시스템 대비 단순한 구조
• 페이징 시스템은 다수의 페이지 블록을 공유
• 세그먼트는 소수의 블록을 공유


공유 기능을 사용하는 시스템은 적절한 보호 체계를 제공하여 승인한 사용자만 세그먼트에 액세스할 수 있음

 

세그먼테이션에서 세그먼트 공유


페이징 vs. 세그먼테이션


비교

- 메모리의 빈 공간을 찾아 할당하는 방식은 서로 비슷함
- 페이징과 달리 프로그램을 나누는 크기가 변함
- 가변 크기 분할 방법처럼 세그먼테이션도 후속 처리가 필요
• 보통 최적 적합(Best Fit) 또는 최초 적합(First Fit) 알고리즘을 사용


- 설계 목적의 차이
• 페이징 :  물리적 주소 없이도 큰 가상 주소 공간 사용 가능
• 세그먼테이션 : 프로그램과 데이터를 논리적으로 독립된 주소 공간으로 나눔


페이지화된 세그먼테이션


개념

페이징과 세그먼테이션의 장점을 취합
• 페이징은 내부 단편화가 발생할 수 있으나, 메모리 효율적 사용, 작업 크기가 동일
• 세그먼테이션은 외부 단편화가 발생할 수 있으나, 가변적인 데이터 구조와 모듈 처리, 공유와 보호의 지원 편리

 

외부 단편화 문제를 제거하면서 할당 과정 쉽게 해결

 

인텔 386이후 적용

 

윈도우10의 경우 이 방식을 사용

하드웨어적 접근 구조

- CPU는 논리 주소로 접근
- MMU에 의해 물리적 주소로 전환되어 주 기억장치에 접근

'2-1 > 운영체제' 카테고리의 다른 글

운영체제 11주차 정리 - 2  (0) 2023.05.12
운영체제 11주차 정리 - 1  (0) 2023.05.12
운영체제 10주차 정리 - 1  (0) 2023.05.05
운영체제 9주차 정리 - 3  (0) 2023.04.27
운영체제 9주차 정리 - 2  (0) 2023.04.27