임베디드 기사/실기 - 기출문제

2020년 임베디드 기사 실기 기출문제

꿈을향해달리자 2023. 10. 2. 22:06
728x90

1.

하드웨어에 전원이 인가되고 처음 실행되는 코드

더보기

스타트업 코드

 

- 개념​

<참고자료>

1. Startup Code 개념

- MCU (Micro Controller Unit) 에 전원이 인가되었을 때 처음 실행되는 코드로 칩 초기화, 데이터 메모리 및 코드 메모리 배치 등의 MCU 의 시작 과정을 실행하는 코드

- Boot Loader 의 Main code 를 실행하기 위해 CPU 등 장치 초기화 및 DRAM 초기화를 진행

2. Startup Code 동작 순서

① Power-On Self-Test 수행(POST)

② 인터럽트 백터 테이블 셋업

③ 모든 인터럽트 실행 차단

④ 장치 초기화(GPIO, SDRAM, Clock, Watch-dog 등)

⑤ 메모리 영역 초기화(Stack, BSS 영역 등)

⑥ 부트로더를 SDRAM으로 복사

⑦ 부트로더 실행으로 점프

2.

C 언어로 작성된 프로그램이 실행될 때, 제일 먼저 호출되는 함수

더보기

main 함수

 

- 개념

<참고자료>

int main (void)

{

return 0 ;

}

- void 는 함수에 입력되는 값이 없다는 뜻

- int 는 함수의 출력타입이 정수라는 것을 나타냄

- main 함수는 프로그램을 실행하기 위해 첫 시작점과 같음, main 함수에서부터 실행이 시작되고, 한 프로그램 내에는 main 함수가 1개만 존재

- return 0 은 이 함수의 출력타입이 정수이므로 정수값인 0을 돌려보낸다는 뜻

 

3.

안드로이드 커널 소스 트리에서 main 함수가 작성된 파일이 존재하는 디렉토리는?

더보기

init

 

 

4.

ELF 파일 구조를 볼 수 있게 해주는 유틸리티

더보기

readelf

 

- 개념​

<참고자료>

- ELF(Executable and Linkable Format)는 실행 파일, 목적 파일, 공유 라이브러리 그리고 코어 덤프를 위한 표준 파일 형식이다

- readelf는 하나 이상의 ELF 파일들에 대한 정보를 보여주는 유닉스 바이너리 유틸리티이다.

- elfutils는 순수하게 리눅스를 위한 대체 도구들을 제공한다.

- elfdump 는 ELF 파일에서 ELF 정보를 보기 위한 명령어로서 솔라리스와 FreeBSD에서 사용 가능하다.

- objdump는 ELF 파일들과 다른 목적 포맷들에 대한 많은 정보를 제공한다. objdump는 ELF 데이터를 구조화하기 위해 바이너리 파일 디스크립터 라이브러리를 백엔드로서 사용한다.

5.

안드로이드에서 xml 파일을 편집하여 뷰를 정의 하는 것?

더보기

레이아웃

 

6.

리눅스에서 run level을 설정 하는 파일

더보기

/etc/inittab

- 개념​

<참고자료 runlevel 의미>

- init 0 : halt 즉, 시스템 종료를 의미

- init 1 : Single user mode로 시스템 복원모드라고도 하며 기본적으로 관리자 권한 쉘을 얻게 된다. 주로, 파일 시스템 점검하거나 관리자 암호 변경할 때 사용

- init 2 : Multiuser mode로 다중 사용자 모드, 네트워크를 사용하지 않는 '텍스트 유저모드'라고 할 수 있다

- init 3 : Full muliuser mode로 일반적인 쉘 기반의 인터페이스를 가진 다중 사용자 모드, 쉽게 말하면 그래픽 유저 모드가 아닌 '텍스트 유저 모드' 이다

- init 4 : unused 쓰이지 않는, 기본적으로는 사용되지 않지만 임의로 정의해서 사용할 수 있다

- init 5 : X11 기본적으로 init 3과 같다. 다른 점은 '그래픽 유저 모드' 라는것

- init 6 : reboot로 시스템 재부팅 의미

 

7.

3 2 1 5 4 를 선택 정렬 시 마지막 단계를 수행하지 않았을 때의 결과는?

더보기

1 2 3 5 4

 

8.

DRAM의 특정 cell의 내용이 leakage로 인해서 data를 잃지 않도록 해주는 것

더보기

Refresh

 

9.

C언어 문제(for, while, do while) 코드에서 반복 과정을 중단 시킬 수 있는 명령어

더보기

break

 

10.

원시 프로그램의 번역이 이루어지는 컴퓨터와 번역된 기계어에 이용되는 컴퓨터가 서로 다른 기종의 컴퓨터일 때 사용하는 컴파일러

더보기

​크로스 컴파일러

 

- 개념

<참고자료>

- 컴파일 과정 : 원시 프로그램 → 프리프로세스 → 컴파일러 → 어셈블러 → 링커/로더 → 목적 프로그램

- 고급 언어로 작성된 프로그램은 기계어로 변환하는 과정을 (컴파일)이라 부른다. 또한 어셈블리어로 작성된 프로그램을 기계어로 변환하는 과정을 (어셈블리)라고 부른다.

