Pull to refresh

Comments 57

идеальная операционная система - заведомо недостижимая цель
ubuntu 8.04 виртуалки с xp/vista для ms софта, и переход в них для игр ;)
UFO just landed and posted this here
Ты статью вообще прочитал? Коммент вообще не по теме.
UFO just landed and posted this here
UFO just landed and posted this here
"Систему доступа к файлам сделать чуть погибче, чем в юниксах" А это как? :)
3 атрибута "rwx" - этого иногда бывает недостаточно. У себя в сети сталкивался буквально недавно. Надо дать человеку права записи в каталог для добавления файлов. Дать права на конкретный файл на изменение. Но при этом он не должен иметь права удалять данный файл. Решишь это уроавнение стандартными rwx? В реальной жизни бывает и не такое.
Разрешить изменять, но не разрешить удалять??
Да! Например есть программа, которая собирает список железа на компе. Эта программа запускается при входе человека в сеть и записывает все в лог-файл. Работало все нормально, пока не стерли его вручную или в результате сбоя программы. В результате этого у народа при загрузке перестала отрабатывать криво написанная программа. Таких дурных примеров возникает очень много.
Тогда человек или программа могут очистить этот файл или напихать туда мусора. Некошерно.
Нужно или дёргать серверную часть которая уже будет писать в лог или, хотя бы, проверять существование лога перед записью..
Программа была не наша, сторонняя типа astra32 или что то подобное. Она не проверяла наличие файла и если он отсутствовал, то начинались проблемы. Человеку было сложно вычислить этот файл, он находился на скрытой шаре, а настройки программы пользователи не видели. Я понимаю, что способ некошерный, но прога не наша и изменить ее не представляется возможным.
вообще-то есть такая вещь, как примонтирование FS с ALC. И все получается гораздо гибче, чем даже в ntfs
Расскажите, пожалуйста, поподробнее. Очень интересно!
прошу прощения. С ACL. Просто недавно со звуковухой недавно ковырялся, поэтому машинально вписал ALC.
Да не важно. Я понимаю, что можно примонтировать FS в readonly например, но все равно до возможностей ntfs местами не дотягивает. Хотя, если честно, не всегда это и нужно :)
Ваша задача ЭЛЕМЕНТАРНО решается текущими средствами средствами POSIX.
Вот смотрите:
ls -la testdir
dr-xr-xr-x 2 root root 4096 2008-04-09 18:30 .
drwxrwxr-x 13 user user 4096 2008-04-09 18:29 ..
-rw-r--r-- 1 user user 5 2008-04-09 18:31 testfile

запись в файл с привелегиями user происходит без проблем, а удалить или переименовать файл не получится. Проверьте и убедитесь.
Вообще то надо не одному пользователю, а нескольким группам домена. Пожалуйста развейте тему в эту сторону.
Ваши несколько "групп домена" в терминах POSIX выделяются в отдельную группу (скажем speclgrp) и с файлом делается то же самое на уровне группы.
ls -la testdir
dr-xr-xr-x 2 root root 4096 2008-04-09 18:30 .
-r--rw-r-- 1 user speclgrp 5 2008-04-09 18:31 testfile

Работать будет точно так же.
Cферические кони и прямоугольные кошки нервно курят в сторонке...
Полностью подписываюсь под всем вышеизложенным. Но есть некоторые уточнения:
1. ИОС не должна знать, что такое процессор, драйвер видеокарты и пр. Она должна быть железонезависима.
2. Главный принцип файловой системы - распределенность и избыточность. Мои данные должны избыточно храниться одновременно на жестком диске в моем компьютере, в офисном компьютере, на вшитой мне под кожу флешке емкостью ХХХ террабайт и обязательно в марсианском Google-хранилище.
3. Безопасность: мои данные должны шифроваться 128-мегабайтным ключем, сгенерированным на основе уникальности моего генетического кода.

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

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

