Presentation is loading. Please wait.

Presentation is loading. Please wait.

Chatpter 07 메모리 관리 01 메모리 관리의 개요 02 연속 메모리 할당 03 분산 메모리 할당 1 : 페이징

Similar presentations


Presentation on theme: "Chatpter 07 메모리 관리 01 메모리 관리의 개요 02 연속 메모리 할당 03 분산 메모리 할당 1 : 페이징"— Presentation transcript:

1 Chatpter 07 메모리 관리 01 메모리 관리의 개요 02 연속 메모리 할당 03 분산 메모리 할당 1 : 페이징
04 분산 메모리 할당 2 : 세그먼테이션 요약 연습문제

2 메모리를 관리하는 정책과 메모리 할당 방법을 알아본다.
연속 메모리 할당 방법을 살펴본다. 분산 메모리 할당 방법인 페이징 방법을 살펴본다. 분산 메모리 할당 방법인 세그먼테이션을 살펴본다.

3 Section 01 메모리 관리의 개요(1. 메모리 관리의 개념과 정책)
메모리 관리는 프로세스들을 위해 메모리 할당, 제거, 보호하는 활동 디스크에 있는 프로그램을 실행하려면 먼저 메모리에 적재 후 메모리 관리자가 예약된 메모리 할당해 주는 것 다중 프로그래밍 시스템에서 여러 프로세스가 메모리에 상주할 수 있도록 운영체제가 동적으로 메모리 세분화 메모리 관리 정책 적재 정책 : 디스크에서 메모리로 프로세스 반입 시기 결정하는 것 요구 적재 : 운영체제나 시스템 프로그램, 사용자 프로그램 등 참조 요청에 따라 다음에 실행 할 프로 세스를 메모리에 적재하는 오래된 방법 예상 적재 : 시스템의 요청을 미리 예측하여 메모리에 적재하는 방법 배치 정책 : 디스크에서 반입한 프로세스를 메모리 어느 위치에 저장할 것인지 결정 대치 정책 : 메모리가 충분하지 않을 때 현재 메모 리에 적재된 프로세스 중 제거할 프로 세스를 결정하는 교체 방법

4 2. 메모리의 구조와 매핑(사상) 메모리의 구조 실제 데이터나 프로그 램을 저장하는 공간
프로그래머가 프로그래밍에 사용하는 공간

5 2. 메모리의 구조와 매핑(사상) 메모리 장치의 주소 변환

6 2. 메모리의 구조와 매핑(사상) 매핑mapping 논리적 주소와 물리적 주소의 연결
❷ 적재 시간 프로세스를 메모리의 어디에 적재해야 할지 컴파일 과정에 알려 주지 않으면 컴파일러는 대체 가능한 상대 주소 생성. 상대 주소는 프로그램의 시작 주소가 0으로 생성되므로 최종 바인딩을 적재시간까지 연기. 시작 주소가 변하면 단지 변화된 값을 반영하 려고 사용자 코드를 재적재(정적 대치) 매핑mapping 논리적 주소와 물리적 주소의 연결 바인딩binding : 매핑시켜 주는 작업 ❸ 실행 시간 프로세스 실행 도중 메모리의 한 세그먼트에서 다른 세그먼트로 이동 한다면 바인딩은 수행 시간까지 연기(지연). 이런 주소 체계는 기본 및 경계(한계) 레 지스터 등 특수 하드웨어의 지원 필요. 현재 범용 운영체제 대부분 실행 시간에 바인딩 방법 사용 . ❶ 컴파일 시간 프로세스가 메모리에 적재될 위치를 컴파일 과정에서 알 수 있다면 컴파일러는 물리적 주 소 생성 가능

7 3. 메모리 관련 용어 동적 적재 바인딩을 최대한 늦춰 실행 직전에 주소 확정하는 메모리 효율적으로 운영 방법
모든 루틴을 메모리에 적재하지 않고 교체 가능한 형태로 디스크에 저장 메인 프로그램만 먼저 메모리에 적재하여 수행 메인 프로그램에 다른 루틴이 필요 할 때 메모리에 적재되어 있는지 조사. 적재되어 있지 않다면 해당 루틴을 메모리로 적재 하려고 호출하면서 프로그램의 주소 테이블을 갱신 동적 적재는 사용하지 않을 루틴을 메모리에 적재하지 않으므로 메모리 효율적으로 사용 오류가 발생하기도 하지만 프로그램 전체 양이 많을 때 더 유용

