Если бы я должен был создать новую операционную систему, какие функции у нее были бы?

Я играю с идеей создания совершенно новой операционной системы и хотел бы услышать, что все на этом форуме берут на это? Во-первых, слишком поздно, что большие мальчики так укоренились в нашей жизни, что мы никогда не сможем переключаться (вау - какая страшная мысль...). Но если это не так, что для вас должна делать операционная система? Какие функции наиболее важны? Должны ли все компоненты быть отдельными установками (другими словами, если базовая ОС действительно не имеет пользовательских функций и которая добавляется, создавая "плагины" вроде как хороший гибкий инструмент?)

Почему я хочу это сделать... Мне больше любопытно, есть ли спрос, и мне интересно, поскольку ОС, которые мы используем сегодня (Linux, Windows, Mac OS X (Free BSD)), на самом деле написанный более 20 лет назад (и я щедр - я имею в виду, что в то время не существовало двухъядерных и четырехъядерных ядер, автобусы были намного медленнее, оборудование было намного дороже и т.д.), мне было просто любопытно с новым технологии, если мы будем делать что-то по-другому?

Я очень хочу прочитать ваши комментарии.

Ответы

Ответ 1

Чтобы ответить на первый вопрос: никогда не поздно. Особенно, когда речь идет о сегментах рынка ниши и тому подобных вещах.

Во-вторых, прежде чем начинать путь создания новой ОС, вы должны понимать, что это такое: это будет масштабный проект.

Является ли это просто нормальным программистом "поцарапать зуд"? Если это так, то непременно вперед - вы можете многому научиться, делая это. Но если вы делаете это для получаемого продукта, то вы не должны начинать этот путь до тех пор, пока не взглянете на все текущие ОС, находящиеся в разработке (их больше, чем вы думаете поначалу), и выяснили, что вы хотели бы изменить их.

Вполне возможно, что усилия будут лучше потрачены на улучшение/изменение существующей системы с открытым исходным кодом. Даже для ваших собственных экспериментов может быть проще получить желаемые результаты, если вы начнете с чего-то уже в разработке.

Ответ 2

Во-первых, небольшая история. В 1992 году, во время самой первой конференции Win32 (что стало конференцией MS Professional Developers Conference), у меня была возможность посидеть с завтраком с одним мистером Дейвом Катлером (главным архитектором, которого большинство людей теперь будут знать как Windows NT, Windows 2000, XP и т.д.).

В то время я работал в группе мультимедиа в IBM Boca Raton, о чем вы, возможно, помните, OS/2. Работая над OS/2 в течение нескольких лет и узнавая "написание на стене" того, куда идут ОС, я спросил его: "Дэйв, Windows NT собирается взять нас в следующее столетие или есть другие идеи на вашем разум?". Его ответ на меня был следующим:

"M...., Windows NT - последняя операционная система, которая когда-либо будет развиваться с нуля!". Затем он посмотрел на меня, сделал глоток пива и сказал: "Снова, вы можете проснуться в следующую субботу после особенно хорошей ночи с вашей девушкой и иметь совершенно новый подход к операционной системе, Я позову это."

Вводя этот разговор в контекст, и учитывая тот факт, что я вернулся в колледж, преподает магистерскую степень (специализируется на разработке операционных систем), я бы сказал, что ТОНЫ комнаты для новых операционных систем. Дело в том, чтобы вставить вещи в перспективу. Каковы ваши целевые цели для этой операционной системы? Какое проблемное пространство он пытается обслуживать?

Включение этого в перспективу даст вам представление о том, действительно ли вы ориентируетесь на достижимую цель.

Что все сказано, я запомнил более раннюю заметку о том, как смотреть на такие вещи, как "Сингулярность" (в фокусе беседы, которую я дал этому прошлому spring в одном из моих классов....), или если вы действительно хотите "погрузиться в зубы" в ОС в раннем возрасте.... посмотрите на "ReactOS".

И снова WebOSs, например gOS и т.п., вероятно, там, где мы направляемся в течение следующего десятилетия или около того. Или, опять же, кто-то особенно яркий мог проснуться после особенно плодотворного вечера с подругой или парнем, и иметь "следующую большую идею" в операционных системах.

Ответ 3

Зачем строить ОС непосредственно на физической машине? Вы просто будете болтаться на ассемблере;). Конечно, это весело, но почему бы не заняться ОС для виртуальной машины?

Скажите OS, которая работает на виртуальной машине Java/.NET/Parrot (вы называете ее), которая легко может быть передана по сети и может запускать пакет программного обеспечения.

Что это будет включать?

  • Некоторые способы хранения данных (традиционная FS не будет вырезать)
  • Модель для процессов/потоков (или просто захватить материал, предоставленный VM?)
  • Инструменты для взаимодействия с этими процессами и т.д.

