OS 커널 공부에 하드웨어 작업이 어떤 관계가 있을까요?

gurugio의 이미지

제가 공부하고싶은 내용은 OS에서 메모리 관리와

빠른 태스크 전환과 실시간 응답성등입니다.

그런데 우리 학교에는 OS 연구실이 없습니다.

그렇다고 타대학에 진학할 학점도 안되구요.

그래서 학교에 있는 하드웨어 연구실을 알아봤는데

주로 임베디드 시스템을 구성하는 일을 한다고 합니다.

보드를 설계하고 시피유와 필요한 칩들을 직접 조립,땜질해서

운영체제를 포팅하고 로우 레벨 드라이버를 작성한다고 합니다.

이렇게 하드웨어를 다루는 일들이 OS 커널 공부에 도움이 될까요?

제가 공부하고싶은 내용에 도움이 될런지 걱정됩니다.

커널이라고는 잘 모르는 사람이라 질문이 좀 우습더라도

비웃지 마시고 하드웨어를 다루시는 선배님들께서 도움좀 주시기 바랍니다.

공부는 하고싶은데 막막해하는 후배랍니다. oops

redbaron의 이미지

gurugio wrote:
제가 공부하고싶은 내용은 OS에서 메모리 관리와

빠른 태스크 전환과 실시간 응답성등입니다.

그런데 우리 학교에는 OS 연구실이 없습니다.

그렇다고 타대학에 진학할 학점도 안되구요.

그래서 학교에 있는 하드웨어 연구실을 알아봤는데

주로 임베디드 시스템을 구성하는 일을 한다고 합니다.

보드를 설계하고 시피유와 필요한 칩들을 직접 조립,땜질해서

운영체제를 포팅하고 로우 레벨 드라이버를 작성한다고 합니다.

이렇게 하드웨어를 다루는 일들이 OS 커널 공부에 도움이 될까요?

제가 공부하고싶은 내용에 도움이 될런지 걱정됩니다.

커널이라고는 잘 모르는 사람이라 질문이 좀 우습더라도

비웃지 마시고 하드웨어를 다루시는 선배님들께서 도움좀 주시기 바랍니다.

공부는 하고싶은데 막막해하는 후배랍니다. :oops:


컴퓨터공학(과학)과가 아니시라면 컴퓨터 공학쪽의 OS 과목을 수강해보시는 것이 어떠신지요? 제 주변의 OS 랩들은 대부분 임베디드 쪽을 하고 있는 듯하고..

실제로 하드웨어를 하면 OS에 대해 꽤 많이 알게되지만...아마 포팅 수준이라면..알고자 하는 내용과 조금 거리가 있을수도 있습니다.

하지만 기회가 많아진다는 점을 생각하면 하드웨어 연구실도 나쁘지는 않겠지요.

그냥 OS책 사보셔서 독학하시는 것도 나쁘지는 않다고 생각합니다.

gurugio의 이미지

전 컴퓨터 공학과를 다니구요

OS 이론 수업도 들었고 커널 공부도 하고 있습니다.

지금은 보호 모드 프로그래밍을 하고있구요.

shyxu의 이미지

OS에서 하드웨어 다루는 방법에 대한 노하우가 늘지 않을까요?
그냥 제가 생각하기엔 여러가지 방면에 걸쳐서 공부해보는 것도 나쁘지 않을듯... 싶네요.

그나저나.. 저두 얼른 공부해야되는데.. ^^;

Since 2003.
지금은 맥유저...
---
http://jtjoo.com

shji의 이미지

OS라는 놈이 주어진 하드웨어로 목적하는 일을 하도록 하기
위함인데 하드웨어를 잘 안다면 당연히 도움이 되겠지요..

임베디드 시스템인 경우 OS의 특정 기능이 하드웨어 성능에
따라 약이 되기도 하고 독이 되기도 할 수 있습니다.

플래시 메모리같이 쓰기 속도가 느리고, 또 쓰기 횟수에
제한이 있는 경우가 있고.. 또 고속의 SRAM을 장착하였거나
내장한 프로세서가 있을 수가 있고.. 또 특정 I/O 마다
특성이 다르고..

그러므로 하드웨어를 잘 안다면 OS를 올리는 경우에 더 좋은
성능을 낼 수 있을 것입니다.. 특히 하드웨어 성능이
목적으로 하는 일에 빡빡한 경우 그 하드웨어의 최대의
성능을 이끌어내지 않으면 안되겠죠...

무었보다도, 하드웨어를 이해한다면 OS를 다루고 이해하는
재미가 더 클것으로 생각되는데요..

요즘같이 전문화되고 특정 분야별로 복잡해지는 상황에서는
OS를 하면서 구지 하드웨어를 잘 알 필요는 없을 것 같습니다..
하지만 거꾸로 생각하면, 이런 상황에서 하드웨어에 관심이
있는경우 공부를 하시면 다른 사람과(OS만 공부한 사람)
차별이 되는 포인트가 될 수도 있겠죠.. ^^;

그런데..
제가 하드웨어를 좋아하는 이유는... 뭐 위와 같은 거창한
이유는 아니고.. 그냥 제 힘으로 시스템을 만드는 재미를
좋아하기 때문입니다.. 하드웨어에서부터 최적화된 시스템을
만드는 재미죠.. 마치 코딩에서 최적의 코드를 찾는 코드 버밍과
비슷한 느낌입니다.. 그리고 실제 제작해서 돌아가는 순간에
느끼는 느낌도 좋구요.. 물론 그 이후는 디버깅 지옥이
기다릴지도 모르지만.. ^^;