Сам работаю в Mandriva, Slackware и изредка запускаю бухгалтерскую программу в Win-XP.
>ИОС не должна знать, что такое процессор, драйвер видеокарты и пр. Она должна быть железонезависима.
хммм. ОС всегда была прослойкой между прикладными программами и железом. чем будет заниматься ОС которая ничего не знает о железе и что будет обеспечивать взаимодействие с этим самым железом?
Боюсь железонезависимые оси должны на что то опираться и будет тормозить
железонезависимые оси должны опираться на железозависимые оси ;)
Мне кстати всегда было интересно — вижуал студия через вайн пускается или нет :)
UFO just landed and posted this here
Все так замечательно только на словах — не получится просто взять и сделать новую операционку, да к тому же идеальную. У Лин, Вин, Мак и ко многие годы разработок и до сих пор нет никакого идеала в той или иной форме, только, возможно, для определенных групп людей (я лично для себя нашел и не откажусь ни при каких условиях в данных момент - это Линукс, причем я даже на другой дистрибутив не пересяду с того которым я пользуюсь, какая еще тут ИОС :). Сляпать из нескольких одно - не получится, слишком уж разнятся идеологии. В последнее время я сомневаюсь даже, а нужна ли одна хорошая операционка? Несколько игроков всегда создают полезную конкуренцию, которая заставляет развиваться. А если на рынке монополия, то происходит медленное загнивание. Посудите сами: была майкрософт почти-что-монополистом-в-десктопных-осях, ну и к чему в результате они пришли?
Свойства идеальной системы - это достаточно объективный показатель. А юзабельность - вещь чисто субъективная. Насколько бы не был интуитивным интерфейс, всегда будут люди, которые его не будут понимать. Поэтому я остановился только на технической стороне вопроса.
UFO just landed and posted this here
добавь "только-на-домашних-компах-причем-в России". В связи с антипиратской компанией некоторые компании уже переводят все компы на линукс, в других странах такая ситуация уже давно и там дела мелкософта обстоят гораздо хуже, чем у нас. Причем этот монополизм в последние 2 года начал исчезать, причем количество линуксовых десктопов растет в геометрической прогрессии.
UFO just landed and posted this here
1. Уже не 1%, а 2. :-)
2. Выборка происходит на конкретных серваках. А вы сильно уверены, что пользователи линуксовых машин заинтересуются именно этими серверами? Если снимали статистику на серверах мелкософта, то ситуация вполне объяснима.
3. Прогресс линукса обсуждали в топике. В Китае это официальная операционка для всех государственных учреждений, да и дома у большинства стоит. Вот только у них свой сегмент интернета, к америкосам мало лазят. Куча контор типа бирж, Пентагона и Бундесвера по соображениям безопасности перешли на линукс. Только по соображениям той же безопасности, этот сегмент сети отделен от интернета, поэтому и не учитывается. У меня в банке сделано так же. Я бы оценил общий процент рабочих станций (домашних и рабочих) под линуксом в районе 20%.
UFO just landed and posted this here
Китай - это 1,5-2 миллиарда людей, что составляет практически треть населения. Если это официальная ось, то зная методики продвижения законов в народ, можно быть уверенным, что она стоит на подавляющем большинстве десктопов. Достаточно много контор переводит десктопы на линукс. Да и количество желающих установить его дома растет по экспоненте. Это я вижу даже в своей конторе и среди друзей-знакомых. За границей пиратский софт достать на порядок сложнее и дерут за него очень жестоко. Поэтому там распространение линукса на десктопах идет намного лучше, чем в России. У нас в городе перевели одно отделение пенсионного фонда точно, пару игровых клубов. Не стоит говорить, что в игровых клубах надо запускать достаточно много виндовых игрушек. В эмуляторе под не родной системой они бегают как правило быстрее, чем в винде. Только надежность системы при этом повыше. Линукс уже достиг той стадии, когда можно не бояться его устанавливать. Софта в дистрибутиве идет достаточно. С кодировками проблемы возникают очень редко, да и те решаются запросом к яндексу. У меня дома линукс стоит с нового года как единственная система, работается вполне комфортно. Я бы сравнил это с переходом с жигуля на хорошую иномарку. Иногда возникают вопросы, которые легко решаются, но уровень комфорта возрос на порядок.
Предлагаю развить тему:
Идеальный человек
Идеальное государство

для начала хватит...
Правильный юзер - тот которому не важно какая ОС и ему все ОС идеальные =)
>сравнительную табличку
А ссылка в пустоту.
>должна поддерживать режим работы реального времени.
С чего бы это? Или у всех лишние 100 мс тормозов — катастрофа?
>должна поддерживать все существующие бинарники
Включая 20летние, например, com? Это дело не ОС, а эмуляторов.
>должна иметь модульное и конфигурируемое ядро.
Есть что-то против микроядра? Или против наноядра? Или против того же линуксового ядра, собранного без поддержки модулей?
>Систему доступа к файлам сделать чуть погибче, чем в юниксах и заметно порезать от виндового варианта.
man Posix ACL например
>Для хранения информации о сети нужна служба единого каталога.
Зачем?
>Файловая система должна быть обязательно журналируемой, с возможностью полного восстановления данных
Жкрналируемая ФС — не для гарантии восстановления, а для гарантии выживания ФС, Если делать полную гарантию восстановления, то она будет сильно тормозить.
>Только придумать идеальный протокол и в короткие сроки
Styx?
>В процессорах серии х86 заложено 4 кольца
А в других процессорах?
>Даже попав на уровень драйверов или уровень ядра, вирус все равно должен оставаться на уровень выше системы защиты.
Медленно все это будет. Алсо, managed code — возможное решение. wiki://Inferno или wiki://Singularity.
>Как ни крути, но идеальная система подразумевает полное опенсорсивание всех имеющихся на рынке ОС-ей
Интересно, зачем? Тем более некоторый код нереально открыть вообще.
>Возможно тема получит необходимое развитие и привлечет внимание специалистов
В таком виде?
>опенсорс и есть луч света, указывающий направление в "светлое будущее".
http://www.gnu.org/philosophy/open-sourc… до полного просветления.
ыыы Ты меня опередил, когда начинал писать — еще не было этого комментария %)
Почему этот долбанный хабр урезал ссылку href="http://ru.wikipedia.org/wiki/Сравнение виртуальных машин" до одного слова, я не понял.
ИОС на то и идеальная, чтобы подходить для всех задач. А в некоторых задачах это критично. И зачастую задержки не 100мс, а несколько секунд или десятков секунд. Та же винхрю временами начинает делать непонятно что и тормозить. Память свободна, проц свободен, а система тормозит.

