● 디맨드 페이징 - 프로세스가 실행될 때 프로세스를 이루고 있는 코드 영역, 데이터 영역, 힙 영역, 스택 영역 등과 같은 모듈들이 모두 메모리에 올라와 실행된다고 생각할 수 있다. - 그러나 실제로는 모든 모듈이 메모리에 올라오는 것은 아니고 필요한 모듈만 올라와서 실행된다. - 도널드 커누스는 프로그램이 실행될 때 90%의 시간이 10%의 코드에서 보내진다는 법칙을 얘기했다. - 이를 지역성 이론이라고 하는데 지역성에는 2가지가 있다. 1. 공간의 지역성 : 현재 위치에서 가까운 데이터에 접근할 확률이 높다. 2. 시간의 지역성 : 최근 접근했던 데이터가 오래 전에 접근했던 데이터보다 접근할 확률이 높다. - 지역성 이론은 조만간 쓰일 데이터만 메모리에 올리고 당분간 필요하지 않을 것 같은 데이터는..
● 페이징 - 고정 분할 방식을 이용한 페이징에 대해 알아보자 - 세그멘테이션 기법(가변 분할 방식, 연속 메모리 할당)은 외부단편화 문제가 있기 때문에 이를 해결하기 위해 페이징 기법이 고안되었다.(조각 모음은 오버헤드가 너무 크다.) - 페이징은 메모리를 할당할 때 미리 정해진 크기의 페이지로 나눈다. - 모든 페이지의 크기가 같기 때문에 관리가 쉬우며 일정한 크기로 나누었기 때문에 외부단편화 현상이 발생하지 않는다. (대신 내부단편화 발생 = 공간 낭비) - 논리주소공간은 사용자와 프로세스가 바라보는 주소공간이고 물리주소공간은 실제 메모리에서 사용되는 주소공간이다. - 페이징에서 논리주소공간은 일정한 크기로 균일하게 나뉘며 이를 페이지라고 부른다. - 물리주소공간도 페이지의 크기와 동일하게 나뉘는데..
2023.05.29 - [운영체제] - #27 메모리 - 메모리와 주소 #27 메모리 - 메모리와 주소 2023.02.12 - [운영체제] - #3 컴퓨터 하드웨어와 구조(feat 폰 노이만 구조) #3 컴퓨터 하드웨어와 구조(feat 폰 노이만 구조) ● 프로그램 내장방식 - 오늘도 나는 폰 공부를 한다. - 예전에는 ENIAC(애니 radderveloper.tistory.com - 사실 위의 글 다음에 지금 글의 내용을 바로 이어서 작성했어야 했는데 쉬운거부터 듣자는 욕심으로 인해 순서가 꼬였다. 사진 여러장을 한 줄에 올릴 수 있다는 걸 처음 알았다. ● 도입 Q. 유니프로그래밍 방식(메모리에 오직 하나의 프로세스가 올라온 것)에서 메모리의 크기보다 더 큰 프로그램을 실행시키는 방법은 무엇이었을까?..
- Total
- Today
- Yesterday
- jpa
- 알고리즘
- Phaser
- SpringBoot
- db
- Spring Boot
- 코테
- Stream
- node.js
- 코딩테스트
- API
- 운영체제
- 빅데이터 분석기사
- Advanced Stream
- 프로그래머스
- Phaser3
- MongoDB
- git
- OS
- 자료구조
- java
- 빅데이터
- spring
- nosql
- SQL
- 메모리
- Java8
- 프로세스
- MySQL
- DART
일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
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 | 31 |