<aside>
출처 : Q-Net
</aside>
| 필기 과목 | 출 제
문제수 | 주요항목 | 세부항목 | 세세항목 |
| --- | --- | --- | --- | --- |
| 임베디드 하드웨어 | 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. 입·출력 버스(I2C, SPI, USB 등)
6. 통신장치(Ethernet, Wifi 등)
7. USB
8. 전원제어 인터페이스
9. 칩 실렉트 로직
|
| 임베디드
펌웨어 | 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. 커널 구성(configuration) 방법 |
| | | | 2. 리눅스 부팅 | 1. 리눅스 부팅 과정
2. init 스크립트
3. busybox와 셸
4. 커널 모듈 관리
5. 공유 라이브러리 관리
|
| | | 3. 디바이스 드라이버 개발 | 1. 디바이스 드라이버 개념 | 1. 디바이스 드라이버의 개념
2. 디바이스 드라이버의 종류
3. 리눅스 커널 모듈
|
| | | | 2. 디바이스 드라이버 | 1. 표준 문자드라이버 API (사라졌으나 통합되었을 가능성 O)
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. 스레드 생성 및 제어
3. 스레드간 동기화
4. 프로세스의 모듈화
5. pthread API : 스레드의 생성, 종료
6. Mutex와 조건 변수
7. Barrier, 여러 가지 locks
8. 스레드의 응용
|
| | | | 6. 시그널 기본 | 1. 시그널의 정의
2. 시그널 핸들러
3. 시그널전송 에러처리 |
| | | | | |
| | | | 7. 컴퓨터 네트워크 | 1. 컴퓨터 네트워크 기본
2. OSI 계층 프로토콜
3. TCP, UDP, IP
4. 클라이언트/서버 프로그램
|
| | | | 8. 소켓 프로그래밍 | 1. 소켓의 정의
2. TCP 소켓
3. UDP 소켓
4. 소켓 프로그래밍 응용
|
| 임베디드
소프트웨어 | 20 | 1. 데이터 구조 | 1. 데이터 구조의 이해 | 1. 알고리즘의 표현과 분석
2. 배열
3. 연결 리스트
4. 스택과 큐
5. 트리
6. 그래프
|
| | | 2. 프로그래밍 | 1. C프로그래밍 | 1. 데이터 타입과 연산자
2. 제어흐름
3. 함수와 프로그램구조
4. 포인터와 배열
5. 구조
6. 입력과 출력
|
| | | | 2. 객체지향 프로그래밍 | 1. 객체지향원리
2. C++ 개요
3. C++ 객체지향기능
4. Java 개요
5. Java 객체지향기능
|
| | | | 3. 멀티미디어 프로그래밍 | 1. 멀티미디어 정보표현
2. 멀티미디어 압축
3. 영상 및 신호 처리
4. 멀티미디어 통신
5. 편집도구 및 저작도구
|
| | | 3. 개발 방법론 | 1. 개발프로세스 | 1. 기본원리
2. 프로세스 모델
3. 요구사항 분석
4. 시스템 아키텍처
5. 설계기법
6. 소프트웨어 테스팅
7. UML 다이어그램
|
| | | | 2. 프로젝트관리 | 1. 프로젝트관리 개요
2. 품질관리
3. C 국제표준(ISO/IEC9899) 개요 |