Про бинарники я уже сказал. Эмуляторов полно, поэтому надо включить их в состав системы.

Микроядро не получится в реальных условиях. Это же комп, а не роутер.

Для чего нужна служба единого каталога???????? Ты предлагаешь админить сеть, состоящую из рабочих групп? Да ну на!

"медленно все это будет" Если взять ядро не висты, а юникса, то будет быстро. Тем более большой функционал не нужен, проверка четности и + слежение за памятью.
Память свободна, проц свободен, а система тормозит.
Висит на Disk I/O? :-)
Нет, винтом не дрыгает. Просто загрузка в районе 5%, память занята наполовину, а иногда окна начинают запускаться с изрядной задержкой. Причем это начинается после установки всех хотфиксов.
>Эмуляторов полно, поэтому надо включить их в состав системы.
Все эмуляторы? Многовато будет. Тем более все API включать. Да и x86 — не единственная архитектура.
>Микроядро не получится в реальных условиях.
http://minix3.ru/
>Ты предлагаешь админить сеть, состоящую из рабочих групп?
Не в каждую же инсталляцию включать AD
>И зачастую задержки не 100мс, а несколько секунд или десятков секунд
RealTime — не для того, чтобы избежать таких задержек. Не те масштабы.
>Если взять ядро не висты, а юникса, то будет быстро.
Мда… Ядро Unix-like операционки будет принимать лишние сообщения из другого круга защиты быстрее? libastral поможет убрать лишний обмен сообщениями? Есть только 2 рабочих способа сделать такую защиту: управляемый код (Inferno и подобные ОС) или аппаратная реализация в процессоре. Первый вариант уменьшает требования к процессору, второй увеличивает. Делать проверку драйверов из нулевого кольца можно разве что с микроядром (но теряется смысл в нем) или с тормозами за счет кучи лишних сообщений + проверки памяти. Никакой алгоритм проверки памяти не будет работать мгновенно, независимо от ядра. Проверка четности — не из той оперы вообще, она нужна для проверки работоспособности памяти. Вирусу ничего не стоит пересчитать CRC.
>>Или у всех лишние 100 мс тормозов — катастрофа
Да, катастрофа.
Часто время реакции должно исчисляться единицами миллисекунд.
Должно быть гарантированное время доставки сообщений и других событий.
Например в играх и особенно в приложениях работающих со звуком.
Чтобы в directsound была латентность была меньше 30-40 мс (что очень плохо) нужно извращаться или использовать ASIO / kernel stream, что не всегда возможно.
У меня что w2k что виста (на разном железе) не могут даже звук с микрофона записать без обрывов (core2duo 1.8Ghz).
"Full duplex" работает только с лагом не меньше 1 сек. Руки бы поотрывал.
Ну, такая ОС уже есть. Linux с патчами для мягкого реалтайма здесь работает. 64 studio емнип такое ядро и включает.
ЗЫ: профработа со звукком нужна не всем.
Автор, выдыхай!
Идеальная Операционная Система, далее просто ИОС :-) должна поддерживать режим работы реального времени. В QNX это реализовано, можно за основу брать его ядро и прикручивать все остальное.
Если это для обычных пользователей — то зачем? Системы реального времени работают там, где это необходимо. Так же, как и другие узко специальные инструменты. Вы же не будете лазерным скальпелем чистить картошку?
ИОС должна поддерживать все существующие бинарники под данный процессор, поддерживать порты и сборку из исходников.
ОС ни чего не собирает из исходников, это задача компилятора.
ИОС должна иметь модульное и конфигурируемое ядро. В Линуксе это реализовано, заимствуем оттуда.
Вы таки разберитесь, микроядерную архитектуру qnx или монолитную linux.
Систему доступа к файлам сделать чуть погибче, чем в юниксах и заметно порезать от виндового варианта. Систему принадлежности к группам, взять из винды и подризтовать крупным рашпилем.
Это как? гибкости posix acl хватит?
Для хранения информации о сети нужна служба единого каталога. АД реализована безобразно, поэтому взять ее за основу, выкинуть половину и чуть-чуть доработать что осталось.
Вы когда-нибудь слышали про LDAP и его реализации (акромя AD)
Файловая система должна быть обязательно журналируемой, с возможностью полного восстановления данных при внезапном отключении питания.
Это будет идеальный тормоз. Да и восстановить то, что находилось в кэше, все равно не удастся. Или предлагаете кэш упразднить? :) А рейзер вроде до сих пор в ванильное ядро не включили?
Система безопасности - самый больной вопрос. Взять за основу OpenBSD и накручивать, накручивать, накручивать.
Тчорт, а я всегда думал что безопасность должна происходить из архитектуры, а ни из накрученного чего-то поверх... Накручивать безопасность — это windows-way, сначала сделать чтоб пользователь все мог, а потом наставить фаерволов и антивирусов, чтоб его ограничивать.

