> man operating_systems
Центр информации по операционным системам :: Форумы :: Концепции :: Ядро
 
<< Предыдущая тема | Следующая тема >>
POSIX или свободное плавание? 2b|!2b?
Переход на страницу  1 [2] 3 4 5
Модераторы: Roman I Khimov, Wanderer, Dron
Автор Добавил
nnivanov
Четверг 14.04.2005 18:22

ID пользователя #253
Зарегистрирован: Вторник 29.03.2005 01:18
Местонахождение: Russia, Velikiy Novgorod
Сообщений: 123
2captain cobalt: это как: оси не на осях? Но, кажется, догадываюсь, о чем идет речь. Честное слово, если бы в BIOS Setup был бы шестнадцатеричный редактор для загрузочного сектора, я начал бы в нем писать свою ось.

2Dron: Posix диктует стандарты даже для оболочек. Попробуй ка не реализовать chmod (или chown) должным образом, тебе парни из XPG4 быстро скажут, что это не posix-система. Когда я стал вчитываться в posix, поишел в ужас: там стандартизовано все и вся. Философия posix говорит, мол так нужно для переносимости, однако иногда я думаю, что это путь в никуда. Народу нужны разные операционные системы, а posix делает их одинаковыми.


- Зачем мотоциклу реактивный двигатель?
- Да потому что нам так нравится!
Discovery Channel
Наверх
Сайт
captain cobalt
Четверг 14.04.2005 18:25

ID пользователя #12
Зарегистрирован: Воскресенье 04.07.2004 21:44
Местонахождение: /ru/perm
Сообщений: 144
nnivanov написал(а) ...
2captain cobalt: это как: оси не на осях?
Си - это язык программирования.


bluebottle.ethz.ch - Bluebottle. Швейцария. Сделано с умом.
Наверх
Сайт
Roman I Khimov
Четверг 14.04.2005 20:08

ID пользователя #1
Зарегистрирован: Воскресенье 27.06.2004 12:37
Местонахождение: Санкт-Петербург
Сообщений: 601
nnivanov написал(а) ...
Как вы считаете, может ли операционная система, не соответствующая стандарту POSIX (и никакому другому существующему стандарту) быть полезной?

Однозначно может.

captain cobalt написал(а) ...
Это надо смотреть на оси, которые разработаны не на сях (или ассемблере). Такие существуют.

C != POSIX.

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

Но, на мой взгляд, C и ассемблер должны оставаться в ядре и системном программировании, подход POSIX, который навязывает C как основной язык уже прикладного уровня неправилен. И C++ тут тоже погоды не делает - прикладники по прежнему будут в них ошибаться, потому что для них эти языки дают слишком много возможностей.

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


Греби и улыбайся!
Наверх
Сайт
vilmor
Четверг 14.04.2005 20:12
ID пользователя #140
Зарегистрирован: Пятница 29.10.2004 17:09
Местонахождение: Tomsk, Russia
Сообщений: 35
Dron написал(а) ...
А вот фраза насчет "Запустить POSIX-совместимые приложения"... ребята, это не windows... POSIX он и на PowerPC POSIX... оно может не собраться или не заработать... (или заработать не так как надо)...

Именно это и имелось в виду. Программа просто не соберётся и не запустится, если мы не следуем стандарту.

Dron написал(а) ...
Я считаю что жить без POSIX можно.. да хотя бы в кофеварках! давайте как прикинем чего больше компов или кофеварок?

Ага. Вот хотя бы pSOS+. Используется в микроконтроллерах, и совсем не POSIX

nnivanov написал(а) ...
Было бы весело, наверно, писать компиляторы, линковщики, системные утилиты и проч. исключительно ради нужды (при отсутствии альтернатив). Конечно я понимаю, что всей жизни мало, чтобы воплотить в жизнь такой замысел. Да это никому и не нужно. Но может быть найдется фанатик, который ради изменения интерфейсов на более удобные и практичные, нежели те, что описаны в posix, будет реализовывать все с нуля.

Эх, сначала надо ещё придумать интерфейсы, во всех отношениях лучше POSIX. Работа титаническая, не всякий сможет.