8 3. 메모리 관련 용어 중첩(오버레이) 실행하려는 프로그램이 메모리보다 클 때는 당장 필요하지 않은 프로그램의 일부는 중첩 (오버레이)으로 설정 가능. 운영체제 영역과 메모리의 일부 영역에는 프로 그램 실행에 꼭 필요한 명령어와 데이터만 저장, 나머지 중첩 영역에는 필요할 때 호출하여 적재하는 방법 구조

9 3. 메모리 관련 용어 중첩 예

10 3. 메모리 관련 용어 스와핑(프로세스 교체) 프로세서 할당이 끝나고 수행 완료 된 프로세스는 보조기억장치로 보내고(스왑 아웃), 새롭게 시작하는 프로세스는 메모리에 적재(스왑 인). 프로세스는 메모리에 있어야 수행되므로 일시적으로 디스크로 이 동했다가 메모리로 되돌아와 다시 수행 가능 개념

11 3. 메모리 관련 용어 프로세스의 스와핑 과정

12 3. 메모리 관련 용어 메모리 적재 방법 연속 메모리 적재 방법 비연속(분산) 메모리 적재 방법

13 Section 02 연속 메모리 할당(1. 단일 프로그래밍 환경에서 할당)
단일 사용자 메모리 할당의 예

14 1. 단일 프로그래밍 환경에서 연속 메모리 할당 기준 레지스터는 가장 작은 물리적 주소 저장, 경계 레지스터는 프로그램 영역이 저장되어 있는 크기 저장 즉, 기준 레지스터는 물리적 주소, 경계 레지스터는 논리적 주소

15 2. 다중 프로그래밍 환경에서 연속 메모리 할당 고정 분할 방법
연속 메모리 할당에서는 메모리를 여러 개의 고정된 크기로 분할하고 분할된 각 메모리는 프로세스 하나 실행 가능

16 2. 다중 프로그래밍 환경에서 연속 메모리 할당 내부 단편화의 개념

17 2. 다중 프로그래밍 환경에서 연속 메모리 할당 내부 단편화의 개념

18 2. 다중 프로그래밍 환경에서 연속 메모리 할당 스케줄링과 분할 크기에 따른 내부 단편화의 변화

19 2. 다중 프로그래밍 환경에서 연속 메모리 할당 고정 분할 방법에서 메모리 보호 예 고정 분할 방법에서는
프로그래밍의 성능이 분할 수에 제한

20 2. 다중 프로그래밍 환경에서 연속 메모리 할당 각 영역별로 독립된 큐가 있는 고정 분할 시스템
크기에 따라 담당하는 큐가 있어 큐 Q2가 차면 다른 큐 Q6과 Q12가 비어 있어도 사용할 수 없다는 문제가 발생

21 2. 다중 프로그래밍 환경에서 연속 메모리 할당 각 영역별로 독립된 큐가 있는 고정 분할 시스템
통합 큐에서도 작업 5와 작업 6이 사용할 수 있 는 2KB 영역과 6KB 영역이 비어 있더라도 7KB 작업 4 때문에 기다려야 한다는 문제가 발생

22 2. 다중 프로그래밍 환경에서 연속 메모리 할당 각 영역별로 독립된 큐가 있는 고정 분할 시스템
통합 큐에서도 작업 5와 작업 6이 사용할 수 있 는 2KB 영역과 6KB 영역이 비어 있더라도 7KB 작업 4 때문에 기다려야 한다는 문제가 발생

23 2. 다중 프로그래밍 환경에서 연속 메모리 할당 다중 프로그래밍의 성능 향상을 위한 메모리 분할, 작업 큐와 관련된 사항 결정
분할 영역의 크기 시스템 부하를 분석하여 분할 영역의 개수와 크기를 결정. 이때 개수는 다중 프로그래밍의 정도가 될 수 있음 영역의 크기 결정은 시스템 전체의 효율 나타냄 영역의 배치 프로그램 작업을 어느 영역에 배치하는지 결정해야 하는데, 작업 스케줄러 필요

24 2. 다중 프로그래밍 환경에서 연속 메모리 할당 가변 분할 방법 고정된 경계를 없애고 각 프로세스가 필요한 만큼 메모리 할당

25 2. 다중 프로그래밍 환경에서 연속 메모리 할당 가변 분할 방법 예
작업 1~작업 3에 메모리 할당하면 (b)의 ❶. 5시간 후에 작업 2를 종료하여 사용한 메모리 해제하면 ❷, 여기에 작업 4를 할당하면 ❸, 작업 1을 10시간 후에 종료하여 메모리 해제하면 ❹, 작업 5에 메모리 할당하면 ❺가 됨

