리눅스를 공부하려고 하는데요..

firenux의 이미지

복수전공으로 컴공을 전공하고 있습니다.
임베디드에 관련된 일을 하고싶어서 리눅스를 공부하려고 합니다.

전혀 경험없는 것은 아니고 수업을 들은적이 있고
설이하고 사용하고 기본 명령어 정도만 알고 있습니다.

서버를 만들어보고 그런적은 없는데 어느선까지 공부를 해야 하는건지요?
일반 리눅스 책에 보면 명령어부분을 지나 각종 서버 설치 부분까지 설명이 돼 있던데
모든 부분을 다 알아야 하는건가요?

현재 c/c++/api까지 공부 중이며 windows system programming까지만 공부하고
공부 방향을 리눅스 환경으로 돌릴려고 합니다.
linux -> linux system programming -> linux kernel -> device driver

임베디드 시스템에 접근하기 위해 필수적으로 알아야 할 부분에 대해 답을 구합니다.

ydhoney의 이미지

어느 분야나 다 그렇듯이 하고 싶은것만 하면 되겠지요.

일단 순서대로만 보자면...

일단 컴퓨터에 설치를 해야 쓰겠지요? 설치법!!

대체 어떤것을 하려면 뭘 어떻게 해야하는지 알아야겠지요? 기본적 사용법!! 어플리케이션 구경!!

하고 싶은것이 프로그래밍이니 일단 환경 구성을 해야겠지요? 프로그래밍 환경 구성법!! 컴파일러!! 에디터!! IDE!!

시스템 프로그래밍을 하고 싶다고 하셨지요? 시스템 프로그래밍 책을 질러보아요!!

리눅스 커널? 리눅스 커널의 이해 지르기!!

디바이스 드라이버? 리눅스 디바이스 드라이버, IT EXPERT 리눅스 디바이스 드라이버 지르기!!

일단 책들은 질러놓고는 따라해 보는거죠. 일단 남들이 어떻게 하는지를 알아야 나도 어떻게 할 지 알테니까 말이지요.

참고로 위에서 언급된 책들은 모두 한빛미디어의 서적들입니다. :-)

====================여기부터 식인어흥====================
어흥 몰라 어흥? 호랑이 어흥!! 떡 하나 주면 어흥!! 떡 두개 주면 어흥어흥!!

keedi의 이미지

일단 ydhoney님께서 언급해주신 책들을 포함해서
운영체제 책을 먼저 한권 정독(속독이 아니라...)할 필요가 있다고 생각됩니다. :-)

임베디드 프로그래밍도 hardware specific 한 부분을 제외하면
일반 프로그래밍과 다를바가 없으니, 기본적인 리눅스 기반 프로그래밍에
익숙해지셔야 할테구요. 그런 면에서 Beginning Linux Programming 추가...

리눅스에서 임베디드라면 아무래도 C를 주력으로 하게 되실테니...
관련 서적 하나 추가...

리눅스 환경에서 작업하시다 보면 스크립트 언어가 반드시 필요하게 되실테니...
관련 서적 하나 추가...(perl 추천! :-P)

디버깅 툴 사용법
또는 세련된(?) 로깅, 메모리 관리등 프로그래밍 테크닉 이해(공부?)
크로스 컴파일(굳이 임베디드가 아니더라도 크로스 플랫폼 지원등의 이유로...) 기법
gcc에 대한 이해, make등의 빌드 시스템에 대한 이해
협업을 위한 버전관리, 이슈트래킹 시스템 사용법...
문서화에 사용하는 툴에 대한 이해...
이런 잡다한 것들도 필요하겠지요~

뭐 이정도면 한동안 충분하겠는데요?
부족한 부분이 있으면 그때그때 하면 되겠지요.

---------------------------
Smashing Watermelons~!!
Whatever Nevermind~!!

Kim Do-Hyoung Keedi

----
use perl;

Keedi Kim