-
13.메모리Computer Science/Operating System 2021. 8. 27. 00:20
∙메인 메모리
∘CPU가 직접 접근할 수 있는 장치, 프로세스가 실행되려면 프로그램이 메모리에 올라와야 한다.
-주소가 할당된 일련의 바이트들로 구성되어 있다.
-CPU는 레지스터가 지시하는 대로 메모리에 접근하여 다음에 수행할 명령을 가져온다.
-명령 수행 시 메모리에 필요한 데이터가 없으면 MMU가 해당 데이터를 우선 가져온다.
∙메모리 관리 장치(MMU)(Memory Management Unit)
∘CPU가 메모리에 접근하는 것을 총 관리하는 하드웨어
-논리 주소를 물리주소로 변환해준다.
-CPU와 메인 메모리 속도를 맞추기 위해 캐시가 존재한다.
-base와 limit 레지스터를 활용해 메모리를 보호한다. (base<=접근가능<base+limit)
-base: 메모리상의 프로세스 시작 주소를 물리 주소로 저장
-limit: 프로세스의 사이즈를 저장
-영역 밖에서 접근을 요구하면 trap을 발생시킨다.
∙메모리 과할당(over allocating)
∘실제 메모리의 사이즈보다 더 큰 사이즈의 메모리를 프로세스에 할당한 상항
->페이지 교체(swapping)를 통해 빈 프레임을 얻는다.
-page fault: 주소 공간에는 존재하지만 RAM에는 없는 데이터나 코드에 접근 하였을 때
그 데이터나 코드를 메모리에 가져와서 프로그램을 계속적으로 작동하는 기법
∙페이지 교체 시 오버헤드를 감소시키는 방법
➀모든 페이지마다 변경 비트를 두어 변경 상태를 확인하여 변경 사항이 있을 때만 디스크에 기록한다.
➁page fault 발생을 최대한 줄이는 교체 알고리즘을 사용한다.
∙캐시 메모리
∘주기억장치에 저장된 내용의 일부를 임시 저장하는 기억장치
-CPU와 주기억장치의 속도 차이를 맞춘다.
-자주 사용되는 정보를 담기 위해 지역성을 사용한다.
-시간 지역성: 최근에 참조된 주소의 내용이 다음에도 참조되는 특성
-공간 지역성: 실제 프로그램이 참조된 주소와 인접한 주소의 내용 다시 참조되는 특성
-캐싱 라인: set이나 map을 활용해 캐시에 저장한 데이터의 메모리 주소를 함께 저장하는 기법출처
'Computer Science > Operating System' 카테고리의 다른 글
OS 핵심 요약 (0) 2022.01.15 14.파일 시스템 (0) 2021.08.29 12.페이지 교체 알고리즘 (0) 2021.08.26 11.페이징(Paging), 세그먼테이션(Segmentation) (0) 2021.08.25 10.세마포어(Semaphore), 뮤텍스(Mutex) (0) 2021.08.24