26 2. 다중 프로그래밍 환경에서 연속 메모리 할당 사용 가능 공간을 어느 작업에 할당하는 것이 가장 좋은지 결정하는 메모리 배치 방법 최초 적합 방법 프로세스를 사용 가능 공간 중 충분히 큰 첫 번째 공간에 할당, 검색을 사용 가능 공간의 리스트 맨 앞이나 이전의 최초 적합 검색이 끝났던 곳에서 시작하면 충분히 큰 사용 공간 빨리 찾기 가능. 공간 활용률 떨어질 수 있는 단점

27 2. 다중 프로그래밍 환경에서 연속 메모리 할당 최적 적합 방법
프로세스를 충분히 큰 사용 가능 공간 중에서 들어갈 수 있는 가장 작은 공간에 할당. 사용 가능 공간이 크기 순으로 정렬되어 있지 않으면 전체를 검색 해야 함. 사용 가능 공간을 계속 정렬하는 과정이 필요하므로 비효율적. 사용 가능 공간 이용률은 향상될 수 있으나 할당 과정에 많은 시간 소요.

28 2. 다중 프로그래밍 환경에서 연속 메모리 할당 최악 적합 방법
프로세스를 가장 큰 사용 가능 공간에 할당. 공간이 크기 순으로 정렬되어 있지 않으면 전체 검색해야 함. 가장 큰 사용 가능 공간에 할당하기 때 문에 가장 작은 또 다른 사용 가능 공간을 만드는 최적 적합보다 메모리 활용 면에서 더 유용

29 2. 다중 프로그래밍 환경에서 연속 메모리 할당 가변 분할에서 메모리를 보호하는 과정
프로세서가 생성한 모든 주소는 레지스터와 함께 검사하기 때문에 다른 사용자의 프로그램과 데이터 보호가능

30 2. 다중 프로그래밍 환경에서 연속 메모리 할당 메모리 통합 방법
하나의 작업이 끝났을 때 다른 빈 공간과 인접해 있는지 점검하여 하나로 합치는 것. 물론 메모리 전반에 흩어진 빈 공간을 모두 통합하기는 곤란

31 2. 다중 프로그래밍 환경에서 연속 메모리 할당 메모리 압축 방법
메모리의 내용을 적절히 움직여 사용 가능 공간을 큰 블록 하나로 만드는 것 압축이 항상 가능한 것은 아님. 주소 대체가 정적이고 컴파일이나 적재할 때 실행된다면 압축을 수행 불가능. 주소들을 동적으로 대체하면 프로세스들이 이동하고 기준 레지스터의 변화를 요구하여 새로운 기준 주소를 반영하므로 압축은 대체가 동적일 때만 가능. 실행 시간에 가능

32 2. 다중 프로그래밍 환경에서 연속 메모리 할당 다양한 메모리 압축 방법

33 2. 다중 프로그래밍 환경에서 연속 메모리 할당 메모리 압축의 단점
압축하는 동안 시스템은 모든 일을 중지해야 함. 이때 대화형 사용자는 응답시간이 일정하지 않게 되고, 실시간 시스템은 심각한 문제 발생 가능 메모리에 있는 작업들을 이동해야 하므로 프로그램을 적재할 때 제거되는 대치 관련 정보를 액세스 가능한 형태로 보관해야 함 압축 작업을 자주 요구하여 시스템 자원의 소모가 큼

34 3. 다중 프로그래밍 환경의 버디 시스템 버디 시스템buddy system 의 개념 단편화 현상을 해결하는 방법
큰 버퍼들을 반복적으로 이등분하여 작은 버퍼들을 만들며, 가능할 때마다 인접한 빈 버퍼들을 합치는 과정 반복, 버퍼를 나눌 때 각각을 서로의 버디라고 함

35 Section 03 분산 메모리 할당 1 : 페이징(1. 페이징의 개념)
작업을 크기가 동일한 페이지로 나눠 처리하는 방법 연속 메모리 할당과 비연속 메모리 할당 예

