Q1. 컴퓨터의 3대 구성요소란?
- 연산을 담당하는 cpu, 기억을 담당하는 메모리, 다양한 입출력 장치 3가지 입니다.
Q2. CPU의 구조는 어떻게 되어 있나요?
- cpu의 주요 구성요소는 메모리에서 명령을 받아 해독과 실행을 지시하는 제어장치, 제어장치의 지시에 따라 산술, 논리, 비트 연산 등을 수행하는 연산장치, 제어, 연산 등에 사용하는 임시 기억 장치인 기억장치 3가지가 있습니다.
Q3. 병럴처리의 파이프라인 기법 vs 슈퍼스칼라 기법?
- cpu의 성능을 향상하기 위해서는 cpu의 클록을 높이거나 캐시의 크기를 늘려야하지만 현재 기술의 한계를 맞아 코어를 여러 개 만들거나, 동시에 실행 가능한 명령의 개수를 늘리는 방법을 사용합니다. 이때 병렬처리는 동시에 여러 개의 명령을 처리하여 작업의 능률을 올리는 방식을 말합니다.
- 파이프 라인 기법은 하나의 코어에 여러 개의 스레드를 사용하는 방법으로 명령어를 여러개의 단계로 분할한 후, 각 단계를 동시에 처리하는 방법을 말합니다.
- 슈퍼스칼라 기법은 코어를 여러개 구성하여 복수의 명령어를 동시에 실행되도록 하는 방식입니다.
Q4. 메모리 영역의 코드영역, 데이터 영역, 힙 영역, 스택 영역이란?
-프로그램은 어떤 데이터를 사용하여 작업을 할지 그 절차를 적어둔 것입니다. 그리고 프로세스는 프로그램실행을 위해 프로그램 데이터를 메모리에 올려둔 상태입니다. 메모리에 올려둔 프로세스는 코드영역, 데이터 영역, 힙 영역, 스택 영역이 있습니다.
- 코드 영역: 프로그래머가 작성한 프로그램은 코드 영역에 탑재됩니다.
- 데이터 영역: 코드가 실행되면서 사용하는 변수나 파일 등의 각종 데이터를 모아둔 곳입니다.
- 힙 영역 : 동적으로 할당되는 변수 영역으로 어쩌다 한 번 쓰는 큰 배열을 처음부터 선언하고 끝까지 놔두는 일이 없어야 하는 곳입니다.
- 스택 영역: 운영체제가 프로세스를 실행하기 위해 부수적으로 필요한 데이터를 모아 놓는 곳으로 함수를 수행하고 함수를 수행한 위치로 돌아오기 위한 정보 등을 저장해둡니다.
- 코드 영역과 데이터 영역: 프로세스가 실행되기 직전에 위치와 크기가 결정되고 실행되는 동안 변하지 않는 정적 할당 구역입니다.
- 힙 영역과 스택 영역: 프로세스가 실행되는 동안 만들어지는 영역으로 그 크기가 늘어났다, 줄어 들기도 하는 동적 할당 구역입니다.
Q5. 컴파일러 vs 인터프리터?
- 컴파일러와 인터프리터는 소스코드를 해석하고 실행시키는 방식을 말합니다.
- 컴파일러는 소스코드가 런타임되기 전에 어셈블리어로 변환하고 그 후 어셈블러를 통해 기계어로 변환 및 해석되는 방식으로 소스코드에 문제가 있다면 실행되지 않고 오류를 알립니다.
- 인터프리터는 소스코드가 먼저 런타임된 후에 코드를 한 줄씩 변환 및 해석되는 방식으로 소스코드에 문제가 있을 때 오류를 알리며, 그 이전까지는 실행되는 방식입니다.
Q6. RISC 와 CISC?
- 프로세서가 가진 명령어 세트를 기준으로 RISC와 CISC로 나눌 수 있습니다.
- RISC: 핵심적인 명령어를 기반으로 최소한의 명령어 세트를 구성한 프로세서입니다. 간단한 명령어를 통한 빠른 속도를 낼 수 있다는 장점이 있습니다.
- CISC: 연산을 처리하는 복잡한 명령어를 수 백개 이상 탑재하고 있는 프로세서입니다. 명령어의 개수가 많이 프로그램 구성이 복잡해지지만 적은수의 명령어로 구현할 수 있다는 장점이 있습니다.
'OS' 카테고리의 다른 글
[개발상식] 안드로이드 기술면접 준비 - 1 (0) | 2022.11.06 |
---|---|
[개발상식] IT 기술면접 준비 - 4 (데이터 베이스) (0) | 2022.10.25 |
[개발상식] IT 기술면접 준비 - 3(운영체제) (0) | 2022.10.23 |
[개발상식] IT 기술면접 준비 - 2 (컴퓨터 네트워크) (0) | 2022.10.22 |
[개발상식] IT 기술면접 준비 - 1(개발 상식) (0) | 2022.10.21 |