종류
logical address: 프로세스마다 독립적 주소 공간
physical address: 메모리에 실제 올려지는 위치
주소 바인딩
compile time binding: 절대 코드 생성
load time binding : 물리적 주소 부여, 재배치 가능 코드
run time binding: 수행 시작 후 주소 변경 가능 , 하드웨어 지원 필요
메모리 관련 용어 설명
- dynamic loading: 해당 루틴이 필요할 때 메모리에 load하는 것
오류 처리 루틴에 유용
- overlays: 메모리에 프로세스 부분 중 필요한 정보만을 올림
-swapping: 프로세스를 일시적으로 메모리에서 backing store로 쫒아내는 것
- dynamic linking: linking을 실행시간까지 미루는 기법
메모리 할당
- 고정 분할 방식: 프로그램별로 미리 할당, 물리적 메모리를 몇개의 영구적 분할로 나눔
- 가변 분할 방식: 미리 분할을 하지 않는 것, 프로그램의 크기를 고려하여 할당
- dynamic storage-allocation problem
compaction: 사용중인 메모리 영역을 한 곳에 몰고 hole을 다른 한 곳으로 몰아 큰 block을 만드는 것
- paging: 프로세스의 virtual memory를 동일한 사이즈의 page단위로 나눔
shared page
- shred code: ready-only로 하여 프로세스 간에 하나의 code만 메모리에 올림
- private code and data: 각 프로세스 들은 독자적으로 메모리에 올림
segmentation
- 프로그램은 의미 단위인 segment로 나누어서 관리
- segment architecture: protection(각 세그먼트 별 관리), sharing, allocation(first fit/ best fit)
segmentation and paging
- pure segmentation과 차이점: segment-table entry가 segment의 base address를 갖고 있는 것이 아니라 segment를 구성하는 page table의 base address를 가지고 있음
'프로그래밍 > CS' 카테고리의 다른 글
운영체제(10/11) - File Systems (2) | 2023.02.03 |
---|---|
운영체제(9/11) - Virtual Memory 1,2 (0) | 2023.02.02 |
운영체제(7/11) - Deadlock 1,2 (0) | 2023.01.31 |
운영체제(6/11) - Process Synchronization 1,2,3,4 (0) | 2023.01.30 |
운영체제(5/11) - CPU Scheduling 1, 2 (0) | 2023.01.29 |
댓글