티스토리 뷰
### Address Binding ###
: process instruction, data가 실제 할당 될 주소 값을 결정하고 기록하는 작업
- < Address binding >
: 메모리 주소에 대한 명령어 및 데이터의 주소 binding되는 시간
=> 1) compile time, 2) load time, 3) execution time
- < Compile time >
: 메모리 위치가 알려진 경우 absolute code(physical address 값을 강제로 결정, 고정)가 생성 될 수 있다.
: 위치 변경 시작시 code를 다시 *compile 해야한다.
- < Load time >
: compile시 메모리 위치를 모르는 경우 relocatable code를 생성해야 한다.
=> 메모리가 적재 될 때(process 가 실행 될때) 메모리 위치를 할당
=> *loader 가 프로그램을 메모리 위로 올릴때 binding 수행
: 위치 변경시 다시 메모리 위로 적재작업을 해야한다
- < Execution time >
: process가 한 메모리 segment에서 다른 메모리 segment로 실행되는 동안 process를 이동할 수 있는 경우 run time까지 binding이 지연된다.
: program이 메모리 적재 이후에도 cpu할당 받을 때 위치를 변경할 수 있다.
=> cpu가 해당 process 메모리 address 접근 수행 할 때마다 접근 되는 address 값의 위치를 체크 해야한다.
### Logical and Physical Address Space ###
- < Logical address (virtual address) >
: cpu에 의해 생성된다.
: cpu가 physical memory에 효율적으로 접근하기 위해 별도로 생성하는 address set
: 프로그램에서 생성한 모든 logical 주소 세트이다.
- < Physical address >
: memory unit에 의해 생성된다.
: memory device 스스로가 memory 주소를 다루기 위해 사용하는 주소
: 프로그램에 의해 생성 된 모든 physical 주소 세트이다.
'운영체제 > 이론' 카테고리의 다른 글
(49) Contiguous Memory Allocation & Fixed Partition Memory Allocation (Main Memory) (0) | 2020.09.28 |
---|---|
(48) Memory Management Unit(MMU) & Dynamic loading & Dynamic linking (Main Memory) (0) | 2020.09.28 |
(46) Basic Hardware (Main Memory) (0) | 2020.09.28 |
(45) Example of Detection Alogorithm & Recovery from Deadlock (0) | 2020.09.27 |
(44) Deadlock Detection (0) | 2020.09.27 |