<aside>

출처 : Q-Net

출제기준 자료실 상세 | Q-net

Crownix HTML5 Viewer

</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) 개요 |