Data Communication/Computer Network 관련 교과목의 내용
컴퓨터 계층 구조 HW CPU, Bus, Memory, 장치들 Device Driver Device Driver ( 장치 구동기 ) 장치를 동작시키기 위한 SW 장치별로 1 개씩 예 : 키보드, 마우스, 화면, 네트워크 Operating Systems SW 전체의 진행을 관리 Windows, Linux, … Application Application ( 응용 ) 사용자가 사용하는 프로그램 예 MS-Explorer, hwp, … Hardware Device Driver Operating System (Kernel) TCP/IP Stack Application S/W SW HW 2
관련 교과목들 기본적으로 공부할 교과목들 C 언어 ( 저학년 ) Unix/Linux 시스템 (2 학년 ) 자료구조 (2 학년 ) Operating Systems (3 학년 ) 인터넷 이론 관련 교과목들 데이터 통신 데이터 통신 (3/1) 기본적인 이론들 네트워크 (3/2) TCP/IP, http, 등등 구현 (implementation) 관련 교과목들 시스템 프로그래밍 (4/1) 응용 프로그램 작성 네트워크 프로그래밍 (4/2) , ftp, ping 등등 정보보안, 임베디드 SW (4/2) Hardware Device Driver Operating System (Kernel) TCP/IP Stack Application S/W SW HW 3
4 회사에서는 어떤 일을 할까 ?
Embedded Systems 임베디드 시스템의 예 smart phone ( 아이폰, 안드로이드 폰, …) 휴대폰, MP3 플레이어, 미디어 플레이어 포터블 게임기, PDA 네비게이션 SW( 아이나비, …), 비행기용 항법 장치 임베디드 시스템이 아닌 것 데스크 탑 PC, 서버 컴퓨터, 슈퍼 컴퓨터 5
Embedded Systems 예 : Embedded Systems 예 : 원격 감시용 영상 카메라 Internet 6 무선 LAN
원격 감시용 영상 카메라 장비를 어떻게 만들까 ? HW CPU, Bus, Memory, 장치들로 HW 보드 개발 무선랜은 내장 카메라 구입 Hardware Device Driver Operating System (Kernel) TCP/IP Stack Application S/W SW HW 7 카메라무선랜
Device Driver Device Driver ( 드라이버 SW) 장치들의 선만을 연결하면 동작할까 ? SW 가 필요 device driver 카메라, 무선 LAN 이러한 장치들을 구동시키는 SW HW CPU 에 맞게 작성 후 컴파일 Operating Systems Linux/Android/Windows mobile 개발한 HW 에 선택된 OS 를 포팅 기본 OS source code 가 다양한 보드에서 모두 동작할 수 있을까 ? HW interface 부분에 약간의 수정이 필요 HW CPU 에 맞게 수정 후 컴파일 Application 카메라가 촬영한 영상을 원격으로 전송하는 프로그램 작성 8 Hardware Device Driver Operating System (Kernel) TCP/IP Stack Application S/W SW HW 카메라무선랜
개발 인원 HW: 1~2 명 보통 reference board 를 구매하여 약간의 수정 예 : 부품 교체, 장치 추가 Device Driver: 1~2 명 OS 포팅 : 1~2 명 App. 개발 : 1~2 명 기간 6~12 개월 9 Hardware Device Driver Operating System (Kernel) TCP/IP Stack Application S/W SW HW
Embedded Systems 예 : Embedded Systems 예 : 휴대용 인터넷 mp3 플레이어 인터넷 mp3 player 원격의 방송 서버로부터 실시간으로 음악을 다운 받아서 재생 HW Embedded 보드 Wireless LAN, CDMA 등의 무선 통신 기능 SW OS 선택 (Linux, Windows mobile, …) Embedded 보드에 OS 포팅 OS source code 를 보드에 맞게 컴파일 포팅된 OS 에 무선 통신 기능 추가 Device driver 작성 원격의 방송국으로부터 음악을 다운로드 받아 출력하는 응용 SW 작성 네트워크 프로그래밍 10
관련 교과목의 내용 데이터 통신 인터넷 통신을 위한 기본적인 내용 네트워크 인터넷 통신을 위한 추가적인 내용 시스템 프로그래밍 Linux 환경에서 응용 SW 개발에 관련된 내용 C 언어 및 Linux 를 알아야 함 네트워크 프로그래밍 네트워크를 이용한 통신 프로그램 작성 방법 예 : WEB server, 채팅 프로그램 Embedded System Device driver 작성 정보보안, 임베디드 SW 11 Hardware Device Driver Operating System (Kernel) TCP/IP Stack Application S/W SW HW
관련 내용을 다 공부하면, 무엇을 할 수 있을까 ? 인터넷 통신에 관련된 이론적인 내용을 알게 되고 데이터통신, 네트워크에 관련된 기본적인 내용을 이해할 수 있음 무선랜은 어떤 방식으로 동작하나 ? IP 주소는 어떻게 만들어 지나 ? 인터넷 공격 방법인 TCP SYN flooding attack 은 어떻게 동작하여, 서버를 마비 시키나 ? Security 에 관련된 기본적인 내용을 이해할 수 있음 공개키 암호 방식은 ? 공인인증서의 동작 방법은 ? Unix/Linux 환경에서 다음과 같은 프로그래밍이 가능하게 됨 mp3 플레이어, 메신저, ftp, http, mail, … Embedded Linux System 개발에 관련된 전반적인 내용을 알게 됨. 12