Итак, создайте простую платформу, которая может быть выполнена на широко используемой виртуальной машине. Поместите некоторые интересные функции для конкретной ниши (облачные вычисления?). Go!

Ответ 4

Для получения дополнительной информации о микро- или монолитном ядре, посмотрите на обсуждение Линуса с Эндрю Таненбаумом.

Ответ 5

Я бы очень хотел взглянуть на раннюю версию linux (0,01), чтобы хотя бы намочить ноги. Вы собираетесь собираться с сборкой и очень неясными материалами низкого уровня, чтобы даже начать работу (особенно в режиме защиты, многозадачности и т.д.). И да, наверное, правда, что "большие мальчики" уже имеют рынок в углу. Я не говорю вам НЕ делать это, но, возможно, некоторые работы над ядром linux станут лучшим шагом.

Ответ 6

У ОС не должно быть никаких пользовательских функций. Пользовательские функции должны быть добавлены отдельными проектами, что совсем не означает, что проекты не должны работать вместе!

Если вы заинтересованы в функциональности пользователя, возможно, вам стоит изучить участие в существующих проектах Desktop Environment, таких как GNOME, KDE или что-то в этом роде.

Если вы заинтересованы в функциональности на уровне ядра, попробуйте взломать деривацию BSD или Linux, или попробуйте создать свою собственную систему - но не думайте слишком много о функциональности пользователя. Получение ядра операционной системы очень тяжело и займет много времени - желание изобретать все не имеет большого смысла и ни к чему не приведет.

Ответ 7

Отметьте Cosmos и Singularity, они представляют то, что я хочу от футуристической операционной системы;-) Редактировать: SharpOS - еще одна работа с ОС. Предлагается yshuditelu

Ответ 8

Нижняя линия... сосредоточьтесь на своих целях и, что еще важнее, цели других... помогите удовлетворить эти потребности. Никогда не начинайте с просто технологий.

Я бы рекомендовал не создавать свою собственную операционную систему. (Мое собственное придирчивое прерывание... Посмотрите Cloud Computing и Amazon ЕС2)

Я полностью согласен, что сначала это поможет, определив, каковы ваши цели. Я большой поклонник User Experience и думаю не только о ваших собственных целях, но и о целях вашей аудитории/пользователей/других. После того, как у вас есть эти цели, перейдите к следующему шагу, как его выполнить.

Теперь дни, что такое Операционная система, каким-либо образом? Ядро, Операционная система, Экземпляр виртуального сервера, Linux, Windows Server, Windows Home, Ubuntu, AIX, zSeries OS/390 и др. Я думаю, это хорошее определение ОС... Wikipedia

Мне нравится Sun slogan "Сеть - это компьютер" , но их компания действительно упала за последнее десятилетие.

В этой записке Сети есть компьютер... опять же, я очень рекомендую, проверяя Amazon EC2 и в целом облачные вычисления.

Ответ 9

Сначала вы можете присоединиться к существующему проекту реализации ОС или, по крайней мере, взглянуть на то, что другие люди внедрили.

Например, AROS составлял около 10 или более лет в качестве хобби OS и теперь вполне можно использовать во многих отношениях.

Или как насчет чего-то большего? Ознакомьтесь с Symbios, который представляет собой полностью многозадачный рабочий стол (в стиле Windows) - для 4-мегагерцовых Z80-процессоров (Amstrad CPC, MSX). Возможно, вы захотите написать что-то вроде этого, что гораздо менее укуса, чем полная операционная система следующего поколения.

Ответ 10

Я думаю, что создание новой операционной системы с нуля, чтобы она напоминала текущие ОС на рынке, пустая трата времени. Вместо этого вы должны подумать о том, какая операционная система будет через 10-20 лет. Моя интуиция заключается в том, что они будут настолько разными, что в большинстве случаев они будут неузнаваемы по сегодняшним меркам. Подумайте о таких платформах, как Facebook (gasp!) Для моделей того, как будут работать будущие ОС.

Ответ 11

Я думаю, что вы правы в том, что наши текущие операционные системы устарели. Кто-то сказал, что все операционные системы сосут. И да, разве у нас с ними проблемы? Назовите это BSOD, Sad Mac или Kernel Panic. Наши файловые системы не работают, есть проблемы безопасности и надежности.

Microsoft преследовала интересный подход с ядром Singularity. Он изолирует процессы в программном обеспечении, используя виртуальную машину, похожую на .NET, и методы формальной проверки. В принципе, все IPC, как представляется, формально задаются и проверяются, даже до запуска программы.

