출제기준(필기)

직무
분야
|
전기․전자
|
중직무분야
|
전자
|
자격
종목
|
임베디드기사
|
적용
기간
|
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 장애복구에 대한 고객만족도 분석 결과를 활용하여 장애 대응 체계를 개선할 수 있다.
|
댓글 없음:
댓글 쓰기