가장 기초적인 부분, 외워야 하는 키워드 정리 32bit vs 64bit bit 와 Byte 비트는 바이너리 디지트의 약자로 0과 1만을 나타낼 수 있는 신호(디지털 표현)를 나타내는 최소 단위입니다. 바이트는 8개의 비트로 구성된 정보의 기본 단위입니다. 알파벳이나 숫자를 한 개 저장할 수 있습니다. Word (워드) 하나의 명령어로 저장 장치로부터 레지스터에 옮겨 놓을 수 있는(실행가능한) 데이터의 처리 단위를 뜻합니다. 메모리에서 레지스터, 혹은 산술 논리 장치(ALU arithmetic and logical unit) 를 통해 데이터를 조작할 때 한 번의 명령어로 처리될 수 있는 최대 데이터 크기가 곧 처리 단위가 됩니다. 32bit / 64bit 32bit와 64bit 모두 해당 단위 머신(CP..
Complie, Compiler, Complie language 컴파일이란 고수준 언어로 작성된 소스 코드(컴퓨터 프로그램)을 기계어 코드(명령어)로 변환하는 과정을 뜻합니다. 컴파일러는 컴파일 과정을 수행하는 번역기(컴퓨터 프로그램)입니다. 컴파일 언어는 코드가 실행되기 전 컴파일러를 거쳐 기계어로 모두 변환된 뒤 실행되는 프로그래밍 언어입니다.(컴파일 환경 존재)이 언어는 컴파일 시간 동안 모두 번역되어 빠른 경향이 있습니다. 왜냐하면 이와 반대되는 인터프리터 언어는 런타임 시간 동안 번역 프로세스가 진행되고, 그에 따른 오버헤드가 발생할 수 있기 때문입니다. (그러나 just in time 컴파일과 같은 최신 기술과 번역 프로세스가 개선되어 이 차이는 점차 좁혀지고 있습니다.) 또한 직접 기계어로 ..
Memory structure Code segment 실행할 프로그램의 코드와 명령어가 디스크에서 로드되어 저장되는 영역입니다. 이 영역에 저장된 명령어를 CPU가 처리합니다. 아래 두 region을 Data segment local and static data 컴파일 시간 동안 프로그램의 전역 변수와 정적 변수의 주소가 설정되어 저장됩니다. 프로세스 수명 동안 살아있으며, 프로그램 종료 시 사라집니다. global / static 영역은 엄밀히 말해 아래의 영역입니다. Initialized data segment(초기화된 데이터 세그먼트) 기본값으로 선언된 변수가 저장됩니다. bss 아직 값이 할당되지 않은 정적으로 할당된 변수가 포함된 object file, excecutable, assembly l..