일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
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 |
Tags
- 데드락
- SwiftUI
- scrollview
- COLOR
- UserDefaults
- 100 days of SwiftUI
- 알고리즘
- Linked List
- 가상 메모리
- @state
- 앨런
- Codable
- deadlock
- async
- 비동기
- 운영체제
- decode
- struct
- 상호배제
- Swift
- 동기화
- core data
- 동시성
- 인프런
- 프로세스 스케줄링
- Apple Developer Academy
- forEach
- 오브젝트
- IOS
- Algorithm
Archives
- Today
- Total
기어가더라도 제대로
[운영체제-김덕수 교수님] 가상메모리(5/5) - 하이브리드 시스템 본문
- 페이징 시스템과 세그먼트 시스템의 장점만을 결합한 시스템
- Paging 과 Segmentation 의 장점 결합
- 프로그램 분할
- 1. 논리 단위의 Segment 로 분할
- 2. 각 segment 를 고정된 크기의 page 들로 분할
- Page 단위로 메모리에 적재
- 1차로 logical 한 단위로 자르고,
- 동일한 크기의 page로 2차로 자른다.
- Address mapping
- Virtual address: v = (s, p, d)
- s : segment number
- p : page number
- d : offset in a page
- SMT 와 PMT 모두 사용
- 각 프로세스 마다 하나의 SMT
- 각 segment 마다 하나의 PMT
- Address mapping
- Direct, associated 등
- 메모리 관리
- FPM 과 유사
- Page 가 실제 메모리에 올라감
- FPM 과 유사
- Virtual address: v = (s, p, d)
- residence bit 는 SMT 에서 빠지고 PMT 에 들어간다 .
복잡해 보이지만 지금까지 잘 왔다면 그렇게 복잡하지 않다.
- p 나 s 만 있어 왔는데, p, s 모두 있을 뿐이다.(조금 복잡하긴 하다.)
- ((p,s), d) 라고 생각하면 지금까지 해온 것과 같다.
- entrySize 는 SMT나 , PMT 에서 한 칸의 사이즈와 같다.
요약
- [장]논리적 분할(segment)와 고정 크기 분할(page)을 결합
- Page sharing / protection 이 쉬움
- 메모리 할당 / 관리 overhead가 작음
- No external fragmentation
- [단]전체 테이블의 수 증가
- 메모리 소모가 큼
- Address mapping 과정이 복잡
- [단]Direct mapping 의 경우, 메모리 접근이 3배
- 성능이 저하될 수 있음
'CS > 운영체제' 카테고리의 다른 글
[운영체제-김덕수 교수님] 가상 메모리 관리(2/6) - 소프트웨어 컴포넌트 (0) | 2022.08.15 |
---|---|
[운영체제-김덕수 교수님] 가상 메모리 관리(1/6) - 비용 모델, 하드웨어 요소 (0) | 2022.08.12 |
[운영체제-김덕수 교수님] 가상 메모리(4/5) - 세그멘테이션 시스템 (0) | 2022.08.12 |
[운영체제-김덕수 교수님] 가상 메모리(3/5) - 페이징 시스템의 메모리 관리 (0) | 2022.08.12 |
[운영체제-김덕수 교수님] 가상 메모리(2/5) - 페이징 시스템 (0) | 2022.08.10 |
Comments