어떤 운영체제를 원하십니까???
 허접프로그래머 미디어로그가기
 조회 : 4374 , 2008/11/14 10:45
  이 게시물의 태그 : 운영체제
회사에서 하루종일 웹프로그래밍만 붙잡고 있다 보니 프로그래머로써의 실력이 죽어가고 있다는 생각이 들어서, 최근 운영체제를 하나 개인작업으로 만들어 보고 있는 중입니다.

뭐, 아직 시작단계라서 이제 겨우 부팅하는데 성공한 수준입니다만서도...;;; 처음부터 기존의 OS들과는 다른 운영체제로 만들어 보고 싶은 욕심이 있습니다.

윈도우나 MacOS나 리눅스 같은 기존의 운영체제와는 확실히 다른 운영체제를 만들어보고 싶은데... 철저한 준비를 하고 만드는 것이 아니라 어떤 기능들이 필요할 지를 아직 확실하게 정리하지 못하고 있네요...^^;

우선 제가 만들고 있는 방향은 다음과 같습니다.

1. x86-64 아키텍쳐를 지원하는 네이티브 64비트 운영체제(기존 운영체제들과의 바이너리 호환성 없음).

2. 파일 관리를 OS에 내장된 DB를 이용하여 관리 -> 데이터 검색 등의 최적화 / 서버 어플리케이션으로의 확장 용이

3. 모듈화된 어플리케이션 - 각 어플리케이션의 부품, 즉 워드프로세서의 경우 완성된 워드프로세서 프로그램이 존재하는 것이 아니라 워드 파일 포멧 입/출력 부품, 검색 부품, 도표 그리기 부품 등으로 세분화되어 나누어진 부품들을 배열하는 형태로 어플리케이션을 구성하는 방식입니다.
기존에는 OOP 방식에서 프로그래머들이 구현했던 부분을, 사용자가 이미 만들어진 부품들을 간단한 스크립트 수준으로 재구성해서 사용할 수 있도록 하는 것이 최종 목표입니다.

4. 3D 유저 인터페이스 - 이건 그냥 제가 만들어보고 싶어서요...ㅡㅡ;; 지금의 윈도우 같은 경우, 일반적인 화면 인터페이스는 GDI를 사용하고 게임등에서는 DirectX를 사용하는 식으로 일관성이 없어서 개발도 불편하기도 하고...;; 그래서 GUI 자체를 게임에도 적용할 수 있는 형태로 통일시켜보고 싶습니다.

5. 최소한의 하드웨어 지원 - 이건 제 능력상 세상의 모든 부품들을 다 다뤄볼 수도 없고 해서리...ㅡㅡ;; 그리고 게임기 콘솔처럼 하드웨어가 정해져 있으면 낭비되는 코드나 버그를 최소화 할 수 있다는 생각이 들어서요.

이정도로 생각하고 있습니다. 실제 이런 기능들이 다 지원되는 운영체제라는 것을 만들려면 1~2년으로는 부족할 것 같기도 합니다만....^^;;

어쨋든 꿈은 크게 가져보고 싶습니다. 제가 생각하지 못했던 기능이나 형태에 대한 제안을 들어보고 싶네요.

그냥 기존의 운영체제들에서 '이런 기능은 있었으면 좋겠다' 하셨던 부분들을 마음껏 제시해 주시면 감사하겠습니다.

혹시 아나요...;; 이게 성공해서 저도 MS 같은 회사를 만들게 될지도요....^^;;;;;;;;;(이거야 말로 꿈이겠지요...^^;)

아, 기본적으로 윈도우나 다른 운영체제와의 호환은 생각하지 않고 있습니다. 소스코드 레벨의 호환 정도는 모르겠습니다만, 운영체제의 방향자체가 다르다보니 기존의 윈도우나 리눅스 같은 운영체제와의 호환은 생각하기 어렵네요;;
10
2
122.36.231.xxx
불법 광고글 신고하기
   이 게시물의 댓글 보기
  역병창궐 (ID) 역병창궐님의 미디어로그 가기  / 08-11-15 13:48/ 이댓글에댓글달기
  음...당연히 인터넷 세상인지라 우선 기본적으로

1. 기본적으로 드라이버 같은 경우는 생각하셔야 할꺼고
(새로운 운영체제니 어떻게 그걸 바꾸어서 인식을 시켜 주느냐 가 우선 관건이겠네요...)

2. 프로그램머 쪽이시니 보안에 관해선 우선 생각하실 꺼고