nnivanov написал(а) ...
2Dron: Posix диктует стандарты даже для оболочек. Попробуй ка не реализовать chmod (или chown) должным образом, тебе парни из XPG4 быстро скажут, что это не posix-система. Когда я стал вчитываться в posix, поишел в ужас: там стандартизовано все и вся. Философия posix говорит, мол так нужно для переносимости, однако иногда я думаю, что это путь в никуда. Народу нужны разные операционные системы, а posix делает их одинаковыми.

Вот в cygwin, например, есть chmod, но кто скажет, что этим ущемляется своеобразие Windows, пусть первым бросит в меня камень
Наверх
Сайт
vilmor
Четверг 14.04.2005 20:24
ID пользователя #140
Зарегистрирован: Пятница 29.10.2004 17:09
Местонахождение: Tomsk, Russia
Сообщений: 35
Roman I Khimov написал(а) ...
На мой взгляд, лучше обеспечить свою ОС каким-либо другим [объектным] языком прикладного уровня ("подкрутив" под этот язык ядро) и напрочь забыть про POSIX и все его крайне жесткие положения - хороший стандарт должен охватывать только свою узкую область и давать максимум гибкости в реализациях, а этого POSIX не делает. Определили файл - хорошо, но не надо тут же навязывать его мета-данные, ту самую модель безопасности. Разве не может быть разных моделей безопасности?

Ну, POSIX не навязывает, а предлагает модель безопасности. Но приходится выбирать её, если хочется писать переносимые программы. Потому как другой общепринятой, хорошо зарекомендовавшей себя модели пока что попросту нет.

POSIX не может не навязывать C, поскольку он самый распространённый, а всех языков в таком стандарте всё равно не предусмотришь. К тому же, для других языков есть свои стандарты. В Java - одни, в .NET - другие...
Наверх
Сайт
Roman I Khimov
Четверг 14.04.2005 21:00

ID пользователя #1
Зарегистрирован: Воскресенье 27.06.2004 12:37
Местонахождение: Санкт-Петербург
Сообщений: 601
vilmor написал(а) ...
Эх, сначала надо ещё придумать интерфейсы, во всех отношениях лучше POSIX. Работа титаническая, не всякий сможет.

А может стоит разработать несколько взаимоувязанных стандартов? Вот сетевики же смогли разработать ISO/OSI как максимально гибкую модель взаимодействия и сделать кучу реализаций разных уровней этой модели из которых сами собой отсеялись лучшие! При этом совместимо все, блин! TCP/IP пускай хоть по Ethernet, хоть по Token Ring, хоть по FDDI - он останется TCP/IP.

Должна ли программа знать про UID/GID, девять битов? По-моему, все что ее касается - это имеет она доступ к ресурсу или нет. Если, конечно, эта программа не chmod, которая, естественно, специфична для конкретной модели безопасности. Но когда программа не работает из-за того, что она не видит девять бит - это БАГ! Это не ее дело, сколько там бит на безопасность положено, это плохой стандарт.

vilmor написал(а) ...
К тому же, для других языков есть свои стандарты. В Java - одни, в .NET - другие...

Это логично и правильно, так может быть имеет смысл в Java OS и .NET OS? Первая (Java Desktop System, если не ошибаюсь, зовется) разрабатывается Sun на базе ядра Linux, а Longhorn претендует на звание второй на ядре NT. POSIX? А, ну да, где-то там внутре Linux пробегал, ага... И там же закончился ко всеобщему счастью.


Греби и улыбайся!
Наверх
Сайт
Dron
Четверг 14.04.2005 22:47


ID пользователя #13
Зарегистрирован: Понедельник 05.07.2004 11:16
Местонахождение: Москва
Сообщений: 651
Помоему 9 уровней OSI - это просто некая универсальная абстракция...

А вот насчет 9 бит - это правильно... программу не должно это волновать... доступ либо есть либо нет...

Короче POSIX - давить!

ЗЫЖ динаимческая линковка - тоже круто...

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

Андрей Валяев
Наверх
Сайт
Roman I Khimov
Четверг 14.04.2005 23:04

ID пользователя #1
Зарегистрирован: Воскресенье 27.06.2004 12:37
Местонахождение: Санкт-Петербург
Сообщений: 601
Dron написал(а) ...
Помоему 9 уровней OSI - это просто некая универсальная абстракция...

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


Греби и улыбайся!
Наверх
Сайт
nnivanov
Пятница 15.04.2005 02:19

