컴퓨터의 정보 표현 컴퓨터가 사용하는 정보는 프로그램 코드(Program code)와 데이터(Data)가 있다. 컴퓨터는 그러한 정보들을 2진수(Binary number)로 나타내는 비트(bit)들의 조합으로 표현한다. 컴파일러 프로그램은 C, PASCAL, FORTRAN, COBOL 등 고급 언어(high-level language)로 작성된다. 고급 언어들은 영어와 숫자로 이루어져 사람들이 보기 편하도록 구성되었지만 컴퓨터는 전혀 이해하지 못한다. 하여 프로그램은 컴파일러(compiler)라는 소프트웨어에서 하드웨어가 이해할 수 있는 언어로 번역한다. 컴파일러를 통해 번역된 언어는 기계어(machine language) 혹은 기계 코드(machine code)로 명칭된다. 어셈블리 고급 언어는 어디서..
컴퓨터는 수치적 혹은 논리적 데이터를 적절히 처리하는 것이다. 컴퓨터시스템의 기본 구성요소 컴퓨터는 크게 두 가지의 구성요소로 동작한다. 하드웨어 (Hardware) 시스템 소프트웨어 (System software) 응용 소프트웨어 (Application software) 하드웨어 컴퓨의 각 정보 전송 통로 제공 및 정보 처리가 실제로 일어나는 물리적 장치들 소프트웨어 정보처리의 종류와 수행 시간을 지정하는 명령(command)들의 집합 하드웨어에 의존적이며 하드웨어가 제공해주는 기능들을 이용한 최종적 결과물을 산출한다. 소프트웨어의 정보 처리 속도는 하드웨어에 달려있다. 단, 소프트웨어 질에 따라 하드웨어 사용 효율이 차이난다. 시스템 소프트웨어와 응용 소프트웨어로 소분류된다. 시스템 소프트웨어 응용 ..
스택 프레임 스택 프레임(stack frame)은 함수 호출 시 생성되는 작은 메모리 블록으로 지역 변수와 매개변수가 저장되는 영역이다. 스택 영역은 함수의 호출과 함께 할당되며, 함수의 호출이 완료되면 소멸합니다. 함수가 호출되면 스택에 매개변수, 호출이 끝난 뒤 돌아갈 반환 주소, 함수에서 선언된 지역 변수 등이 저장된다. 이렇게 스택 영역에 차례대로 저장되는 함수의 호출 정보를 스택 프레임(stack frame)이라고 합니다. 이러한 스택 프레임 덕분에 함수의 호출이 모두 끝난 뒤에, 해당 함수가 호출되기 이전 상태로 되돌아갈 수 있습니다. 스택 프레임 정보 명칭 설명 지역 변수 (Local Variables) 함수 내 선언된 지역 변수는 함수 실행 동안 유효하고 함수 종료시 스택 프레임과 함께 제..
메모리 구조 프로그램 실행시 운영체제는 해당 프로그램을 위한 메모리 공간(지역, 전역 변수 선언 등)을 할당 코드(Code) 코드 영역은 프로그래머가 작성한 소스코드가 들어 가는 부분이다. 실행할 프로그램의 코드가 저장되는 영역으로 텍스트 영역으로도 불린다. 실행 파일은 코드 영역에 구성된 명령어들로 메모리 영역에 함수, 제어문, 상수 등을 지정시킨다. 데이터(Data) 전역 변수 및 static변수 할당 영역 프로그램 시작시 할당, 종료 후 메모리에서 소멸 #include int a = 10; // 데이터 영역에 할당 int b = 20; // 데이터 영역에 할당 int main() { static int c = 30; // 데이터 영역에 할당 return 0; } 힙(Heap) 프로그래머가 직접 할당..
- Total
- Today
- Yesterday
- 멀티스레드
- 메모리
- 프로세스
- thread
- 초기화
- dynamic_cast
- 게임수학
- 크기
- 상속
- 백준
- 구조
- 스레드
- 레지스터
- const
- malloc
- 운영체제
- 인터럽트
- c++
- 컴파일
- static_cast
- 할당
- 수학
- 클래스
- 알고리즘
- 입출력
- CPU
- New
- 명령어
- 포인터
- 함수
일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
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 | 31 |