동캄의 코딩도장

운영체제 [메모리 background] 본문

CS/운영체제

운영체제 [메모리 background]

동 캄 2022. 1. 19. 22:45

Backgrounds


레지스터,캐시 - HW가 관리
메모리, 보조기억장치 - SW가 관리


메모리 계층구조

Block

- 보조기억 장치와 주 기억장치 사이의 데이터 전송 단위
- size: 1~4KB


word

- 주 기억장치와 레지스터 사이의 데이터 전송 단위
- size: 16~64 bits


Address Binding

- 프로그램의 논리 주소를 실제 메모리의 물리 주소로 매핑 하는 작업


Compile time binding

- 프로세스가 메모리에 적재될 위치를 컴파일러가 알 수 있는 경우
- 위치가 변하지 않음
- 프로그램 전체가 메모리에 올라가야 함


Load time binding

- 메모리 적재 위치를 컴파일 시점에서 모르면, 대체 가능한 상대주소를 생성
- 적재 시점(load time)에 시작 주소를 반영하여 사용자코드 상의 주소를 재설정
- 프로그램 전체가 메모리에 올라가야 함


Run time binding

- 수행시간에 Binding 실시 --> 프로세스가 수행 도중 다른 메모리 위치로 이동할 수 있음
- HW의 도움이 필요
- 대부분의 OS가 사용


Dynamic Loading

- 모든 루틴을 교체 가능한 형태로 디스크에 저장
- 실제 호출 전까지는 루틴을 적재하지 않음
- 메모리 공간의 효율적 사용


Swapping

- 프로세서 할당이 끝나고 수행 완료 된 프로세스는 swap-device로 보냄(Swap-out)
- 새롭게 시작하는 프로세스는 메모리에 적재(Swap-in)

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

운영체제 [가상 메모리]  (0) 2022.01.19
운영체제 [메모리 할당]  (0) 2022.01.19
운영체제 [deadlock 해결방법]  (0) 2022.01.19
운영체제 [Deadlock]  (0) 2022.01.19
운영체제 [동기화- language level solution]  (0) 2022.01.18