일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
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 |
- SW
- programmers
- redux-saga
- 이코테
- 매일메일
- java
- 자바
- 코딩테스트합격자되기
- 테코테코
- react-redux
- 항해99
- axios
- redux
- C++
- 리액트
- JavaScript
- Get
- 항해플러스
- maeil-mail
- json-server
- useDispatch
- redux-toolkit
- Python
- 알고리즘
- react-router
- Algorithm
- 프로그래머스
- createSlice
- sw expert academy
- react
- Today
- Total
목록weekly/컴퓨터 밑바닥의 비밀 (2)
Binary Journey
참고도서: 컴퓨터 밑바닥의 비밀 프로그램의 실행 원리 프로그램 카운터(PC)다음 실행할 명령어의 메모리 주소를 저장하는 레지스터초기 PC 값은 프로그램 시작 시 운영체제가 설정함 레지스터CPU 내부의 임시 저장소CPU가 처리할 데이터를 일시적으로 저장 프로그램 실행 과정프로그램의 첫 번째 명령어(main 함수)가 메모리에 저장됨해당 명령어의 주소를 PC 레지스터에 기록CPU가 PC의 주소를 참조하여 명령어를 실행명령어 실행 후 PC가 다음 명령어 주소로 업데이트됨 CPU와 코어의 개념 CPU(중앙 처리 장치)컴퓨터에서 모든 연산과 명령을 수행하는 핵심 장치하나의 CPU 안에는 보통 여러 개의 코어가 존재할 수 있음 코어(Core)CPU 내부의 독립적인 명령어 실행 장치각 코어는 독립적으로 명령을 처리할 ..

컴파일러와 링커의 동작 원리는 C 언어와 같은 시스템 언어에서 자주 다루지만, Java와 Kotlin 같은 JVM 언어에서도 유사한 개념이 적용된다. Java/Kotlin 소스 코드는 컴퍼일러에 의해 바이트코드(JVM 명령어 집합)로 변환되고 실행 시에는 JVM이 이 바이트코드를 적재하고 해석, 최적화하여 실제 CPU에서 실행한다. 중점적으로 살펴볼 부분으로는 아래와 같다.컴파일 단계부터 실행 단계까지의 흐름컴파일러, 클래스 로더, 바이트 코드 처리(JIT 컴파일러, 인터프리터), 오류 발생 단계, 중간 산출물(.class, .jar), 전통적인 링커 개념이 JVM에서는 어떻게 나타나는지1. 소스 코드 → 바이트코드, 컴파일 단계JVM 바이트코드는 특정 OS나 CPU 아키텍처에 종속적이지 않아 JVM만 ..