Предлагаю сделать ОС целиком на managed code, кроме ядра.
Уже есть 3 желающих поучаствовать.
пишите на anton.baula at gmail.com
PS кулхацкеров, крутых программеров, а также с предложениями быстро сделать всё на php, или с комментариями — "да вы что в php уже это реализовано" — не беспокоить.
The whole problem with the world is that fools and fanatics are always so certain of themselves, but wiser people so full of doubts.
Bertrand Russell (c)
Здравствуйте, Муравей, Вы писали:
М>PS кулхацкеров, крутых программеров, а также с предложениями быстро сделать всё на php, или с комментариями — "да вы что в php уже это реализовано" — не беспокоить.
Здравствуйте, Amon-RA, Вы писали:
AR>Здравствуйте, Муравей, Вы писали:
М>>PS кулхацкеров, крутых программеров, а также с предложениями быстро сделать всё на php, или с комментариями — "да вы что в php уже это реализовано" — не беспокоить.
AR>Только один вопрос — а зачем?
Концепция в принципе есть, в голове.
Если считаешь это бесполезным — то никто никого не заставляет.
The whole problem with the world is that fools and fanatics are always so certain of themselves, but wiser people so full of doubts.
Bertrand Russell (c)
Здравствуйте, Amon-RA, Вы писали:
AR>Здравствуйте, Муравей, Вы писали:
М>>Концепция в принципе есть, в голове. М>>Если считаешь это бесполезным — то никто никого не заставляет.
AR>"Бесполезно"-от слова "польза". Нет, безусловно, все, кто будут в этом участвовать, наберуться бесценного опыта.
AR>Я имел ввиду другое — кому это надо? AR>И вроде даже у МелкоМягких руки опустились
С чего бы это у них руки опустились?
The whole problem with the world is that fools and fanatics are always so certain of themselves, but wiser people so full of doubts.
Bertrand Russell (c)
The primary goal of Singularity research is to move as many sources of unreliability and their
mitigation as far to the left as possible on the time axis. For example, moving the detection and
correction of incorrect DLL binding from load time and run time to install time would eliminate “DLL
Hell”. Uniform visibility into system configuration and other system metadata extends the reach of
analysis tools to improve system behavior for dependability.
Это скорее не ОС а средство создания оптимизированной ОС из существующих компонентов ОС.
Поправте если я не прав.
The whole problem with the world is that fools and fanatics are always so certain of themselves, but wiser people so full of doubts.
Bertrand Russell (c)
Здравствуйте, Муравей, Вы писали:
М>Это скорее не ОС а средство создания оптимизированной ОС из существующих компонентов ОС. М>Поправте если я не прав.
Не прав. Вобще не пойму откуда ты взял про существующие компоненты.
Здравствуйте, AndrewVK, Вы писали:
AVK>Здравствуйте, Муравей, Вы писали:
М>>Это скорее не ОС а средство создания оптимизированной ОС из существующих компонентов ОС. М>>Поправте если я не прав.
AVK>Не прав. Вобще не пойму откуда ты взял про существующие компоненты.
Тогда может объяснишь и не будем играть в разведчиков и военную тайну?
The whole problem with the world is that fools and fanatics are always so certain of themselves, but wiser people so full of doubts.
Bertrand Russell (c)
Здравствуйте, Муравей, Вы писали:
AVK>>Не прав. Вобще не пойму откуда ты взял про существующие компоненты.
М>Тогда может объяснишь и не будем играть в разведчиков и военную тайну?
А я тут при чем? Скачай презентацию, почитай. Кликни по ссылке в самом начале на форум, там есть часовой ролик.
Здравствуйте, sbazz, Вы писали:
S>Про архитектуру .NET читали?
S>Windows -> .NET -> apps
S>У Вас получается:
S>Windows -> .NET -> <Ваша ОС > -> apps
S>Т.е. не ось а надстройка над .NET..
У нас получается — x86 kernel + MSIL to x86 compiler -> .NET Framework -> apps
The whole problem with the world is that fools and fanatics are always so certain of themselves, but wiser people so full of doubts.
Bertrand Russell (c)
Здравствуйте, Муравей, Вы писали:
М>Это скорее не ОС а средство создания оптимизированной ОС из существующих компонентов ОС. М>Поправте если я не прав.
Немного не прав. Не оптимизируемой, а полностью самоописываемой, верифицируемой и безопасной. То же самое касается любых прикладных компонент.
Вот какие ты ставишь цели перед собой, пытаясь написать OC на .Net? — "Чиста чтобы на дотнете все"? Т.е., основная задача — что бы хоть как-то заработала приведеная связка: драйвер ядра x86 -> JIT -> .Net OC -> .Net APPs...
Не сомневаюсь, что заработает, ибо полно самописных миниядер ОС как раз под 86-е, да и исходников JIT-а уже несколько в наличии.
Ну это... скажем так, нулевой уровень целей и задач. Смысл во всем этом какой? Какие бенефиты мы получим в обмен на многокрастно возросшие требования к той же памяти. (сможете организовать маппинг загруженного JIT-кода м/у процессами?, типа как DLL? там не просто все выходит, учитывая по-методный пре-джит)
Т.е. тот же проект от MS ставит перед собой вполне бенефитные задачи:
1. решение всех проблем всех существующих ОС
2. возведение безопасности в абсолютный уровень
3. абсолютная портабельность кода ОС м/у желзками
4. и, как главный приз, удержание своих ОС на пьедестале
-----------
А насчет твоего. Подобные проекты всегда поучительны, не спорю. Особенно для студентов или вчерашних студентов. Другие цели у проекта есть?
Мы все как извечтно критики опупенные. Как говориться — лучшие футболисты сидят на заборе (трибунах).
Далее я буду стараться отвечая на ваши "вопросы" придерживаться практической точки зрения — оставим маркетинговые слоганы вне беседы.
V>Здравствуйте, Муравей, Вы писали:
М>>Это скорее не ОС а средство создания оптимизированной ОС из существующих компонентов ОС. М>>Поправте если я не прав.
V>Немного не прав. Не оптимизируемой, а полностью самоописываемой, верифицируемой и безопасной. То же самое касается любых прикладных компонент.
Самоописываемость системы — помогает при установке ПО определить автоматически его совместимость с данной версией ОС. Используется механизм Reflection.
Верефикация кода — перед выполнением кода можно проверить есть ли права у данного пользователя на выполнение данной операции.
Используется MSIL to x86 compiler (JIT).
Используется механизм Reflection.
V>Вот какие ты ставишь цели перед собой, пытаясь написать OC на .Net? — "Чиста чтобы на дотнете все"? Т.е., основная задача — что бы хоть как-то заработала приведеная связка: драйвер ядра x86 -> JIT -> .Net OC -> .Net APPs...
Да, ты угадал, чтобА чистА нА датнете нА!
Это только первый шаг. Дело в том, что имея такое ядро можно уже приделывать то, что написано выше.
Я понимаю что такое итерационный процесс создания ПО, а вы с RUP знакомы? Советую почитать, может пригодиться.
V>Не сомневаюсь, что заработает, ибо полно самописных миниядер ОС как раз под 86-е, да и исходников JIT-а уже несколько в наличии.
Я тоже не сомневаюсь.
V>Ну это... скажем так, нулевой уровень целей и задач. Смысл во всем этом какой? Какие бенефиты мы получим в обмен на многокрастно возросшие требования к той же памяти. (сможете организовать маппинг загруженного JIT-кода м/у процессами?, типа как DLL? там не просто все выходит, учитывая по-методный пре-джит)
Я понимаю, большинству нулевой уровень задач неинтересен, и более того даже оскорбителен — вспомним поговорки
1) пусть негры вкалывают
2) работайте негры солнце ещё высоко
и т.д.
Хочеться сразу всего, много и сейчас, на меньшее не согласны?
Извените я не волшебник.
Смысл для каждого свой — кому-то интересно в ядрях ОС разобраться, кому-то в компиляторах, кому-то интересно время сэкономить на обслуживании сетей, кому-то диссертацию написать, кому-то денег заработать, кому-то спортом заняться.
Насчёт многократного возросших требований к памяти, это ты как определил, у тебя есть уже работающий прототип? Расскажи, покажи — просим.
Да маппинг, типа как DLL, это не ноу-хау? Жаль, родиться нужно было лет этак 40 назад — был бы крутым (изобрёл бы DLL), а сейчас жизнь не имеет смысла..
Кстати — насчёт того что там всё не просто — я могу конечно ответить — сам дурак, но забанят (хотя мне всё равно), суть в том, что хамамов я воспитывать не нанимался, так что не траттье время впустую товарищь — давайте лучше проект забабахаем — всё пользы и удовольствия больше!
V>Т.е. тот же проект от MS ставит перед собой вполне бенефитные задачи: V>1. решение всех проблем всех существующих ОС
Ой.
V>2. возведение безопасности в абсолютный уровень
Оййойой!!!
V>4. и, как главный приз, удержание своих ОС на пьедестале
МаааамАААА!!!
V>----------- V>А насчет твоего. Подобные проекты всегда поучительны, не спорю. Особенно для студентов или вчерашних студентов. Другие цели у проекта есть?
Другая цель у проекта это дать возможность высказаться начинающим критикам.
The whole problem with the world is that fools and fanatics are always so certain of themselves, but wiser people so full of doubts.
Bertrand Russell (c)
Здравствуйте, Муравей, Вы писали:
М>Предлагаю сделать ОС целиком на managed code, кроме ядра.
Просто так проходил мимо, решил спросить.
А почему бы вам не использовать связку Linux kernel (FreeBSD/OpenBSD) -> JIT -> ОС? Это сэкономит кучу времени и сделает вашу цель более выполнимой.
Здравствуйте, esil, Вы писали:
E>Здравствуйте, Муравей, Вы писали:
М>>Предлагаю сделать ОС целиком на managed code, кроме ядра.
E>Просто так проходил мимо, решил спросить. E>А почему бы вам не использовать связку Linux kernel (FreeBSD/OpenBSD) -> JIT -> ОС? Это сэкономит кучу времени и сделает вашу цель более выполнимой.
Захожу сюда часто, поэтому решил ответить.
Так и предпологается делать делать.
The whole problem with the world is that fools and fanatics are always so certain of themselves, but wiser people so full of doubts.
Bertrand Russell (c)
Здравствуйте, Муравей, Вы писали:
М>Предлагаю сделать ОС целиком на managed code, кроме ядра. М>Уже есть 3 желающих поучаствовать.
М>пишите на anton.baula at gmail.com
М>PS кулхацкеров, крутых программеров, а также с предложениями быстро сделать всё на php, или с комментариями — "да вы что в php уже это реализовано" — не беспокоить.
Здравствуйте, Муравей, Вы писали:
М>Мы все как извечтно критики опупенные. Как говориться — лучшие футболисты сидят на заборе (трибунах). М>Да, ты угадал, чтобА чистА нА датнете нА! М>Ой. М>Ай! М>Оййойой!!! М>МаааамАААА!!!
Давай договоримся, ты будешь контролировать свои ораторские способности, а я не буду тестировать на твоём аккаунте работоспособрность кнопки бана. Ok?
Кнопка бана, это такой линк в профайле каждого посетителя, доступный модераторам. При нажатии на этот линк модератор попадает на страничку, которая по умолчанию предлагает забанить подопечного пожизненно. Обычно модераторы находят в себе силы изменить меру пресечения, но некоторые, самые ленивые... сам понимаешь.
... << RSDN@Home 1.2.0 alpha rev. 0>>
Если нам не помогут, то мы тоже никого не пощадим.
Здравствуйте, Муравей, Вы писали:
М>>>Это скорее не ОС а средство создания оптимизированной ОС из существующих компонентов ОС. М>>>Поправте если я не прав.
AVK>>Не прав.
М>Тогда может объяснишь?
Насколько я понял из их презенташки, они именно ядро ОС в managed коде делают. Причём всё, что только можно — в safe managed. Кстати, в Европе у немцев есть аналогичный проект на Яве. К сожалению, ссылки под рукой нет, если погуглишь — сам найдёшь. У них уже в стадии выложенных демо-флопов, доступных для скачивания. Иногда даже запускается Что интересно, спонсирует это дело SIEMENS (не последний игрок в промышленной автоматизации, их контроллеры для hard real-time очень даже популярны)
Здравствуйте, Муравей, Вы писали:
E>>Просто так проходил мимо, решил спросить. E>>А почему бы вам не использовать связку Linux kernel (FreeBSD/OpenBSD) -> JIT -> ОС?
М>Так и предпологается делать делать.
subj.
PS. Не обращай внимания на злобные наезды, делай! Только так интересные вещи и появляются. И желаю удачи.
Здравствуйте, Adopt, Вы писали:
A>Здравствуйте, Муравей, Вы писали:
М>>Предлагаю сделать ОС целиком на managed code, кроме ядра. М>>Уже есть 3 желающих поучаствовать.
М>>пишите на anton.baula at gmail.com
М>>PS кулхацкеров, крутых программеров, а также с предложениями быстро сделать всё на php, или с комментариями — "да вы что в php уже это реализовано" — не беспокоить.
A>А давайте назовем новую ось A>"Русская Ось"?
Проблема в том то и состоит, что "самородков" хватает, типа там стратегию определить, название придумать, даже могут 3 месяца спорить какую эмблему для проекта выбрать, а вот сесть и код писать, увольте — это не престижно.
На днях искал freelancer-ов для создания сайта, 90% начинают переговоры с вопроса "а скока денег?", при этом даже не интересовались, что именно предстоит делать, остальные "спецы" слово cms считают ругательным и "предпочитают использовать свои наработки", при этом на задачу максимум требующую 2 недели, просят 2 месяца и 2 килобакса, при этом говорят "за меньшую сумму даже пальцем не пошевелю" — прям Клава Шифер — супермодель.
Так что хочет участвовать и понимает перспективы — милости просим.
The whole problem with the world is that fools and fanatics are always so certain of themselves, but wiser people so full of doubts.
Bertrand Russell (c)
Здравствуйте, SilverCloud, Вы писали:
SC>Здравствуйте, Муравей, Вы писали:
E>>>Просто так проходил мимо, решил спросить. E>>>А почему бы вам не использовать связку Linux kernel (FreeBSD/OpenBSD) -> JIT -> ОС?
М>>Так и предпологается делать делать.
SC>subj.
SC>PS. Не обращай внимания на злобные наезды, делай! Только так интересные вещи и появляются. И желаю удачи.
Вообщето моно это портированная .net на Linux API.
Спасибо.
The whole problem with the world is that fools and fanatics are always so certain of themselves, but wiser people so full of doubts.
Bertrand Russell (c)
Здравствуйте, Sheridan, Вы писали:
S>Здравствуйте, Муравей, Вы писали:
М>>У нас получается — x86 kernel + MSIL to x86 compiler -> .NET Framework -> apps
S>kernel 2.6.13 ? S>
А по чему смешно?
The whole problem with the world is that fools and fanatics are always so certain of themselves, but wiser people so full of doubts.
Bertrand Russell (c)
ОС на .Net
От:
Аноним
Дата:
20.10.05 11:31
Оценка:
Не совсем согласен, получается
Our kernel -> .NET -> OS -> ...
только вот сначала надо написать Our Kernel и CLR для него ну что же удачи. Был у меня знакомый который свою ОС хотел написать, не вышло
Здравствуйте, reznikovanton, Вы писали:
R>Не совсем согласен, получается R>Our kernel -> .NET -> OS -> ... R>только вот сначала надо написать Our Kernel и CLR для него ну что же удачи. Был у меня знакомый который свою ОС хотел написать, не вышло
Плохие у тебя знакомые
Знакомых надо тщательнее выбирать
The whole problem with the world is that fools and fanatics are always so certain of themselves, but wiser people so full of doubts.
Bertrand Russell (c)
Здравствуйте, Amon-RA, Вы писали:
AR>Здравствуйте, Муравей, Вы писали:
М>>PS кулхацкеров, крутых программеров, а также с предложениями быстро сделать всё на php, или с комментариями — "да вы что в php уже это реализовано" — не беспокоить.
AR>Только один вопрос — а зачем?
Именно поэтому крутых программеров просят не беспокоить.
Здравствуйте, SilverCloud, Вы писали:
SC>Здравствуйте, Муравей, Вы писали:
E>>>Просто так проходил мимо, решил спросить. E>>>А почему бы вам не использовать связку Linux kernel (FreeBSD/OpenBSD) -> JIT -> ОС?
М>>Так и предпологается делать делать.
SC>subj.
SC>PS. Не обращай внимания на злобные наезды, делай! Только так интересные вещи и появляются. И желаю удачи.
Интересные идеи делаются только когда поставлены чёткие задачи и твёрдо придерживаются плана их исполнения всё остальное как раз бравада кульных програмеров. Перечитав топик ,до сих пор непонятно, какова цель, чтоб .NET, что конкретное имеется ввиду, каких целей предполагается достичь, всё єто немаловажные вопросы, а так будет ещё один проэкт на sf.net в стадиии alpha-pre-release и куча времени непонятно на что угробланого.
М>Проблема в том то и состоит, что "самородков" хватает, типа там стратегию определить, название придумать, даже могут 3 месяца спорить какую эмблему для проекта выбрать, а вот сесть и код писать, увольте — это не престижно.
Прежде чем код писать нужно как-раз стратегию определить, а от вас конкретики чего предпологается достичь и что это даст ровно 0.0%
М>На днях искал freelancer-ов для создания сайта, 90% начинают переговоры с вопроса "а скока денег?"
Нормальный вопрос, а что вам в нём не нравится, любая работа должна быть оплачена, а то что вам обращались не те люди, так может вы не там их искали.
М>Так что хочет участвовать и понимает перспективы — милости просим.
По описанию проэкта к вам как раз "самородки" и попрут, так как я уж лучше к Hard приобщусь.
Если придерживать RUP. Сначало необходимо сформулировать систему требований и постоить Business Use-Case Model
Из всех постов не ясно, что необходимо от данной системы.
Здравствуйте, Radmir, Вы писали:
R>Если придерживать RUP. Сначало необходимо сформулировать систему требований и постоить Business Use-Case Model R>Из всех постов не ясно, что необходимо от данной системы.
Господа, я же упоминал о призах таокй системы. Другое дело оценить их может только тот кто неплохо понимает проблематику работы ядра ОС. Ещё раз перечисляю — полностью изолированное адресное пространство процессов не за счёт маппинга, а за счёт safe кода (MSIL) следствие выигрых в производительности, также исполнение кода ядра в процессе приложения — выигрыш в производительности опять же налицо. Запрещается unsafe код — чем повышается безопасность системы. Мутируемое ядро перекомпилируемое для каждой конфигурации оборудования в реалтайм, опять же JIT компиляция исполняемого кода и его разделение между процессами- экономия ресурсов и памяти.
Также следующие дополнительные возможности как полная рефлексия системы позволяющая определять совместимость программных продуктов автоматически используя средства системы (самому писать уже не придётся).
Мало?
The whole problem with the world is that fools and fanatics are always so certain of themselves, but wiser people so full of doubts.
Bertrand Russell (c)
Здравствуйте, Stoune, Вы писали:
S>Здравствуйте, Муравей, Вы писали:
М>>Проблема в том то и состоит, что "самородков" хватает, типа там стратегию определить, название придумать, даже могут 3 месяца спорить какую эмблему для проекта выбрать, а вот сесть и код писать, увольте — это не престижно.
S>Прежде чем код писать нужно как-раз стратегию определить, а от вас конкретики чего предпологается достичь и что это даст ровно 0.0%
На этом проекте рядовые исполнители (ямокопатели) не нужны.
М>>На днях искал freelancer-ов для создания сайта, 90% начинают переговоры с вопроса "а скока денег?" S>Нормальный вопрос, а что вам в нём не нравится, любая работа должна быть оплачена, а то что вам обращались не те люди, так может вы не там их искали.
Прежде чем работа будет оплачена она должна быть сделана согласно задания, а вот как доверить такую ответственность человеку, знакомство с которым начинается с фразы — "скока денег".
М>>Так что хочет участвовать и понимает перспективы — милости просим. S>По описанию проэкта к вам как раз "самородки" и попрут, так как я уж лучше к Hard приобщусь.
"Самородки" не требуются. Нужны зрелые специалисты, понимающие, что можно получить от данного проекта для себя — за уши никого тянуть не намерен, не тянешь — извини, такой у меня принцип.
The whole problem with the world is that fools and fanatics are always so certain of themselves, but wiser people so full of doubts.
Bertrand Russell (c)
Здравствуйте, Муравей, Вы писали: S>>Здравствуйте, Муравей, Вы писали:
S>>Прежде чем код писать нужно как-раз стратегию определить, а от вас конкретики чего предпологается достичь и что это даст ровно 0.0% М>На этом проекте рядовые исполнители (ямокопатели) не нужны.
Что ж, а не рядовым нужна "изюминка", просто так они работать с вами не станут.
М>Прежде чем работа будет оплачена она должна быть сделана согласно задания, а вот как доверить такую ответственность человеку, знакомство с которым начинается с фразы — "скока денег".
Я ж говорю вы не там их ищете. На том же rentacoder.com вы получите квалифицырованую помощь, но опять же при условии чёткой оговорённости всех условий.
М>>>Так что хочет участвовать и понимает перспективы — милости просим. S>>По описанию проэкта к вам как раз "самородки" и попрут, так как я уж лучше к Hard приобщусь.
М>"Самородки" не требуются. Нужны зрелые специалисты, понимающие, что можно получить от данного проекта для себя — за уши никого тянуть не намерен, не тянешь — извини, такой у меня принцип.
Ну если конкретно обо мне речь, то мне проэкт не интересен сам по себе, своё время я ценю, никаких реальных преимуществ он не предлагет. Я думаю могу лучше потратить своё свободное время, чем заниматся тем что не имеет перспектив даже добратся до какого-то осмысленого результата.
Я бы поучаствовал не в написании ОС, а в написании сервера приложений для managed-кода с распределенным выполнением самих приложений.
Собственно это может стать началом разработки ОС
Здравствуйте, prima_lux, Вы писали:
_>Здравствуйте, Муравей, Вы писали:
_>Я бы поучаствовал не в написании ОС, а в написании сервера приложений для managed-кода с распределенным выполнением самих приложений. _>Собственно это может стать началом разработки ОС
Это предполагается следующим эволюционным этапом. А пока на первый этап нужны ресурсы.
The whole problem with the world is that fools and fanatics are always so certain of themselves, but wiser people so full of doubts.
Bertrand Russell (c)
Здравствуйте, Муравей, Вы писали:
М>Предлагаю сделать ОС целиком на managed code, кроме ядра.
У меня та же самая идея, я довольно давно думаю как это сделать.
Только есть некоторые проблемы, которые надо решить до написания ОС.
Во-первых, писать ОС с нуля нереально, значит надо где-то взять готовый код, плюс надо его взять так,
чтобы тебя потом никто не засудил. С этой точки зрения лицензия GNU абсолютно бесполезна, и мне гораздо более
симпатична лицензия BSD, которая не запрещает закрывать код. За основу я решил взять NetBSD и интегрировать в ядро
поддержку .NET. Только вот с исходниками mono проблем куда больше — сегодня ты их используешь — завтра тебя
таскают по судам.
Во-вторых, что делать с драйверами? На каком коде писать драйвера? Делать их модулями ядра? Тогда тоже придется писать
их на неуправляемом коде.
Во-третьих, что делать с графикой? mono сейчас работает через glib, который использует xlib и так далее. Если делать в ядре
поддержку .NET, то куда девать графическую систему? Писать поддержку WinForms под Иксы или графику в ядро интегрировать? ИМХО, это слабореализуемо, механизм работы непонятен.
И наконец, объем работы нереальный. Некоммерческий проект такого не потянет, это очевидно.
З.Ы. Я бы поучаствовал, но свободного времени просто нет.
Здравствуйте, Муравей, Вы писали:
М>Здравствуйте, Radmir, Вы писали:
R>>Если придерживать RUP. Сначало необходимо сформулировать систему требований и постоить Business Use-Case Model R>>Из всех постов не ясно, что необходимо от данной системы.
М>Господа, я же упоминал о призах таокй системы. Другое дело оценить их может только тот кто неплохо понимает проблематику работы ядра ОС. Ещё раз перечисляю — полностью изолированное адресное пространство процессов не за счёт маппинга, а за счёт safe кода (MSIL) следствие выигрых в производительности...
Это меня еще в Сингулярити насторожило. Ты решил пойти этим же путем??? Сколько всего виртуальной памяти будет доступно суммарно для всех программ на 32-битной архитектуре? Или мы на эту архитектуру не позиционируемся?
Насчет выигрыша в производительности — это понятно. Но более похоже на шаг назад.
Здравствуйте, vdimas, Вы писали:
V>Это меня еще в Сингулярити насторожило. Ты решил пойти этим же путем??? Сколько всего виртуальной памяти будет доступно суммарно для всех программ на 32-битной архитектуре? Или мы на эту архитектуру не позиционируемся?
V>Насчет выигрыша в производительности — это понятно. Но более похоже на шаг назад.
Я же говорил только про изоляцию процессов, а насчёт виртуального адресного пространства ничего не говорил. Просто можно избежать проверок при обращении к памяти — уже не плохо.
The whole problem with the world is that fools and fanatics are always so certain of themselves, but wiser people so full of doubts.
Bertrand Russell (c)
Здравствуйте, Муравей, Вы писали:
М>Здравствуйте, vdimas, Вы писали:
V>>Это меня еще в Сингулярити насторожило. Ты решил пойти этим же путем??? Сколько всего виртуальной памяти будет доступно суммарно для всех программ на 32-битной архитектуре? Или мы на эту архитектуру не позиционируемся?
V>>Насчет выигрыша в производительности — это понятно. Но более похоже на шаг назад.
М>Я же говорил только про изоляцию процессов, а насчёт виртуального адресного пространства ничего не говорил. Просто можно избежать проверок при обращении к памяти — уже не плохо.
Просто тебе не подойдет ни одно ядро/микроядро под 86-ю архитектуру при таком раскладе. С 0-ля придется делать.
Раз твоя ОС будет как Сингулярити работать в плоской модели памяти, то задача начального макетирования резко упрощается. Саму ОС можно будет разрабатывать прямо в виндах или в чем угодно.
Тебе необходимо будет разработать лишь некий высокоуровневый HAL и — вперед, с песней. А так же несколько адаптеров-эмуляторов устройств для основных оных ввода/вывода: диск, клава, мышь, экран.
ИМХО, не нужно связываться ни с ассемблером (пока) ни с регистрами и пр. Прямо на С++ можно накатать HAL и процедуры инициализации. Остальное — на C# и уже прямо сейчас.
Здравствуйте, vdimas, Вы писали:
V>ИМХО, не нужно связываться ни с ассемблером (пока) ни с регистрами и пр. Прямо на С++ можно накатать HAL и процедуры инициализации. Остальное — на C# и уже прямо сейчас.
Ага. Только в Сингулярити есть Барток. И это самое сложное.
... << RSDN@Home 1.2.0 alpha rev. 624 on Windows XP 5.1.2600.131072>>
Здравствуйте, AndrewVK, Вы писали:
V>>ИМХО, не нужно связываться ни с ассемблером (пока) ни с регистрами и пр. Прямо на С++ можно накатать HAL и процедуры инициализации. Остальное — на C# и уже прямо сейчас.
AVK>Ага. Только в Сингулярити есть Барток. И это самое сложное.
А в виндах есть C++/CLI
На нем можно накатать эмулятор внешней аппаратуры для ОС и заодно выставить интерфейсы, понятные .Net. Если разработка созреет для чего-то более реального, то тогда уже можно будет смотреть на полудотнетный-полунативный Барток.
К Муравью — могу помочь накатать каркас такого HAL и несколько эмуляторов устройств к нему: диска, видео, мыши и клавы.
Технически реализовать так:
видео, клава и мышь — на основе сообщений нативного окна виндов
диск — как файл фиксированного размера.
Здравствуйте, vdimas, Вы писали:
AVK>>Ага. Только в Сингулярити есть Барток. И это самое сложное.
V>А в виндах есть C++/CLI
А при чем тут это?
V>На нем можно накатать эмулятор внешней аппаратуры для ОС и заодно выставить интерфейсы, понятные .Net. Если разработка созреет для чего-то более реального, то тогда уже можно будет смотреть на полудотнетный-полунативный Барток.
Я что то не понял. Кто в самом начале будет выполнять IL?
... << RSDN@Home 1.2.0 alpha rev. 624 on Windows XP 5.1.2600.131072>>
Здравствуйте, AndrewVK, Вы писали:
V>>На нем можно накатать эмулятор внешней аппаратуры для ОС и заодно выставить интерфейсы, понятные .Net. Если разработка созреет для чего-то более реального, то тогда уже можно будет смотреть на полудотнетный-полунативный Барток.
AVK>Я что то не понял. Кто в самом начале будет выполнять IL?
В самом начале кто-то должен загрузить в память VM .Net. Этот "кто-то" очевидно весьма нативен по отношению к конкретному процессору, так же же как и джит. Оставляем эту процедуру загрузки "за кадром", т.е. делаем ее в виде заглушки, скажем, использовав JIT от MONO. Не думаю, что загвоздка в этом. Нам даже не важно КАК ИМЕННО это будет сделано в конечном варианте.
Я просто предолжил Муравью сразу перейти к той части ОС, которая managed, не ломая голову над процедурой начальной загрузки. Т.е. предложил перейти к "интересной" части, оставив ненужные подробности на потом. Более того, "плоская" модель памяти позволит отлаживать все это на имеющихся ср-вах разработки.
Re[6]: ОС на .Net
От:
Аноним
Дата:
30.12.05 10:56
Оценка:
Здравствуйте, vdimas, Вы писали:
V>Я просто предолжил Муравью сразу перейти к той части ОС, которая managed, не ломая голову над процедурой начальной загрузки. Т.е. предложил перейти к "интересной" части, оставив ненужные подробности на потом. Более того, "плоская" модель памяти позволит отлаживать все это на имеющихся ср-вах разработки.
Заходите на проект, он сейчас открытый, только всё теперь на английском языке.
Здравствуйте, vdimas, Вы писали:
V>Это меня еще в Сингулярити насторожило. Ты решил пойти этим же путем??? Сколько всего виртуальной памяти будет доступно суммарно для всех программ на 32-битной архитектуре? Или мы на эту архитектуру не позиционируемся?
А смысл на нее позиционироваться то? Ведь чисто 32-битных процессоров больше почти не выпускается.
V>Насчет выигрыша в производительности — это понятно. Но более похоже на шаг назад.
Гы-гы. По больше бы таких шагов! Полная защищенность с минимальными накладными расходами. Даже расширение не может убить приложение. (это я все о Сингулярити).
... << RSDN@Home 1.2.0 alpha rev. 620>>
Есть логика намерений и логика обстоятельств, последняя всегда сильнее.
Здравствуйте, 4wd, Вы писали:
4wd>Во-первых, писать ОС с нуля нереально, значит надо где-то взять готовый код,
Нереально? Жаль создатели Сингулярити этого не знали.
Они написали полностью менеджед ОС с нуля.
4wd>симпатична лицензия BSD, которая не запрещает закрывать код.
В этом нет смысла, так как BSD — это уже микроядерная ОС построенная на принципе аппоратной защиты процессов.
4wd>За основу я решил взять NetBSD и интегрировать в ядро 4wd>поддержку .NET. Только вот с исходниками mono проблем куда больше — сегодня ты их используешь — завтра тебя 4wd>таскают по судам.
Это явное преувеличение.
4wd>Во-вторых, что делать с драйверами? На каком коде писать драйвера? Делать их модулями ядра?
Ну, ты крут. BSD не позволит тебе это сделать. Она микроядерная!
4wd> Тогда тоже придется писать 4wd>их на неуправляемом коде.
И в чем тогда управляемось ОС? ОС то как раз будет та же что и сейчас. А в польсзовательских процессах все так же будет болтаться дотнет.
Вот Сингулярити как раз полнсотью управляемая. Даже драйверы пишутся в безопасном коде.
4wd>Во-третьих, что делать с графикой?
Кремлевские мечтатели, блин. Вам бы хоть прототип запустить которых в двух процессах "Даров, мир!" выведет. А вы о графике?
4wd>mono сейчас работает через glib, который использует xlib и так далее. Если делать в ядре 4wd>поддержку .NET, то куда девать графическую систему?
Да, что уж там о графие. Ты лучше о 3D-играх подумай. Ведь они в 80% случаев через D3D работают. Вот это проблема. Его ведь и лицензионно спионерить не реально, и портировать на ОС отличную от Винды не просто.
4wd> Писать поддержку WinForms под Иксы
Иксы? Да ты хотя бы их реализуй. По сравнению с ними библиотечку накропать труда не представляет.
4wd> или графику в ядро интегрировать?
Ага. И для этого конечно за основу взять BSD. Куллл!
4wd>И наконец, объем работы нереальный. Некоммерческий проект такого не потянет, это очевидно.
Сингулярити проект чисто исследовательский. Правда под него скорее всего гранты есть.
Вот только мечты ваши не реальные. Знаний ваших явно недостаточно. Вы бы прежде чем мечать почитали бы базовую литературу.
... << RSDN@Home 1.2.0 alpha rev. 620>>
Есть логика намерений и логика обстоятельств, последняя всегда сильнее.
Здравствуйте, vdimas, Вы писали:
V>Раз твоя ОС будет как Сингулярити работать в плоской модели памяти, то задача начального макетирования резко упрощается. Саму ОС можно будет разрабатывать прямо в виндах или в чем угодно.
Ага. Резко! Вот только остается написать свой:
1. Барток (компилятор в нэйтив код).
2. ЖЦ.
3. Шедулер задач.
...
В общем, много чего. Хотя конечно стартовать можно и по проще. Просто переделывать Моно или Ротор. Но это тоже задача еще та.
V>ИМХО, не нужно связываться ни с ассемблером (пока) ни с регистрами и пр. Прямо на С++ можно накатать HAL и процедуры инициализации. Остальное — на C# и уже прямо сейчас.
А зачем при этом связываться с С++? Такой ХАЛ можно и на Шарпе какатать. Даже в безопасном режиме, не говоря уже об небезопасном.
... << RSDN@Home 1.2.0 alpha rev. 620>>
Есть логика намерений и логика обстоятельств, последняя всегда сильнее.
Здравствуйте, AndrewVK, Вы писали:
AVK>Ага. Только в Сингулярити есть Барток. И это самое сложное.
В приципе можно попробовать вмест Бартока задействовать Феникс. Но не факт что выйдет. Хотя очень даже может быть, так как Феникс же позволяет и нэйтив-код править.
... << RSDN@Home 1.2.0 alpha rev. 620>>
Есть логика намерений и логика обстоятельств, последняя всегда сильнее.
Здравствуйте, vdimas, Вы писали:
V>А в виндах есть C++/CLI
И зачем он нужен?
V>На нем можно накатать эмулятор внешней аппаратуры для ОС и заодно выставить интерфейсы, понятные .Net.
Этулятор можно на JScript.Net написать. Хрет там делать то? Тоже мне задача проэмулировать порты процессора и т.п. Ведь никто не знает что там делается то внутри!
V> Если разработка созреет для чего-то более реального, то тогда уже можно будет смотреть на полудотнетный-полунативный Барток.
Барток написан на C#, к твоему сведению.
Блин, твое неверие в C# и жотнет смешит до изнеможения.
Проблема управляемой ОС в ГИГАНСТКИХ объемах работы! А так же в знаниях и неординарности ума тех кто будет делать эту работу. Хотя конечно работа уже не на ровном месте и многие идеи можно покомуниздить из Сингулярити и Оберон ОС.
V>К Муравью — могу помочь накатать каркас такого HAL и несколько эмуляторов устройств к нему: диска, видео, мыши и клавы.
Это то как раз не сложно. Он и сам справится. Ты ему лучше помоги сделать замену Бартоку, шедулер задач, управление памятью, интерфейс между процессами. Вот это задачи.
Я уверен на 100% что все это не выйдет за рамки обсуждения. Хотя в глубене души очень хочется чтобы вышло.
V>Технически реализовать так: V>видео, клава и мышь — на основе сообщений нативного окна виндов V>диск — как файл фиксированного размера.
Еще раз. Зачем нужна эта нэйтивная часть? Что ты не сможешь сэмулировать регисты видеокарты или SATA? Тут скорее нужно иметь знания о том как устроены эти устройства и о их протоколе. А неуправляемый код тут вовсе не нужен.
... << RSDN@Home 1.2.0 alpha rev. 620>>
Есть логика намерений и логика обстоятельств, последняя всегда сильнее.
Здравствуйте, Аноним, Вы писали:
V>>Я просто предолжил Муравью сразу перейти к той части ОС, которая managed, не ломая голову над процедурой начальной загрузки. Т.е. предложил перейти к "интересной" части, оставив ненужные подробности на потом. Более того, "плоская" модель памяти позволит отлаживать все это на имеющихся ср-вах разработки.
А>Заходите на проект, он сейчас открытый, только всё теперь на английском языке.
Здравствуйте, VladD2, Вы писали:
V>> Если разработка созреет для чего-то более реального, то тогда уже можно будет смотреть на полудотнетный-полунативный Барток.
VD> Барток написан на C#, к твоему сведению.
VD>Блин, твое неверие в C# и жотнет смешит до изнеможения.
Знаешь, что мне напоминает твое замечание?
Большинство современных FORT или LISP (Scheme) систем написаны соответственно на FORTH или LISP. Да, именно так. Даже компиляторы оных, которые компилируют слова Форта или лямбды Лиспа в нативный код... И каждая следующая версия пишется на предыдущей... Только вот незадача-то, с голых текстовых сырцов это все не поднимается само, как Мюнгаузен не мог вытянуть сам себя за волосы из болота. В поставке идут бинарники этих систем, с помощью которых будущие версии этих систем и собираются.
И при чем тут имеющийся C#??? Для такой ОС с плоской памятью нужен несколько другой джит (это отдельная тема). Т.е. эмулятор такой ОС — это нативное приложение, в которое загружается джит (вернее VM). Этот джит исполняет все остальное.
И уровней отладки в процессе разработки тут несколько:
1. Уровень отладки эмулятора и самого JIT
2. Уровень отладки managed-частей ядра
3. Уровень отладки приложений
VD>Проблема управляемой ОС в ГИГАНСТКИХ объемах работы! А так же в знаниях и неординарности ума тех кто будет делать эту работу. Хотя конечно работа уже не на ровном месте и многие идеи можно покомуниздить из Сингулярити и Оберон ОС.
А так же массу готового кода как джита, так и основных стандартных либ в MONO или других реализациях (MONO — самая зрелая ИМХО)
V>>К Муравью — могу помочь накатать каркас такого HAL и несколько эмуляторов устройств к нему: диска, видео, мыши и клавы.
VD>Это то как раз не сложно. Он и сам справится. Ты ему лучше помоги сделать замену Бартоку, шедулер задач, управление памятью, интерфейс между процессами. Вот это задачи.
В плоской модели памяти я это сделаю на C# Или тут уже ты не веришь в его возможности. По шедуллингу есть просто тонны инфы, на первых порах подойдут самые простые алгоритмы. Управление памятью — бери из WinNT (Microsoft подробно специфицировала алгоритм выделения и учета виртуальных страниц — более чем просто). Однако, это еще не все.. Сдается мне, что управляя плоской моделью памяти, никто не мешает "двигать" ее не только в рамках домена, но и в рамках вообще всей памяти. Т.е. проблема фрагментации "всей" памяти не должна стоять остро.
Кстати, зачем делать замену Бартоку? Барток был введен для удобства, я могу потерпеть и без удобств. Меня C# и его unsafe-расширение вполне устраивают.
VD>Я уверен на 100% что все это не выйдет за рамки обсуждения. Хотя в глубене души очень хочется чтобы вышло.
V>>Технически реализовать так: V>>видео, клава и мышь — на основе сообщений нативного окна виндов V>>диск — как файл фиксированного размера.
VD>Еще раз. Зачем нужна эта нэйтивная часть? Что ты не сможешь сэмулировать регисты видеокарты или SATA? Тут скорее нужно иметь знания о том как устроены эти устройства и о их протоколе. А неуправляемый код тут вовсе не нужен.
Хм... я вообще регистры эмулировать не буду. На первых порах я драйвер целиком эмулировать буду на основе сообщений виндов и GDI (целиком). Я же говорил о БЫСТРОМ старте. Все те подробности о которых ты говоришь, будучи выделенные в отдельную задачу для отдельного человека( если найдуться охотники) яйца выеденного не стоят. Речь идет о сборке чего-то работающего на коленке одним-двумя разработчиками за несколько вечеров.
Здравствуйте, VladD2, Вы писали:
VD>Здравствуйте, vdimas, Вы писали:
V>>Раз твоя ОС будет как Сингулярити работать в плоской модели памяти, то задача начального макетирования резко упрощается. Саму ОС можно будет разрабатывать прямо в виндах или в чем угодно.
VD>Ага. Резко! Вот только остается написать свой: VD>1. Барток (компилятор в нэйтив код).
не нужен (отдельная тема)
VD>2. ЖЦ.
Boehm — классика
VD>3. Шедулер задач.
нам прямо сейчас требуется самый качественный шедуллинг??? А если подойдет "обычный", то есть море инфы и реализаций
VD>В общем, много чего. Хотя конечно стартовать можно и по проще. Просто переделывать Моно или Ротор. Но это тоже задача еще та.
Ротор — нет, MONO — да. По Ротору самые интересные части не показаны (в первой версии, вторую не смотрел)
V>>ИМХО, не нужно связываться ни с ассемблером (пока) ни с регистрами и пр. Прямо на С++ можно накатать HAL и процедуры инициализации. Остальное — на C# и уже прямо сейчас.
VD>А зачем при этом связываться с С++?
А зачем Барток? А на чем, интересно ngen.exe написан? И кстати, во втором Роторе исходники ngen.exe присутствуют?
Здравствуйте, vdimas, Вы писали:
VD>>Блин, твое неверие в C# и жотнет смешит до изнеможения.
V>Знаешь, что мне напоминает твое замечание? V>Большинство современных FORT или LISP (Scheme) систем написаны соответственно на FORTH или LISP. Да, именно так. Даже компиляторы оных, которые компилируют слова Форта или лямбды Лиспа в нативный код... И каждая следующая версия пишется на предыдущей... Только вот незадача-то, с голых текстовых сырцов это все не поднимается само, как Мюнгаузен не мог вытянуть сам себя за волосы из болота. В поставке идут бинарники этих систем, с помощью которых будущие версии этих систем и собираются.
Ты говорил о создании эмулятора HAL-а запускаемого внутри процесса имеющейся ОС чтобы по быстрому начать работать над управляемой частью ОС. И какие тогда могет быть проблемы с компиляцией? Используй себе рантайм от Моно или дотнета.
V>И при чем тут имеющийся C#??? Для такой ОС с плоской памятью нужен несколько другой джит (это отдельная тема). Т.е. эмулятор такой ОС — это нативное приложение, в которое загружается джит (вернее VM). Этот джит исполняет все остальное.
Мозги то не компостируй. Ты говоришь о эмуляторе ХАЛ-а. Вот о нем и говори.
Короче, говорит тут больше не о чем. Ты сначала сам делашь разумные предложения, а потом топишь их же в своих же догмах.
VD>>Это то как раз не сложно. Он и сам справится. Ты ему лучше помоги сделать замену Бартоку, шедулер задач, управление памятью, интерфейс между процессами. Вот это задачи.
V>В плоской модели памяти я это сделаю на C# Или тут уже ты не веришь в его возможности...
Я не верю в ваши возможности. Еще раз повторюсь, тут объем работы такой, что несколько орлов собравшихся от нечего делать вряд ли что смогут сделать. И модели тут не причем. Тут прчем такие вещи как мотивация, время, знания.
... << RSDN@Home 1.2.0 alpha rev. 620>>
Есть логика намерений и логика обстоятельств, последняя всегда сильнее.
Здравствуйте, vdimas, Вы писали:
VD>>1. Барток (компилятор в нэйтив код).
V>не нужен (отдельная тема)
А, ну-ну.
VD>>2. ЖЦ.
V>Boehm — классика
В лес такие ОС! Мало того что он дерьмо полное, так еще и пол кода вашей ОС будет на С++ написана. Причем это не ОО-код, а низкоуровневневая дергатня с указателями. Багодром, короче.
VD>>3. Шедулер задач.
V> V>нам прямо сейчас требуется самый качественный шедуллинг??? А если подойдет "обычный", то есть море инфы и реализаций
Что значит сейчас? Это нужно в принципе. Без этого будет не ОС, а МС ДОС. А для старта можно действительно отдельные вещи делать просто под управлением CLR.
V>Ротор — нет, MONO — да. По Ротору самые интересные части не показаны (в первой версии, вторую не смотрел)
И каких же таких частей нет в Роторе, что есть в Моно? Единственное с чем могу согласиться, так это с тем, что можно содержит куда меньше неуправляемого кода.
V>А зачем Барток? А на чем, интересно ngen.exe написан? И кстати, во втором Роторе исходники ngen.exe присутствуют?
А что такое по твоему Барток? Это и есть ngen позволяющий получить законченный исполяемый образ, а не только скомпилированные методы которые без рантайма можно на помойку выбросить.
В общем, ngen нужно так напильником дорабатывать, что вы костьми ляжете на этой задаче. Куда проще доработать Феникс. Там хотя бы гтовое АПИ и компонентная архитектура подразумевающая возможность модификации поведения.
К тому же ты же Ротон не хотел брать в рассчет.
... << RSDN@Home 1.2.0 alpha rev. 620>>
Есть логика намерений и логика обстоятельств, последняя всегда сильнее.
Re[8]: ОС на .Net
От:
Аноним
Дата:
05.01.06 19:21
Оценка:
Здравствуйте, vdimas, Вы писали:
V>Здравствуйте, Аноним, Вы писали:
V>>>Я просто предолжил Муравью сразу перейти к той части ОС, которая managed, не ломая голову над процедурой начальной загрузки. Т.е. предложил перейти к "интересной" части, оставив ненужные подробности на потом. Более того, "плоская" модель памяти позволит отлаживать все это на имеющихся ср-вах разработки.
А>>Заходите на проект, он сейчас открытый, только всё теперь на английском языке.
V>УРЛ?
Здравствуйте, <Аноним>, Вы писали:
А>Здравствуйте, vdimas, Вы писали:
V>>Здравствуйте, Аноним, Вы писали:
V>>>>Я просто предолжил Муравью сразу перейти к той части ОС, которая managed, не ломая голову над процедурой начальной загрузки. Т.е. предложил перейти к "интересной" части, оставив ненужные подробности на потом. Более того, "плоская" модель памяти позволит отлаживать все это на имеющихся ср-вах разработки.
А>>>Заходите на проект, он сейчас открытый, только всё теперь на английском языке.
V>>УРЛ?
А>http://www.gotdotnet.com/workspaces/workspace.aspx?id=cc3191af-1b3c-425c-a21d-4729196ec37e
Здравствуйте, VladD2, Вы писали:
VD>>>2. ЖЦ.
V>>Boehm — классика
VD>В лес такие ОС! Мало того что он дерьмо полное, так еще и пол кода вашей ОС будет на С++ написана. Причем это не ОО-код, а низкоуровневневая дергатня с указателями. Багодром, короче.
Сдается мне, что GC — это такой черный ящик для нас, с очень миниатюрным АПИ. Другими словами, абсолютно фиолетово, какой именно GC будет реализовывать это АПИ.
И вообще, ты всерьез считаешь, что для начала моделирования нужен самый лучший GC? (вопрос в силе и для всего остального).
И еще, Boehm — очень неплохой GC, и небольшой по размерам исходник. Будет желание — можно будет попытаться перевести на unsafe C#.
VD>>>3. Шедулер задач.
V>> V>>нам прямо сейчас требуется самый качественный шедуллинг??? А если подойдет "обычный", то есть море инфы и реализаций
VD>Что значит сейчас? Это нужно в принципе. Без этого будет не ОС, а МС ДОС.
Не все так просто с шедуллингом. Например в виндах шедуллинг напрямую корректируется состоянием окошек процесса, что позволило в свое время реализовать адекватный ГУЙ даже на машинах прошлых лет.
Опять же, шедуллинг — это тоже весьма миниатюрное АПИ.
В общем, акценты не на том стоят. Надо прорабатывать общие архитектурные решения и протоколы взаимодействия частей ОС.
V>>Ротор — нет, MONO — да. По Ротору самые интересные части не показаны (в первой версии, вторую не смотрел)
VD>И каких же таких частей нет в Роторе, что есть в Моно? Единственное с чем могу согласиться, так это с тем, что можно содержит куда меньше неуправляемого кода.
В первом роторе я не увидел исходников джита. Этот момент — самый краеугольный.
V>>А зачем Барток? А на чем, интересно ngen.exe написан? И кстати, во втором Роторе исходники ngen.exe присутствуют?
VD>А что такое по твоему Барток? Это и есть ngen позволяющий получить законченный исполяемый образ, а не только скомпилированные методы которые без рантайма можно на помойку выбросить.
Угу, и я совершенно случайно про ngen спросил...
VD>В общем, ngen нужно так напильником дорабатывать, что вы костьми ляжете на этой задаче. Куда проще доработать Феникс. Там хотя бы гтовое АПИ и компонентная архитектура подразумевающая возможность модификации поведения.
VD>К тому же ты же Ротон не хотел брать в рассчет.
Вопрос был — есть исходники ngen или нет.
Если ты так настаиваешь на Bartok, давай порассуждаем.
Предназначение Bartok — разработка VM (джит) на самом C#
Далее. Я плохо представляю себе разработку на C# без mscorlib. Понимаешь, куда я клоню? Как он запихнет в бинарный образ только то, что мне надо?
Здравствуйте, VladD2, Вы писали:
VD>Ты говорил о создании эмулятора HAL-а запускаемого внутри процесса имеющейся ОС чтобы по быстрому начать работать над управляемой частью ОС. И какие тогда могет быть проблемы с компиляцией? Используй себе рантайм от Моно или дотнета.
С компиляцией действительно, проблем нет. Проблемы в исполнении. В этой ОС свой, немного "другой" рантайм. MONO я рассматриваю лишь как источник исходников.
V>>И при чем тут имеющийся C#??? Для такой ОС с плоской памятью нужен несколько другой джит (это отдельная тема). Т.е. эмулятор такой ОС — это нативное приложение, в которое загружается джит (вернее VM). Этот джит исполняет все остальное.
VD>Мозги то не компостируй. Ты говоришь о эмуляторе ХАЛ-а. Вот о нем и говори.
Да плевать на HAL, речь не о нем, а об организации процесса разработки на имеющихся ср-вах.
VD>Короче, говорит тут больше не о чем. Ты сначала сам делашь разумные предложения, а потом топишь их же в своих же догмах.
Ты очевидно не совсем понимаешь о чем речь. Я не смогу напрямую использовать имеющийся CLR (MONO или .Net), хотя бы потому, что нам нужен полный контроль над памятью процесса, в котором производится эмуляция ОС с выбранной моделью памяти. Далее. Практически основная задача разработки состоит именно в разработке особого рантайма, являющегося "сердцевиной" ОС. Этот рантайм слишком специфичен, и на мой взгляд, имеющиеся рантаймы ничем не помогут, кроме как своими исходниками.
Остальные подробности, на которые обращал внимание ты — эмуляция каких-то портов, или качественный шедуллинг... Это просто полная ерунда. Каждая ОС имеет некое внутреннее АПИ. Брать имеющиеся на данный момент решения для реализации аспектов этого АПИ — вполне нормальный подход, даже если характеристики этих решений в чем-то не очень хороши. Их главное достоинство в том, что они есть прямо сейчас и заведомо работают.
VD>Я не верю в ваши возможности. Еще раз повторюсь, тут объем работы такой, что несколько орлов собравшихся от нечего делать вряд ли что смогут сделать. И модели тут не причем. Тут прчем такие вещи как мотивация, время, знания.
Мне как раз кажется, что запустить работающее "нечто" не так сложно. Пусть это даже трудно будет назвать полноценной ОС, фан не в том
Здравствуйте, VladD2, Вы писали:
4wd>>Во-вторых, что делать с драйверами? На каком коде писать драйвера? Делать их модулями ядра?
VD>Ну, ты крут. BSD не позволит тебе это сделать. Она микроядерная!
NetBSD — это ОС для embedded-устройств, монолитная. Работает с плоской моделью памяти.
Кстати, ядро поганое. Я бы присмотрелся к ucLinux.
Здравствуйте, vdimas, Вы писали:
V>Сдается мне, что GC — это такой черный ящик для нас, с очень миниатюрным АПИ. Другими словами, абсолютно фиолетово, какой именно GC будет реализовывать это АПИ.
Фиг там. На ЖЦ слишком многое опирается. И сам ЖЦ опирается на джит и среду исполения. Так что это очень важная и сильно интегрированная часть системы. Сменить простой ЖЦ на сложны — это значит переделать всю.
V>И вообще, ты всерьез считаешь, что для начала моделирования нужен самый лучший GC? (вопрос в силе и для всего остального).
Я считаю, что для начала вообще можно обойтись эмуляцией внутри процесса (Mono/CLR).
V>И еще, Boehm — очень неплохой GC,
Как минимум он требует наличия виртуальной пмяти. И думаю, что по скорости он будет просто никакой по сравнению с ЖЦ интегрированными с компилятором. Плюс проблема фрагментации. В общем, не ясно зачем связываться с хрен знает чем когда и в Моно и Роторе уже есть готовые ЖЦ. ВОт только они опять же онменеджед (на С/С++).
V> и небольшой по размерам исходник. Будет желание — можно будет попытаться перевести на unsafe C#.
Для этого сначала нужно создать аналог Бартока.
VD>>Что значит сейчас? Это нужно в принципе. Без этого будет не ОС, а МС ДОС.
V>Не все так просто с шедуллингом. Например в виндах шедуллинг напрямую корректируется состоянием окошек процесса, что позволило в свое время реализовать адекватный ГУЙ даже на машинах прошлых лет.
Вообще-то это не так. Единственное что есть — это отем времени при вызове некоторых системных функций (Sleep, GetMessage и т.п.). А "окошки" живут на банальной кооперативной многозадачности. В общем, к проблеме ОС это не имеет никакого отношения.
V>Опять же, шедуллинг — это тоже весьма миниатюрное АПИ.
АПИ — может быть. А вот объем кода это наипервейший. Если и он будет анменеджед и из другой ОС скомунизжен, то я уже не знаю что в этой ОС будет управляемым.
V>В общем, акценты не на том стоят. Надо прорабатывать общие архитектурные решения и протоколы взаимодействия частей ОС.
А что прорабатывать то? Процессы, птоки, компилятор, ХАЛ ты вроде уже отбросил. А что остается то?
V>В первом роторе я не увидел исходников джита. Этот момент — самый краеугольный.
Значит хреново смотерл. Ключевое слово fjit. Там есть С++-ные и ассемблерные части. Плюс куча всего генерируется при инсталляции с помощью скритов и макросов.
Джит в Роторе приметивнейший, но насколько я знаю есть исслеования замещающие его более мощьными.
V>Вопрос был — есть исходники ngen или нет.
Вроде есть. Но это не важно. Для затравки хватит и дижита. А чтобы получить аналог Бартока повкалывать придется нехило. Тут уж лучше все же Феникосом воспользоваться.
V>Если ты так настаиваешь на Bartok, давай порассуждаем.
Я вообще не верю, что этот трёд во что-то выльется. Но если и выльется, то без аналока Бартока никуда.
V>Предназначение Bartok — разработка VM (джит) на самом C#
Барток — это компилятор из МСИЛ в нэйтив код. Почти нген, но позволяющий обходиться без CLR.
V>Далее. Я плохо представляю себе разработку на C# без mscorlib. Понимаешь, куда я клоню? Как он запихнет в бинарный образ только то, что мне надо?
А зачем "без"? Это проскомпилятор. К тому же он по определению сам себя обязан уметь компилировать. Причем росплатформно. Чтобы из под Виндовс-версии можно было скопилировать любую другую. Ну, и на оборот соответсвенно.
... << RSDN@Home 1.2.0 alpha rev. 620>>
Есть логика намерений и логика обстоятельств, последняя всегда сильнее.
ОС на .Net
От:
Аноним
Дата:
25.12.05 09:33
Оценка:
Своя ось конечно лучше чем ничего...
Я вот на второй год изучения программирования немного занимался AI, шашки, шахматы и пр.
И после этого забыл про все оси вместе взятые, да простит меня Бил Гейтс.
Тем более там можно одному, но интеллектом оказался слаб
Хотя вообше-то это и неплохо для развития, если будет уровень высок, спецы по осям тоже иногда нужны.
А у меня цель: сделать среду разработки для .NET Framework на ней же!
Написал уже 67 страниц архитектурных решений.
Так что для новой ОС будет своя среда разработки.
Здравствуйте, Sergey Filimonoff, Вы писали:
SF>Ничего не имею против Вирта, однако думаю чисто матем. подход в программировании не очень эффективен. SF>Search in Google.com: "Sergey Filimonoff"
Вирт к математике имеет отчень отдаленное отношение.
... << RSDN@Home 1.2.0 alpha rev. 620>>
Есть логика намерений и логика обстоятельств, последняя всегда сильнее.
Здравствуйте, Муравей, Вы писали:
М>Предлагаю сделать ОС целиком на managed code, кроме ядра. М>Уже есть 3 желающих поучаствовать.
Антон, есть какие-нибудь подвижки? Очень интересный проект, не стесняйся даже сугубо черновые вещи выносить на публику. Может, имеет смысл блог завести?
V>>Не все так просто с шедуллингом. Например в виндах шедуллинг напрямую корректируется состоянием окошек процесса, что позволило в свое время реализовать адекватный ГУЙ даже на машинах прошлых лет.
VD>Вообще-то это не так. Единственное что есть — это отем времени при вызове некоторых системных функций (Sleep, GetMessage и т.п.). А "окошки" живут на банальной кооперативной многозадачности. В общем, к проблеме ОС это не имеет никакого отношения.
В виндах имеет значение. Почитай MSDN на предмет приоритетов worker-тредов и GUI-тредов, а так же как шедуллинг управляет последними. Шедуллинг напрямую на состояние окошек завязан.
V>>Опять же, шедуллинг — это тоже весьма миниатюрное АПИ.
VD>АПИ — может быть. А вот объем кода это наипервейший. Если и он будет анменеджед и из другой ОС скомунизжен, то я уже не знаю что в этой ОС будет управляемым.
Название.
На самом деле идея такова: есть некий "пояс безопасности" внутри которого есть unsafe и unmanaged-код. Этот пояс: микроядро ОС, HAL, джит и GC. Все остальное должно быть safe managed.
Как я понимаю, торг идет относительно долей managed/unmanaged и safe/unsafe внутри пояса безопасности?
Это абсолютно неважно на начальном этапе.
(Кстати, я по-прежнему не делаю больших различий м/у unsafe и unmanaged, с т.з. разработчика и кода — разница в деталях но не в сути).
VD>А что прорабатывать то? Процессы, птоки, компилятор, ХАЛ ты вроде уже отбросил. А что остается то?
Правильно мыслишь. Остается вполне обозримый объем работ. Иначе я бы даже не обсуждал это все. И кстати, я не отбросил, а предположил способ реализовать "малой кровью".
VD>Значит хреново смотерл. Ключевое слово fjit. Там есть С++-ные и ассемблерные части. Плюс куча всего генерируется при инсталляции с помощью скритов и макросов.
ok
VD>Вроде есть. Но это не важно. Для затравки хватит и дижита. А чтобы получить аналог Бартока повкалывать придется нехило. Тут уж лучше все же Феникосом воспользоваться.
Диктую большими буквами. Барток сейчас просто не нужен. Ведь у нас в распоряжении есть только C++ код джита и GC от MONO или Ротора.
Я уверен, что если кто-то будет пытаться разрабатывать эту ОС "по вечерам", то начать такую разработку с собственной разработки джита и GC — заведомо провалить дело. Надо использовать то, что есть. А для того, что есть Барток не нужен.
V>>Предназначение Bartok — разработка VM (джит) на самом C#
VD>Барток — это компилятор из МСИЛ в нэйтив код. Почти нген, но позволяющий обходиться без CLR.
Ты плохо прочитал вопрос. Вопрос не в том, что делает Барток, а для чего он нужен при разработке.
V>>Далее. Я плохо представляю себе разработку на C# без mscorlib. Понимаешь, куда я клоню? Как он запихнет в бинарный образ только то, что мне надо?
VD>А зачем "без"? Это проскомпилятор.
Здравствуйте, vdimas, Вы писали:
V>В виндах имеет значение. Почитай MSDN на предмет приоритетов worker-тредов и GUI-тредов, а так же как шедуллинг управляет последними. Шедуллинг напрямую на состояние окошек завязан.
Можно ссылку?
V>На самом деле идея такова: есть некий "пояс безопасности" внутри которого есть unsafe и unmanaged-код. Этот пояс: микроядро ОС, HAL, джит и GC. Все остальное должно быть safe managed.
Слишком много неуправляемого кода. Как минимум джит и GC можно сделать управляемыми. "Управляемая" операцинонка с полностью неуправляемым ядром вряд ли кого-то заинтересует. Сие вполне можно сотворить на базе уже существующих ОС + Rotor||Mono.
Что подразумевается под микроядром?
V>Как я понимаю, торг идет относительно долей managed/unmanaged и safe/unsafe внутри пояса безопасности? V>Это абсолютно неважно на начальном этапе.
При правильном подходе к проектированию архитектуры ОС — возможно. Однако такой подход в данном проекте к сожалению не наблюдается.
V>Правильно мыслишь. Остается вполне обозримый объем работ. Иначе я бы даже не обсуждал это все. И кстати, я не отбросил, а предположил способ реализовать "малой кровью".
Остается командная оболочка?
А что очень удобный подход...
VD>>Значит хреново смотерл. Ключевое слово fjit. Там есть С++-ные и ассемблерные части. Плюс куча всего генерируется при инсталляции с помощью скритов и макросов.
V>Я уверен, что если кто-то будет пытаться разрабатывать эту ОС "по вечерам", то начать такую разработку с собственной разработки джита и GC — заведомо провалить дело. Надо использовать то, что есть. А для того, что есть Барток не нужен.
Начинать разработку надо с проектирования архитектуры ОС. Чтобы понять, что уже "есть", а что нужно будет разрабатывать. Чтобы начать проработку архитектуры, нужно понимать, какие задачи призвана решать будущая ОС. Иными словами знать "зачем?" все это делать. И пока нет архитектуры и плана разработки...
Здравствуйте, SilverCloud, Вы писали:
SC>Здравствуйте, Муравей, Вы писали:
М>>Предлагаю сделать ОС целиком на managed code, кроме ядра. М>>Уже есть 3 желающих поучаствовать.
SC>Антон, есть какие-нибудь подвижки? Очень интересный проект, не стесняйся даже сугубо черновые вещи выносить на публику. Может, имеет смысл блог завести?
Пока никаких, пытаююсь собрать команду — я человек не тшеславный, мне всей славы не надо
Есть один активный участник из Индии, сейчас он читает Таненбаума, я кстати тоже
Здравствуйте, <Аноним>, Вы писали:
А>Здравствуйте, SilverCloud, Вы писали:
SC>>Здравствуйте, Муравей, Вы писали:
М>>>Предлагаю сделать ОС целиком на managed code, кроме ядра. М>>>Уже есть 3 желающих поучаствовать.
SC>>Антон, есть какие-нибудь подвижки? Очень интересный проект, не стесняйся даже сугубо черновые вещи выносить на публику. Может, имеет смысл блог завести?
А>Пока никаких, пытаююсь собрать команду — я человек не тшеславный, мне всей славы не надо А>Есть один активный участник из Индии, сейчас он читает Таненбаума, я кстати тоже
Вот, может быть поможет. Это лекции из Беркли по архитектурам ОС, их проектировании и разработки.
2 VladD2 >Вирт к математике имеет отчень отдаленное отношение. Не буду пока спорить.
Меня больше интересует какая должна быть будущая ОС.
Но не хотелось бы тут соревноваться в писательском искусстве
Можно тему создать, но будут ли когда элементы самомодерации?
М>Предлагаю сделать ОС целиком на managed code, кроме ядра. М>Уже есть 3 желающих поучаствовать.
Я просмотрел ветку. Нет, идея, конечно, в правильном направлении.
Но мне показалось, что вы не очень хорошо изучили существующий опыт, прежде чем планировать свой проект. Я давно хотел сделать обзор Singularity, и вот есть хороший повод.
Здравствуйте, Vladimir V Kochetkov, Вы писали:
VVK>Остается командная оболочка? VVK>А что очень удобный подход...
Сабж. И если бы один горячий финский паренёк им ядро не выкатил, ГНУ до сих пор бы была в проекте
VVK>Начинать разработку надо с проектирования архитектуры ОС. Чтобы понять, что уже "есть", а что нужно будет разрабатывать. Чтобы начать проработку архитектуры, нужно понимать, какие задачи призвана решать будущая ОС. Иными словами знать "зачем?" все это делать. И пока нет архитектуры и плана разработки...
+.
Здравствуйте, Vladimir V Kochetkov, Вы писали:
VVK>Начинать разработку надо с проектирования архитектуры ОС. Чтобы понять, что уже "есть", а что нужно будет разрабатывать. Чтобы начать проработку архитектуры, нужно понимать, какие задачи призвана решать будущая ОС. Иными словами знать "зачем?" все это делать. И пока нет архитектуры и плана разработки...
Зайдите в проектную зону, там в форумах достаточно уже обсуждалось, посмотрите. Концептуально архитектура уже есть.
«Время жизни складывается не из количества прожитых вздохов, а из секунд в которые у тебя захватывает дыхание.»
(с) фильм «Метод Хитча»
Здравствуйте, podovan, Вы писали:
P>Здравствуйте, Vladimir V Kochetkov, Вы писали:
VVK>>Начинать разработку надо с проектирования архитектуры ОС. Чтобы понять, что уже "есть", а что нужно будет разрабатывать. Чтобы начать проработку архитектуры, нужно понимать, какие задачи призвана решать будущая ОС. Иными словами знать "зачем?" все это делать. И пока нет архитектуры и плана разработки...
P>Зайдите в проектную зону, там в форумах достаточно уже обсуждалось, посмотрите. Концептуально архитектура уже есть.
Спасибо, но я там был. И когда создавал узел для этого проекта на workspaces.gotdotnet.com и когда принимал участие в обсуждениях на форумах проекта
Здравствуйте, podovan, Вы писали:
P>Здравствуйте, Vladimir V Kochetkov, Вы писали:
VVK>>Начинать разработку надо с проектирования архитектуры ОС. Чтобы понять, что уже "есть", а что нужно будет разрабатывать. Чтобы начать проработку архитектуры, нужно понимать, какие задачи призвана решать будущая ОС. Иными словами знать "зачем?" все это делать. И пока нет архитектуры и плана разработки...
P>Зайдите в проектную зону, там в форумах достаточно уже обсуждалось, посмотрите. Концептуально архитектура уже есть.
Кстати, как образец правильного подхода к разработке домашней ОС, советую глянуть вот сюда: http://www.3os.ru/news.php
Занятно. Я думаю, автору флоры сейчас самое время остановиться и почитать что-нибудь про JavaScript. Потому что там все это уже продумано, реализовано и отлажено. И немедленные изменения, и бесклассовость объектов, и еще много чего, что автору в голову пока не пришло, и неизбежно придет в будущем.
Если я неправ, то могу я увидеть краткий список отличий от JavaScript?
1.1.4 stable rev. 510
Уйдемте отсюда, Румата! У вас слишком богатые погреба.
Здравствуйте, Vladimir V Kochetkov, Вы писали:
P>>Зайдите в проектную зону, там в форумах достаточно уже обсуждалось, посмотрите. Концептуально архитектура уже есть.
VVK>Спасибо, но я там был. И когда создавал узел для этого проекта на workspaces.gotdotnet.com и когда принимал участие в обсуждениях на форумах проекта
VVK>Я не о концептуальной архитектуре говорил...
А о чём? О задачах которые решает ОС? А вы их не знаете? Windows или Linux у вас есть наверно, так что есть с чем сравнивать.
«Время жизни складывается не из количества прожитых вздохов, а из секунд в которые у тебя захватывает дыхание.»
(с) фильм «Метод Хитча»
Здравствуйте, podovan, Вы писали:
P>Здравствуйте, Vladimir V Kochetkov, Вы писали:
P>>>Зайдите в проектную зону, там в форумах достаточно уже обсуждалось, посмотрите. Концептуально архитектура уже есть.
VVK>>Спасибо, но я там был. И когда создавал узел для этого проекта на workspaces.gotdotnet.com и когда принимал участие в обсуждениях на форумах проекта
VVK>>Я не о концептуальной архитектуре говорил...
P>А о чём? О задачах которые решает ОС? А вы их не знаете? Windows или Linux у вас есть наверно, так что есть с чем сравнивать.
Я говорил о детально проработанной архитектуре. То, что сейчас выложено на проекте + высказывания на форуме — это не архитектура, это общие соображения на тему "как такое вообще можно заставить работать?".
Здравствуйте, Vladimir V Kochetkov, Вы писали:
VVK>Я говорил о детально проработанной архитектуре. То, что сейчас выложено на проекте + высказывания на форуме — это не архитектура, это общие соображения на тему "как такое вообще можно заставить работать?".
Ну раз вы создавали проект, то чего вы ждёте? Когда вам разжуют и в рот положат. Вперёд, предлагайте. А критиковать много ума не надо...
«Время жизни складывается не из количества прожитых вздохов, а из секунд в которые у тебя захватывает дыхание.»
(с) фильм «Метод Хитча»
Здравствуйте, podovan, Вы писали:
P>Здравствуйте, Vladimir V Kochetkov, Вы писали:
VVK>>Я говорил о детально проработанной архитектуре. То, что сейчас выложено на проекте + высказывания на форуме — это не архитектура, это общие соображения на тему "как такое вообще можно заставить работать?".
P>Ну раз вы создавали проект, то чего вы ждёте? Когда вам разжуют и в рот положат. Вперёд, предлагайте. А критиковать много ума не надо...
Я не создавал проект и не являюсь Муравьем, если вы об этом На данный момент, я также не являюсь участником проекта.
Здравствуйте, Vladimir V Kochetkov, Вы собираетесь писать ILEX. Пользуясь тем, что 2/3 вашей команды читают эту ветку, внесу сабж.
Из документа на сайте я так и не понял, ни какова планируемая архитектура ОС, ни для каких целей эта ОС будет предназначена.
Было толковая мысль насчёт того, что стоит определиться насчёт
/классификация 1/
1) Desktop
2) Server
3) Универсальная
система
и
/классификация 2/
1) Real-time
2) Не real-time
система.
Какой выбор сделан?
Моё мнение — что стоит попытаться подружить CLI с реальным временем. Средства разработки для реального времени — это, обычно, каменный век, и CLI здесь будет смотреться очень выигрышно — ведь уже есть куча великолепных средств. Кроме того, автоматически решается проблема с симуляцией С одной стороны, сделать сборщик мусора, работающий в реальном времени — весьма сложно (хотя и реально), с другой — по-моему, пока и не надо. Для многих задач управления механизмами сборка мусора просто не нужна, достаточно заранее статически выделить всю память. Так что на этом направлении можно начинать работу, иметь практические результаты, а GC (да и не только) оставить другим и на потом. Реально вначале нужно только управление памятью, планировщик задач, компилятор сборок в нативный код, и сеть. Да и соревноваться с mono на его поле, если честно, сложгновато будет — и силы, и финансовые ресурсы явно не равны.
Здравствуйте, SilverCloud, Вы писали:
SC>Здравствуйте, Vladimir V Kochetkov, Вы собираетесь писать ILEX.
ээээ... вообще-то не собирался, но судя по всему придется
Все, что я внес в проект — это имя (ILEX) и песочница на gotdotnet, которую регистрировал я. Ну плюс пара соображений по поводу ядра.
Дело в том, что мне было бы интересно развить идею managed-OS в несколько ином направлении, нежели было предложено автором данного проекта. Посему — моя активность там потихоньку сошла на "нет" и так сказать, ПМ (Карабас на сайте проекта, Муравей — здесь) вычеркнул меня из мемберов (совершенно обоснованно).
Тем временем я — потихоньку рисую архитектуру full-managed ОС на базе экзоядерного подхода, но времени к сожалению совершенно не хватает
Здравствуйте, SilverCloud, Вы писали:
SC>Из документа на сайте я так и не понял, ни какова планируемая архитектура ОС, ни для каких целей эта ОС будет предназначена. SC>Было толковая мысль насчёт того, что стоит определиться насчёт SC>/классификация 1/ SC>1) Desktop SC>2) Server SC>3) Универсальная SC> система
Угу, это вы сами такую классификацию придумали? Или в маркетологи решили податься? Дык, это рано, пока, делить шкуру ещё не убиенного мишки Он ещё шишки собирает и за щеку кладёт, когда застрелим его тогда и поделим.
SC> и
SC>/классификация 2/ SC>1) Real-time SC>2) Не real-time SC> система.
В принципе тоже, что спорить — КАМАЗ гоночная машина или не гоночная
SC>Какой выбор сделан?
SC>Моё мнение — что стоит попытаться подружить CLI с реальным временем.
Я конечно могу показаться профаном (не помню много страшных околнаучных слов и выражений), но система реального времени — это любая система у которой задержка обработки аппаратных прерываний меньше некой кретичной величины. Для этого в ядро ОС, например того-же линуха вносятся некоторые изменения, чтобы соответствовать этим требованиям.
И усё! Скроили вы из блохи голенище — средства разработки какие-то...
Всё намного проще и прозаичнее.
Таким лже научным работникам не место в проектах.
«Время жизни складывается не из количества прожитых вздохов, а из секунд в которые у тебя захватывает дыхание.»
(с) фильм «Метод Хитча»
Re[2]: ОС на .Net
От:
Аноним
Дата:
17.01.06 11:17
Оценка:
S>Если я неправ, то могу я увидеть краткий список отличий от JavaScript?
Краткий? Пожалуйста!
JavaScript — это скриптовый язык, то о чем я говорю — это РЕАЛИЗАЦИЯ объектного метода!
PS
Статьи в Компьютерре были давно и писались в определенном ключе.
Здравствуйте, Lever, Вы писали:
S>>Если я неправ, то могу я увидеть краткий список отличий от JavaScript? L>Краткий? Пожалуйста! L>JavaScript — это скриптовый язык, то о чем я говорю — это РЕАЛИЗАЦИЯ объектного метода!
Запусти любой scripting host — вот тебе и РЕАЛИЗАЦИЯ объектного метода. Не вижу отличий, кроме того, что javascript задает еще и синтаксис, помимо семантики. L>PS L>Статьи в Компьютерре были давно и писались в определенном ключе.
Гм. JavaScript тоже был давно.
1.1.4 stable rev. 510
Уйдемте отсюда, Румата! У вас слишком богатые погреба.
Re[3]: ОС на .Net
От:
Аноним
Дата:
18.01.06 13:11
Оценка:
S>Запусти любой scripting host — вот тебе и РЕАЛИЗАЦИЯ объектного метода.
А что если scripting host реализован на голимом C, или того хуже на LISP? S>Не вижу отличий, кроме того, что javascript задает еще и синтаксис, помимо семантики.
Синтаксис в дополнение к семантике это что-то новое.
Здравствуйте, Sinclair, Вы писали:
L>>Статьи в Компьютерре были давно и писались в определенном ключе. S>Гм. JavaScript тоже был давно.
Давно — это имелось в виду, что сейсас во Флоре есть и экземпляры пользовательских классов.
Re: Свои 5 коп.
От:
Аноним
Дата:
18.01.06 19:28
Оценка:
2 Vladimir V Kochetkov >Тем временем я — потихоньку рисую архитектуру full-managed ОС
Извините мою нетактичность, а вы с кем соб-но спорите?
Здравствуйте, Lever, Вы писали: L>>>Статьи в Компьютерре были давно и писались в определенном ключе. S>>Гм. JavaScript тоже был давно. L>Давно — это имелось в виду, что сейсас во Флоре есть и экземпляры пользовательских классов.
Гм. Так ведь классов же нет?
1.1.4 stable rev. 510
Уйдемте отсюда, Румата! У вас слишком богатые погреба.
Здравствуйте, Sinclair, Вы писали:
L>>Давно — это имелось в виду, что сейсас во Флоре есть и экземпляры пользовательских классов. S>Гм. Так ведь классов же нет?
Статья была про первую Флору, а во второй Флоре классы есть.
Есть "Реализация аппарата классов на памяти древовидной структуры".
Особенностью является то, то описатель класса на равне с экземплярами размещен в дереве объектов.
Здравствуйте, Sergey Filimonoff, Вы писали:
SF>2 Vladimir V Kochetkov >>Тем временем я — потихоньку рисую архитектуру full-managed ОС
SF>Извините мою нетактичность, а вы с кем соб-но спорите?
Ну в процитированном вами сообщении — с SilverCloud'ом, который ошибочно решил, что я участвую в данном проекте
Здравствуйте, Lever, Вы писали:
L>Здравствуйте, Sinclair, Вы писали:
L>>>Давно — это имелось в виду, что сейсас во Флоре есть и экземпляры пользовательских классов. S>>Гм. Так ведь классов же нет? L>Статья была про первую Флору, а во второй Флоре классы есть. L>Есть "Реализация аппарата классов на памяти древовидной структуры". L>Особенностью является то, то описатель класса на равне с экземплярами размещен в дереве объектов.
А-а. Ну это уже java. Тут, понимаешь, что ни напиши — получится или JavaScript, или Java. Если будешь писать сильно хорошо, получится SmallTalk. Если совсем круто — то лисп.
1.1.4 stable rev. 510
Уйдемте отсюда, Румата! У вас слишком богатые погреба.
Здравствуйте, podovan, Вы писали:
P>Угу, это вы сами такую классификацию придумали?
Отнюдь. Это взято из обсуждений в той самой проектной зоне, куда Вы так настойчиво отсылаете.
SC>>/классификация 2/ SC>>1) Real-time SC>>2) Не real-time SC>> система.
P>В принципе тоже, что спорить — КАМАЗ гоночная машина или не гоночная
Да нет, мне это кажется важным проектным решением. Рассчитывать на реальное время или нет — надо решать сразу, потом "прикрутить" этот функционал малой кровью не получиться
P>Для этого в ядро ОС, например того-же линуха вносятся некоторые изменения, P>чтобы соответствовать этим требованиям. P>И усё! Скроили вы из блохи голенище. Всё намного проще и прозаичнее.
Ваши познания в этот области, судя по всему, гораздо шире моих. Расскажите, пожалуйста, о сути этих измений — какие части правятся, и в чём суть этих изменений. Просто с архитектурой Linux я не знаком, и качать исходники ядра возможности не имею. В NT столь малой кровью адаптировать существующую систему не получается — самое простое решение, это запуск NT под эмулятором а-ля VMWare, работающим уже под системой реального времени. При этом всё равно обычные user-mode программы под NT детерменированности так и не получают, появляется лишь возможность их взаимодействия с real-time кодом, работающим в своей, отдельной подсистеме
Заранее спасибо!
Кстати, с чего Вы взяли, что я начный работник? Я работаю в листопрокатном цехе, занимаюсь поддержкой систем, управляющих производственными линиями. Одно время мы сталкивались только со специализированным "железом", но в последнее время всё чаще встречаются решения на базе PC, так что мой интерес к этой теме весьма практичен
Здравствуйте, Sinclair, Вы писали:
S>А-а. Ну это уже java. Тут, понимаешь, что ни напиши — получится или JavaScript, или Java. Если будешь писать сильно хорошо, получится SmallTalk. Если совсем круто — то лисп.
Во Флоре объектная модель собирается в дереве объектов с помощью редактора, из экземпляров базовых классов, так что явно не Java и не LISP. На SmallTalk это не то чтобы похоже…Точнее похоже своей непохожестью на все другое
Здравствуйте, Mamut, Вы писали:
S>>>Запусти любой scripting host — вот тебе и РЕАЛИЗАЦИЯ объектного метода. L>>А что если scripting host реализован на голимом C, или того хуже на LISP?
M>эээ. почему хуже?
Я не против LISP
Я против ТАКОЙ реализации объектного метода.
S>>>>Запусти любой scripting host — вот тебе и РЕАЛИЗАЦИЯ объектного метода. L>>>А что если scripting host реализован на голимом C, или того хуже на LISP?
M>>эээ. почему хуже? L>Я не против LISP
Жалко, флейма и священной войны не получилось
L>Я против ТАКОЙ реализации объектного метода.
Здравствуйте, SilverCloud, Вы писали:
SC>Ваши познания в этот области, судя по всему, гораздо шире моих. Расскажите, пожалуйста, о сути этих измений — какие части правятся, и в чём суть этих изменений.
Здравствуйте, Aen Sidhe, Вы писали:
AS>Здравствуйте, Муравей, Вы писали:
М>>Здравствуйте, Sheridan, Вы писали:
S>>>Здравствуйте, Муравей, Вы писали:
М>>>>У нас получается — x86 kernel + MSIL to x86 compiler -> .NET Framework -> apps
S>>>kernel 2.6.13 ? S>>>
М>>А по чему смешно?
AS>linux kernel 2.6.13 — версия ядра линуха.
Что это версия ядра линуха, и так понятно. Вы хотите сказать что там есть MSIL to x86 JIT compiler? Надеюсь объяснять не нужно, что это такое?
«Время жизни складывается не из количества прожитых вздохов, а из секунд в которые у тебя захватывает дыхание.»
(с) фильм «Метод Хитча»
Здравствуйте, Муравей, Вы писали:
М>Предлагаю сделать ОС целиком на managed code, кроме ядра. М>Уже есть 3 желающих поучаствовать.
М>пишите на anton.baula at gmail.com
Здравствуйте, Муравей, Вы писали:
М>Предлагаю сделать ОС целиком на managed code, кроме ядра. М>Уже есть 3 желающих поучаствовать.
М>пишите на anton.baula at gmail.com
М>PS кулхацкеров, крутых программеров, а также с предложениями быстро сделать всё на php, или с комментариями — "да вы что в php уже это реализовано" — не беспокоить.
Могу попробовать написать стек TCP/IP начиная от уровня IP, ICMP, ARP и RARP, и заканчивая DHCP и Simple TCP
.NETloper
Re[2]: ОС на .Net
От:
Аноним
Дата:
28.10.06 16:02
Оценка:
HLG>Могу попробовать написать стек TCP/IP начиная от уровня IP, ICMP, ARP и RARP, и заканчивая DHCP и Simple TCP
RARP то зачем?
DHCP я бы пос тавил гденить около ARP, а сам ARP до IP
Здравствуйте, VladD2, Вы писали:
VD>Здравствуйте, vdimas, Вы писали:
V>>Это меня еще в Сингулярити насторожило. Ты решил пойти этим же путем??? Сколько всего виртуальной памяти будет доступно суммарно для всех программ на 32-битной архитектуре? Или мы на эту архитектуру не позиционируемся?
VD>А смысл на нее позиционироваться то? Ведь чисто 32-битных процессоров больше почти не выпускается.
А зачем нужны 64 бита? Только для прожорливых приложений, требующих > 4 Гб.
А переход на 64 бита означает сразу увеличение расхода памяти, т.к. все указатели сразу в 2 раза больше занимают.
Но, впрочем, я думаю все равно это не столь важно для написания ОС ибо это должно коснуться только небольшого куска модуля управления памятью.
Здравствуйте, Андрей Хропов, Вы писали:
АХ>А зачем нужны 64 бита?
Они есть и других не будет.
... << RSDN@Home 1.2.0 alpha rev. 637>>
Есть логика намерений и логика обстоятельств, последняя всегда сильнее.
Re[6]: ОС на .Net
От:
Аноним
Дата:
23.05.08 16:41
Оценка:
Тема про ОС на .NET ещё актуальна? Microsoft предоставляет практически всё для её реализации. Взять сингулярити, барток (хотя скорее ротор), открытые исходники .NET... Почему эта ветка затихла? Разве никто не решается сделать первый шаг? Ведь не надо ничего выдумывать (типа велосипед...) просто бери и реализую существующие RFC и ISO (например ISO/IEC 23271:2006) и вперед...
Имея CLI ядро можно и VM Windows реализовать (App->VM Windows->CLI->X86, 64 и пр. приложится...),а это значит совместимость с существующим софтом. Плюс полная совместимость с разрабатываемым софтом (ИМХО будущее за .NET). Есть соображения по этому поводу?
yurik-z:
Тема про ОС на .NET ещё актуальна? Microsoft предоставляет практически всё для её реализации. Взять сингулярити, барток (хотя скорее ротор), открытые исходники .NET... Почему эта ветка затихла? Разве никто не решается сделать первый шаг? Ведь не надо ничего выдумывать (типа велосипед...) просто бери и реализую существующие RFC и ISO (например ISO/IEC 23271:2006) и вперед...
Имея CLI ядро можно и VM Windows реализовать (App-]VM Windows-]CLI-]X86, 64 и пр. приложится...),а это значит совместимость с существующим софтом. Плюс полная совместимость с разрабатываемым софтом (ИМХО будущее за .NET). Есть соображения по этому поводу?
Благими намерениями... Вы напишите обработку прерываний для железа на managed code. Как напишите, расскажите нам как там она реалтаймовость соотноситься с GC :0)
-- Если тебе помогли, незабудь сказать спасибо --
-- Это всё мое личное мнение которое может не совпадать с Вашим или может быть ошибочным --
М>Предлагаю сделать ОС целиком на managed code, кроме ядра.
Интересная постановка вопроса. Это примерно "Предлагаю сделать автомобиль, вернее для начала только салон для пассажиров"
Здравствуйте, dotnetcoder, Вы писали:
D>Благими намерениями... Вы напишите обработку прерываний для железа на managed code.
Уже всё написали. D> Как напишите, расскажите нам как там она реалтаймовость соотноситься с GC :0)
Иди читай про Singularity.
... << RSDN@Home 1.2.0 alpha rev. 677>>
Уйдемте отсюда, Румата! У вас слишком богатые погреба.
AS>>linux kernel 2.6.13 — версия ядра линуха.
P>Что это версия ядра линуха, и так понятно. Вы хотите сказать что там есть MSIL to x86 JIT compiler? Надеюсь объяснять не нужно, что это такое?
Вы напишите обработку прерываний для железа на managed code.
Ради спортивного интереса решил заняться этим вопросом. Ну, конечно, не написать обработчик (я не такой монстр). Решил найти ответ на вопрос – а как это вообще может быть: обработчик на managed code. Учитывая, что я профан во всём этом деле (теперь можно сказать-был), то начал искать с самого начала. Итак (чтоб не нарушать логическую цепочку), прерывание – это событие в системе, генерирующееся процессором на сигналы железа. Работает так: сначала проц останавливает текущую работу, потом читает адрес обр-чика из памяти (вектор прерывания), передает по этому адресу управление. После работы обр-чика продолжает остановленную работу. И вот, вопрос "как сделать обр-чик на managed cod" превращается в: "а собственно какой адрес обр-чика мы должны вписать в память, если у нас CLR, JIT, и вообще мы не знаем, где физически находятся методы того или иного класса, ведь всё компилится в момент выполнения". А как же singularity? Ведь у них это получилось? Посмотрел её исходники. А просто в ней нет JIT. Во время запуска ОС всё уже скомпилино, и их хитрый компилятор Bartok скомпилил HALClass.cs, сказал загрузчику, где там что получилось по каким адресам. И загрузчик SINGLDR тоже уже скомилен с этими сведениями.
И вот, у нас получается два пути:
1) Сложный. Путь сингулярити: заранее скомпилить части ОС, и при установке ОС ставить уже x86-образы
2) Ещё сложнее. Написать архи-компактный JIT, состоящий из 1 файла, который будет запускаться из загрузчика, компилить HAL в момент загрузки ОС, возвращать всю инфу о HAL в загрузчик, который настроит все векторы прерываний.
Простого пути нет, и на коленке это не сделать.
Для тех, кто хочет взять всё готовое, и из них что-то сделать, путь есть: качнуть Linux, Mono, и вуаля! Всё сделано без единой строчки кода!
А так, это надо брать, изучать и делать. Это сложно, но возможно!!! Есть смельчаки? Ведь проект на самом деле очень интересный. А главное-полезный!
Здравствуйте, Муравей, Вы писали:
М>Здравствуйте, AndrewVK, Вы писали:
AVK>>Здравствуйте, Муравей, Вы писали:
М>>>Это скорее не ОС а средство создания оптимизированной ОС из существующих компонентов ОС. М>>>Поправте если я не прав.
AVK>>Не прав. Вобще не пойму откуда ты взял про существующие компоненты.
М>Тогда может объяснишь и не будем играть в разведчиков и военную тайну?
осов на языках с защитой полно. на яве например. ставятся на голую железу. можно погуглить.
в основном используются в академических целях.
идея сингулярити в том, что отвергаются все прынцыпы аппаратной защиты через ринги, и как задачи пользователя, так и компоненты ос крутятся в одном адресном пространстве. это разумеется как ускоряет работу системы, так и упрощает ея.
если делать и ос, то в этом направлении.
делать очередную обычную, классическую ось — тока время тратить. есть просто тулкиты для таких развлечений.
собираете свою ось на коленке, ставите на железку.
Здравствуйте, AndrewVK, Вы писали:
AVK>Здравствуйте, merk, Вы писали:
M>>идея сингулярити в том, что отвергаются все прынцыпы аппаратной защиты через ринги
AVK>Не отвергает, там можно процессы создавать и так и так.
в java тоже можно вызывать native код. вопреки концепции.
и что??
если они хотят защищаться аппаратно, значит не верят в непробиваемость свой арзитектуры.
а раз не верят — значит идея дырява, и можно закрывать всю сингулярити целиком.
Здравствуйте, merk, Вы писали:
M>если они хотят защищаться аппаратно, значит не верят в непробиваемость свой арзитектуры. M>а раз не верят — значит идея дырява, и можно закрывать всю сингулярити целиком.
Если весь код управляемый то можно без аппаратной защиты.
А если захочется запустить какойнибудь легаси написанный на С/С++ итп то тут без аппаратной защиты не обойтись.
Ну или как вариант сделать программную виртуализацию и JIT'ить машинный код вставляя проверки.
... << RSDN@Home 1.2.0 alpha rev. 745>>
Пусть это будет просто:
просто, как только можно,
но не проще.
(C) А. Эйнштейн
Здравствуйте, merk, Вы писали:
M>осов на языках с защитой полно. на яве например. ставятся на голую железу. можно погуглить. M>в основном используются в академических целях.
ОСь на жабе там навсегда и останется.
Ну не приспособлена жаба к создания чегото серьезного.
По уму ей и надо было оставаться в кофеварках.
M>идея сингулярити в том, что отвергаются все прынцыпы аппаратной защиты через ринги, и как задачи пользователя, так и компоненты ос крутятся в одном адресном пространстве. это разумеется как ускоряет работу системы, так и упрощает ея.
Это всеголишь побочный эффект.
Цель была в том чтобы создать ацки надежную ОСь в которой никто не может наломать дров.
Это получилось на столько хорошо что можно даже выкинуть аппаратную защиту.
Единственная дырка которая у них осталась это DMA. Хотя если доработать железо чтобы обращение через DMA было контролируемым...
M>если делать и ос, то в этом направлении.
Тут все не просто, а очень не просто.
Главная проблема в том что на данный момент нет виртуальной машины (ну или я по крайней мере такой не видел) чья модель подходит для создания ОС.
M>делать очередную обычную, классическую ось — тока время тратить. есть просто тулкиты для таких развлечений. M>собираете свою ось на коленке, ставите на железку.
Linux?
... << RSDN@Home 1.2.0 alpha rev. 745>>
Пусть это будет просто:
просто, как только можно,
но не проще.
(C) А. Эйнштейн
Здравствуйте, WolfHound, Вы писали:
WH>Единственная дырка которая у них осталась это DMA. Хотя если доработать железо чтобы обращение через DMA было контролируемым...
Уже доработали, называется IOMMU. Скоро в обычных компьютерах появится — чтобы можно было ускорители в видеокартах нативно в виртуалках использовать.
WH>Главная проблема в том что на данный момент нет виртуальной машины (ну или я по крайней мере такой не видел) чья модель подходит для создания ОС.
И не будет. Рулить должна микроядерная ОСь с очень маленьким ядром (которое можно формально проверить на корректность), которое уже занимается управлением изолированых задач.
Иначе имеем проблему курицы и яйца — для реализации виртуальной машины нужен достаточно большой объём небезопасных техник (типа прямого доступа к памяти в GC или генерации маш. кода в JIT), которые НЕ МОГУТ БЫТЬ формально проверены.
Здравствуйте, Cyberax, Вы писали:
C>Уже доработали, называется IOMMU. Скоро в обычных компьютерах появится —
Тем лучше.
C>чтобы можно было ускорители в видеокартах нативно в виртуалках использовать.
Одними ускорителями дело не ограничется.
1) C>И не будет. Рулить должна микроядерная ОСь с очень маленьким ядром (которое можно формально проверить на корректность), которое уже занимается управлением изолированых задач.
2) C>Иначе имеем проблему курицы и яйца — для реализации виртуальной машины нужен достаточно большой объём небезопасных техник (типа прямого доступа к памяти в GC или генерации маш. кода в JIT), которые НЕ МОГУТ БЫТЬ формально проверены.
Тебе не кажется что эти 2 твоих утверждения противоречат друг другу?
Ибо либо нельзя доказать и то и другое либо можно доказать и то и другое.
Тк код ядра ничем не отличается от того что делает JIT.
... << RSDN@Home 1.2.0 alpha rev. 745>>
Пусть это будет просто:
просто, как только можно,
но не проще.
(C) А. Эйнштейн
Здравствуйте, Cyberax, Вы писали:
C>И не будет. Рулить должна микроядерная ОСь с очень маленьким ядром (которое можно формально проверить на корректность)
Что то у тебя все перепуталось. Микро и наноядра нужны, когда нет формального способа проверки, и нужно просто вылизывать код и контролировать его глазами. Если же мым ожем проверять формально (как тот же peverify, к примеру) — размер ядра значения уже не имеет, имеет значение лишь совместимость наличествующего кода с проверяльщиком.
... <<RSDN@Home 1.2.0 alpha 4 rev. 1090 on Windows Vista 6.0.6001.65536>>