Но есть и другая проблема - Singularity - это только ядро. Вы не можете запустить приложение, не предназначенное для него. Это огромный штраф, что делает возможный переход (Singularity не является публичным) довольно сложно. Если вам удастся получить что-то из тех же технических преимуществ, но с реальным планом перехода (подумайте о проблемах IPv4- > IPv6 или о том, как Windows получила столько доли рынка на рабочем столе), это может быть огромным!

Но запуск небольшой тоже не является плохим выбором. Linux начался именно так, и есть много случаев, когда это приводит к лучшему дизайну. Маленький красив. Легче изменить. Легче расти. Во всяком случае, удачи!

Ответ 12

проект особенности выписки, сделать что-то революционное

Ответ 13

Я всегда хотел операционную систему, которая была в основном не чем иным, как свежим списком. Он будет иметь встроенную поддержку плагинов, которая позволит вам создавать пользовательский интерфейс, приложения, все, что вам нужно.

Эта система будет работать так же, как песочница Lua, чтобы игра работала, минус ограничения. Вы можете создать систему плагинов или модулей, которая будет иметь доступ к различным подсистемам, которые вы будете использовать. Например, если вы должны написать приложение для веб-браузера, вам нужно будет загрузить сетевую библиотеку и использовать ее в своем плагине script. Нужна "безопасность"? Загрузите библиотеку.

Разница между этим и Linux заключается в том, что Linux - это операционная система, но имеет диспетчер окон, который работает поверх нее. В этой теоретической операционной системе вы сможете реализовать общий "вид" и "почувствовать" множество окон в плагиновой системе или создать пользовательский интерфейс.

Разница между этим и Windows заключается в том, что он полностью настраивается, и я имею в виду, если вы вообще не хотите внедрять криптографию, вы можете это сделать или если вы хотите настроить уже существующее окно, вы можете сделать что. Ничто не закрыто для вас.

В этой теоретической операционной системе есть ОС с плагиновой системой. Система плагинов использует простой и мощный язык.

Ответ 14

Если вы спрашиваете, что я хотел бы видеть в операционной системе, я могу дать вам список. Я просто занимаюсь программированием, поэтому я не уверен, что это возможно, но я могу дать вам свои идеи.

  • Я хотел бы видеть развитую операционную систему (кроме основных), в которой НЕ БОЛЬШЕ, чтобы заставить беспроводную карту работать. Это мое любимое животное №1 с большинством из тех, что я пробовал.

  • Было бы здорово увидеть операционную систему, разработанную программистом для других программистов. У вас есть возможность запускать программы для всех разных операционных систем. Я не знаю, возможно ли это без копии окон и OSX, но было бы действительно здорово, если бы я мог проверить соответствие программ, которые я пишу, со всеми операционными системами.

Ответ 15

Вы также можете рассмотреть возможность перехода с MINIX, что является хорошей отправной точкой.

Ответ 16

Создателю этого форума, мои шляпы для вас, сэр, за то, что они смеют думать более смелыми и идеалистическими терминами в отношении ИТ-индустрии. Прежде всего, ваши вопросы - именно то, что, по вашему мнению, должно привлекать гораздо более широкую аудиторию, учитывая процветающие компьютерные науки во всем мире и открытость, которую нам научила революционная ОС Linux, которая только начала завоевывать сердца и умы из-за того, что они прочно укрепляют свой удобный интерфейс. Так что надобно толкать конверт.

Если я буду следовать правильно, вы полагаете, что с учетом плодов нашего труда до сих пор разработка дополнительных аппаратных и программных вымывок могла бы или, по крайней мере, была бы менее условной. Разумеется, подразумевается, что любое новое развитие достигнет своей цели быстрее, чем типично. Перспектива, однако, совершенно новой системы OS @это время было бы сложным - мягко говоря - только потому, что между Linux и Windows существует так много трений. Это действительно битва между открытым исходным кодом и проприетарными идеологиями. Барт Роузендал в замечании выше подтверждает мою точку приятно. Забудьте о нововведениях и возможностях от более современной операционной системы, поскольку такие вещи являются второстепенными. То, что он задает, по существу, заключается в том, что вы собираетесь быть на стороне прибыли или нет? Он легко отдает свою позицию. Как вы знаете, Windows известна своим монополистическим подходом к новым рынкам, программному обеспечению и другим технологиям. Он сохранил deathgrip от своей гегемонии с момента своего существования, и, к сожалению, окна окутаны бесконечными ошибками и бэкдорами.

Опять же, я приветствую вас за то, что вы путешествуете по дороге, и, надеюсь, вперед вперед и не разочаровываетесь. Лично я хотел бы увидеть еще одну ОС... еще более современную.