- 컴파일(Compile) : 고급언어로 쓰여진 원시 프로그램을 그와 의미적으로 동등하게 컴퓨터에서 즉시 실행될 수 있는 형태의 목적 프로그램으로 번역 과정

 

11.

소프트웨어 내부구조, 동작을 디테일하게 검사하는 방식을 (A) 테스트라 하고, 소프트웨어의 내부 구조나 작동원리를 모르는 상태에서 동작을 검사하는 방식을 (B) 테스트라 한다. 

더보기

​A : 화이트 박스, B : 블랙 박스

 

12.

리눅스 기반의 포맷 방식을 사용하는 파일 시스템으로 현재 안정화된 파일 시스템으로 알려져 있으며 시놀리지 등의 리눅스 기반 제품에서 사용하고 있다. 기존 파일 시스템에 비해 데이터의 관리 및 안정성 확보를 강화한 방식임

더보기

​Btrfs

 

- 개념

ㄴ Btrfs : Btree file system 또는 Butter file system의 약어이다. 데이터 관리 및 안정성을 강화한 최신 파일 시스템이다.

○ Btrfs 장점

실시간 오류 정정 기능과 스냅샷을 이용하여 볼륨 복원이 가능하여 장애 복원성이 좋습니다.

또한 압축 기능 제공과 SSD 드라이브에 최적화되어 있어 일부 실험에서는 압축+SSD 조합을 통해 EXT4 보다 4배 이상의 성능을 보여주는 탁월한 읽기/쓰기 성능을 제공합니다.

 

○ Btrfs 단점

장점이던 스냅샷이 이번에는 단점입니다. ^^

스냅샷 이미지의 저장을 위해 디스크 공간을 추가로 사용하며 스냅샷 용량 증가의 특성상 디스크 사용량 예측이 어려운 것이 단점입니다.

또한, 스냅샷 이미지 생성과 디스크 단편화 문제로 자동 조각 모음을 처리할 때 성능 저하가 발생할 수 있습니다

 

13.

컴퓨터에서 전원을 켜면 맨 처음 컴퓨터의 제어를 맡아, 가장 기본적인 기능을 처리해주는 프로그램을 말한다. 롬바이오스라고 하며, 소프트웨어의 계층 중 가장 낮은 계층에 속하며 모든 소프트웨어는 이 곳을 기반으로 움직인다. 구성 루틴으로는 스타트업(Start-up)루틴과 서비스 처리 루틴, 하드웨어 인터럽트 처리 부분이 대표적이다.

더보기

BIOS

 

​​

14.

Page 부재가 빈번하게 발생하여 CPU가 프로세스 수행보다 Page 교체에 더 많은 시간을 소요하는 비정상적인 현상, 시스템 느려짐

더보기

Thrashing(스레싱)

​​

15.

입출력 장치 제어기(IO device controller)가 CPU에 의한 프로그램의 실행없이 자료의 이동을 할 수 있도록 하는 것


- 개념

<참고자료 : PC 입출력 방식의 유형>

- Programmed I/O : CPU가 일정한 간격으로 I/O 장치의 송수신 데이터 유무를 확인

- Interrupt Driven I/O : 입출력 인터페이스가 주변장치 상태 값을 요청(I/O 장치가 인터럽트 요구)

- DMA : CPU의 직접적인 개입 없이 I/O 장치와 메모리 사이의 데이터 전송을 담당하는 제어기

- DMA의 동작 방식은 (Cycle Stealing)와 (Burst Mode) 두 가지가 존재한다. 이중 (Cycle Stealing) 방식은 DMA 제어기와 CPU가 버스를 공유하면서 CPU가 버스를 사용하지 않는 사이클만 버스에 접근하는 방식이며, (Burst Mode) 방식은 DMA제어기가 버스를 점유하여 I/O 처리를 수행하고, 완료되면 버스 점유를 해제하는 방식이다.

16.

프로세스 관리, 메모리 관리, 파일시스템 관리, 네트워크 관리, 디바이스 드라이버 관리 등 OS의 핵심 영역

더보기

kernel

- 개념

<참고자료>

- 모놀리식 커널 : 커널의 모든 기능을 포함하는 커널

- 마이크로 커널 : 커널에 핵심적인 기능만을 포함하고 적용분야에 따라 추가하는 커널

17.

다이어그램 등을 제공하는 통합 모델링 언어

더보기

UML (Unified Modeling Language)

- 개념

<참고자료>

- 객체지향의 모델링 언어로는 UML (Unified Modeling Language)이 주로 사용된다. UML에서는 요구사항 수집을 위한 Diagram으로 Use-Case Diagram이 사용되는데 (Actor)와 (Use-Case)로 구성되어 있다

· Actor(행위자) : 시스템과 상호작용하는 사람 또는 사물 ex)학생, 교수

· Use-Case : 시스템이 제공해야 하는 서비스 ex)수강신청을 한다

- UML에서 표현되는 관계의 종류 4가지 : 상속관계, 의존관계, 실체화관계, 연관관계

 

18. 다음 회로도에서 probe1 의 전압은 얼마인가?

 

728x90