CPU 구조
레지스터(Word) = MAR, MBR, IR, PC
1Word=4Byte=32Bit
Instrution Cycle
① 메모리에서 읽어오는 Fetch
② 메모리를 참조하는 Indirect
③ cpu에서 실행되는 Execution
④ 갑작스러운 연산처리 Interrupt
※ OP Code, Operand = cpu와 main memory 사이에서 데이터를 주고 받는 명령어 포맷
캐시메모리 = cpu와 memory의 속도차이 해결
※ Thrashing = cpu가 페이지 교체로 인해 연산을 수행하지 못하고 성능이 떨어지는 현상
가상메모리 = 메모리 공간 확대
입출력 기법
① Program에 의한 기법
② Interrupt 기법
③ DMA - Stealing cycle
④ I/O channel = Sector channel, Byte/Block multiplexer channel
Register = CPU, 고속
Buffer = Main Memory, 고속
Spool = 프린터, 저속
Meltdown 취약점 = 인텔, 인텔 권한 상승 + 예측 실행, 사용자 공간에서 커널 메모리 읽기
Spectre 취약점 = 인텔/ARM/AMD, 브랜치 예측 + 실행, 프로그램 사용자로부터 메모리 읽기
argv(문자열)
argv(포인터) → 프로그램 실행할 때 입력 값
argc
↓ 스택 영역 → 지역변수, 복귀주소
메모리 할당 방향
↑ 힙 영역 → 동적 메모리 할당, malloc
데이터(.bss) → 초기화 되지 않은 변수
데이터(.data) → 초기화된 변수, 전역변수
코드(text)
Can Do It
brb