-
6. mmu란?운영체제/운영체제 정리 2019. 9. 24. 23:40
user1 프로그램이 돌면서 user2 프로그램을 혹은 user3를 침범한다던지 os의 인터럽트 서비스 루틴에 침범 한다던지
하는 일은 막아야 한다. 즉 user1 프로그램은 자신의 영역의 내용만을 cpu가 읽도록 해야 한다.
알다시피 cpu에서 메모리로 주소를 읽기 위해 Address Bus가 간다. Address bus : 몇번지를 읽겠다
몇번지에 해당 내용이 Data Bus를 통해 cpu로 오게 된다.
그렇다면 address bus 를 잘라버리면 될까?
address bus를 잘라버린다면 다른 영역에 침범할 수 없겠지만 자신의 영역에도 들어가지 못한다.
그렇다면 어떻게 해야 할까?
검문소를 만들고 user1을 가려고 주소를 낼적에 그 주소가 user1 사이에있는 주소라면 통과 시켜주고 그 외에는 막아주게 된다면 가능할 것이다.
이 검문소는 실제로 base, limit 레지스터를 두고 user1의 주소번지가 아니라면 cpu에 인터럽트 신호를
보내고 cpu는 os 인터럽트 서비스 루틴에 보낸다. os는 이를 인지하고 user1 program을 강제 종료하게 되는 방식이
다.
이 검문소를 MMU 라고 한다. ( Memory Management Unit )
base ,limit 레지스터는 os가 설정해준다.
'운영체제 > 운영체제 정리' 카테고리의 다른 글
8. 프로세스 관리 (0) 2019.10.07 7. 운영체제의 주요 기능들 (0) 2019.10.04 5. 인터럽트 기반 시스템이란? (1) 2019.09.22 4. 다중프로세서 시스템이란? (0) 2019.09.22 3. 다중 프로그래밍이란? (0) 2019.09.04