Ух... Ну вроде все, я достаточно развил идею?
>Автор, выдыхай!
Не так быстро, пусть еще поштырит.


>Если это для обычных пользователей — то зачем? Системы реального >времени работают там, где это необходимо.
ИОС должна удовлетворять потребности всех

>Так же, как и другие узко специальные инструменты. Вы же не будете >лазерным скальпелем чистить картошку?
Я админ. Ответил на вопрос? Если не понятно, то "ДА, БУДУ!" Ментальность у нас такая, любим хайтек.

>Вы таки разберитесь, микроядерную архитектуру qnx или монолитную linux.
Я вообще то говорил не про монолитную структуру, а про возможность выгрузки части кода в модули.

>Это как? гибкости posix acl хватит?
Почитаю описание, тогда скажу.

>Вы когда-нибудь слышали про LDAP и его реализации (акромя AD)
Слышал. Я потому и сказал, что нужна эта служба, но не такая накрученная, как АД.

>Это будет идеальный тормоз. Да и восстановить то, что находилось в кэше, все равно не удастся. Или предлагаете кэш упразднить? :) А рейзер вроде до сих пор в ванильное ядро не включили?
Кэш упразднять не надо. Надо обеспечить стабильность ФС любыми способами.

>Тчорт, а я всегда думал что безопасность должна происходить из архитектуры, а ни из накрученного чего-то поверх... Накручивать безопасность — это windows-way, сначала сделать чтоб пользователь все мог, а потом наставить фаерволов и антивирусов, чтоб его ограничивать.
Не накладывать сотнями заплатки на дырявую систему, а брать за основу самое защищенное и от него плясать.

>Ух... Ну вроде все, я достаточно развил идею?
Скажем, не развил, а начал углубляться в сказанное выше.
Идеальная операционная система, это такая система, глюками которой можно пренебречь
Ну вот, Идеальная ОС в теории уже есть. Теперь осталось определить к ней Идеального Пользователя =)
итак по порядку:
1. зачем десктопной ОС (ведь "ИОС" будет нацелена исключительно на desktop) real-time kernel?
2. зачем использовать ещё два кольца для защиты от вирусов и т.п. фигни? не лучше ли их оставить для более нужных вещей, например для виртуализации?
3. уж если речь зашла о вирусах, то тогда стоит упоменуть и о пользователях. будет ли root в привычном понимании или же будет аля ms windows или же что-то другое?

Я конечно понимаю рвение изменить мир к лучшему, но скрешивать qnx, linux да ещё и openbsd не самый лучший вариант =)
opensource конечно хорошо, но это не панация от всех болезней

There is no silver bullet (вроде так)
1. Если это Идеальная система, то должна удовлетворять всех.
2. Для защиты использовать не два кольца, а одно. Причем не для "фигни", а для защиты системы от вторжений. Виртуализация вполне неплохо бегает и на существующих кольцах.
3. Суперпользователь должен обладать правами на изменение системных файлов. При этом он не должен иметь возможности получать права системы, что в винде не составляет никакой сложности.

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

1. Windows, OS X, Linux и другие мейнстримовые ОС писались тысячами людей на протяжении многих лет. В них вложены тысячи человеко-лет и никто не сможет сделать новую революционную ОС их уровня за гораздо меньший срок.

2. Open-source далеко не панацея и не способствует созданию идеальной ОС.

3. Про остальное уже писали, повторяться не буду.

Если и будет идеальная ОС, то это будет Матрица.


----
The Matrix has you....
Чуть выше написал. Не надо писать революционную ОС с нуля, достаточно взять лучшие алгоритмы и собрать их вместе. Чтобы это сделать, нужно иметь доступ к исходникам этих реализаций.
UFO just landed and posted this here
Sign up to leave a comment.

Articles