출제기준(필기)
 
  | 
직무 
분야 | 
전기․전자 | 
중직무분야 | 
전자 | 
자격 
종목 | 
임베디드기사 | 
적용 
기간 | 
2015 1. 1∼2019.12.31 | |||||
| 
○직무내용 : 임베디드 시스템의 하드웨어를 분석하여 하드웨어에 대한 초기화 및 테스트를 수행하며, OS(운영체제) 부팅을 위한 부트로더를 포함하는 펌웨어와 임베디드 시스템의 OS 관련한 플랫폼 소프트웨어 및 응용 소프트웨어를 설계, 구현하는 업무를 수행 | ||||||||||||
| 
필기검정방법 | 
객관식 | 
문제수 | 
80문항 | 
시험시간 | 
2시간 | |||||||
| 
필기과목명 | 
문제수 | 
주요항목 | 
세부항목 | 
세세항목 | 
| 
임베디드 하드웨어 | 
20 | 
1. 논리회로 | 
1. 논리회로 기초 | 
1. 디지털 시스템의 정의 
2. 불 대수 
3. 논리식 간소화 
4. 수의 표현 | 
| 
2. 조합논리회로 | 
1. 각종 논리게이트 
2. 각종 조합논리회로(디코더, 인코더, 멀티플렉서, 가산기 패리티, 에러수정코드 등) 
3. 조합논리회로 분석, 설계 | |||
| 
3. 순서논리회로 | 
1. 래치와 플립플롭 
2. 각종 순서논리회로(레지스터, 카운터, 시프터 등) 
3. 순서논리회로 분석, 설계 | |||
| 
4. 메모리 | 
1. 각종 메모리(RAM, ROM, EPROM,  EEPROM, NAND/NOR 플래시) | |||
| 
5. HDL | 
1. 프로그래머블 로직, FPGA 
2. Verilog, VHDL 
3. Verilog를 이용한 논리회로설계 | |||
| 
2. 컴퓨터 구조와마이크로프로세서 | 
1. CPU(중앙처리장치) 구조 | 
1. CPU/마이크로프로세서의 구조 
2. 버스 시스템 
3. 명령어(instruction) 집합 구조 
4. 어드레싱 모드 
5. 마이크로 아키텍처 (파이프라인, 퍼스칼라, 분기예측 등) 
6. ARM CPU | ||
| 
2. 메모리 시스템 | 
1. 메모리 계층구조 
2. 캐시메모리 
3. MMU와 가상메모리 시스템, 페이징 | 
| 
필기과목명 | 
문제수 | 
주요항목 | 
세부항목 | 
세세항목 | 
| 
3. I/O 인터페이스 | 
1. 입·출력장치의 매핑 
2. 폴링, 인터럽트 
3. DMA 
4. 입·출력 버퍼링 | |||
| 
4. 임베디드 시스템 | 
1. 임베디드 시스템 구조 
2. 임베디드 시스템 개발 | |||
| 
3. 주변장치 | 
1. 입·출력 포트 | 
1. GPIO의 설정과 이용 
2. 입·출력 레지스터 (Command/Status) 
3. 입·출력 포트 멀티플렉싱 
4. 데이터시트의 개념 | ||
| 
2. 주요주변장치 | 
1. 시리얼 포트 
2. 타이머 
3. A/D, D/A 변환 
4. 각종 센서(초음파, 적외선, 온도) 
5. 모션 센서(가속, 자이로, 지자기) 
6. 입·출력 버스(I2C, SPI 등) 
7. 통신장치(Ethernet, Wifi 등) 
8. USB 
9. 전원제어 인터페이스 
10. 칩 실렉트 로직 | 
| 
필기과목명 | 
문제수 | 
주요항목 | 
세부항목 | 
세세항목 | 
| 
임베디드펌웨어 | 
20 | 
1. 펌웨어 | 
1. 펌웨어 | 
1. JTAG 하드웨어 
2. 스타트업 코드 
3. 메모리 초기화 | 
| 
2 부트로더 | 
1. 부트로더의 종류와 기능 
2. OS 부트과정 
3. 플래시 메모리관리 
4. 초기 RAM Disk 이미지 
5. 네트워크 파일 시스템 이용 
6. 부트로더 작성 및 타깃시스템 이식 | |||
| 
3. 전원관리 | 
1. 전원관리 하드웨어  
2. OS 전원관리 
3. 부트로더의 전원관리 | |||
| 
2. OS 포팅 | 
1. 개발환경구축 | 
1. 리눅스 시스템과 개발 툴에 대한 개요 
2. 교차개발 환경의 이해 및 도구 설치 
3. 원격 커널 디버깅 | ||
| 
2. 리눅스 내부구조 개요 및 포팅 | 
1. 커널의 소스 트리 구조 
2. 커널 빌드 과정 개요 
3. 커널 구성(configuration) 방법 | |||
| 
3. 리눅스 부팅 | 
1. 리눅스 부팅 과정 
2. init 스크립트 
3. busybox와 셸 
4. 커널 모듈 관리 
5. 공유 라이브러리 관리 | |||
| 
3. 디바이스 드라이버 개발 | 
1. 디바이스 드라이버 개념 | 
1. 디바이스 드라이버의 개념 
2. 디바이스 드라이버의 종류 
3. 리눅스 커널 모듈 | ||
| 
2. 디바이스 드라이버 | 
1. 표준 문자드라이버 API 
2. 시스템 콜에 의한 드라이버 접근 
3. 커널 모듈 원격 디버깅 | |||
| 
3. 디바이스 드라이버와 커널 서비스 | 
1. 커널의 주요자료 구조 
2. 디바이스 드라이버에서의 버퍼관리 
3. 커널 메모리 할당과 해제 
4. 상호배제 지원함수 
5. 동기/비동기 드라이버 개념 
6. 스케줄러를 이용한 대기 
7. 커널 타이머 
8. 세마포 
9. 인터럽트 서비스 
10. DMA(Direct Memory Access) 개념 | 
| 
필기과목명 | 
문제수 | 
주요항목 | 
세부항목 | 
세세항목 | 
| 
임베디드플랫폼 | 
20 | 
1. OS | 
1. OS의 기본개념  | 
1. 가상머신 
2. 자원관리자 
3. OS의 분류(실시간 OS, 분산 OS 등) | 
| 
2. 프로세스관리 | 
1. 스레드와 프로세스 
2. 프로세스 상태 
3. 스케줄링 기초 | |||
| 
3. CPU 스케줄링 | 
1. 단일프로세서 스케줄링 기법 
2. 멀티프로세서 스케줄링 기법 
3. 실시간 스케줄링 기법 | |||
| 
4. 병행성 제어 | 
1. 상호배제 
2. 세마포, 모니터 
3. 교착상태 
4. 교착상태 대처방법 | |||
| 
5. 메모리관리방법 | 
1. 캐시메모리 
2. 가상메모리 
3. 페이징과 세그먼테이션 | |||
| 
6. 장치관리방법 | 
1. 디스크 관리 
2. 파일시스템 | |||
| 
2. 리눅스 커널프로그래밍 | 
1. 리눅스 개요 | 
1. 리눅스 설치 및 관리 
2. 커널 구조 | ||
| 
2. 커널 서비스 | 
1. 시스템 콜 
2. 시그널과 인터럽트 
3. /proc, /sys 파일 시스템, kobject | |||
| 
3. 메모리 관리 | 
1. 주소 공간 및 구조 
2. 가상 메모리, 메모리 매핑 
3. 페이징, 스위칭, 캐싱 
4. 프로세스 관리 및 스케줄링 | |||
| 
4. 디바이스 관리 | 
1. 디바이스 드라이버 구조 
2. 디바이스 파일 시스템(devfs) 
3. 하드웨어 I/O | |||
| 
5. 파일시스템 | 
1. 가상 파일시스템 (VFS) 
2. LVM과 RAID 
3. JFS | |||
| 
6. 네트워크 | 
1. 멀티플렉싱과 디멀티플렉싱 
2. 리눅스 TCP/IP 스택 | 
| 
필기과목명 | 
문제수 | 
주요항목 | 
세부항목 | 
세세항목 | 
| 
3. 시스템 프로그래밍 | 
1. 프로세스 및 파일 처리 | 
1. fork, exec 계열 
2. 저수준과 고수준 파일 핸들링 | ||
| 
2. 메모리 | 
1. 메모리 할당 및 해제 
2. 메모리 정렬 및 검색 
3. 메모리 Lock | |||
| 
3. IPC(Interprocess Communication) | 
1. 메모리맵(mmap) 
2. 공유메모리 
3. 세마포 
4. 메시지큐 | |||
| 
4. I/O 인터페이스 및 멀티플렉싱 | 
1. PIPE와 FIFO 
2. 소켓 
3. select, pselect 
4. Non-blocking I/O 
5. poll, epoll | |||
| 
5. 스레드 프로그래밍 | 
1. 프로세스의 모듈화 
2. pthread API : 스레드의 생성, 종료 
3. Mutex와 조건 변수 
4. Barrier, 여러 가지 locks 
5. 스레드의 응용 | |||
| 
6. 시그널처리 | 
1. 유닉스/리눅스 표준 시그널 
2. 시그널 전송과 시그널 핸들링 
3. SIGCHLD 시그널과 자식 프로세스 | |||
| 
4. 네트워크 프로그래밍 | 
1. 리눅스 OS 개요 | 
1. 리눅스 OS 구조와 시스템 콜 
2. 라이브러리와 시스템 콜 | ||
| 
2. 컴퓨터 네트워크 | 
1. 컴퓨터 네트워크 기본 
2. OSI 계층 프로토콜 
3. TCP, UDP, IP 
4. 클라이언트/서버 프로그램 | |||
| 
3. 스레드의 개요 | 
1. 스레드 개념 
2. 스레드 생성 및 제어 
3. 스레드간 동기화 | |||
| 
4. 소켓 프로그래밍 | 
1. 소켓의 정의 
2. TCP 소켓 
3. UDP 소켓 
4. 소켓 프로그래밍 응용 | |||
| 
5. 시그널 기본 | 
1. 시그널의 정의 
2. 시그널 핸들러 
3. 시그널전송 에러처리 | 
| 
필기과목명 | 
문제수 | 
주요항목 | 
세부항목 | 
세세항목 | 
| 
임베디드소프트웨어 | 
20 | 
1. 임베디드 프로그래밍 | 
1. 데이터 구조 | 
1. 알고리즘의 표현과 분석 
2. 배열 
3. 연결 리스트 
4. 스택과 큐 
5. 트리 
6. 그래프 | 
| 
2. C프로그래밍 | 
1. 데이터 타입과 연산자 
2. 제어흐름 
3. 함수와 프로그램구조 
4. 포인터와 배열 
5. 구조 
6. 입력과 출력 | |||
| 
3. 객체지향 프로그래밍 | 
1. 객체지향원리 
2. C++ 개요 
3. C++ 객체지향기능 
4. Java 개요 
5. Java 객체지향기능 | |||
| 
4. 멀티미디어 정보처리 | 
1. 멀티미디어 정보표현 
2. 멀티미디어 압축 
3. 영상 및 신호 처리 
4. 멀티미디어 통신 
5. 편집도구 및 저작도구 | |||
| 
2. 개발도구 및 테스팅 | 
1. 개발도구 | 
1. 컴파일러 
2. 링커(로더) 
3. 디버거 | ||
| 
2.. 테스팅 | 
1. 테스트계획수립 
2. 테스트설계 
3. 테스트기법 
4. 테스트 자동화 도구 | |||
| 
3. 소프트웨어공학 | 
1. 개발프로세스 | 
1. 기본원리 
2. 프로세스 모델 
3. 요구사항 분석 
4. 시스템 아키텍처 
5. 설계기법 
6. 소프트웨어 테스팅 
7. UML 다이어그램 | ||
| 
2. 프로젝트관리 | 
1. 프로젝트관리 개요 
2. 품질관리 | 
출제기준(실기)
 
  | 
