OSDev
http://osdev.su/

многоуровневая ось
http://osdev.su/viewtopic.php?f=18&t=341
Страница 2 из 4

Автор:  KIV [ 30 сен 2010, 13:58 ]
Заголовок сообщения:  Re: многоуровневая ось

Написать интерпретатор Perl или JVM в нативном коде не составит особого труда. Да и производительность будет на высоком уровне. А наоборот? Написать на Perl ту же JVM будет сложно, а реализация будет очень сильно тормозить. Так быть может лучше признать стандартным нативный код на котором можно написать всё с максимальной производительностью исполнения? А остальное надстраивать уже над ним. На такой ОС можно решить любую задачу за время минимально возможное для её решения на этом компьютере.

Автор:  iz56 [ 30 сен 2010, 14:41 ]
Заголовок сообщения:  Re: многоуровневая ось

Всё так. Только это сейчас будет тормозить - а по факту нет ни строчки кода.Когда будет первая более-менее функциональная версия - мы будем смотреть на современную технику как сейчас смотрим на 386-ые IBM. Если бы разработчики древнего softa могли знать что их труд потом окажется бесполезным .

Автор:  KIV [ 30 сен 2010, 18:21 ]
Заголовок сообщения:  Re: многоуровневая ось

Допустим, вы рендерите некую 3D картинку за 30 минут. Через несколько лет скорость возросла и вы можете рендерить эту картинку за 1 минуту, но у вас скриптовая ОС и вы всё равно рендерите картинку за 30 минут. Прошло ещё несколько лет и компьютеры могут отрендерить эту картинку за 2 секунды, но вы рендерите её за 1 минуту. Скорость никогда не бывает лишней. К тому же от выноса скриптового движка в ядро существенного увеличения скорости не будет - весь синтаксический разбор выполняется без использования системных вызовов. Как и компиляция JVM. Перенос компонента в ядро позволяет сэкономить на системных вызовах, а перенос в одно адресное пространство - на IPC. Но для компиляции не нужно ни то ни то! Тогда какой смысл лишать ОС гибкости (принуждать всех использовать скрипты вместо нативного кода), если даже прироста производительности не будет?

Автор:  iz56 [ 30 сен 2010, 19:32 ]
Заголовок сообщения:  Re: многоуровневая ось

Если производительность будет развиваться в алгебраической прогрессии - то верно .Через несколько лет 30 минут превратятся в 1. Я надеюсь на геометрическую - тогда то что сейчас 30 будет ничтожно малой величиной. Именно на этом предположении - что мы не можем представить себе компьютеры в будущем - я и полагаю что можно пренебречь скоростью в пользу большей структуризации (упорядочности) для человека и одновременно усложнения устройства оси для техники (аппаратуры). Это усложнение неизбежно как зима после лета.

Автор:  iz56 [ 30 сен 2010, 20:49 ]
Заголовок сообщения:  Re: многоуровневая ось

Текст from :
http://www.dtf.ru/articles/read.php?id=54907

Цитата:
Убеждение, что все просто, не удивительно. Кругом описывают, как легко вы можете сделать свою программу 64-битной и сразу получить прирост производительности и огромный объем доступной памяти. Описывается, как, используя OpenMP, вы легко превратите свой код в параллельный. Кругом статьи, содержащие тезисы в духе «достаточно перекомпилировать приложение», «простой расстановкой директив OpenMP». И на этом празднике жизни я хожу с плакатом, где крупными буквами выведены заголовки статей «20 ловушек переноса Си++ — кода на 64-битную платформу», «32 подводных камня OpenMP при программировании на Си++». При этом я чувствую себя вредным противным старикашкой, который всем недоволен и постоянно на все ворчит. Именно это странное ощущение и сопротивление «евангелистам простоты» и заставило меня задуматься.

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

Это к вопросу выбора простота против скорости.

Автор:  Himik [ 30 сен 2010, 20:56 ]
Заголовок сообщения:  Re: многоуровневая ось