ID пользователя #253
Зарегистрирован: Вторник 29.03.2005 01:18
Местонахождение: Russia, Velikiy Novgorod
Сообщений: 123
2captain cobalt: извини, невнимательно прочитал, показалось не "на сях", а "на осях"

Придумывать новые стандарты есть дело неблагодарное и неправильное, потому как хороший стандарт требуе времени, ошибок и творческого проектирования. К тому же нет и никогда не будет идеального стандарта. Вот стандарт posix, например, хорош, но не идеален.

Если рассмотреть большинство существующих операционных систем, то можно заметить, что все они (через ядро или через системные программы) предоставляют пользователю одни и те же функции. Среди таких фукнций особо отмечаются многозадачность (в смысле запуск программы в том же или в ином процессе), работа с устройствами и абстракции для хранения данных. Каждая операционная система предоставляет интерфейсы, через которые программа может безопасным (или не очень безопасным) образом воспользоваться функциями операционной системы. В Unix-системах это в основном системные вызовы, в dos - прерывания+порты. И вот теперь самое интересное: чтобы операционная система могла обслуживать программы, она должна иметь СТАНДАРТНЫЕ интерфейсы. Но программа в свою очередь должна пользоваться теми же СТАНДАРТНЫМИ интерфейсами. Программ много (очень много!). И что же получается: операционные системы должны подстраиваться под программы, чтобы каждая из них работала?!

А проблема в том, что сами программы могут портироваться только за спиной у posix-а. Когда разработчик программы пишет, например a = fork(), он сразу же намертво привязывает себя к POSIX. Разработчик считает, что его программа запуститься, поскольку она отвечает posix. Потом смело запускает execXXX(). И поехали... Другой разработчик в windows пишет что-то вроде a = spawn () (не знаю, что там за аргументы нужны, не важно). Этот думает, что его программа запустится, поскольку windows располагает интерфейсом spawn. А пара fork-exec и функция spawn делают одно и то же!

Операционная система, диктующая новый стандарт обречена на гибель! Нужна такая операционная система, которая заставит программистов писать настраиваемые программы. Я говорю про то, что хватит перемешивать реальные алгоритмы с интерфейсами. А ведь перемешивают, а зря! Программист должен сам писать функцию-интерфейс и говорить операционной системе: "Я хочу, чтобы эта функция работала так-то". Это и будет настройкой без всяких там стандартов. Для какой-то операционной системы они будут сложнее, для другой - легче, но программа станет абсолютно кроссплатформенной: добавил один модуль, и вот тебе поддержка новой операцинной системы. А писать в самом коде системные вызовы или функции из системных библиотек (как, например, getopt() или read()) - это дурь! Мало того, это позволит писать РАЗНЫЕ операционные системы, и не бояться, что на них что-то не заработает.

Чтобы реализовать такую концепцию в жизнь, тоже нужно проектирование, но уже не философско-творческое, а математическое.


- Зачем мотоциклу реактивный двигатель?
- Да потому что нам так нравится!
Discovery Channel
Наверх
Сайт
ddc
Пятница 15.04.2005 14:55
Free Software Zealot


ID пользователя #202
Зарегистрирован: Воскресенье 06.02.2005 09:32
Местонахождение: Москва
Сообщений: 189
Моё личное невероятно авторитетное мнение сводится к тому, что POSIX-совместимость - это хорошо для ОС практической направленности, которая должна с завтрашнего дня занять все компьютеры. Но такая ОС не нужна, а для развития системного ПО требуются новые идеи. И такие идеи проще реализовывать без совместимости с POSIX - просто для того, чтобы историческое наследие не портило замысел.

Но это всё, конечно, моё сугубо личное мнение...
Наверх
Переход на страницу  1 [2] 3 4 5  

Перейти:     Наверх

Транслировать сообщения этой темы: rss 0.92 Транслировать сообщения этой темы: rss 2.0 Транслировать сообщения этой темы: RDF
Powered by e107 Forum System

© OSRC.info, 2004-2010.
Авторские права на любые материалы, авторы которых явно указаны, принадлежат их авторам. По вопросам публикации таких материалов обращайтесь к авторам.
Авторские права на любые другие материалы принадлежат OSRC.info.
Сайт является помещением библиотеки. Копирование, сохранение на жестком диске или иной способ сохранения произведений осуществляются пользователями на свой риск.
При использовании материалов сайта ссылка на OSRC.info обязательна.