36 1. 페이징의 개념 페이징 시스템에서 프로그램 실행 준비 페이징의 특징 프로세스에 필요한 페이지를 결정하여 페이지 번호 부여
메모리의 빈 프레임을 조사하여 프로세스를 적재할 위치 파악 프로세스의 페이지를 빈 프레임에 적재하도록 준비 페이징의 특징 빈 프레임에 어떤 페이지든 적재할 수 있어 메모리 효율적 사용 프레임 간에 외부 단편화도 발생하지 않음 한 프로세스의 페이지를 메인 메모리의 여러 위치에 분산 적재하여 운영체제의 페이지 관리 부담 큼 프레임 단위로 적재하므로 어떤 프로세스에 필요한 공간이 페이지 크기와 맞지 않으면, 마지막 페이지에 할당된 프레임이 완전히 차지 않아 내부 단편화가 발생 가능

37 2. 페이징 시스템의 하드웨어 구조와 원리 페이징 시스템의 하드웨어 구조

38 2. 페이징 시스템의 하드웨어 구조와 원리 페이지 테이블과 페이징 모델

39 2. 페이징 시스템의 하드웨어 구조와 원리 16비트 논리적 주소 IBM 370의 논리적 주소(32비트)
크기가 1KB인 최대 64개의 페이지로 구성

40 2. 페이징 시스템의 하드웨어 구조와 원리 페이지 테이블을 이용한 물리적 주소 변환 예 해당 프로세스 저장

41 2. 페이징 시스템의 하드웨어 구조와 원리 8바이트 페이지와 64바이트 메모리 페이징 예

42 3. 다중 단계 페이징 시스템의 구조와 원리 원리 2단계 페이징 시스템의 구조
논리적 주소가 클수록 물리적 주소로 변환하는 과정에서 필요한 페이지 테이블 크기도 증가 하므로 메모리에 더 큰 적재 공간 필요 2단계 페이징 시스템의 구조 다중 단계 페이징 시스템 예 VAX와 윈도우 NT는 2단계, 스팍SPARC은 3단계, 모토로라Motorola 68030은 4단계 페이징 시스템 사용

43 4. 페이지 테이블의 구현 페이지 테이블과 페이지 테이블 항목

44 4. 페이지 테이블의 구현 페이비 테이블 관리 방법 전용 레지스터 사용
레지스터는 효율적으로 페이징 주소를 변환 하려고 초고속 논리회로로 설계 메모리의 모든 액세스는 페이징 테이블 정보로 수행하므로 효율성을 중요하게 고려해야 함. 레지스터를 사용하여 페이지 테이블을 구현할 때는 페이지 테이블 항목이 적으면 좋은데, 쉽게 관리 가능. 대부분의 컴퓨터는 페이지 테이블이 매우 커서 레지스터로 구현하기에 부적합 대개 페이지 테이블 메모리에 두고 페이지 테이블 기준 레지스터PTBR, Page Table Base Register로 페이지 테이블 지시 페이지 테이블을 메모리에 두면 레지스터 값 하나를 바꿔서 페이지 테이블 변경할 수 있어 문맥 교환 시간이 감소 실제 문맥 교환은 메모리 정보를 모두 교환해야 하나, 페이지 테이블 기준 레지스터는 단순히 레지스터 값을 바꿔서 문맥 교환과 똑같은 효과. 메모리 액세스 시간이 문제 페이지 테이블 항목과 워드를 위한 메모리 액세스가 필요, 이 액세스 때문에 속도가 느려진다는 문제 발생 발생 연관 레지스터나 변환 우선참조 버퍼TLB, Translation Look-aside Buffer를 이용하여 해결 가능

45 4. 페이지 테이블의 구현 연관 레지스터를 이용하여 논리적 주소를 물리적 주소로 변환하는 방법
직접 매핑direct mapping으로 주소 변환 연관 매핑associative mapping으로 주소 변환 연관·직접 매핑을 결합한 주소 변환

46 4. 페이지 테이블의 구현 직접 매핑으로 주소 변환 메모리나 캐시에 완전한 페이지 테이블을 유지
프로세스의 메모리를 구성하는 모든 페이지 항목이 페이지 테이블에 있음 직접 매핑으로 주소를 변환하는 과정

47 4. 페이지 테이블의 구현 직접 매핑으로 주소 변환 메모리나 캐시에 완전한 페이지 테이블을 유지
프로세스의 메모리를 구성하는 모든 페이지 항목이 페이지 테이블에 있음 레지스터만 변경해도 페이지 테이블 변경 가능 사용자 메모리 위치에 액세스하는 데 시간 소요(해결하는 방법으로 연관 레지스터 또는 보조예비기억장치라고 하는 특별히 작은 하드웨어 메모리 사용)

