1. 자바 플레이 그라운드 with TDD, 클린 코드
- 미학습
2. 혼자서 공부하는 컴퓨터 구조 + 운영체제
* 메모리의 주소공간
논리주소 | - CPU와 실행 중인 프로그램 - 프로그램마다 같은 논리 주소가 존재 할 수 있다. |
물리주소 | - 실제 메모리 하드웨어가 사용 |
- 주소 공간을 물리, 논리 주소로 나누는 이유는 논리주소가 없을 경우 모든 프로세스가 물리주소에 직접 접근이 가능하게 되고, 서로 다른 프로세스들이 같은 주소공간을 침범할 수 있게 된다.
- 물리 주소와 논리 주소는 메모리관리 장치(Memory Management Unit)을 통해 변환된다.
- 베이스 레지스터 : 프로그램의 가장 작은 물리주소(해당 프로그램의 첫번째 물리주소)
- MMU의 원리는 베이스 레지스터 + 논리주소 = 물리주소 이다.(논리주소가 사실상 프로그램의 시작점으로부터 떨어진 주소거리인 셈)
- (베이스 레지스터 + 논리주소)가 다른 프로그램의 물리주소에 접근하는 것을 방지하기 위해 한계레지스터가 존재(한계 레지스터는 사실상 프로그램의 크기인 셈)
* 캐시 메모리
- 메모리 계층 구조(높을 수록 CPU에 가까움 -> 속도 빠름, 가격 비쌈, 용량 작음)

- 캐시 메모리는 CPU의 연산속도가 메모리에 접근하는 시간보다 더 빨라서 생기는 문제점을 해결하기 위해 탄생
- L1 -> L2 -> L3 순으로 CPU에 가까움(즉, 더 빠르고 용량이 작다.)
- L1, L2는 보통 코어 내부 L3는 코어 외부에 위치한다.(L3는 코어 여러개가 공유하는 형태)
- 캐시 메모리는 CPU가 사용할 법한 대상을 예측하여 메모리에서 가져온다.
- 이때 캐시메모리에 있는 대상을 CPU가 사용하면 캐시히트, 미사용이면 캐시미스라고 부른다.
- 어떤 식으로 예측을 하는지? -> 참조지역성의 원리
시간 지역성 | - CPU는 최근에 접근했던 메모리 공간에 다시 접근하려는 경향이 있음 - 코딩할 때 변수를 생각하면 쉽다. (어떠한 변수가 한 번 사용되고 한참 뒤에 사용되는 경우가 적기 때문) |
공간 지역성 | - CPU는 접근 했던 메모리 근처를 접근하려는 경향이 있음 - 각각의 프로그램들은 각각의 메모리 공간이 있고, 또 내부 작동에서도 관련있는 데이터끼리 뭉쳐있기때문이다. |
3. 알고리즘
프로그래머스 호텔대실 자바
1. 문제 https://school.programmers.co.kr/learn/courses/30/lessons/155651 프로그래머스 코드 중심의 개발자 채용. 스택 기반의 포지션 매칭. 프로그래머스의 개발자 맞춤형 프로필을 등록하고, 나와 기술 궁합이
ahlight.tistory.com
'TIL' 카테고리의 다른 글
TIL - 0220 (0) | 2023.02.20 |
---|---|
TIL - 0218 (0) | 2023.02.18 |
TIL - 0216 (0) | 2023.02.16 |
TIL - 0215 (0) | 2023.02.15 |
TIL - 0214 (0) | 2023.02.14 |