직무 
분야 | 
전기․전자 | 
중직무분야 | 
전자 | 
자격 
종목 | 
임베디드기사 | 
적용 
기간 | 
2015 1. 1∼2019.12.31 | |||
| 
○직무내용 : 임베디드 시스템의 하드웨어를 분석하여 하드웨어에 대한 초기화 및 테스트를 수행하며, 운영체제(OS) 부팅을 위한 부트로더를 포함하는 펌웨어와 임베디드 시스템의 OS 관련한 플랫폼 소프트웨어 및 응용 소프트웨어를 설계, 구현하는 업무를 수행 
○수행준거 : 1. 임베디드 시스템 하드웨어를 이해하고 회로, 구조 분석 및 주변장치에 대한 분석을 수행할 수 있다. 
2. 임베디드 펌웨어의 설계와 구현 및 테스팅의 지식으로 OS를 이해하고, 커널의 포팅 과정과 부트로더의 동작을 설명할 수 있다. 
3. 임베디드 프로그램을 작성하고 분석 테스팅을 통해 실무에 응용할 수 있다. | ||||||||||
| 
실기검정방법 | 
필답형 | 
시험시간 | 
2시간 30분 | |||||||
| 
실기과목명 | 
주요항목 | 
세부항목 | 
세세항목 | 
| 
임베디드 실무 | 
1. 임베디드 하드웨어 | 
1. 하드웨어 및 회로 분석하기 | 
1. 조합논리회로 및 순서논리회로를 분석, 설계할 수 있다. 
2. ROM, EPROM, SRAM, DRAM, 플래시 등 메모리 회로를 분석 및 설계할 수 있다. | 
| 
2. 임베디드 시스템 성능 및 구조 분석하기 | 
1. 임베디드 프로세서를 위한 기계어 프로그램을 분석, 개발할 수 있다. 
2. 임베디드 시스템의 성능에 영향을 미치는 요소를 분석하고 최적화할 수 있다. 
3. 가상 메모리 시스템을 이해할  수 있다. 
4. 임베디드 시스템을 구성하는 하드웨어 모듈들 사이의 인터페이스를 이해할 수 있다. | ||
| 
3. 임베디드 시스템 주변장치 분석하기 | 
1. 데이터시트를 분석하여 주변 장치의 상태를 읽고 입·출력을 제어하는 프로그램을 작성할 수 있다. 
2. 인터럽트 방식의 입·출력, DMA를 이용한 데이터 전송 프로그램을 작성할 수 있다. 
3. 단순 입·출력, 스캐닝 입·출력, 시리얼 포트, 타이머 등을 이용하기 위한 프로그램을 작성할 수 있다. 
4. 각종 센서를 이용하기 위한 프로그램을 작성할 수 있다. | ||
| 
2. 임베디드 펌웨어 | 
1. 펌웨어 설계, 구현 및 테스팅하기 | 
1. 컴파일 결과 만들어지는 ELF 포맷과 binutil 도구의 사용법을 이해할 수 있다. 
2. 스타트업 코드를 이해하고 수정할 수 있다. 
3. 칩 실렉트 로직을 이해하여 프로그램하며, 메모리 초기화를 할 수 있다. 
4. OS의 부트과정을 이해할 수 있다. 
5. OS의 부팅에 필요한 초기 RAM Disk를 이해하고 구성할 수 있다. | 
| 
실기과목명 | 
주요항목 | 
세부항목 | 
세세항목 | 
| 
6. 플래시 메모리 제어 및 관리 프로그램을 작성할 수 있다. 
7. OS의 전원관리 기법, 하드웨어의 전원관리 방법, 부트로더의 역할을 이해하고 프로그램 할 수 있다. | |||
| 
2. 임베디드의 이해 및 포팅하기 | 
1. 커널의 포팅 과정을 이해할 수 있다. 
2. 부트로더의 동작을 이해하고 설명할 수 있다 
3. 교차개발 환경에 필요한 도구를 이용할 수 있다. | ||
| 
3. 디바이스 드라이버 작성하기 | 
1. 데이터시트를 이해하고 레지스터의 표현과 메모리 맵을 제시할 수 있다. 
2. 디바이스 드라이버의 표준 API를 정의할 수 있다. 
3. OS와의 연동을 위한 저수준의 OS API를 활용할 수 있다. 
4. 디바이스 초기화 및 데이터 송·수신 프로그램을 작성할 수 있다. 
5. Make파일을 이해하고 작성할 수 있다. 
6. 인터럽트 처리를 할 수 있다. 
7. 구현에 필요한 프로그래밍 언어들(C, C++, Java)을 이해할 수 있다. | ||
| 
3. 임베디드 플랫폼 | 
1. 임베디드 OS의 이해하기 | 
1. 커널의 구조를 이해하고 디렉터리의 역할을 설명할 수 있다. 
2. 커널의 주요 기능에 관하여 이해할 수 있다. | |
| 
2. 임베디드 커널 프로그래밍하기 | 
1. 프로세스 관리, 메모리 관리, 디바이스 관리, 파일시스템 관리를 위한 시스템 콜을 이해하고 활용할 수 있다. 
2. 스레드 동기화를 위한 세마포, MUTEX 등을 이해하고 적용할 수 있다. 
3. 소켓을 이용한 네트워크 프로그래밍을 할 수 있다.  
4. IDE, 교차개발 환경에 필요한 도구를 이용할 수 있다. | ||
| 
4. 임베디드 소프트웨어 | 
1. 임베디드 프로그램 분석 및 설계하기 | 
1. 주어진 요구사항을 분석하여 UML 등 소프트웨어 공학적인 다이어그램으로 작성할 수 있다. 
2. 설계 관련 산출물을 읽고 이해할 수 있다. 
3. 개발 환경에 맞는 기술 문서 및 매뉴얼 작성을 할 수 있다. | 
| 
실기과목명 | 
주요항목 | 
세부항목 | 
세세항목 | 
| 
2. 임베디드 프로그램 작성하기 | 
1. 구현에 필요한 프로그래밍 언어들(C, C++, Java)을 이해할 수 있다. 
2. 주어진 설계결과를 이용하여 목표 프로그래밍언어로 표현할 수 있다. 
3. 개발환경에 적합한 형태로 코딩을 수행할 수 있다. | ||
| 
3. 개발도구 및 테스팅기법 활용하기 | 
1. 컴파일러, IDE 등 개발에 필요한 도구를 이용할 수 있다. 
2. 디버깅 도구를 이용하여 디버깅을 수행할 수 있다. 
3. 사용하는 언어 및 개발 환경에 따라 단위 테스트를 위한 방법을 선정하고, 각 단위간의 상호 작용을 고려한 테스트를 수행할 수 있다. 
4. 단위 테스트를 위한 테스트 케이스를 작성할 수 있다. | ||
| 
5. 장애 대응  | 
1. 장애 접수 처리하기 | 
1. 임베디드SW 장애대응을 위하여 접수된 장애 내용을 유형에 따라 분류할 수 있다. 
2. 임베디드SW 장애대응을 위하여 분류된 장애에 대해 장애등급을 지정할 수 있다. 
3. 임베디드SW 장애대응을 위하여 처리절차에 따라 관련자에게 이관할 수 있다. | |
| 
2. 장애 대응 방안 수립하기 | 
1. 임베디드SW 장애 대응 방안 수립을 위하여 식별된 장애의 영향력, 발생가능성, 발생시점을 분석하여 우선순위를 정할 수 있다. 
2. 임베디드SW 장애 대응 방안 수립을 위하여 장애의 원인을 분석할 수 있다.  
3. 임베디드SW 장애 대응 방안 수립을 위하여 장애 복구에 소요되는 시간 및 자원을 정의 할 수 있다. 
4. 임베디드SW 장애 대응 방안 수립을 위하여 장애를 복구하기 위한 세부 계획을 수립할 수 있다. | ||
| 
3. 장애 복구하기 | 
1. 임베디드SW 장애복구를 위하여 장애 복구에 필요한 자원을 확보할 수 있다. 
2. 임베디드SW 장애복구를 위하여 장애 원인을 제거할 수 있다. 
3. 임베디드SW 장애복구를 위하여 장애 복구에 대한 작업내역을 기록할 수 있다. 
4. 임베디드SW 장애복구 시 예외사항이 발생되었을 경우 비상조치를 실시할 수 있다. 
5. 임베디드SW 장애복구 후 장애 처리 결과를 고객에게 전달할 수 있다.  | 
| 
실기과목명 | 
주요항목 | 
세부항목 | 
세세항목 | 
| 
4. 장애 이력 관리하기 | 
1. 임베디드SW 장애 이력관리를 위하여 장애 조치 완료 보고서를 작성할 수 있다. 
2. 임베디드SW 개선을 위하여 장애 처리 결과에 대한 이력을 관리할 수 있다. 
3. 임베디드SW 개선을 위하여 장애 이력을 분석하여 개선사항을 도출할 수 있다. | ||
| 
5. 고객 만족도 조사하기 | 
1. 임베디드SW 장애복구 완료 후 장애 처리결과에 대한 고객 만족도를 조사를 할 수 있다. 
2. 임베디드SW 장애복구 완료 후 고객 만족도 조사결과를 분석할 수 있다. 
3. 임베디드SW 장애복구에 대한 고객만족도 분석 결과를 활용하여 장애 대응 체계를 개선할 수 있다. | 
 
 
댓글 없음:
댓글 쓰기