2016년 9월 6일 화요일

임베디드기사 출제범위

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

댓글 없음:

댓글 쓰기