2012-07-13 3 views
0

저는 Java, C, C++ 및 Ruby에 대한 지식이 풍부한 프로그래머입니다.첫 번째 운영체제 빌드

운영체제를 만드는 아이디어가 있다는 것을 알고 있습니다. 따라서 빈 하드 디스크를 구입하고 SATA 하드 케이블을 사용하여 기존 하드 디스크에서 SATA 케이블을 제거했습니다. 나는 어셈블리 언어에 대해 어느 정도 알고있다.

이제 내 문제는 어떻게 두 개의 숫자를 추가하는 것처럼 하드 디스크에서 첫 번째 프로그램을 시작하는 것입니다. 이전에는 마이크로 프로세서 키트를 사용하여 어셈블리 레벨 프로그램 (MASAMS 소프트웨어 사용)을 작성했습니다.

마더 보드에 부팅 시작 프로그램이있어서 프로그램을 작성하는 방법으로 커널이없는 베어 시스템에 대해 알려주십시오.

+1

흥미 롭습니다! 나는 운영체제를 만드는 것이 매우 교육적이라고 생각한다. – Krumelur

답변

1

아마도 부팅 섹터 프로그램을 작성하는 것이 좋습니다. This가 도움이 될 것입니다. 또한 화면에 인쇄 할 수있는 OS 기능이 없으므로 BIOS 기능을 사용해야합니다. 실제 하드 드라이브에서 직접 시도하기 전에 VM을 사용하는 것이 좋습니다. 행운을 빕니다!

+0

나에게 좋은 제안을 주셔서 감사합니다 .... – vamsi

2

가상화 방식으로 시작하는 것이 좋습니다. 디버깅과 빌드가 훨씬 쉬울 것입니다.

일단 좀 더 안정적인 것이 있으면 실제 하드웨어에서 사용해 볼 수 있습니다.

주제를 읽는 것 (책 한 권 또는 두 권을 제안하는 것) 외에, 영감을 얻기 위해 GeekOS과 같은 기존 프로젝트를 볼 수도 있습니다.

귀하의 모험에 행운을 비네!

+0

확실히 가상; 그것은 컴파일/실행/디버그주기를 훨씬 제정신하게 만듭니다. – Ashe

+0

감사합니다. virtuvalization을 통해 시작하는 데 필요한 최상의 리소스로 연결 해줄 수 있습니까? – vamsi

+1

GeekOS 프로젝트는 [Bochs] (http://bochs.sourceforge.net/)를 사용한다고 말합니다. 또한 [VirtualBox] (https://www.virtualbox.org/)도 알고 있습니다. – Krumelur

0

MikeOS부터 시작하는 것이 좋습니다. 어셈블리 프로그래밍과 어셈블러, PC 에뮬레이터 등 자신의 OS를 시작하는 데 필요한 모든 도구에 대한 예비 소개 및 다이빙에 도움이되는 매우 간단한 운영 체제가 있습니다.

그 후 기본 사항에 익숙해지면 OSDev을 살펴보고 더 심각한 문제를 해결할 수 있습니다. 거기에 당신이 사용할 수있는 튜토리얼이 많이 있습니다.