운영체제

운영체제 adress translation

cheesecrust1008 2023. 3. 12. 21:45

protection을 위해서는 

1. mmu (하드웨어에서 처리)

2. dual mode (안전을 위해 kernel 에 접근할 수 있는 모드와 아닌 모드를 나눈다.)

 

mmu 는 가상의 주소를 물리적 주소로 바꾸어 주는 역할을 한다. 

 

이러한 작용으로 프로그래머들 에게 메모리를 독점하는 듯한 착각을 들게 한다.

 

이를 학습하기 전에, 

우선 모든 메모리가 연속적이라고 가정한다.

virtual memory space 도 물리적 memory 보다 작다고 가정한다.

모든 process가 가지는 주소 공간이 같다고 가정한다.

 

가상주소를 물리적 주소로 바꿀 때에 있어서는 base 값을 더해준다.

 

그리고 그 값이 bound 를 넘는지를 체크한다. 

 

따라서 mmu에서는 base 와 bound 를 가져야 한다. 그리고 이는 프로세스 별로 다르기 때문에 pcb에 저장한다. 

 

그리고 위의 주소 변경을 위해서는 

 

hardware requirements 와 os issue 가 있다. 

 

hardware requirements

 

1. kernel mode : user 프로그램에서는 mmu 수정이 안된다. 모드를 아예 나눈다.

 

2. base, bound를 가지고 있어야 한다.

 

3. 값 계산, 비교가 가능해야한다 

 

4. base/ bound 갱신을 해야 한다. 

 

5. 예외 handler 명령

 

6. 예외 발생시키기 가능

 

os issue 

 

1. memory 관리 - 새 프로세스에 남는 

 

2. base, bound 를 잘 보존 해야하낟,

 

3. 예외처리

 

 

 

'운영체제' 카테고리의 다른 글

운체 궁금했던거  (0) 2023.03.26
운영체제 segmentation, free space  (0) 2023.03.15
운영체제 address space  (0) 2023.03.12
운영체제 scheduling proportional share  (0) 2023.03.12
운영체제 MLFQ  (0) 2023.03.11