1. 하드웨어에 전원이 인가되고 처음 실행되는 코드는?
- 스타트업 코드(Startup Code)
- 스타트업 코드 : MCU에 전원이 인가될 때 처음 실행되는 코드로, 칩 초기화, 데이터 메모리 및 코드 메모리 배치 등의 MCU의 시작 과정을 실행하는 코드(bootcode, bootstrap, BIOS)
2. 스타트업 코드(Startup Code)의 동작 순서는?
- 전원 인가
- PC(Program Counter)에 시작주소 입력
- 메모리 오류 검사, 장치 정상 동작여부 확인
- IVT(interrupt Vector Table), BDA(Bios Data Area)를 메모리 0번부터 로딩
- 부팅 가능한 매체의 첫 번째 섹터에 로드
- 로드된 부트로더를 실행
3. C언어로 작성된 프로그램이 실행될 때, 제일 먼저 호출되는 함수는?
- main 함수
4. ELF 파일 구조를 볼 수 있게 해주는 유틸리티는?
- ?
ELF(Executable and Linkable Format) : 유닉스 계열의 표준 바이너리 파일로 실행 파일, 목적 파일, 공유 라이브러리, 코어 덤프를 위한 표준 파일 형식
- readelf : 하나 이상의 ELF 파일들에 대한 정보를 보여주는 유닉스 바이너리 유틸리티
- elfutils : 순수하게 리눅스를 위한 대체 도구들을 제공
- elfdump : ELF 파일에서 ELF 정보를 보기 위한 명령어로서 솔라리스와 FreeBSD에서 사용 가능
- objdump : ELF 파일들과 다른 목적 포맷들에 대한 정보 제공. odjdump는 ELF 데이터를 구조화하기 위해 바이너리 파일 디스크립터 라이브러리를 백엔드로서 사용
5. 안드로이드에서 XML 파일을 편집하여 뷰를 정의하는 것은?
- Layout
Layout : ViewGroup의 일종으로 다른 뷰들을 내부에 배치하는 역할을 수행, 주요 Layout으로는 LinearLayout, RelativeLayout, FrameLayout, GridLayout, ConstraintLayout이 있다.
6. 리눅스에서 runlevel을 설정하는 파일은?
- /etc/inittab
- init 0 : halt, 시스템 종료를 의미
- init 1 : Single user mode로 시스템 복원모드라고도 하며, 기본적으로 관리자 권한 쉘을 얻게 된다. 주로 파일 시스템을 점검하거나 관리자 암호를 변경할 때 사용
- init 2 : Multiuser mode로 다중 사용자 모드, 네트워크를 사용하지 않는 '텍스트 유저모드'라고 할 수 있음
- init 3 : Full multiuser mode로 일반적인 쉘 기반의 인터페이스를 가진 다중 사용자 모드, 쉽게 말하면 그래픽 유저 모드가 아닌 텍스트 유저 모드
- init 4 : unused, 기본적으로는 사용되지 않지만 임의로 정의해서 사용할 수 있음
- init 5 : X11 기본적으로 init3과 같지만, 다른점은 그래픽 유저 모드라는 것
- init 6 : reboot, 시스템 재부팅을 의미
7. DRAM의 특정 cell의 내용이 leakage로 인해서 데이터를 잃지 않도록 해주는 것은?
- Refresh
- Retention Time : Cell에 저장된 데이터를 잃어버리지 않을 정도의 시간
- Refresh Time : 특정 Cell을 refresh한 후, 다시 그 동일한 Cell을 refresh 할 때까지 소요되는 시간
- Refresh Cycle : Memory의 전체 Cell들을 완전히 refresh하기 위해 필요한 Cycle
8. C언어 문제(for, while, do while) 코드에서 반복 과정을 중단시킬 수 있는 명령어는?
- break
9. 원시 프로그램의 번역이 이루어지는 컴퓨터와 번역된 기계어에 이용되는 컴퓨터가 서로 다른 기종일 때 사용하는 컴파일러는?
- 크로스 컴파일러
- 크로스 컴파일러(Cross Compiler) : 원시 프로그램의 번역이 이루어지는 컴퓨터와 번역된 기계어에 이요되는 컴퓨터가 서로 다른 기종의 컴퓨터일 때 사용하는 컴파일러
- 동작 속도가 느린 컴퓨터, 완성되어 있지 않은 컴퓨터, 개발 환경 구축이 불가능한 컴퓨터용의 실행 프로그램을 만드는 경우 등에 사용
10. 소프트웨어 내부구조, 동작을 디테일하게 검사하는 방식을 (A) 테스트라고 하고, 소프트웨어의 내부 구조나 작동원리를 모르는 상태에서 동작을 검사하는 방식을 (B) 테스트라고 한다.
- A : 화이트박스, B : 블랙박스
11. 리눅스 기반의 포맷 방식을 사용하는 파일 시스템으로, 현재 안정화된 파일 시스템으로 알려져 있으며 시놀로지 등 리눅스 기반의 제품에서 사용되고 있다. 기존 파일 시스템에 비해 데이터의 관리 및 안정성 확보를 강화한 방식은?
- Btrfs
Btrfs(B-Tree File System) : 오라클, 후지쯔, 레드햇에서 개발하는 유닉스/리눅스용 파일 시스템
- 가볍다, B-Tree 기반, Copy-on-Write, 빈 공간 캐시·inode 캐시 지원, 자동 조각모음, 공간 압축, 데이터 압축, SSD 최적화, 서브볼륨 관리, 스냅샷 관리, 파티션 테이블이 없는 BtrFS 디스크 지원, 데이터 중복제거
12. 컴퓨터에서 전원을 켜면 맨 처음 컴퓨터의 제어를 맡아, 가장 기본적인 기능을 처리해주는 프로그램을 말한다. 롬 바이오스라고도 하며, 소프트웨어의 계층 중 가장 낮은 계층에 속하며 모든 소프트웨어는 이 곳을 기반으로 움직인다. 구성 루틴으로는 스타트업(startup) 루틴과 서비스 처리 루틴, 하드웨어 인터럽트 처리 부분이 대표적이다.
- BIOS
BIOS(Basic Input/Output System) : 소프트웨어와 하드웨어 간의 설정 및 정보 전달의 매개 역할을 하는 컴퓨터의 펌웨어
13. Page 부재가 빈번하게 발생하여 CPU가 프로세스 수행보다 Page 교체에 더 많은 시간을 소요하는 비정상적인 현상은?
- Thrashing(스레싱)
14. 입출력 장치 제어기(I/O device controller)가 CPU에 의한 프로그램의 실행없이 자료의 이동을 할 수 있도록 하는 것은?
- DMA
- Programmed I/O : CPU가 일정한 간격으로 I/O 장치의 송수신 데이터 유무를 확인
- Interrupt Driven I/O : 입출력 인터페이스가 주변장치 상태 값을 요청(I/O 장치가 인터럽트 요구)
- DMA : CPU의 직접적인 개입 없이 I/O 장치와 메모리 사이의 데이터 전송을 담당하는 제어기
- DMA의 동작 방식은 사이클 스틸링(Cycle Stealing)과 버스트 모드(Burst Mode) 두 가지가 존재한다. 이 중 사이클 스틸링 방식은 DMA 제어기와 CPU가 버스를 공유하면서 CPU가 버스를 사용하지 않는 사이클만 버스에 접근하는 방식이며, 버스트 모드 방식은 DMA 제어기가 버스를 점유하여 I/O 처리를 수행하고, 완료되면 버스 점유를 해제하는 방식이다.
15. 프로세스 관리, 메모리 관리, 파일시스템 관리, 네트워크 관리, 디바이스 드라이버 관리 등 OS의 핵심 영역은?
- 커널(kernel)
- 모놀리식 커널 : 커널의 모든 기능을 포함하는 커널
- 마이크로 커널 : 커널에 핵심적인 기능만을 포함하고 적용분야에 따라 추가하는 커널
16. 다이어그램 등을 제공하는 통합 모델링 언어는?
- UML(Unified Modeling Language)
- 객체지향의 모델링 언어로는 UML(Unified Modeling Language)이 주로 사용된다. UML에서는 요구사항 수집을 위한 Diagram으로 Use-Case Diagram이 사용되는데 Actor와 Use-Case로 구성되어 있다.
- Actor(행위자) : 시스템과 상호작용하는 사람 또는 사물. e.g.) 학생, 교수
- Use-Case : 시스템이 제공해야 하는 서비스. e.g.) 수강신청을 한다.
- UML에서 표현되는 관계의 종류 4가지 : 상속관계, 의존관계, 실체화관계, 연관관계
※ 이전 회차 기출문제
'임베디드기사' 카테고리의 다른 글
[임베디드기사] 2023년 4회 임베디드기사 필답형 실기 합격 후기 (3) | 2023.11.05 |
---|---|
[임베디드기사] 2016년 임베디드기사 필답형 실기 기출문제 (0) | 2023.09.24 |
[임베디드기사] 2019년 임베디드기사 필답형 실기 기출문제 (0) | 2022.10.24 |
[임베디드기사] 2018년 임베디드기사 필답형 실기 기출문제 (0) | 2022.10.20 |
[임베디드기사] 2017년 임베디드기사 필답형 실기 기출문제 (0) | 2022.10.20 |