Notice
Recent Posts
Recent Comments
Link
일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
1 | ||||||
2 | 3 | 4 | 5 | 6 | 7 | 8 |
9 | 10 | 11 | 12 | 13 | 14 | 15 |
16 | 17 | 18 | 19 | 20 | 21 | 22 |
23 | 24 | 25 | 26 | 27 | 28 | 29 |
30 |
Tags
- 딕셔너리
- 구현
- N과M
- 그리디
- 수학
- 가상메모리
- DP
- dict
- 다익스트라
- programmers
- python
- BOJ
- 다이나믹 프로그래밍
- 운영체제
- level3
- 백준
- level0
- 프로그래머스
- level2
- BFS
- 가상메모리 관리
- MYSQL
- 힙
- 재귀
- level1
- 브루트포스
- 코딩테스트
- dfs
- 스택
- 파이썬
Archives
- Today
- Total
동캄의 코딩도장
운영체제 [메모리 background] 본문
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 |