일단 CPU, RAM, SSD로 크게 나뉜다고 생각된다. 1\. CPU: 연산처리장치CPU의 성능은 Hz 1초당 깜빡이는 횟수? 클럭속도초당 실행하는 사이클수 GHz 단위로 측정 근데 단지 클록속도가 결정하는 것은 아님단일 클럭 사이클에서 다수의 명령이 완료 가능! 하
C 프로그램(각 C문장, 고급 소스 파일) --> 저급 기계어 인스트럭션(Executable Object file, 형태 = 바이너리 디스크 파일)이 과정은 크게 4 단계 를 거쳐서 번역 된다. 전처리기 컴파일러 어셈블러링커전처리(CPP) 단계: C/C++ prepro
switch문은 if else 문을 연속해서 사용하는 것보다 얼마나 효율적? 오버헤드는 얼마나 되는가? 부가적인 B처리while루프가 for 보다 얼마나 효율적인가?포인터 참조가 왜 인덱스보다 효율적인가?합계를 지역변수 저장보다 참조형태로 받은 것 보다 왜 빨리 실행
x86-64가 어떻게 발전되어 왔는지원조: 16비트 8개의 레지스터확장1: 32비트 8개의 레지스터확장2: 64비트 16개의 레지스터 --> 현모델레지스터의 이름들을 %r 로 시작된다레지스터는 무엇을 저장할 때 사용 될까? 정수 데이터포인터각각의 레지스터는 그의 쓰임새
처음 들어가는 거니까 먼저 github readme부터 찬찬히 읽어보도록 하자~Main Filesmm.c와 mm.h만 건드는 solution malloc package이다.실행방법 make./mdriver -V설정해야 할것! malloc 패키지 안에 다음과 같이 들어가
동적 메모리 할당: dynamic memory allocator는 힙이라는 자료구조를 사용한다. Heap은 위 쪽으로 올라가는 data 영역이다. 커널은 variable brk이라는 것을 heap 위에 둔다. Heap은 Block들로 구성되어 있다. 각 block은