

[펌.] 운영체제를 만드는 데 동참하실 분을 구합니다(빵집을 개발하신 양병규님의 포럼.)
운영체제를 만들고싶어 죽겠는데....?
지금부터하는 이야기는 순수하게 양병규의 혼자 생각입니다.
머.. 제가 잘못 생각할수도 있습니다. 머... OS를 개발해 본 경험이 전혀 없으니깐여....
아직 최종 결정된 내용들은 아니고 그냥 지금까지의 생각입니다.
● 프로젝트 코드네임
제가 출근길에 건물 앞에서 본 달팽이 한마리가 생각납니다.
요즘처럼 머리가 복잡한때에 제 눈 앞에 나타난 달팽이 한마리...
큰~ 건물 앞 넓은 콘크리트 바닥 한 가운데서 열심히 기어가는 달팽이 한마리...
자칫 잘못하면 밟힐것도 같은데 사람들은 열심히 기어가는 달팽이를 밟지는 않고 지켜보기만 합니다.
느린것같은데 보다보니 벌써 1미터나 기어갔습니다.
주위의 시선은 아랑곳하지 않고 그저 열심히 열심히 기어가는 달팽이를 보고...
운영체제 프로젝트의 코드네임을 snail로 결정하기로 했습니다.
스네일....
※추가 : 이 글을 올리고 며칠 후 어느 지하철무료아침신문의 만화에 달팽이 이야기가 나오더군여..
'남들이 뭐라고 하던 자기의 꿈을 이루기 위해서 그저 열심히 기어가는 달팽이'라는 이야기는 흔히 생각해 낼 수 있는 이야기지만 제가 이 글을 쓴 시기와 그 신문만화가 나온 시기가 너무 근접해서 잘못하면 양병규가 그 만화를 보고 마치 자기가 출근길에 경험한것처럼 꾸민게 아니냐..라고 생각할 수 도 있겠다...라고 걱정해 주시는 분이 계십니다. 감사합니다. ^^;;
● 목적, 용도, 이유?
운영체제를 만드는데는 그만한 이유와 목적이 있어야 할것입니다.
어떤 이유가 있을수 있을까요?
1. 학습용
2. 실력 과시용 ^^
3. 특별한 목적으로 사용하기위해
4. 심심해서 --
5. 대중화 시키기 위해
6. 그냥 MS가 싫어서... ^^
글쎄.. 사람마다 다르겠지만.. 저의 경우는 1,2,3,4는 아닙니다.
운영체제를 공부하기 위해 운영체제를 만들만한 여유도 없고
실력을 과시하기위해 운영체제를 만든다는것은 좀 바보같다라는 생각도 들고...
특별한 목적이 있는 것도 아니고...
머... 심심하지도 않고...
운영체제를 만들려는것은 잘 만들어서 잘 쓰기위해서입니다.
자... 그럼 목적은 5번으로 낙찰.. ^^ 대중화 시키기 위해서... 로 결정했습니다.
● 새 운영체제의 성능, 조건?
그럼 새 운영체제가 대중화가 가능할려면 어떤 조건이 있어야할까요?
첫째는, 호환성입니다.
머... 쉬운예로 빵집에 새 폴더 기능이 있는건 알집에도 있기때문입니다.
기존의 사용자가 이미 익숙해져 있는 기능을 무시할 수 없기때문이죠...
지금의 윈도우가 좋던 싫던 기존 사용자들은 이미 거기에 익숙해져 있고 게다가 사용자뿐만 아니라 모든 어플리케이션과 심지어 하드웨어까지 윈도우에 기준을 두고 개발되어 있으므로 어쩔수 없이 윈도우와의 호환성은 첫번째 조건으로 지켜져야합니다.
어느선까지 호환성을 유지할것이지의 여부도 매우 중요한데....
USER모드 선에서 호환성을 유지하는 방법이 있습니다.
그 예가 있지요... 리눅스의 WINE이라던가 그것을 리눅스에 탑재한 Lindows OS가 그런 경우입니다.
커널수준은 여전히 리눅스이기때문에 디바이스드라이버는 윈도우용과 전혀 호환되지 않고 폰트등과 같이 시스템적인 부분에서도 문제가 많이 발생하고 있습니다.
그러다보니 어플리케이션만 호환이되고 리눅스의 문제점은 그대로 갖고 있습니다.(물론 속도도 느리지요..)
그래서.. 저는 호환이 될려면 USER모드는 물론이고 디바이스드라이버까지 호환이 되어야한다고 생각합니다.
그렇게해서 사용자들이 기존에 가지고 있던 모든 하드웨어와 프로그램을 문제없이 사용할 수 있어야 된다고 생각합니다.
윈도우와의 호환이 되어야하는 이유는 단순히 사용상의 문제에만 이유가 있는것은 아닙니다.
개발과정에서도 큰 이유가 있습니다.
호환성을 무시하고 처음부터 새로 시작하는 프로젝트도 있습니다.
소프트웨어를 개발 해본 사람들은 알겠지만 어떤것을 만들어내야할지 그 목표가 불분명한 상태에서 컨셉, 목표등을 정해가면서 작업을 하다보면 아무래도 목표가 자신들이 구현가능한 선 내로 스스로 제한하게 됩니다.
그리고 유저인터페이스나 전체적인 구성을 디자인하는데는 생각보다 쉽지가 않습니다.
그러면에서 기존의 윈도우와 호환이 되면 일단은 그런 고민을 하지 않고 이미 정해진 목표대로 열심히 하면 될것입니다.
● 새 운영체제의 진정한 목표
위에서 말한 목적하고는 다른 이야기입니다.
윈도우와의 호환성이라는것은 첫단계 즉, 사람들로 하여금 사용할수 있게 만들기위해서이지 윈도우가 좋아서가 아닙니다.
그러면 스네일만의 목표가 있어야합니다.
● Mouse Stress
처음들어본 단어이지요?..... 마우스스트레스....
저도 처음 써봅니다. ^^;;;
한가지 예를 들겠습니다.
당신은 사무실 책상에 앉아있고 책상에는 컴퓨터 한대와 모니터 옆에 탁상용 달력이 있습니다.
당신이 옆사람과 이야기를 합니다. 이야기중 일정에 관한 말을합니다.
다음 달 10일에 약속을 하자고 합니다. 그 날이 무슨 요일인지 알아야합니다.
그러면 당신은 그 순간 제일 먼저 어떤 행동을 하겠습니까?
1. 손을 마우스로 가져가서 윈도우의 트레이아이콘에 있는 시계를 더블클릭해서 '날짜/시간 등록정보' 대화상자에 있는 달력을 열어서 8월이라고 써있는 콤보박스를 클릭해서 9월을 클릭해서 그날이 무슨요일인지 보고 대화상자를 닫는다.
2. 모니터 옆에 있는 탁상용 달력 한장을 살짝 올렸다가 날짜를 보고 손을 놓는다.
물론 사람마다 다를것입니다.
저요? 저는 당연히 2번입니다.
왜냐면 그것이 편하기 때문입니다. ^^;;
1번을 선택할 때도 있습니다. 지금 책상에 달력이 없을때...
어떤 날에 간단한 메모를 할때도 우리는 책상의 달력에 메모를 합니다.
검색도 안되고 인쇄도 안되는데..
머... 유치한 예를 들었지만...
결국 우리가 컴퓨터를 사용하는것은 그것이 편리하기때문이 아니라 그 방법밖에 없기때문입니다.
다시 말해서 편리해서라기보다는 불편하지만 어쩔수 없이...가 맞습니다.
자.. 이쯤에서 이 예를 곰곰히 생각해보겠습니다.
왜 소프트웨어 달력을 보는것보다 탁상용 달력을 보는게 더 편할까요?
소프트웨어는 클릭을 여러번 해야하는데 탁상은 한 번만 넘기면되기때문일까요?
그렇지 않습니다.
차 멀미를 생각해보겠습니다.
차를 탔을때 멀미를 하는 이유는 여러가지 이유가 있지만 그 중에서 대표적인 이유가...
몸의 흔들림이나 기울기 등을 감지하는 센서는 몸이 흔들리고 있다고 감지하고 있는데 눈은 몸이 흔들리지 않고 있다고 감지할때 멀미가 발생합니다.
예컨데 차안에서 책을 본다거나 옆사람과 대화를 한다거나.. 그럴때 흔들림 센서와 시각이 서로 다른 견해를 보이므로 그것이 스트레스로 작용하여 멀미가 발생합니다.
컴퓨터는 입력장치와 출력장치가 있는데...
가장 흔히 사용하는 마우스의 경우를 예로 들면 자신이 원하는것은 마우스가아닌 커서를 이동시키고 싶은데 그것을 직접 이동시키는것이 아니라 손으로 마우스를 움직여서 이동시킵니다.
손의 움직임과 눈으로 보는 정보가 일치하지 않습니다.
그런 현상이 초보자나 컴맹등에게는 엄청난 스트레스로 작용됩니다.
거기에 반해 탁상용달력은 손이 직접 만지는 그대로 달력이 움직여 주므로 매우 편한 느낌을 갖습니다.
요즘들어 다시 인기가 좋아지고 있는 주산은 손으로 알을 직접움직이고 그 알을 눈으로 직접보는데..
계산기는 손으로 버튼을 누르고 눈으로는 액정화면을 봅니다.
주산보다 계산기가 스트레스를 더 느끼는 이유입니다.
인터넷으로 신문을 보는것보다는 종이로된 신문을 보는게 더 편합니다.
...
차를 많이 타면 자연스럽게 사람의 몸은 차 멀미정도는 적응을 합니다.
하지만 멀미가 없어진것이 아니라 사람이 적응을한다는데 문제가 있습니다. 멀미 증상은 없어졌지만 두뇌에서 느끼는 스트레스는 여전히 있습니다.
그래서 차를 타고 나면 피곤합니다.
컴퓨터를 많이해도 입력장치와 출력장치의 차이로 인한 스트레스는 여전히 남아있습니다.
저는 그것을 Mouse Stress라 부르고싶습니다.
다시 말해서, 지금 우리가 사용하는 컴퓨터와 소프트웨어는 사람을 피곤하게 만듭니다.
이런 구조로는 영원히 스트레스를 없앨 수 없습니다.
그러면 마우스가 없는 PDA나 터치패드를 이용하는 컴퓨터는 마우스스트레스가 없지 않을까?
그렇지는 않습니다.
화면을 터치할때의 느낌과 눈으로 보는 화면의 내용은 일치하지 않습니다.
마우스스트레스는 단지 신경구조의 문제가 아닙니다.
A4용지는 크기를 바꿀 수 없는데 메모장 프로그램은 화면 크기를 바꿀수 있다거나...
A4용지는 서랍에서 꺼내와야 하는데 메모장은 클릭하면 팍 나타난다거나...
A4용지는 서랍에 넣어야하는데 메모장은 X를 클릭하면 팍 없어진다거나...
마치 물리적인 물체처럼 보이는것들이 유령같은 행동을 하는것을 볼 때도 마우스스트레스는 있습니다.
뉴스에서 피씨방에서 밤새 게임을하던 젊은이가 과로사했다는 보도를 봤습니다.
아마도 마우스스트레스 때문일 것입니다.
밤새 게임을 하는 것은 노가다를 하는것보다 더 피곤합니다.
지금의 컴퓨터는 누가 뭘 어떻게 만들어도 쉬운게 아닙니다.
거기에 적응을 할 뿐입니다.
마우스스트레스가 완전히 없어져야 '컴퓨터는 쉽다'라고 말할 수 있습니다.
암튼...
새 운영체제의 목표는 그것을 없애는데 목표가 있습니다.
키보드도, 마우스도 없는...(머... 없다기보다는 거의 안쓰는.. )
● Knight Rider 프로젝트
제 노트북 바탕화면에는 오래전부터 전격Z작전에 등장하던 키트가 있습니다.
키트는 스네일프로젝트의 가상의 목표입니다.
컴퓨터가 키트처럼만큼 사람과 대화를 할수 있으면 입력장치, 출력장치를 전혀 안쓸수는 없겠지만 웬만한 일은 대화로 처리할 수 있을거라 생각이듭니다.
그런 운영체제가 나오면 이렇게 될겁니다.
"컴퓨터야 다음달 20일 무슨 요일이냐?"
"금요일입니다."
"컴퓨터야 빵집 새버전 나왔어?"
"잠시만요 사이트에 한번 가보고요... 음..아직 안나왔네요.. 이번주 중에 나온답니다."
"그래? 그럼, 개발자한테 어제 그 버그좀 고쳐달라고 해.."
"예.. 메일을 보내겠습니다.. 새 버전 나오면 알려드릴께요"
"그리고 집사람 들어오면 나 약속이 있어서 좀 늦는다고해"
"예 잘다녀오세요"
하하... ^^;;
생각만해도 신나지않나요? 머... 뻔한 공상과학 영화에나 나올만한 이야기지만...
이미 이런 연구는 세계 곳곳에서 엄청나게 많이 진행되고 있습니다.
물론 제가 그 사람들보다 더 똑똑하다...머.. 그런 얘기는 아닙니다.
하지만 한가지 확실한것은 정말로 대화를 할려면 문법은 무시해야한다는겁니다.
머.. 사람이 문법을 배워서 말을 하는것은 아니니깐요...(^^ 물론 제 생각이고 전 자연언어처리를 잘 모릅니다...헉 그러고 어떻게?...--; )
말로만 일을 할 수는 없고 말하는 컴퓨터가 있다고해서 기존의 소프트웨어를 안쓸수는 없지요?..
그래서 먼저 기존의 윈도우와 호환성을 갖는 운영체제를 만드는겁니다.
전 자연언어 프로젝트인 Knight Rider프로젝트를 혼자서 진행하고 있습니다.
스네일 프로젝트의 최종 목표는 기존의 윈도우호환 운영체제 + Knight Rider가 될것입니다.
● 윈도우 호환 운영체제 프로젝트의 개발 방법
여러가지가 있을수 있겠지요....
하지만 그 많은 방법중에서 우리가 선택 할수 있는 방법은 많지가 않습니다.
환경을 고려해야하기 때문입니다.
대부분 운영체제 개발에 참여 할 수 있을만한 사람은 처녀, 총각보다는 유부남, 유부녀들이 많을겁니다.
수입이 있어야하는 사람들이지요...
그래서 그 사람들이 다 모여서 요이~땅...(앗.. 일본말...다시..) 준비 시~작.. 할수는 없을겁니다.
각자 자기 일하면서 따로 따로 진행을 해야할지도 모릅니다.
운영체제를 만들려면 일단 부팅부터되고 커널이 먼저 만들어지고 유저모드 만들고 그 다음에 어플리케이션 만들고...
그렇게 할수는 없습니다.
왜냐면 전체적으로 시간이 길기때문에 그렇게 순차적으로 가서는 너무 오랜 시간이 걸립니다.
그래서 다같이 자기 일을 동시에 시작할수 있어야겠습니다.
윈도우와 호환되기때문에 그것은 가능합니다.
현재의 윈도우에서 한 부분만 맡아서 기존의 윈도우에서의 그 기능을 똑같이 배낄수 있으면됩니다.
예컨데... ntoskernl.exe을 만드는 사람은 자신이 만든것을 기존의 윈도우에 대치시켜도 윈도우가 잘 돌아가게 하면됩니다.(솔직히..말은 쉽지 이게 잘 될지 모르겠습니다.)
hal.dll을 만드는 사람도... gdi32.dll을 만드는 사람도... 부트로더를 만드는 사람도 모두 같은 방법으로 진행하다가 최종적으로 하나로 합치면 가능합니다.
머... 이론상으로는 가능한데.... 그게 실제로도 가능할지는 다같이 맨땅에 헤딩해가면서 부딪혀봐야 알겁니다.
실제로 저의 경우... 유저모드 DLL인 gdi32나 user32 kernel32등은 제가 만든것으로 대치를 해보기도 했습니다...
다행히 유저모드라... 그리 큰 문제는 없었습니다.
이 방법이 법적으로 어떤 문제가 있을지는 모르겠지만 기존의 윈도우의 파일하나 지웠다고해서 큰 문제가 생길것 같지는 않습니다...아니 머... 지울필요는 없고 파일이름만 바꾸죠머.. ^^ (설마...이걸로 꼬투리잡을라고..)
거기까지가 첫번째 단계이고...
두번째 단계부터는 그 개발자들이 다같이 모여서 진행해야 할것 같습니다.
이때부터는 돈이 필요합니다.
머.. 큰돈은 아니라도 생계유지는 해야하니깐요...
여러가지 방안을 생각했습니다.
하지만 이 역시 여러가지 문제가 있습니다.
누군가에게 투자를 받자니 그 사람만 부자되게 하는것같고...실패했을때 그 사람은 졸지에 거지되는 위험이 있고..
그렇다고 돈 없이 할 수는 없고...
해서 생각한 방법이..
영화같은데서 있었던.. 개인들에게 투자를 받는겁니다.
일반인들이 만원씩 투자를 해서 나중에 수익이 생기면 지분대로 나누어주는겁니다.
그렇게되면 진정한 스네일의 주인은 만원씩 투자한 국민들이 될겁니다.
한사람이 졸부가 되거나 졸지에 거지되거나 그런일은 어느정도 막을수 있는 효과가 있을겁니다.
단, 대한민국의 국민들이 바보가 아닌데....
말도 안되는일에 만원은 커녕 단돈 백원도 투자할리가 없습니다. 그쳐?
주머니에서 만원을 꺼낼려면 눈으로 보고.."이거 되겠다.."라고 판단이 서야할겁니다.
첫단계에서의 목표는 거기까지입니다.
남들이 봤을때...."이게되겠다..."라고 믿을수 있는데까지....
두번째 단계에서의 목표는 기존의 윈도우보다 더 빵빵하게 만들어서 싸게공급할수 있는데까지가 목표입니다.
더 좋고 더 싸야 하지... 바보가 아닌다음에 삐리리한걸 사서 쓸리가 없쟌습니까?
그냥 윈도우를 다시 까는일도 보통일이 아닌데 말이죠...
암튼.. 두번째 단계의 목표가 충실하게 진행되주면... 즉, 정말로 쓸만하면...
머.. 번들도 있고, 셰어웨어도있고.... 방법은 있다고봅니다.
삐리리하거나 더 후졌을때는... 방법이 있다고해도.. 결국 사기치는것밖에 안되겠지요...
● 이제 그만...
에혀 ... 오늘은 이만쓰겠습니다.
오늘 아들 병원가는 날이라... 그만 써야합니다.
관심있으신 분들은 bkyang@bkyang.com 으로 메일 주십시오.....
우리.........
함 맹글어 봅시다......
머... 좀 무모하면 어떻고 위험하면 어떻고 미쳤으면 또 어때여? 가만있는것보다는 흥미진진하자나여?
대한민국... 자동차도 맹글고 배도 맹글고 제트기도 맹글고 인공위성도 맹글고 월드컵 4강도하는데 그까짓 운영체제 하나 못맹글겠습니까? 아자 아자~~~~~~~
드~~~~~~~~애 한 민 국 ↖(^^)↗
끝.
스네일의 기본 바탕화면을 독도로...
1
Copyright ⓒ 2000-2026 BCPARK Inc. All Right Reserved.