iz56 писал(а):
.Через несколько лет 30 минут превратятся в 1. Я надеюсь на геометрическую - тогда то что сейчас 30 будет ничтожно малой величиной.

Не будет, потому что соотношение производительность/энергозатраты уже подошли к пределу. Увеличение производительности в 30 раз потребует многокиловаттной энергоустановки. Да и вообще, компьютеры стремятся быть миниатюрными, портативными и вообще карманными (Eee, iPad) за счёт производительности. Короче - суперкомпьютеров в кармане, да и на письменном столе не будет долго, так же как летающих тарелок и звездолётов. А ресурсоёмкие задачи плодятся быстро. Будут бустрее компьютеры, появятся и соответствующие задачи, вот в чём проблема всех идеалистов.
Но в принципе, надо смотреть более предметно на существующие языки, потому что большинство из них поддерживает компиляцию в оптимизированный нативный код. Например точно знаю, что MS VBscript и Jscript скрытно копмилируются на запуске в высокооптимизированный код.

Автор:  KIV [ 01 окт 2010, 15:29 ]
Заголовок сообщения:  Re: многоуровневая ось

Я не понимаю зачем пытаться перенести JVM или интерпретатор Perl в ядро? Не будет от этого прироста производительности! Что такое JVM - упрощенно, это программа, которая переводит из байт кода в нативный и передаёт управление на его начало + библиотека функций. При компиляции обращение к системе происходит ровно один раз - прочитать файл с диска и разместить в памяти. Всё. Больше обращений к ядру вполне может и не быть пока готовый код не будет запущен. Значит не будет и прироста производительности. И зачем тогда выносить это в ядро? Особенных улучшений я не вижу. Зато проблемы - есть. Во-первых, производительность ниже. Даже если операция на одной машине происходит за 0.0001 секунды, а на другой за 0.00001, то разница не так уж и незначительна. Как только операцию потребуется выполнить хотя бы 1000 раз. Во-вторых, вы лишаете систему гибкости. На основе микроядра, например, можно построить всё, что угодно. Разве, что операции ввода-вывода могут тормозить. А ваша система будет менее гибкой, но зато более тормозной. Но тогда зачем?

Автор:  iz56 [ 01 окт 2010, 16:31 ]
Заголовок сообщения:  Re: многоуровневая ось

Представим ос в виде пирамиды. На вершине сравнительно маленькое ядро - единственная часть - нативный код.Идём ниже - следующий этаж-уровень и все последующие просто суть прослойки интерфейса на аббсолютно(к этому надо стремиться) не зависимых от аппаратной части (скриптовых) языках. Главное преимущество - наращиваемость. По мере развития система будет усложняться и чудовищно расти в размерах.Но выйгрыш есть - приложения будут работать и через сто лет.Будет меняться только ядро. Во всех существующих системах это нереально.
На сегодняшний день производительных решений хватает на все случаи жизни.К сожалению для меня неприемлемо делать более-менее сложный программный проект зная что скоро это будет отстой. Попробуйте забыть про производительность. Это эксперимент.

Автор:  Himik [ 01 окт 2010, 17:11 ]
Заголовок сообщения:  Re: многоуровневая ось

iz56, действительно, ЯВУ платформы .Net вытесняют низкоуровневые аналоги из некоторых сфер прикладного программирования. Но ошибочно считать, что они подходят под все задачи.

И причём здесь запуск через 100 лет? Любая программа за это время полностью потеряет свою актуальность, потому что выйдут более развитые аналоги. Ты ведь не играешь до сих пор в Doom-1, хотя он и работает. Да и MS Word-1 не найдётся любителей использовать. Но при необходимости можно будет использовать эмулятор, типа DosBox.

Автор:  iz56 [ 01 окт 2010, 21:08 ]
Заголовок сообщения:  Re: многоуровневая ось

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

Страница 2 из 4 Часовой пояс: UTC + 3 часа
Powered by phpBB® Forum Software © phpBB Group
http://www.phpbb.com/