일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
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
- 운영체제
- COLOR
- 비동기
- IOS
- UserDefaults
- core data
- 인프런
- 오브젝트
- 가상 메모리
- @state
- SwiftUI
- forEach
- 데드락
- async
- 동기화
- 100 days of SwiftUI
- decode
- Swift
- Apple Developer Academy
- struct
- 앨런
- 동시성
- Linked List
- 알고리즘
- Codable
- 프로세스 스케줄링
- 상호배제
- scrollview
- Algorithm
- deadlock
Archives
- Today
- Total
기어가더라도 제대로
[운영체제-김덕수 교수님] 메모리 관리(2/3) - 할당 본문
- Continuous memory allocation
- 프로세스(Context)를 하나의 연속된 메모리 공간에 할당하는 정책
- 프로그램, 데이터, 스택 등
- 메모리 구성 정책
- 메모리에 동시에 올라갈 수 있는 프로세스 수
- Multiprogramming degree
- 각 프로세스에게 할당되는 메모리 공간 크기
- 메모리 분할 방법
- 메모리에 동시에 올라갈 수 있는 프로세스 수
- 프로세스(Context)를 하나의 연속된 메모리 공간에 할당하는 정책
- Uni-programming
- Multiprogramming degree = 1
- Multi-Programming
- Fixed(Static) partition multi-programming(FPM)
- 고정 분할
- Variable(Dynamic) partition multi-programming(VPM)
- 가변 분할
- Fixed(Static) partition multi-programming(FPM)
- 문제점
- 프로그램의 크기 > 메모리 크기
- 이런 경우 프로그램을 쪼개서 올려야하는 문제가 있다.
- 해결법
- Overlay structure
- 메모리에 현재 필요한 영역만 적재
- 사용자가 프로그램의 흐름 및 자료구조를 모두 알고 있어야함
- Overlay structure
- 문제점
- 커널(kernel) 보호
- 프로그램을 메모리에 올리다 보면 커널도 메모리에 올라가다 보니, 커널 영역을 침범할 수 있는 문제점이 있다.
- 해결법
- 경계 레지스터(Boundary register) 사용
- "여기서부터는 커널의 영역입니다" 를 알려주는 레지스터
- 시스템의 활용도가 낮다는게 문제
- 그 해결책으로 멀티 프로그래밍을 하면 된다.
Fixed Partition Multiprogramming
- 메모리 공간을 고정된 크기로 분할
- 미리 분할되어 있음
- 각 프로세스는 하나의 partition(분할)에 적재
- Process : Partition = 1:1
파티션간 침범을 막는 방법도 존재한다.
커널에 경계 레지스터를 두었던 것 처럼, 프로세스들간에도 경계 레지스터를 설정해주는 것이다.
Fragmentation(단편화)
- Internal fragmentation
- 내부 단편화
- Partition 크기 > Process 크기
- 메모리가 낭비됨
- External fragmentation
- 외부 단편화
- (남은 메모리 크기> Process크기)이지만, 연속된 공간이 아니라 메모리가 낭비됨
- 요약
- 고정된 크기로 메모리 미리 분할
- 메모리 관리가 간편함
- 시스템 자원이 낭비 될 수 있음
- 내부 단편화, 외부 단편화 가능성이 있음
'CS > 운영체제' 카테고리의 다른 글
[운영체제-김덕수 교수님] 가상 메모리(1/5) - 비연속 메모리 할당 (0) | 2022.08.10 |
---|---|
[운영체제-김덕수 교수님]메모리 관리(3/3) - 가변 파티션 할당 (0) | 2022.08.10 |
[운영체제-김덕수 교수님] 메모리 관리(1/3) - 용어 정리 (0) | 2022.08.08 |
[운영체제-김덕수교수님] 교착상태(5/5) - Detection & Recovery (0) | 2022.08.08 |
[운영체제-김덕수교수님] 교착상태(4/5) - Deadlock avoidance (0) | 2022.08.08 |
Comments