겨울방학을 맞아 친구들과 스터디를 하나 해볼까하는데요

sjg0120의 이미지

이번 겨울 방학동안 친구들과 프로젝트를 하나 해보려고 합니다.
전 이제 학부2학년생이고 제친구들은 3학년입니다.
저와 제 친구들 모두 임베디드 시스템쪽에 관심이 많습니다.
그래서 이번에 OS커널관련해서 스터디를 해볼까하는데요
리눅스 커널을 통해서 스터디하거나 아니면 작은 OS하나 만들어보고 싶습니다.

이번학기에 운영체제 수업과 나초스 프로젝트를 통해 기본적인 운영체제개념은
잡았다고 생각됩니다...(나초스가 정말 큰 도움이 됐습니다... 아직 많이 부족하지만;;)
하지만 인텔 CPU아키텍처나 어셈쪽에 아직 지식이 많이 부족한것 같습니다
어셈도 다른사람이 짜놓은 코드를 보면 무얼 하는지는 알겠는데 제가 짤려고 하면
어디서 부터 손을 대야 할지 모르겠습니다( 아마 체계적으로 공부하지 않아서 그런것 같습니다만^^)
(만들면서배우는 OS커널(?)책으로 공부해보긴 했지만 쭉한번 훑어보고넘어가서요;;)

지금 제가하려는 스터디 전에 인텔아키텍쳐나 어셈쪽에 관한 공부가 선행되어야 할까요??
아니면 하드웨어 공부도....

하드웨어쪽은 깊숙히 아는건 아니지만 간단히 avr시피유를 이용해서 간단한 시스템
하나 만들어본 정도입니다..(정말간단히 시피유와 램 레지스터 등을 이용해서 만들어보았습니다)
또 타겟보드를 하나구해서 간단한 UART프로그래밍이나 캐릭터디바이스 프로그래밍 정도 해봤습니다.

지금 상태에서 스터디를 리눅스 커널을 공부하는것과 간단한 OS하나 만들어 보는것 중
어느것이 더 나을지, 더 필요한 공부가 있다면 어떤것들이 있는지 선배님들의 의견을 듣고싶습니다.
(선배님들의 학창시절 공부방법도 알려주신다면 정말 감사하겠습니다^^)

jachin의 이미지

작은 OS 라 하시더라도 일반적으로 쓰이는 PC의 범용 OS 를 만드시기에는

어려우실 겁니다. 이미 AVR을 이용한 시스템을 만들어보셨다면,

하드웨어에 대한 공부를 조금 더 하시고, ARM CPU 를 이용해서 임베디드 장치를

만들어보시는 것이 좋을듯 합니다. (저도 만드려고 벼르고 있습니다.)

타겟보드를 사용하시는 것도 좋은 방법이긴 합니다만...

글쎄요. 가격이 만만치 않아서... -_-a

꼭 어셈블러를 아실 필요는 없고, CPU 의 Instruction Set 을 알고,

파이프라인 구조와 동작 방법을 이해하신다면, 디버그를 통해 어느 정도

커널 개발상의 문제점을 아실 수 있으리라 생각합니다.

OS 를 만드는 것, 커널을 공부하시는 것 모두 같은 내용이라 생각합니다.
====
( - -)a 이제는 학생으로 가장한 백수가 아닌 진짜 백수가 되어야겠다.