나만의 운영체제 만들기

언제부턴가 자신만의 OS를 만들어보고자 하는 사람들이 늘어나는것 같네요.
컴퓨터 구조와 프로그래밍을 공부하는데에는 OS개발만한 학습효과를 가져오는것도 드물죠.
저도 수년전에 어셈블리만으로 간단한 커널을 만든적이 있었는데 운영체제라고 하기엔 너무나 검소(?)해서 그냥 공부한셈 치곤 했는데... 뭐 회사를 그만두고 좀 시간이 남길래 자료를 정리하다가 지난번 바이러스 코드 포스팅처럼 생각이 나서, 한번 정리도 할겸 블로그에 끄적일까 합니다.

그림은 개발중인 운영체제 'Cosmos'의 프로토타입쯤 되는놈입니다.

예전에 작성했던 내용을 바탕으로 완전히 새로 구성했습니다. 어셈블리를 안한지 오래되서 부트섹터하고 로더작성에서 좀 버벅댔지만 구글신의 도움으로 무리없이 진행했습니다. 세월이 지나서인지 nasm 어셈블러 버전차이로 인해서 문제가 생기기도 하고 삽질도 적잖이 했네요. ㅠ.ㅠ 인터럽트 핸들링과 멀티태스킹, 그리고 페이징에 관련된 기본적인 구현은 모두 되었지만, 파일시스템을 하루 빨리 올려야만 좀더 다양한 테스트가 가능할것 같습니다.

일단, 간단한 커맨드 쉘까지는 구현된 상태입니다. 쉘은 확장성을 위해 DOS의 COMMAND.COM이나 WINDOWS의 Explorer.exe 처럼 유저모드에서 동작하는 외부 응용프로그램으로 구성했습니다. 아직은 help나 cls, ver 정도의 내부명령어 밖에 없지만, 파일시스템이 구현되고 응용프로그램 개발환경이 구현되면 좀더 눈에 보이는 진척을 볼 수 있을것 같습니다. 다행히 NDS나 PSP 등의 환경에서 삽질해 놓은게 좀 있어서 나중에 GUI 프레임워크 구현때 도움이 될것 같습니다.

개발 운영체제 : Windows XP Professional
테스트 플랫폼 : Vmware 6.5
Assembler : Nasm 2.06rc
C/C++ Compiler : Djgpp (Win32 용 gcc ver 4.3.2)
통합 개발환경 : Visual Studio 6.0



by 우주인 | 2009/03/13 15:14 | 운영체제 개발 프로젝트 | 트랙백 | 덧글(13)

트랙백 주소 : http://woojooin.egloos.com/tb/1881896
☞ 내 이글루에 이 글과 관련된 글 쓰기 (트랙백 보내기) [도움말]
Commented by Niveus at 2009/03/14 09:45
오오 저도 OS 만들다가 포기하고 있었는데...
역시 자기만의 OS는 멋있군요 ㅠ.ㅠ
Commented by 우주인 at 2009/03/14 10:50
대부분 리눅스 등의 거대(?) OS를 분석/카피하려는 시도를 먼저 하기 때문이라고 생각됩니다. 그러다가 그 방대한 양에 결국 질려버리죠. 처음에는 작은 커널로 시작해서 로직과 알고리즘을 개선하거나 추가하는 방향으로 가는게 중간에 포기하지않을수 있는것 같아요.
Commented by 민군 at 2009/06/07 17:35
운영체제 개발에 관심 있으시면 http://iwmos.wo.tc 에 와주세요^^
Commented by 오버액션 at 2009/10/14 00:01
안녕하세요. OS 개발에 관심이 있는 학생입니다.

인터넷 검색중에 들리게 되었습니다. 책을 보면서 공부중인데 이해가 안가는 내용이

많이 있습니다. 개발하신 OS가 nasm을 사용했다고 햐셨는데 실례가 안된다면 소스코드좀

얻을 수 있을까요? 여기 저기 수정해 보면서 공부하면 이해가 잘되는 부분도 있을거같아서요.

출처원하시면 모든소스코드 상단에 라이센스를 추가하겠습니다.

제 메일은 overaction00@gmail.com 입니다.
Commented by 어울림 at 2010/01/18 20:24
컥. 코스모스라.. 제가 만들려고 했던 OS의 이름과 같네요

물론 지금은 프로그래밍을 하나도 할 줄 모르지만.. 프로그래밍 익히면 하나 만들까 했었는데 :)
Commented by 박스 at 2010/03/27 20:58
그 운영체제 좀 보내 줄수 있나요 이메일은 yourame@naver.com
Commented by anstein99 at 2010/10/17 21:51
저는 GUI 형태의 OS를 개발 중인데, 혹시 같이 개발하실 생각 있으십니까? 있으시다면 anstein99@naver.com으로 연락 주세요.
Commented at 2010/10/24 16:30
비공개 덧글입니다.
Commented by aaa at 2011/03/20 13:27
yeong3394@naver.com
소스코드좀 부탁드립니다.
Commented at 2011/11/11 20:24
비공개 덧글입니다.
Commented at 2011/11/11 21:35
비공개 덧글입니다.
Commented by 김씨 at 2013/02/17 22:26
헐 제가 만들려고하는 os랑 이름 똑같아요 ㅋㅋㅋㅋㅋ
Commented by 한주영 at 2017/08/29 22:05
그 운영체제 보내주세요 메일은 hanjy0519@naver.com

:         :

:

비공개 덧글

◀ 이전 페이지          다음 페이지 ▶