48 4. 페이지 테이블의 구현 직접 매핑으로 주소를 변환하는 과정

49 4. 페이지 테이블의 구현 연관 매핑으로 주소 변환 논리적 주소를 프로세서의 페이지 번호와 프로세서에 대응하는 프레임 번호가 있는 연관 레지스터의 집합으로 표현 각 레지스터는 키와 값으로 구성. 연관 레지스터에 항목을 추가하면, 동시에 모든 키와 비교하여 해당 항목을 찾아 이에 대응하는 값 출력 매우 빠르게 검색 가능, 하드웨어가 무척 비싸다는 단점 시스템에 모든 프로세스의 페이지 테이블 항목을 저장할 만큼 크기가 충분한 연관 레지스터를 갖추기 곤란 물론 페이지 테이블 기준 레지스터 필요 없음

50 4. 페이지 테이블의 구현 순수 연관 매핑으로 주소를 변환하는 과정

51 4. 페이지 테이블의 구현 연관·직접 매핑을 결합한 주소 변환 연관·직접 매핑을 혼용하기도 함
최근에 사용한 페이지만 연관 레지스터에 유지하고, 연 관 레지스터에 해당 페이지가 없을 때만 직접 매핑하는 방법 제안 프로세스가 메모리의 정보를 균일하게 액세스하는 것이 아니라 많이 참조한 것을 또 참조하는 경향이 있 다는 ‘지역성’을 적절히 활용 페이지 번호를 연관 레지스터에서 발견하는 비율을 적중률이라고 함 유효 접근시간은 ❶과 같다. 메모리 액세스 시간은 26.6% 더 늦어져 750나노초에서 950나노초로 바뀌며, 적중률이 90%일 때 유효 접근시간은 ❷처럼 계산 가능

52 4. 페이지 테이블의 구현 연관·직접 매핑으로 주소를 변환하는 과정