3. 업데이트같은 개발자의 노력이 필요하겠지만
(그만큼의 동업자도 필요할테고 테스터도 필요하고....
대략 게임맵 같은 걸 보면 밸런스에 대해 상당히 고민을 많이 하듯(잘 되면 저도 한 소리 했으니 한 자리 줘야 할꺼고-_-ㅋㅋ)

4. 그러면 게임을 하는 사람들을 위해 게임 엔진은?

DIRECTX 는 아예 못 쓰고 OpenGl 계열은 쓰실 껀지 새롭게 만드실껀지?
  역병창궐 (ID) 역병창궐님의 미디어로그 가기  / 08-11-15 13:56/ 이댓글에댓글달기
  5. 대세인 탭 브라우저는 기본이고...운영체제에 아예 게시판을 만들어
인터넷 프로그램을 안 들어가져도 실시간으로 내용이 업데이트되는 게시판은
기본적으로 탑재해 보는 것도 어떤지?(F5 를 안 눌러도...그러면서 자게질을^^;;;)

6. 폰트도 문제네요...굉장히 많은데...

7.

8. 인터페이스로 GUI 와 CUI 를 약간은 혼합한 인터페이스는 어떠신지요?
심심한 마우스 포인트에 때로는 키보드가 이런 역할을 하는 구나 싶은 수준의 명령어 입력에
(물론 Command 같은 콘솔 포함이겠죠)

더 생각이 안 나는군요
  zryu072141 (ID) zryu072141님의 미디어로그 가기  / 08-11-16 14:33/ 이댓글에댓글달기
  바꾸어 질려면, 그 두뇌들보다 뛰어나야 하지만, 더 나은 컨셉정도라면, 창조적으로 제시할수 있는 OS가 나와도 변화에 도움이 될듯 합니다. 힘써보세요. 홧팅~
  theadadv (ID) / 08-11-16 18:44/ 이댓글에댓글달기
  OS 커널상에서 파일 DB를 관리하는 것은 좀.
  jackyang (ID) jackyang님의 미디어로그 가기  / 08-11-20 0:17/ 이댓글에댓글달기
  멋있네요. 실현하시기를 바라겠습니다.
  hthbest (ID) / 08-11-20 0:40/ 이댓글에댓글달기
  옛날이라 해야 하나 OS/2써봤는뎅 좋았거든요.. 긍데 개발 중단인가(?) 하고 나서 K-DOS 인가 써봤져.. MS-DOS 5.XX대 호환인가 기억이 가물 가물 하네요..
위 두 가지가 아직도 기억에 남네요.. OS/2는 디스켓으로 설치해서 썼다는..
결국에는 지원 프로그램이 없어서 지웠지만여.. 그때 기억이 생각나서 몇자 적어보네요..
  valkyrie (ID) valkyrie님의 미디어로그 가기  / 08-11-20 2:23/ 이댓글에댓글달기
  //Moon-Boy
OS 커널에서 파일을 DB로 관리하는 것은 나름 장점이 있다고 생각합니다. 파일을 검색하거나 파일 내용을 검색해야 하는 경우 처리속도가 기존의 OS에 비해 빨라질겁니다.

그리고 어플리케이션을 개발하는 입장에서도 운영체제 레벨의 DB가 지원된다면 내부적인 자료 관리를 위한 별도의 DB를 사용하지 않아도 되고, 이로인해 개발효율도 높아지게 되지 않을까 생각합니다.

물론 DB를 거쳐서 파일을 읽고 쓰게 되므로 쓰기 속도의 지연은 있을 것 같습니다만, 이것도 어느 정도의 버퍼링을 거친다면 그닥 문제가 되지는 않을 듯 하네요.

사실 커널 레벨의 DB로 파일을 관리한다는 개념은 윈도우에서도 차세대 파일 시스템으로 생각하고 있었던 방식입니다. 기존의 운영체제와의 호환성의 문제로 지금은 흐지부지 된 것 같습니다만....^^;;
  valkyrie (ID) valkyrie님의 미디어로그 가기  / 08-11-20 2:56/ 이댓글에댓글달기
  //反/미국소수입 (역병창궐)
게임을 위한 그래픽 유저 인터페이스를 따로 가지고 있는 윈도우가 오히려 이상한 운영체제라고 생각합니다.

일반적인 작업에는 GDI라는 그래픽 인터페이스를 쓰고 게임에는 다이렉트엑스나 오픈지엘을 사용한다면, 사용자 입장에서는 일반 어플리케이션의 화면과 게임의 화면이 따로 나오게 되므로 게임의 화면과 어플리케이션의 화면을 동시에 보거나 동시에 사용하는 것 등이 어렵게 되고, 개발자 역시 두가지 개발 방식을 다 알아야 하므로 개발이 더 어려울 수 밖에 없는 거죠.

그래서 저는 하나의 그래픽 유저 인터페이스를 가지고 게임과 어플리케이션을 동시에 개발할 수 있도록 할 방침입니다.

그리고... 드라이버는 어차피 운영체제가 다르고 방침이 다르니 결국 새로 작성해야 할 거라고 봅니다. 우선은 지원할 수 있는 하드웨어가 극히 제한될 수 밖에 없을 듯 하네요...;;; 개인적으로 작업하는 것이라 아직은 마땅한 방법이 없네요.

보안은... 우선 새로운 운영체제이니만큼 크게 신경쓸 필요는 없지않나 싶긴 합니다만, 개인적으로 생각한 보안 방침은 있습니다. 그건 좀 더 구체화되면 말씀드리겠습니다.

웹브라우저는 어차피 어플리케이션이니 운영체제와는 별도로 개발해야죠....^^;; 그리고 콘솔모드는 따로 만들어 두기는 하겠습니다만, 아마도 개발용의 콘솔이 주가 되겠지요...^^;;


  valkyrie (ID) valkyrie님의 미디어로그 가기  / 08-11-20 2:59/ 이댓글에댓글달기
  //토끼패는당근
저도 OS2가 기억나네요. 결국 윈도우에 밀려 빛을 많이 못보긴 했지만, 굉장히 안정적이고 성능이 좋아서 은행의 ATM 같은 것에도 많이 쓰였었습니다.

기본적으로 운영체제를 거의 어셈블리만으로 만들었다고 하더군요. 덕분에 업그레이드가 어려운 시스템이 된 듯도 합니다만... 아직도 eComStation 이라는 이름으로 나오고 있는 것으로 알고 있습니다.
  wonjuni (ID) / 08-11-20 17:27/ 이댓글에댓글달기
  OS/2 WARP, Novell Netware, Next Step, BeOS 참 많았지요... OS는 기본적으로 심플해야 한다고 생각합니다... 그점에서 UNIX의 계보를 잊는 OS들이 맘에 들고... UI의 경우 MAC이 참 직관적이라고 생각합니다... IBM, HP, SUN의 UI를 보노라면 참... 급조한듯한 느낌이... 그네들만 아는 UI... 서비스 계약을 해야 쓸수 있는 시스템... 그점에서라면 WINDOWS도 괜찮다고 봅니다... 다만 크리티컬한 서비스는 함부로 할수가 없겠지요... 관리비용이 적게든다??... 뭐 파트너쉽이나 스폰서쉽으로 들어가고 그렇게 광고하던데... 후훗... 모르면 당하는거죠.
  valkyrie (ID) valkyrie님의 미디어로그 가기  / 08-11-21 9:24/ 이댓글에댓글달기
  //한원준
저도 운영체제는 심플해야 한다고 생각하는 쪽입니다만, 최근의 추세는 갈수록 복잡한 기능을 요구하는 것 같네요.

하다못해 GUI 하나만 하더라도 얼마나 복잡한 구성인데요...^^;;;;
  vamf12 (ID) / 08-11-21 12:56/ 이댓글에댓글달기
  반대 입니다. ㅎㅎ
뭐랄까... 일방적인 추측이긴 하지만, 윈도우유저인것 같으시군요. 윈도우특유의 답답한 느낌이 납니다.
일단 운영체제를 만드시기 전에, 다양한 운영체제를 먼저 접해보시는게 좋을 것같습니다.

말씀하신 내용은 거의다 리눅스나 OSX에서 다구현 되었습니다. 심지어 윈도우에서도 런처류로 가능합니다.

파일을 DB로 해결한다는것... MS에서 OS내부로 밀어 넣으려다 접었습니다. 그소식을 들은 리눅스에서는 MYSQL File System으로 응대 합니다. 뭐랄까... 여하튼 유닉스쪽 운영체제를 한번 써보시고 다시 한번 생각해 보셨으면 합니다.
  iblue1024 (ID) / 08-11-21 13:24/ 이댓글에댓글달기
  우선 싱글모드(DOS)에서 잘 돌아간다면 가능성이 있겠죠.
  valkyrie (ID) valkyrie님의 미디어로그 가기  / 08-11-21 13:48/ 이댓글에댓글달기
  //박성민
으음...;;; 윈도우를 사용하기는 합니다만, 다른 운영체제를 사용하지 않는 것은 아닙니다. 리눅스나 솔라리스, HPUX, 맥OS도 사용했었고, 맥을 제외한 다른 시스템으로는 어플리케이션 개발도 했었습니다. 최근에는 윈도우즈용 어플리케이션을 주로 만들고 있기는 합니다만....^^;

제가 말한 내용들이 대부분 다른 운영체제에서도 구현되었던 것은 알고 있습니다만, 구현되지 않았거나 구현하려고 시도만 되고 있었던 부분도 있습니다. 예를 들면 모듈화된 어플리케이션 구성 같은 부분은 운영체제 레벨에서 시도된 적은 없다고 알고 있습니다. 물론 API 같은 형태로 모듈화 되어 있다고 하실 수도 있겠습니다만, API 레벨의 모듈화가 아닌, 말그대로 어플리케이션의 품들 모두가 모듈로 구성되어 있는 형태를 말하는 겁니다. 이런 구조는 아직까지 본 적이 없습니다.

그리고, 새로운 운영체제를 만들고 싶다고 해서 기존의 운영체제들과 완전히 동떨어진 운영체제를 만들 수는 없다고 생각합니다. 좋은 아이디어들은 활용할 수도 있지 않을까요??

개인적인 프로젝트로 만들고자 하는 운영체제인데 반대라는 것은 좀 이상하네요...^^;; 취미생활로 운영체제를 만들면 안된다는 건가요;;;

아... 그리고, 어떤 면에서 답답하다고 하시는 것인지 자세히 좀 설명해 주시면 감사하겠습니다. 제가 미처 생각하지 못하고 있었던 부분이 있었다면 달게 받아들이겠습니다.
  valkyrie (ID) valkyrie님의 미디어로그 가기  / 08-11-21 13:57/ 이댓글에댓글달기
  //바보똥께
이전에 저에게 답글달지 말라고 하셨던 기억이 나네요. 그렇다면 바보똥께님도 제 글에 답글을 달지 않으셔야 하는 것 아닌가요? 시비를 걸고 싶으신 거라면 받아드리겠습니다. 앞으로도 제 글에 답글 달아주세요.

싱글모드에서 잘 돌아간다는 것은 무슨 의미인지 모르겠습니다. 싱글테스크 운영체제가 모두 다 DOS 인 것도 아니고, 말그대로 Disk Operating System을 말씀하시는 거라면 번지수가 다른 얘기라고 생각합니다만.

아직 걷지도 못하고 있는 것은 맞습니다만, 그렇다고 날아다닐 꿈도 꾸지 말라는 겁니까?

그리고 가관이라뇨? 제가 어느 정도의 실력을 가지고 있는지, 또 어떤 사람인지도 모르시면서 함부로 그런 식으로 말씀하시는 것은 좀 기분나쁘군요.

아직 걷지도 못하는 단계의 작업수준인 것은 사실입니다만, 걷기 위해서, 뛰기 위해서, 가능하면 날기 위해서 다른 분들의 의견을 들어보는 겁니다. 그게 가관인가요?

바보똥께 님이 가관이라고 하신 것이 '능력도 안되는 놈이 뻘짓거리 하고 있다'라는 의미라면 먼저 제 능력에 대해 알아보시고 말씀하시는 것이 우선일 것이고, 그렇다면 제게 사과의 말 한마디 정도는 하시는 것이 도리일 거라고 생각합니다.

다른 의미로 가관이라고 하셨다면 머리나쁜 제가 알아들을 수 있게 설명해 주십시오. 필요하시다면 직접 만나보고 얘기를 하시던지, 전화를 주시던지요. 전화번호가 필요하시면 쪽지로 알려드리겠습니다. LG 텔레콤 사용하시면 제가 전화를 드릴 수도 있습니다.
  iblue1024 (ID) / 08-11-21 15:02/ 이댓글에댓글달기
  └> 허접 프로그래머님 먼저 사과드립니다. 제가 좀 직설적이라 ... 글은 수정은 하였습니다.
불쾌하셨다면 다시 한번 더 사과말씀 드립니다.
윈도우는 보호모드, DOS는 싱글모드 이것만 말씀드릴께요. 나머지는 직접 찾아보세요...^^;
  valkyrie (ID) valkyrie님의 미디어로그 가기  / 08-11-21 15:34/ 이댓글에댓글달기
  //바보똥께
우선 보호모드와 싱글모드의 정의부터 말씀드려야 할까요...;;;

보호모드와 싱글모드는 프로세서의 설정문제입니다. 과거 8비트 운영체제였던 도스(내부적으로는 16비트 연산을 하지만 어드레스라인과 레지스터의 크기가 8비트였던 8088 프로세서를 기준으로 만들어졌기 때문에)를 16비트 이상의 프로세서(80286 이상)에서 구동시키기 위해서 CPU를 8비트로 제한한 것이 바보똥께님이 말씀하시는 싱글모드인 듯 합니다.

애초에 도스라는 운영체제와의 호환성을 위해서 8비트 호환모드를 설정할 수 있지만, 이 경우는 어드레스 계산부터가 복잡해집니다. 때문에 32비트나 그 이상의 프로세서용의 운영체제를 만드는데 굳이 8비트 호환모드로 만들 필요가 없습니다. 어차피 활용도도 떨어지고 성능도 떨어지고 만들기도 더 어려운데 굳이 8비트 호환의 운영체제를 만들 필요가 없죠.

윈도우는 95, 98까지는 내부적으로 8/16비트 호환모드를 가지고 있었습니다. 그러나 이후 버전에서는 CPU의 모드를 직접 설정하지 않고 해당 모드를 에뮬레이션 하는 방식으로 구동됩니다.

제가 만들고자 하는 것은 64비트로 동작하는 운영체제이기 때문에 굳이 호환모드로 만들 필요가 없습니다. 사실은 32비트로 만드는 것이 가장 편한 방법이지만, 개인적인 욕심으로 64비트로 만들고 싶은 겁니다. 과정이 한단계 더 복잡해지긴 합니다. 32비트로 먼저 부팅해서 64비트로 변경하는 단계를 거쳐야 하니까요. 그렇다고 해도 8비트 프로세서처럼 간접 어드레스 방식을 사용하지 않아도 되므로 64비트 운영체제로 만드는 쪽이 훨신 편하고 성능에서도 향상이 있을 수 있겠지요.

개인적인 욕심이라고는 했지만, 64비트 프로세서의 대용량 메모리 지원 등의 기능과 연산의 정밀도 등에서 확실히 성능의 차이가 있으므로 64비트 운영체제를 만들고자 했었고, 우선 32비트로 부팅이 가능한 디스크 이미지는 만들어 둔 상태입니다. 여기서 64비트로 변경하는 부분을 지금 작업중에 있습니다.

뭐, 자세한 사항은 진행되는 대로 다시 말씀드릴 기회가 있겠지요...

운영체제에 대해 좋은 아이디어가 있으시다면 언제든 말씀해 주신다면 경청하겠습니다.
  valkyrie (ID) valkyrie님의 미디어로그 가기  / 08-11-22 7:43/ 이댓글에댓글달기
  아...;;; 이름이 갑자기 생각이 안나서 위에 못적었었는데, 보호모드와 리얼모드라고 부르죠... 싱글모드라는 것은 잘못된 용어인듯 합니다. 8비트로 동작하는 모드를 리얼모드라고 하고 16비트, 32비트 보호모드가 있지요.

286부터 보호모드에서 멀티테스킹이 지원되긴 했지만, 8088/8086에서 멀티테스킹이 불가능한 것은 아닙니다. 도스에서도 흔히 램상주 프로그램이라고 불리는 방식으로 멀티테스킹이 가능했었고(제가 기억나는 것은 사이드킥 정도로군요;;) 제 기억으로는 미닉스(교육용 유닉스 정도 되려나요;;)의 첫버전은 IBM 호환 PC에서 동작했던 것으로 알고 있습니다. 그리고 혹시 아실지 모르겠습니다만(워낙 마이너해서리...) 지오웍스라고 하는 윈도우 비슷한 운영체제도 있었습니다. 이것도 XT 머신에서도 돌아갔었죠. 당시로는 획기적으로(PC에서는...) 크기 변경이 가능한 폰트와 멀티테스킹을 지원했었습니다만 워낙 사용자층이 적어서 금방 사라진 듯 하네요.

아...;;; 그래서...;;; 요점은, 싱글모드라는 표현은 잘못된 듯 하다. 그리고 리얼모드에서도 멀티테스킹이 불가능한 것은 아니므로 싱글모드라고 불리는 것은 이상하다는 겁니다.

밤샘작업을 하면서도 계속 싱글모드가 아니라 뭐라고 했었는데.. 라고 생각하다가 새벽녘에 갑자기 생각이 나서 추가해 적습니다.
(iblue1024) / 08-11-24 12:11/
리얼 모드가 맞습니다. 저도 기억이 가물가물했어 싱글모드라고 했습니다. 풋; 다음에 기회되시면 한번 꼭 보여 주세요. 286에서 멀티테스킹이 가능하게 해 준게 윈도우3.1 인가 아마 그랬을거예요.
  bbteam (ID) / 08-11-23 13:11/ 이댓글에댓글달기
  OS를 공부하고있는 전산학도로써 매우 멋져보이네요 +_+
커널은 어떻게 짜셨는지 궁금하네요. 처음부터 새로 다 설계하신건지...
스케줄링은 어떻게 하신건지도 궁금하고...
아무래도 프로세스와 쓰레드 관리 설계를 어떻게 하셨는지 궁금합니다^^
디바이스 드라이버도 자유자재로 만드실 생각을 하실정도의 미들웨어 프로그래밍 실력에
GUI환경 구성 구현까지 모두 가능한 상태라면...
그걸 한명이 모두 만든다면...
아 한국에서 토발즈 나오는건가요 +_+
저희학교 OS랩에서도 이번에 OS를 하나 만들긴 했는데, 님의 OS가 더 관심이 가네요.
요즘 티맥스에서 나오는 OS도 어떻게 될지 지켜보는 중입니다^^
연세가 어떻게 되시는지는 모르겠습니다만,
매우 뛰어나신 SI인재이신것 같아보여서 존경스럽습니다^^
PM에게 정말 사랑받으실듯 싶어요^^
  valkyrie (ID) valkyrie님의 미디어로그 가기  / 08-11-23 15:59/ 이댓글에댓글달기
  //바라미~^-^
으음...;;; PM에게 사랑받지는 않습니다. 주로 제가 PM을 갈구는 입장인지라...ㅡㅡ;;

아직 완성된 것이 아니고, 이제 겨우 시작하는 입장입니다. 예전 펌웨어 만들던 시절에는 RTOS 종류를 필요에 따라서 만들어 본 적은 있지만 PC용으로 만들어 보는 것은 저도 처음입니다.

생각하시는 것 처럼 거창하게 만든 것은 아니고, 기존의 운영체제론에 맞게 만들고 있는 것도 아닙니다.

커널은 가급적 마이크로커널에 가깝게 구상하고 있습니다.

디바이스 드라이버는 미들웨어라고 보긴 좀 애매한데요...;; 디바이스 드라이버는 솔직히 윈도우 같은 경우가 아니라면 메모리 인터페이스를 제외하면 딱히 만들 부분이 없습니다. 각 장비의 하드웨어적인 스펙에 맞춰서 데이터를 전달할 수만 있으면 되니까요. 그리고 모든 장비들의 드라이버를 만들 생각은 없고, 그냥 제가 사용하는 부품들을 위주로 우선 만들어볼 생각일 뿐입니다.

무엇보다, 언제 완성이 될 지는 저도 모릅니다. 주업이 아니고 업무시간 외에 짬짬히 만드는 것이니까요.

나이는...;;; 좀 있는 편입니다. 72년 생이니까 젊은 나이는 아니지요. 첫직장부터 IT 계열이었기 때문에 경력은 좀 되는 편이네요.
  bbteam (ID) / 08-11-24 19:13/ 이댓글에댓글달기
  PM보다 더 상위 관리자로 계신가봐요. 나이가 적진 않으시니...^^

드라이버 자체를 미들웨어라고 말씀드린건 아니고, 드라이버를 만들기위한 부분들에 미들웨어를 짜는것보단 잘 이해하시는 분일거라는 생각하에 말씀드렸던 부분이니 오해 없으시길 바래요^^;;

취미생활로 이정도 수준의 설계, 코딩을 즐기신다니...
대단하십니다 ㅎㅎㅎ
  vamf12 (ID) / 08-11-24 19:28/ 이댓글에댓글달기
  하려고 하시면 상관 없죠. ^^

문제는 ... 운영체재를 너무 범위를 크게 잡은 느낌입니다. 말씀하신 내용들을 사실 운영체제 하고는 아무런 상관이 없지 않습니까?

딱 윈도우스러운 발상인것 같아서 답답하게 느껴집니다.
말씀하신 모듈화해서 프로그램을 생성하는것... 이건 운영체제가 할일이 아니죠.
그리고 그런 형태는 유닉스의 미니멀리즘하고 일맥 상통하는 것 아닙니까? 유닉스 철학은 아시죠? "하나의 프로그램은 하나의 일만 한다."
쉘스크립트를 통해서 자신의 원하는 일을 하는 프로그램을 뚝딱뚝딱맹글어내는게 유닉스의 철학이죠.
그리고 이것을 GUI용으로 어느정도 구현한게, TK아닙니까?

하나씩 집어보면
2. 파일 관리를 OS에 내장된 DB를 이용하여 관리
-> 유닉스 식으로 말하면 이건 운영체제가 할일이 아닙니다. 파일 시스템쪽으로 생각해야합니다. 윈도우사용자라면 역시 MS에서 해주질 않으니 운영체제를 새로 만들어야 하나? 이런식으로 생각합니다. 유닉스라면 FUSE + 파이썬 + sqlite 로 하나 만들어 볼까? 이렇게 생각할겁니다. OSX에서는 맥 답게 스팟이라트로 구현 해버렸지요.

3. 모듈화된 어플리케이션 - 이건 위에서 도 언급했지만, TCL/TK등으로 구현 되었고, 현대의 유닉스는 GUI자체가 완전 모듈화 되어 있지요. 물론 프로그래머의 관점이긴 합니다만, 이것이 엔드유저단까지 내려오는게 의미가 있을까 의야 합니다. 그리고 더 중요한것은 이건 운영체재가 할일이 아닙니다. 위젯,툴킷의 개념이 엔드유저까지 확장되는 건데, 이건 gtk나 qt처럼 프레임워크로 맹글어야 정답이죠.

4. 3D 유저 인터페이스 - 이것 역시 운영체제가 할일이 아닙니다. 리눅스를 보십시요!

5. 최소한의 하드웨어 지원 - 요건 맘대로 하세요 ^^

말씀하신 내용을 유닉스용으로 개발해서 리눅스/유닉스의 새로운 길을 개척하시겠다... 이러시면 당연히 강력 추천 하겠습니다. 하지만, 위의 내용을 목표로 하는 운영체제를 만드시겠다면, 과감히 반대해드리겠습니다. ㅎㅎ
  lsilver (ID) / 08-11-25 12:07/ 이댓글에댓글달기
  뭘 모르는 소리인 줄 모르겠으나..
제가 생각하는 좋은 OS는 너무 간단한데요..

어떤 괜찮은 프로그램을 쓰려 했더니, 이건 맥용, 저건 윈도용, 요건 리눅스용 등등
멀티부팅으로 리눅스랑 윈도 깔고..
해킨토시로 맥도 깔아보고..

그렇게 하지 않아도 되는 OS가 최고 인 것 같은데..

만약 그게 가능하다면 각 OS에서의 장점 또한 승계가 가능 할 것 같고...

물론 어디까지나 이상적인 생각이었구요.
토론 제시에서 부터 호환 문제는 생각안한다고 하셔서

걍 지나가는 말로 툭~ 던져 보았습니다..^^;
  valkyrie (ID) valkyrie님의 미디어로그 가기  / 08-11-25 12:10/ 이댓글에댓글달기
  //박성민

으음...;;; 말슴하시려는 요지는 알겠습니다만, 저하고는 생각이 다른 부분들이 많아서 좀 당혹스럽네요.

우선, 운영체제라는 것에 대한 기준 자체가 다르다는 생각이 드는군요.

박성민님의 말씀대로라면, 운영체제가 하는 일은 단지 메모리관리와 테스크관리일 뿐이겠네요. 하드웨어의 제어 역시 엄밀하게 따져보면 메모리관리일 뿐이니까요. 파일시스템 역시 운영체제와는 상관이 없다고 하신다면 말입니다.

일반적으로 운영체제라고 하는 윈도우나 맥OS, 리눅스, 유닉스 등등이 기본적으로 메모리관리와 테스크 관리를 기본으로 해서 파일시스템, GUI 등등을 모두 포함하는 개념이 아닌가요? 저도 그런 의미에서 운영체제를 만들어 보겠다고 했던 것이지요. 운영체제의 코어와는 상관이 없는 부분이기는 하지만 크게봐서 운영체제의 일부라고 생각되는 부분들입니다.

모듈화해서 프로그램을 생성하는 것은 운영체제가 할 일이 아니다... 라고 하셨는데, 운영체제 레벨에서 그걸 하고 싶은겁니다. 기본적인 운영체제의 코어 자체가 각각의 모듈들을 관리하는 형태로 만들고 싶은거죠. 이런 식으로 동작하는 운영체제는 아직까지 없었다고 생각하고 있고, 그래서 기존의 유닉스나 리눅스, 윈도우 위에서 동작하는 어플리케이션과는 다르다고 생각합니다.

기존의 운영체제와 동작하는 원리 자체가 다르니 운영체제를 새로 만들겠다는 것이었고요. 이런 구조를 생각한 것은 제가 개발자라서 개발에 최적화된 시스템을 만들고 싶다는 생각 때문이었습니다.

이렇게 기본형태가 다른 운영체제를 만들고자 하다보니, 이를 위해 부가적인 다른 것들이 필요해진 겁니다. 파일시스템도 필요하고, GUI도 필요하고, 개발툴도 필요하고... 핵심 코어만 만들면 운영체제 자체는 완성이라고 할 수도 있겠네요. 하지만 그 운영체제를 사용하기 위해서는 파일시스템이나 다른 부분들도 필요하니까 그것까지 만들겠다는 겁니다.

1번은 지금 설명드린대로 기존의 운영체제와는 다르게 운영체제 코어 레벨에서부터 모듈화 프로그래밍을 지원하는 방식으로 만들고 싶다... 는 얘기였고.

2번은 그런 운영체제를 사용하기 위한 파일시스템을 DB를 이용한 파일시스템으로 만들고 싶다는 겁니다.

3번은 다시 설명드릴 필요가 없겠죠. 운영체제 레벨에서의 지원이라는 것 자체가 다르다고 생각하니까요. TCL/TK나 gtk, Qt등과는 차이가 있다고 생각합니다. 어떻게 생각하면 운영체제 자체가 프레임워크라고 생각해야겠네요.

4번역시... 만들어 놓은 운영체제를 써먹기 위해서 필요한 부분입니다. 운영체제에서의 모듈화된 프로그래밍 지원을 위해서도 필요한 부분이고요. 다른 운영체제의 것을 포팅할 수 있는 레벨이 아니니 새로 만들어야 하는 것일 뿐입니다.

5번은 뭐, 제가 다룰 수 있는 한계가 그정도니 그럴 뿐입니다. 시간과 돈이 무수히 많다면 많은 장비들을 지원할 수도 있겠지만.. .뭐, 그럴 일은 없어보이니 최소한의 하드웨어 지원일 뿐인거죠.

이렇게, 애초에 운영체제를 만들겠다는 생각 자체가 유닉스나 리눅스에서와는 다른 코어의 구성을 하고 싶다... 였기 때문에 유닉스/리눅스 위에서 동작하는 어플리케이션 또는 변종 유닉스/리눅스를 만들 생각은 없습니다.

그리고 완전히 새로운 운영체제를 만들고 싶다는 데에 과감히 반대를 하시는 이유를 잘 모르겠습니다만, 어차피 제 취미생활이고, 남에게 피해를 입히는 취미가 아닌 다음에는 다른 사람의 반대가 있다고 제 취미생활을 포기할 생각은 없습니다. 이 글을 토론 게시판에 쓴 것은 다른이들과의 토론을 통해 제가 몰랐던 기능이나 지식, 정보 등을 얻고 싶어서였지 제가 취미생활로 만들 운영체제를 찬성하느냐 반대하느냐를 결정하려는 의도는 아니었으니까요.
  valkyrie (ID) valkyrie님의 미디어로그 가기  / 08-11-25 12:15/ 이댓글에댓글달기
  //박하구름

그게...;;; 현실적으로 곤란한 부분이 많습니다. 제가 생각하고 있는 운영체제는 기존의 운영체제들 처럼 완성된 바이너리 파일의 형태로 어플리케이션이 구성되는 것이 아니라 어플리케이션의 기능을 모두 운영체제가 가지고 있고, 실제 어플리케이션에는 각 모듈간의 인터페이스만을 정리한 형식으로 되기 때문에 기존의 바이너리 파일들과는 호환이라는 것 자체가 불가능합니다.

일종의 에뮬레이터 같은 형태로 각 운영체제의 실행파일을 구동시키는 것은 가능할 지도 모르겠습니다만, 지금 단계에서는 그럴 계획은 없습니다. ^^;;
  lognleg (ID) / 08-11-29 15:30/ 이댓글에댓글달기
  일단 OS를 개발하시려는 것에 대해 경의를 표합니다.

국내에는 잘 알려져 있지 않지만 Amiga OS를 한번 살펴보실 것을 권합니다.
작고, 고성능 여러가지 장점때문에 속칭 패인을 양산한 OS입니다.
  valkyrie (ID) valkyrie님의 미디어로그 가기  / 08-12-03 3:00/ 이댓글에댓글달기
  //푸른 바다
아미가 OS라... 옛날 제가 고등학교 다니던 시절에 외국에서 살다온 친구가 코모도어 아미가 500이라는 컴퓨터를 사용했었습니다. 당시 아미가 컴퓨터에서 돌린 '드래곤스 레어'라는 게임을 보고 감탄했었던 기억이 나네요. 그 게임은 한참 뒤에야 IBM 호환 PC로 이식이 되었었는데, 그 당시 그 부드러운 애니메이션은 감동이었습니다.

그리고 비디오토스트, 라이트웨이브라는 걸출한 동영상 편집시스템과 3D 프로그램이 기억나네요. 라이트웨이브는 지금까지도 많이 사용되는 3D 툴이고 비디오토스트는 이름을 바꿔서 계속 나오고 있는 것으로 알고 있는데...

아쉽게도 아미가 OS 자체는 그다지 기억에 많이 남지는 않았네요. 파일박스 모양의 폴더 아이콘 밖에 기억이 나질 않아서리...^^;;;

나중에라도 한번 자료를 찾아보겠습니다...^^
  relia (ID) / 08-12-03 19:08/ 이댓글에댓글달기
  OSX 인데 완벽히 게임을 지원하는 운영 체제요 ㅋ
  valkyrie (ID) valkyrie님의 미디어로그 가기  / 08-12-04 2:37/ 이댓글에댓글달기
  //렐르
OSX의 인터페이스에 게임을 완벽하게 지원이라면...;;; OSX에서 윈도우용 게임을 돌릴 수 있는 것을 말씀하시는 건가요??? 대충 비슷한 솔루션을 어디선가 본 듯도 한데요...;;;

하지만...;; 위에도 적었듯이 저는 기존 OS와 호환성을 생각하고 있지 않습니다...;;; 능력이 부족해서요;
로그인 | 이 페이지의 PC버전
Copyright NexGen Research Corp. 2010