OberonCore https://forum.oberoncore.ru/ |
|
Двухъядерная OS . Реализуемо-ли ? https://forum.oberoncore.ru/viewtopic.php?f=60&t=1544 |
Страница 1 из 1 |
Автор: | Dometer [ Воскресенье, 03 Май, 2009 00:27 ] |
Заголовок сообщения: | Двухъядерная OS . Реализуемо-ли ? |
Намедни пытался (безуспешно) нагуглить давнишнюю, читаную с бумаги прошловековую статейку, в которой запомнилось высказывание, что эффект от использования PC (то ли рост этого эффекта - смутно помню) прошёл максимум во времена DOS. Щас Microsoft совсем зарвалась etc. Обзираюсь в вызыривании Свободных Прогрессивных Открытых осей и сникаю Microsoft - хвала титанам ! - стоически поддерживает совместимости наработанного ПО (вот у меня со времен Win 3.1 от сканера осталась програмка U-lead PhotoPlus (она - если надо что-то убрать в графическом файле - раз в 10 быстрее монстров) под XP даже лучше чем под 98 пашет !) Но USSR то же титанически поддерживал совместимость с Марксистско-Ленинским учением - аналогия настораживает ! Linux ... Стоунхендж строили энтузиасты - шутка-ли 50 тонные камни (для технологий 5000-летней давности !). Они сами чувствовали себя полубогами ! И их ученики-последователи ... но с чередой тысячелетий энтузиазм подостыл, что мегалит не только без поддержки остался, но даже инструкций по пользованию откопать не могут. Ныне время сжато. Линус Торвальдс - круто ! Linux-сообщество - круто (но уже с привкусом занудства). Пройдёт ещё полтора поколения Линуксоидов - останется одно занудство - ибо тратить пол жизни на изучение ЧУЖОГО кода никто не захочет, а УПРОСТИТЬ ось до уровня втечениетрёхлетосвояимости народные массы не смогут. А не позволяет ли распространённость двух (и более) ядреных процессоров снизить драматизм ситуации ? Я догадываюсь, что "писать проги на много ядер сложнее.."- если иметь в виду выжать максимум производительности. Мне представляется, что если устроить так, чтобы на одном ядре работала (в своём адресном пространсве) одна полу-OS -(она ведает дисками, сетью ), а на другом ядре крутилась подчинённая ей полу-OS (её ведомство - Video, Mouse, KeyBoard, и пользовательские Окна), то получится более гибкое решение. Ибо объём кода каждой полу-OSи вдвое меньше. Если каждую из полуосей получится устанавливать независимо (надо только интерфейс унифицировать - одна полу-OS - типа файл-сервер-приложений, другая - типа бездисковая рабочая станция), то каждый юзер сможет выбрать "серверную OS" по своему железу (кроме видюхи), а "Work-Station" - по своему вкусу и видюхе. Или проще собрать типа того прям щас из двух старых компов ? |
Автор: | Илья Ермаков [ Воскресенье, 03 Май, 2009 01:37 ] |
Заголовок сообщения: | Re: Двухъядерная OS . Реализуемо-ли ? |
Ну так вроде техники виртуализации/супервизоров как раз это дают. На многоядерной машине супервизор, видимо, и раскидает каждую ОС по своему ядру... |
Автор: | Сергей Губанов [ Воскресенье, 03 Май, 2009 12:58 ] |
Заголовок сообщения: | Re: Двухъядерная OS . Реализуемо-ли ? |
Просто вводится дополнительный уровень абстракции: поток выполнения. Количество потоков может превышать количество процессоров. С этого уровня абстракции работа системы распределяется между потоками, а не на процессорами. |
Автор: | Valery Solovey [ Понедельник, 04 Май, 2009 11:34 ] |
Заголовок сообщения: | Re: Двухъядерная OS . Реализуемо-ли ? |
Из вышесказанного следует, что в двухядерных ОС особого смысла нет, даже если они и реализуемы. |
Автор: | Dometer [ Понедельник, 04 Май, 2009 11:49 ] |
Заголовок сообщения: | Re: Двухъядерная OS . Реализуемо-ли ? |
Насчёт уровня абстракции до мозгов не доходит. Я может не так (не понятно) спросил ? Я понимаю, (если быть в уровне работы PC-компа) что должен быть некий загрузчик, который засунет каждую из OS на своё ядро и своё (жёстко-заданное) пространство памяти. Может даже каждый из каналов контроллера памяти будет у каждой [полу]OSи свой. Это уровень мне представляется смутно, но, кажется большого обьёма двоичного кода тут нет. Хотелось прояснить: 1. Каким образом такие системы могут обмениваться (желательно по стандартному СЕТЕВОМУ протоколу)? 2. Сильно ли можно убавить сложность каждой из полу-систем за счёт выкида лишнего ? В этом вопросе важнее критерий сложности, как сложности понимания (обозреваемости, числа увязок), а не объёма исходного и двоичного кода. |
Автор: | Valery Solovey [ Понедельник, 04 Май, 2009 12:17 ] |
Заголовок сообщения: | Re: Двухъядерная OS . Реализуемо-ли ? |
Сложности вряд ли убавится. Скорее, даже, приватится, потому что будут нужны синхронизация (и решения её проблем), протокол общения. А указанный Вами критерий разделения вполне решается установкой (или неустановкой) соответствующих драйверов. По крайней мере, на микроядерной ОС. |
Автор: | Madzi [ Понедельник, 04 Май, 2009 13:16 ] |
Заголовок сообщения: | Re: Двухъядерная OS . Реализуемо-ли ? |
Советую вам обратить внимание на почти забытую ныне ОС: OS/2. Там есть грамотно реализованное микроядро и продуманная система взаимодействий с остальной системой. Кроме этого не следует забывать, что существуют различные архитектуры процессоров и вычислительных систем. Например, если мы рассмотрим системы класса p595 (IBM), то там процессор может писать в кеш второго уровня других процессоров (до 64 процессоров на сверхпроизводительной межпроцессорной шине) до 4 процессоров на одном кристалле. |
Автор: | Клоп Говорун [ Воскресенье, 31 Май, 2009 17:58 ] |
Заголовок сообщения: | Re: Двухъядерная OS . Реализуемо-ли ? |
Цитата: Советую вам обратить внимание на почти забытую ныне ОС: OS/2. Там есть грамотно реализованное микроядро и продуманная система взаимодействий с остальной системой. Что там хорошего... ДОС - вовсе не такая простенькая(удобненькая) система,как кажется.По целому ряду причин.Задолбаешься в ней копаться.А вообще много интересного было.Ну, например, LOADALL для 286 процессоров позволял обозреть всю память в реальном режиме.Куча прибамбацков к ней ведь есть.И вот тут то начинается хаос.Преодолимый конечно,вроде... |
Автор: | Info21 [ Воскресенье, 31 Май, 2009 20:04 ] |
Заголовок сообщения: | Re: Двухъядерная OS . Реализуемо-ли ? |
Dometer писал(а): ... если иметь в виду выжать максимум производительности. Да, это явно из разряда "преждевременной оптимизации".Dometer писал(а): Мне представляется, что если устроить так, чтобы на одном ядре работала (в своём адресном пространсве) одна полу-OS -(она ведает дисками, сетью ), а на другом ядре крутилась подчинённая ей полу-OS (её ведомство - Video, Mouse, KeyBoard, и пользовательские Окна), то получится более гибкое решение. Да чего там два. Восемь ядер, на каждое по Оберону, и пусть общаются.В общем, я двумя руками за. Простоту. Диалектическую, конечно. |
Автор: | Info21 [ Воскресенье, 31 Май, 2009 20:07 ] |
Заголовок сообщения: | Re: Двухъядерная OS . Реализуемо-ли ? |
Dometer писал(а): В этом вопросе важнее критерий сложности, как сложности понимания (обозреваемости, числа увязок), а не объёма исходного и двоичного кода. Железа сейчас как грязи, ясное-обозримое решение пойдет на ура.
|
Автор: | AVC [ Понедельник, 01 Июнь, 2009 12:47 ] |
Заголовок сообщения: | Re: Двухъядерная OS . Реализуемо-ли ? |
У нас для встроенных приложений есть свой процессор, теперь -- 2-ядерный. Ядра идентичны во всем, кроме номера (ядро может определить свой номер: 0 или 1). При запуске оба ядра начинают исполнять один и тот же код, но ядро 0 считается вначале основным, поэтому ядро 1 определяет свой номер и "впадает в спячку" (цикл ожидания, когда ядро 0 даст ему задание). Вот на этом простом примере можно "обкатать" идею 2-ядерной ОС. В целом же, я согласен с Сергеем Губановым, который за основу берет не ядро, а поток. IMHO, кроме концептуального упрощения, это позволит сбалансировать нагрузку на ядра. Но, кажется, это накладывает дополнительное требование (которое не всегда выполняется) к 2-ядерному процессору: обеспечить когерентность кэшей. (Так ли это?) |
Автор: | Dometer [ Понедельник, 01 Июнь, 2009 18:04 ] |
Заголовок сообщения: | Re: Двухъядерная OS . Реализуемо-ли ? |
Info21 писал(а): Dometer писал(а): ... если иметь в виду выжать максимум производительности. Да, это явно из разряда "преждевременной оптимизации". 1. Когда заглядывал в книжки по вопросам много(>=2)ядерных вычислений, первой заботой пишут о равной загрузке процессоров, или чтоб хотя-бы не простаивали. Мне же интересно, что можно упростить, если этим пожертвовать ? Пусть лучше ядро простаивает, чем грузить логику системы заботой о балансе ! (?) Идея для аппаратчиков: периодически перекидывать номера ядер для равномерного нагрева (ведь именно нагрев застопорил P4 !). 2. Наверно страшная вешь "преждевременная оптимизация" ! Мобыть кто-то уже наловчился так кодить, чтоб уже ничего нельзя было улучшить (в смысле невозможно, в смысле легченачатьзаново) ? AVC писал(а): В целом же, я согласен с Сергеем Губановым, который за основу берет не ядро, а поток. Пробел в знаниях ... Поток на аппаратном уровне поддерживается или на уровне ОС ? Или это вообще абстракция, поддерживаемая языком программирования ? |
Автор: | protector [ Вторник, 02 Июнь, 2009 15:53 ] |
Заголовок сообщения: | Re: Двухъядерная OS . Реализуемо-ли ? |
Пару лет назад я задал вопрос одному эксперту по железу - насчет многопоточности он отослал меня к IA-32 IA-64 developer manual (на сайте intel) после чего сказал что самое сложное это вопрос взаимодействия ОС и железа. Почитав кусочек этого труда я понял почему это называют "железом" |
Автор: | Info21 [ Вторник, 02 Июнь, 2009 17:36 ] |
Заголовок сообщения: | Re: Двухъядерная OS . Реализуемо-ли ? |
Вот они свою "жесть" оптимизят (или оптимизуют, не знаю уж, как правильнее), а тенденция к много-многоядерности. И все их оптимизации обессмыслятца. Впрочем, им по барабану -- все равно в цену все расходы спихнут. ---- Конечно, по логике потоки -- понятие логическое, а ядра -- жестяное. А ОС должна жонглировать. Только есть подозрение, что потоки -- не такое уж фундаментальное понятие. Misleading. |
Автор: | Valery Solovey [ Среда, 03 Июнь, 2009 10:28 ] |
Заголовок сообщения: | Re: Двухъядерная OS . Реализуемо-ли ? |
Dometer писал(а): Поток на аппаратном уровне поддерживается или на уровне ОС ? Или это вообще абстракция, поддерживаемая языком программирования ? Для вытесняющей многопоточности требуется поддержка на уровне ОС. А ОС пользуется необходимыми для этого возможностями аппаратуры.
|
Автор: | AVC [ Среда, 03 Июнь, 2009 12:05 ] |
Заголовок сообщения: | Re: Двухъядерная OS . Реализуемо-ли ? |
Info21 писал(а): Только есть подозрение, что потоки -- не такое уж фундаментальное понятие. Misleading. Отчего же не фундаментальное? (Может статься, дело в терминологии? Слово "процесс" оказалось уже "занято".) |
Автор: | AVC [ Среда, 03 Июнь, 2009 12:15 ] |
Заголовок сообщения: | Re: Двухъядерная OS . Реализуемо-ли ? |
Dometer писал(а): Пробел в знаниях ... Поток на аппаратном уровне поддерживается или на уровне ОС ? Или это вообще абстракция, поддерживаемая языком программирования ? Valery Solovey уже точно ответил (технически). Только акцентирую: поток (по сути, "процесс") -- абстракция (или "фундаментальное понятие" по info21), которое может быть реализовано разными способами (как правило, с поддержкой на уровне ОС). Может также иметь поддержку в языке программирования или в библиотеках. |
Автор: | Info21 [ Среда, 03 Июнь, 2009 12:18 ] |
Заголовок сообщения: | Re: Двухъядерная OS . Реализуемо-ли ? |
AVC писал(а): Info21 писал(а): Только есть подозрение, что потоки -- не такое уж фундаментальное понятие. Misleading. Отчего же не фундаментальное? Обсуждать фундаментальные и смутные вещи тут трудно, особенно урывками. |
Автор: | Info21 [ Среда, 03 Июнь, 2009 12:20 ] |
Заголовок сообщения: | Re: Двухъядерная OS . Реализуемо-ли ? |
AVC писал(а): поток (по сути, "процесс") -- абстракция (или "фундаментальное понятие" по info21) info21 говорил "логическое", имея в виду логику задачи.У жести, конечно, тоже своя законная логика (как и у Интеля, стремящегося его продать, своя законная логика), так что слово "логика" тут скользкое. |
Страница 1 из 1 | Часовой пояс: UTC + 3 часа |
Powered by phpBB® Forum Software © phpBB Group https://www.phpbb.com/ |