2008-09-19 1 views
29

완전히 새로운 운영체제를 만드는 것에 관심을 가지고 있으며이 포럼의 모든 사람들이 듣고 싶은 말을 듣고 싶습니다. 첫째로 그것은 우리가 절대로 전환 할 수 없을 정도로 우리의 삶에 깊이 뿌리 박혀있는 큰 소년들입니다 (와우 - 끔찍한 생각 ...). 그러나 이것이 사실이 아니라면, 운영 체제가 당신을 위해 무엇을해야합니까? 어떤 기능이 가장 중요합니까? 모든 구성 요소가 별도의 설치 (다른 말로하면 기본 OS에는 실제로 사용자 기능이 없어야하고 유연한 도구와 같은 "플러그인"종류를 만들어 추가해야합니까?)새로운 운영체제를 구축한다면 어떤 종류의 기능을 갖게 될까요?

왜 내가 원하는가요? 리눅스와 윈도우즈, 맥 OS X (FreeBSD)가 실제로 가장 많이 사용하는 OS가 실제로 20 년 전에 쓰여졌 기 때문에 (Linux, Windows, Mac OS X (Free BSD)) 실제로 요구 사항이 있는지 궁금하다. 듀얼 코어와 쿼드 코어가 존재하지 않았고, 버스가 훨씬 느리고 하드웨어가 훨씬 비쌌다는 것을 의미합니다 ...), 우리가 다른 무엇인가를한다면 새로운 기술에 궁금해했습니다. ?

귀하의 의견을 읽으 려합니다.

+1

멋진 질문입니다. 왜 멋진 질문들은 모두 건설적인 것이 아닙니까? :/ – HorseloverFat

답변

6

마이크로 대 모 놀리 식 커널에 대한 자세한 내용은 Andrew Tanenbaum과 Linus의 '토론'을 참조하십시오.

5

필자는 적어도 리눅스에서 초기 버전을 보면서 (0.01) 필자의 발을 젖어 두는 것이 좋습니다. 어셈블리를 시작하면서 매우 낮은 수준의 내용을 모호하게 다루기 시작했습니다 (특히 보호 모드, 멀티 태스킹 등). 그리고 예, 아마도 "큰 소년들"이 이미 시장을 궁지에 몰아 넣은 것은 사실입니다. 나는 그것을하지 말라고 말하는 것이 아니지만 리눅스 커널에서 어떤 작업을하는 것이 더 나은 발판이 될 것입니다.

4

OS에는 사용자 기능이 전혀 없어야합니다. 별도의 프로젝트로 사용자 기능을 추가해야하므로 프로젝트가 함께 작동해서는 안됩니다.

사용자 기능에 관심이 있다면 GNOME, KDE 또는 기존 데스크탑 환경 프로젝트에 참여해야합니다.

커널 수준 기능에 관심이 있다면 BSD 파생물이나 Linux에서 해킹을 시도하거나 자신의 시스템을 만들어보십시오.하지만 사용자 기능에 대해서는별로 생각하지 마십시오. 운영 체제의 핵심을 올바르게 얻는 것은 어렵고 오랜 시간이 걸릴 것입니다. 모든 것을 재발견하고 싶지는 않을 것이며 아무 것도 얻을 수 없습니다.

+0

나는 이것이 질문의 요점을 놓치고 있다고 생각한다. 어쨌든, 첫 단락에 관해서, 왜 OS에는 "사용자 기능성"이 없어야합니까? OS 연구에서 꽤 근본적인 아이디어가 나타나고 있습니다. – BobbyShaftoe

23

첫 번째 질문에 답하려면 너무 늦지 않았습니다. 특히 틈새 시장 분야와 같은 것들에 관해서.

두 번째로, 새로운 OS를 만드는 길을 시작하기 전에 그 프로젝트를 이해해야합니다. 거대한 프로젝트가 될 것입니다.

