티스토리 뷰

운영체제/이론

(47) Address Binding & Space (Main Memory)

geonwoopaeng@gmail.com 2020. 9. 28. 11:50

### Address Binding ###

: process instruction, data가 실제 할당 될 주소 값을 결정하고 기록하는 작업

- < Address binding >

: 메모리 주소에 대한 명령어 및 데이터의 주소 binding되는 시간

=> 1) compile time, 2) load time, 3) execution time

 

 

출처: Operating System Concepts 10th Ed (John Wiley & Sons, Inc. 2018) ​

 

 

- < 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 주소 세트이다.

반응형
공지사항
최근에 올라온 글