53 5. 공유 페이지 공유 페이지의 개념 페이징 시스템의 장점인 시분할 환경에서 중요한 공통 코드 공유
페이징 시스템에서는 프로세스를 메모리에 연속적으로 할당할 필요가 없기 때문에 여러 프로세스가 메모리 공유 가능 다른 프로세스는 메모리의 같은 페이지(지역)를 단순히 가리키도록 해야 하며, 공유 라이브러리 코드에도 사용 가능 공유 코드는 재 진입을 허용하므로 재진입 코드reentrant code 또는 순수 코드pure code라고 함 오직 읽을 수만 있으며 스스로 수정하지는 못함. 프로세스들은 재진입 코드에서 데이터 항목 지정할 수 없으며 수행 도중 변하지 않음(2개 또는 그 이상의 프로세스가 동시에 같은 코드 수행 가능 스레드가 텍스트와 메모리를 공유하는 방법과 비슷 프로세스에서 논리적 주소 공간의 다른 부분에 나타날 수 있음. 이때 공유 코드 는 모든 프로세스에서 논리적 주소 공간의 동일한 위치에 나타나야 함

54 5. 공유 페이지 페이징에서 공유 코드

55 5. 공유 페이지 공유 코드 예

56 6. 페이징에서 보호 페이지 테이블에 보호 비트를 추가하여 페이지 보호 보호용 비트

57 6. 페이징에서 보호 페이지 테이블의 액세스 타당과 비타당
주소가 14 비트인 시스템은 0~16383의 물리적 주소 사용. 논리적 주소가 0~10468인 프 로세스에 크기가 2KB인 페이지가 주어진다면, 페이지 0~4까지는 크기가 10,240바이트이므로 페이지 테이블로 정상적 매핑. 페이지 5는 12287까지 합법적으로 처리되므로 타당 분류, 228(= )바이트만 사용하여 2KB(= ) 규모의 내 부 단편화 발생. 그리고 나머지 12268~16383 영역은 비타당 분류하므로 페이지 6과 페이지 7은 비타당이 되어 운영체제로 트랩

58 Section 04 분산 메모리 할당 2 : 세그먼테이션 (1. 개념)
세그먼테이션segmentation의 개념 프로세스 관점을 지원하여 메모리를 크기가 변할 수 있는 세그먼트로 나누는 것 프로그램을 구성하는 서브루틴, 프로시저, 함수나 모듈 등으로 세그먼트 구성 각 세그먼트는 연관된 기능을 수행하는 하나의 모듈 프로그램으로 생각, 메모리의 연속된 위치 에서 구성하되 서로 인접할 필요 없음 메모리의 사용자 관점을 지원하는 비연속 메모리 할당 방법, 논리적 영역을 세그먼트의 집합으로 인식 보통 컴파일러가 원시 프로그램을 실행 프로그램으로 자동 변환하면서 서브루틴과 프로시저, 함수, 모듈 등 각기 크기가 다른 세그먼트로 구성 하드웨어 보호 등 관리에 필요한 사항은 페이징과 비슷하거나 동일 프로세스에 따라 세그먼트 크기가 달라 메모리를 크기가 일정한 페이지 프레임으로 나누지 않고 동적 분할(가변 분할) 방법으로 할당

59 1. 세그먼테이션의 개념 프로그램(사용자) 관점의 메모리와 프로세스 관점의 메모리

60 1. 세그먼테이션의 개념 페이징과 세그먼테이션 메모리 할당 비교

61 2. 세그먼테이션에서 하드웨어 구조와 원리 세그먼트의 논리적 구조 예 : IBM 370

62 2. 세그먼테이션에서 하드웨어 구조와 원리 세그먼트 하드웨어 시스템의 구조

63 2. 세그먼테이션에서 하드웨어 구조와 원리 세그먼테이션 예

64 3. 세그먼트 공유 세그먼트 공유의 개념 페이징 시스템과 달리 매우 단순
페이징 시스템은 페이지 테이블의 공유 항을 표시, 세그먼트는 공유한다고 선언만 하면 됨 공유 기능을 사용하는 시스템은 적절한 보호 체계를 제공하여 승인한 사용자만 세먼트에 액세스할 수 있도록 해야 함 세그먼테이션에서 세그먼트 공유 세그먼트(43062)를 지정하여 공유

65 4. 페이징과 세그먼테이션 비교 페이징과 세그먼테이션 비교
프로그램을 나눈 모든 세그먼트에서 메모리의 빈 공간을 찾아 할당하는 것 페이징과 비슷 페이징과 달리 프로그램을 나누는 크기가 변함 가변 크기 분할 방법처럼 세그먼테이션도 보통 최적 적합 알고리즘이나 최초 적합 알고리즘으로 해결하는 동적 메모리 할당 방법 이용 따라서 외부 단편화가 일어날 수 있는데, 사용 가능한 메모리의 모든 블록이 너무 작아서 세그먼트를 수용할 수 없을 때 발생. 대부분 기다리거나 압축하여 더 큰 공간 만듬 세그먼테이션은 동적 대치 알고리즘 이므로 원할 때마다 메모리 압축 가능 프로세서 큐에서 몇 번 건너뛰어 크기가 작고 우선권이 더 낮은 프로세스 찾을 수도 있음 외부 단편화 문제는 대부분 평균 세그먼트 크기에 의존, 일반적으로 평균 세그먼트 크기가 작으면 외부 단편화 또한 작음 페이징은 물리적 주소 없이도 큰 가상 주소 공간이 가능하게 하려고 등장. 세그먼테이션 은 프로그램과 데이터를 논리적으로 독립된 주소 공간으로 나누고 쉽게 공유·보호할 수 있 게 하려고 등장

66 4. 페이징과 세그먼테이션 비교 페이징과 세그먼테이션 비교

67 5. 페이지화된 세그먼테이션 페이지화된 세그먼테이션 개념 페이징과 세그먼테이션의 장단점 취합
페이징은 내부 단편화가 발생할 수 있으나, 메모리 효율적 사용, 작업 크기가 동일하여 다양한 알고리즘을 개발 세그먼테이션은 외부 단편화가 발생할 수 있으나, 가변적인 데이터 구조와 모듈 처리, 공유와 보호의 지원 편리 외부 단편화 문제를 제거하면서 할당 과정 쉽게 해결 멀틱스 시스템과 인텔 386계열에서 사용 페이지화된 세그먼트의 논리적 구조 예 : 멀틱스 시스템

68 5. 페이지화된 세그먼테이션 페이징 세그먼테이션 하드웨어 시스템의 구조 : 멀틱스(GE645)

69 5. 페이지화된 세그먼테이션 페이지화된 세그먼트 메모리 주소 변환 예

70 5. 페이지화된 세그먼테이션 세그먼트 메모리 관리의 장단점

71


Download ppt "Chatpter 07 메모리 관리 01 메모리 관리의 개요 02 연속 메모리 할당 03 분산 메모리 할당 1 : 페이징"

Similar presentations


Ads by Google