정상적인 프로그래머 인 "가려움증"프로젝트일까요? 그렇다면 꼭 모든 일을 진행하십시오. 일을 통해 많은 것을 배울 수 있습니다. 그러나 결과 제품을 위해 그것을하고 있다면, 개발중인 모든 OS를 살펴볼 때까지 그 경로를 시작해서는 안됩니다 (처음에는 생각했던 것보다 많이 있습니다). 당신은 그걸 바꾸고 싶습니다.

아마도 기존의 오픈 소스 시스템을 개선/변경하는 데 더 많은 노력을 기울일 수 있습니다. 자신 만의 실험을하더라도 이미 개발중인 것으로 시작하면 원하는 결과를 얻는 것이 더 쉬울 수도 있습니다.체크 아웃 CosmosSingularity

+3

사실 그렇게 나쁘지 않습니다. 수십억 달러 규모의 운영체제를 구축하는 것은 대단한 사업 임에는 틀림 없습니다. 그러나 실험적인 OS를 구축하는 것은 그렇게 나쁘지 않습니다. Minix 3은 10,000 라인 미만입니다. – BobbyShaftoe

+0

한 번 "2 시간 안에 OS 구축"이라는 강연에 참석했습니다. 강사는 각 단계를 설명하면서이 시간 동안 OS의 큰 부분을 만들었습니다. 물론이 운영체제는 부팅이 가능했지만 부팅이 가능했습니다. (완전한 공개 : 그는 0 줄의 코드로 시작하지 않았고, 기본적인, 그러나 여전히 작은 구성 요소를 가지고있었습니다.) – keyser

4

이 내가 미래의 운영 체제 ;-) 편집에서 원하는 것을 나타냅니다 SharpOS는 또 다른 OS 노력을 관리합니다. yshuditelu

+0

Cosmos (-t), SharpOS 또한 개발중인 C# 운영 체제입니다. 또한 관리되는 코드 만 사용하려고합니다. –

+0

오타가 수정되었습니다. SharpOS 참고 자료에 대해 감사 드리며 알지 못했습니다. –

+0

Singularity는 훌륭하고 훌륭한 프로젝트라고 생각하지만 운영 체제의 미래라고 확신하지 않습니다. – BobbyShaftoe

15

물리적 인 기계에 직접 OS를 구축하는 이유는 무엇입니까? 당신은 어셈블리 언어로 주위를 비웃을 것이다;). 물론 재미 있지만 VM 용 OS를 다루지 않는 이유는 무엇입니까?

Java/.NET/Parrot (사용자 이름) VM에서 실행되는 운영 체제라고하면 쉽게 인터넷을 통해 전달 될 수 있으며 많은 소프트웨어를 실행할 수 있습니다.

무엇이 포함됩니까?

  • (기존의 FS는 그것을 잘라하지 않습니다) 이러한 프로세스와 상호 작용하기위한 프로세스/스레드 (또는 VM에 의해 제공되는 물건을 납치?)
  • 도구에 대한
  • 모델 데이터를 저장하는 몇 가지 방법

그래서 널리 사용되는 가상 컴퓨터에서 실행할 수있는 간단한 플랫폼을 빌드하십시오. 특정 틈새 시장을위한 멋진 기능을 넣으십시오 (클라우드 컴퓨팅?). 가기!

+1

나는 이것이 심지어 의미가 있다는 것을 확신하지 못한다. – BobbyShaftoe

+4

실제로, 나는 그것이 단지 이해할 수있을 것이라고 생각합니다 : 응용 프로그램을 특정 "상태"의 기계로 생각하십시오. 당신이 그 머신 (OS)을 어떻게 정의 할 수 있고 그것이 어떻게 작동하는지, 그 어플리케이션이 실제 실행되는 것에 대해 걱정하지 않고 여기저기서 확장 될 수 있습니다. –

+2

나에게 의미가 있습니다. – spoulson

2

결론 ... 목표에 중점을두고 더 중요한 것은 다른 사람들의 목표 ... 이러한 요구를 충족시키는 데 도움이됩니다. 단지 기술로 시작하지 마십시오.

나 자신의 운영체제를 만들지 말 것을 권합니다. (제 자신의 괴상한 방해 ... Cloud ComputingAmazon EC2을보십시오.

나는 당신의 목표가 무엇인지를 정의함으로써 처음 도움이된다는 것에 전적으로 동의합니다. 나는 사용자 경험에 대한 열렬한 팬이며 자신의 목표뿐만 아니라 잠재 고객/사용자/다른 사람들의 목표를 생각합니다. 이러한 목표를 얻은 다음이를 충족시키는 방법의 다음 단계로 이동하십시오.

지금 운영 체제 란 무엇입니까? 커널, 운영 체제, 가상 서버 인스턴스, Linux, Windows Server, Windows Home, Ubuntu, AIX, zSeries OS/390 등 나는 이것이 OS의 좋은 정의라고 생각한다.

나는 Sun의 슬로건을 좋아한다. "the Network is the computer" ... 그러나 그들의 회사는 지난 10 년 동안 정말로 타락했다.

네트워크의 그 메모에서 컴퓨터 ... 다시, 나는 매우 Amazon EC2 체크 아웃하고 더 일반적으로 cloud computing 체크 아웃하는 것이 좋습니다.

+0

그러나 "클라우드 컴퓨팅"은 근본적으로 다른 문제입니다. – BobbyShaftoe

2

먼저 기존 OS 구현 프로젝트에 참여하거나 적어도 다른 사람들이 구현 한 것을 살펴볼 수 있습니다.

예를 들어 AROS는 취미 OS로 제작하는 데 약 10 년 이상이 걸렸으며 이제는 여러면에서 매우 유용합니다.

또는 틈새 시장은 어떨까요? Symbio는 4MHz Z80 CPU (Amstrad CPC, MSX)를위한 완벽한 멀티 태스킹 데스크톱 (Windows 스타일) 운영 체제입니다. 어쩌면 당신은 이와 같은 글을 쓰고 싶을 것입니다. 이것은 차세대 운영체제보다 훨씬 적습니다.

1

저는 현재 운영체제가 오래되었다는 것에 대해 당신이 맞다고 생각합니다. 누군가가 모든 운영 체제를 빨아했다. 그리고 네, 문제가 있습니까? BSOD, Sad Mac 또는 Kernel Panic이라고 부르십시오. 우리의 파일 시스템이 실패하면 보안 및 신뢰성 문제가 있습니다.

Microsoft는 Singularity 커널을 사용하여 흥미로운 접근 방식을 추구했습니다. .NET과 비슷한 가상 머신을 사용하여 소프트웨어에서 프로세스를 분리하고 형식 확인 메소드를 분리합니다. 기본적으로 모든 IPC는 프로그램이 실행되기 전에도 공식적으로 지정되고 검증 된 것처럼 보입니다.

그러나 또 다른 문제가 있습니다 - 특이점은 커널입니다. 당신을 위해 설계되지 않은 응용 프로그램을 실행할 수 없습니다. 이것은 엄청난 벌칙입니다. (Singularity는 공개적이지 않습니다. 유사한 기술적 장점을 가지고 있지만 실제 전환 계획 (IPv6 -> IPv6 문제 또는 Windows가 데스크톱에서 얼마나 많은 시장 점유율을 차지하는 지 생각해보십시오.)을 생산할 수 있다면 엄청날 수 있습니다!

그러나 작은을 시작하는 도 나쁜 선택이 아닙니다. 리눅스는 이와 같이 시작되었으며 더 나은 디자인으로 인도하는 경우가 많습니다. 작고 아름답습니다. 변경하기 쉽습니다. 쉽게 자랄 수 있습니다. 어쨌든 행운을 빌어 요!

21

처음에는 조금 이야기합니다. 1992 년, 첫 번째 Win32 (MS Professional Developers Conference가 될 예정) 회의에서 나는 Dave Cutler (수석 디자이너, 대부분의 사람들이 현재 Windows NT로 알고있는 것)와 점심 식사를 같이 할 기회를 가졌습니다. Windows 2000, XP 등).

저는 IBM Boca Raton의 멀티미디어 그룹에서 OS/2를 기억하고있었습니다. 몇 년 동안 OS/2에서 작업하고 OS가 작동하는 곳의 "벽에 글쓰기"를 인식하면서 나는 Dave에게 "Windows NT가 다음 세기로 나아갈 것인가 아니면 다른 아이디어가있을 것인가? 마음? ". 그의 대답은 다음과 같습니다 :

"M ...., Windows NT는 누구도 처음부터 개발할 마지막 운영 체제입니다!". 그러고 나서 그는 나를 보면서 맥주 한 모금 마시 며 "다시 한 번 다음 주 토요일에 소녀와 함께 즐거운 밤을 보내고 깨어나서 운영 체제에 대한 완전히 새로운 접근 방식을 사용할 수 있습니다. 부끄러운 줄 알아. "

대화 내용을 컨텍스트로 바꾸고, 내가 석사 학위 (OS 설계 전문)를 추구하면서 대학에 입학했다는 사실을 고려할 때 새로운 운영 체제를위한 충분한 공간이 있다고 말하고 싶습니다. 문제는 사물을 원근감있게 보는 것입니다. 이 운영 체제의 목표 목표는 무엇입니까? 서비스에 문제가있는 공간은 무엇입니까?

이 모든 것을 원근감있게 살펴보면 달성 가능한 목표에 실제로 도달하고 있는지 여부를 알 수 있습니다.

내가 말했듯이 나는 "Singularity"와 같은 것들을 살펴 보는 것에 대한 초창기의 주석 작성자이다. (내가 지난 봄에 내 수업 중 하나에했던 말의 초점 ....), 또는 정말로 원한다면 초기 단계의 운영체제에 "치아를 침투"시키려면 "ReactOS"를보십시오.

그런데 gOS와 같은 WebOSes는 아마도 향후 10 년 동안 우리가 향하고있는 곳일 것입니다. 또는 다시, 특히 밝은 사람은 숙녀 또는 친구와 함께 특히 유익한 저녁 이후에 일어날 수 있으며 운영 체제에서 "다음 큰 아이디어"를 얻을 수 있습니다.

+0

+1 데이브 커틀러에게! 또한 Singularity가 흥미 롭다는 것에 동의하지만, 너무 주목을받는 것 같아요. – BobbyShaftoe

+0

"M ...."이것은 "marcelo.lopezjr"이 아닐까요? lol –

+0

+1 '그들의 여자 친구 또는 남자 친구와의 결실이있는 저녁'(비록 당신이 당신의 여자 또는 남자 친구와 함께 유익한 저녁을 가질 때 당신이 운영체제에 대해 생각한다면, 당신은 잘못하고있을 것입니다) – HorseloverFat

1

체크 아웃 특이점 프로젝트, 은 항상 기본적으로 신선한 슬레이트하지만 아무것도 운영 체제를 원했습니다

1

혁신적인 뭔가.원하는 사용자 인터페이스, 응용 프로그램을 구축 할 수있는 플러그인 지원 기능을 내장했을 것입니다.

이 시스템은 Lua 샌드 박스와 비슷하게 게임에서 작동 할 수 있으며 제한을 뺀 것입니다. 당신은 당신이 사용할 다양한 서브 시스템에 접근 할 수있는 플러그인이나 모듈 시스템을 만들 수 있습니다. 예를 들어, 웹 브라우저 응용 프로그램을 작성하려면 네트워킹 라이브러리를로드하고 플러그인 스크립트 내에서이를 사용해야합니다. '보안'이 필요하십니까? 라이브러리를로드하십시오.

차이점은 Linux는 운영 체제이지만 그 위에 실행되는 Windows 관리자가 있다는 것입니다. 이 이론적 인 운영 체제에서는 플러그인 시스템 내에서 다양한 창에 대한 일반적인 "모양"과 "느낌"을 구현하거나 사용자 정의 인터페이스를 만들 수 있습니다.

이 Windows의 차이점은 완벽하게 사용자 정의 할 수 있다는 것입니다. 암호화를 전혀 구현하지 않으려는 경우 완전히 할 수 있습니다. 그렇게 할 수도 있고 이미 존재하는 창을 사용자 정의하고 싶다면 다음과 같이 할 수 있습니다. 그렇게. 아무것도 당신에게 닫힙니다.

이 이론적 인 운영 체제에는 플러그인 시스템이있는 OS가 있습니다. 플러그인 시스템은 간단하고 강력한 언어를 사용합니다.

2

새로운 OS를 처음부터 새로 빌드하는 것은 현재의 OS를 닮아가는 것이 시간 낭비라고 생각합니다. 대신, 앞으로 10 년에서 20 년 정도가 될 운영 체제에 대해 생각해야합니다. 나의 직관은 오늘날의 기준으로는 그들이 거의 인식 할 수 없게 만드는 것과 너무 다르다는 것입니다. 미래 OS가 어떻게 운영 될지에 대한 모델은 페이스 북과 같은 프레임 워크를 생각해보십시오.

0

좋은 출발점 인 MINIX로가는 것도 고려해 볼 수 있습니다.

0

이 포럼의 창시자에게, 내 모자는 IT 산업에 관해 훨씬 대담하고 이상적인 용어로 생각하기를 대담하게 표현합니다. 무엇보다 먼저 귀하의 질문은 전 세계의 번성하는 컴퓨터 과학을 바탕으로 훨씬 더 광범위한 청중을 동원해야한다고 생각하는 종류입니다. & 오직 마음과 마음을 얻기 시작한 혁명적 인 Linux OS에 의해 우리에게 가르쳐 준 개방성 그것의 사용자 친화적 인 인터페이스를 강화하는 방법으로 거기 밖으로 너무 많은. 그래서 봉투를 밀고 명성.

내가 올바르게 따라오고 있다면, 우리는 지금까지의 노동의 성과를 감안할 때 더 많은 하드웨어를 개발했다고 가정합니다. & 소프트웨어 조합은 적어도 덜 일반적이었습니다. 물론 그 의미는 새로운 개발이 전형적인 것보다 더 빨리 목표에 도달한다는 것입니다. 그러나 완전히 새로운 OS 시스템의 전망은 리눅스 & Windows 사이에 너무 많은 마찰이 있기 때문에 도전적 일 것입니다. 독점적 이데올로기 인 오픈 소스 & 사이의 전투입니다. 위의 코멘트에서 Bart Roozendaal은 내 요지를 잘 보여줍니다. 혁신에 대한 아이디어를 잊어 버리고 더 현대적인 운영 체제를 기반으로하는 가능성이 무엇이든간에 그러한 것들은 부차적 인 것입니다. 그가 본질적으로 묻는 것은, 당신은 이익의 측면에있을 것인가, 그렇지 않을 것인가? 그는 쉽게 자신의 위치를 ​​멀리 여기에 제공합니다. 아시다시피 Windows는 새로운 시장, 소프트웨어 및 기타 기술에 대한 독점적 인 접근법으로 유명합니다. 창립 이래 헤게모니에 대한 단호함을 유지해 왔으며 슬프게도 윈도우즈 OS는 백도어 인 끝없는 버그 &으로 뒤덮여있다.

다시 말씀 드리지만, 여행을 덜시고 앞으로 나아가고 낙담하지 않기를 바랍니다. 개인적으로 나는 다른 OS를 보려합니다 ... 훨씬 현대적입니다.

1

운영체제에서 무엇을보고 싶은지 묻는다면 목록을 줄 수 있습니다.나는 프로그래밍에 익숙해 져서 이것이 가능할 지 확신 할 수 없지만 내 아이디어를 줄 수 있습니다.

  1. 저는 무선 카드를 작동시키는 데 어려움이없는 개발 된 운영 체제 (주요 것은 제외)를보고 싶습니다. 저것은 나가 시도한 그들의 대부분을 가진 나의 # 1 애완 동물 애 태움이다.

  2. 다른 프로그래머를 위해 프로그래머가 설계 한 운영 체제가 멋지다. 모든 다른 운영 체제 용 프로그램을 실행할 수 있도록하십시오. 윈도우즈와 OSX의 복사본이 없어도 가능한 일인지는 모르지만 모든 운영체제에서 쓰는 프로그램의 호환성을 확인할 수 있다면 정말 멋질 것입니다.

관련 문제