OberonCore

Библиотека  Wiki  Форум  BlackBox  Компоненты  Проекты
Текущее время: Пятница, 29 Март, 2024 02:42

Часовой пояс: UTC + 3 часа




Начать новую тему Ответить на тему  [ Сообщений: 19 ] 
Автор Сообщение
 Заголовок сообщения: Двухъядерная OS . Реализуемо-ли ?
СообщениеДобавлено: Воскресенье, 03 Май, 2009 00:27 

Зарегистрирован: Суббота, 02 Май, 2009 22:33
Сообщения: 4
Откуда: С-Пб
Намедни пытался (безуспешно) нагуглить давнишнюю, читаную с бумаги прошловековую статейку, в которой запомнилось высказывание, что эффект от использования 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" - по своему вкусу и видюхе.

Или проще собрать типа того прям щас из двух старых компов ?


Вернуться к началу
 Профиль  
 
 Заголовок сообщения: Re: Двухъядерная OS . Реализуемо-ли ?
СообщениеДобавлено: Воскресенье, 03 Май, 2009 01:37 
Модератор
Аватара пользователя

Зарегистрирован: Понедельник, 14 Ноябрь, 2005 18:39
Сообщения: 9459
Откуда: Россия, Орёл
Ну так вроде техники виртуализации/супервизоров как раз это дают. На многоядерной машине супервизор, видимо, и раскидает каждую ОС по своему ядру...


Вернуться к началу
 Профиль  
 
 Заголовок сообщения: Re: Двухъядерная OS . Реализуемо-ли ?
СообщениеДобавлено: Воскресенье, 03 Май, 2009 12:58 
Аватара пользователя

Зарегистрирован: Пятница, 25 Ноябрь, 2005 18:55
Сообщения: 2272
Откуда: Россия, Нижний Новгород
Просто вводится дополнительный уровень абстракции: поток выполнения. Количество потоков может превышать количество процессоров. С этого уровня абстракции работа системы распределяется между потоками, а не на процессорами.


Вернуться к началу
 Профиль  
 
 Заголовок сообщения: Re: Двухъядерная OS . Реализуемо-ли ?
СообщениеДобавлено: Понедельник, 04 Май, 2009 11:34 

Зарегистрирован: Понедельник, 30 Июль, 2007 10:53
Сообщения: 1538
Откуда: Беларусь, Минск
Из вышесказанного следует, что в двухядерных ОС особого смысла нет, даже если они и реализуемы.


Вернуться к началу
 Профиль  
 
 Заголовок сообщения: Re: Двухъядерная OS . Реализуемо-ли ?
СообщениеДобавлено: Понедельник, 04 Май, 2009 11:49 

Зарегистрирован: Суббота, 02 Май, 2009 22:33
Сообщения: 4
Откуда: С-Пб
Насчёт уровня абстракции до мозгов не доходит. Я может не так (не понятно) спросил ?
Я понимаю, (если быть в уровне работы PC-компа) что должен быть некий загрузчик, который засунет каждую из OS на своё ядро и своё (жёстко-заданное) пространство памяти. Может даже каждый из каналов контроллера памяти будет у каждой [полу]OSи свой. Это уровень мне представляется смутно, но, кажется большого обьёма двоичного кода тут нет.
Хотелось прояснить:
1. Каким образом такие системы могут обмениваться (желательно по стандартному СЕТЕВОМУ протоколу)?
2. Сильно ли можно убавить сложность каждой из полу-систем за счёт выкида лишнего ? В этом вопросе важнее критерий сложности, как сложности понимания (обозреваемости, числа увязок), а не объёма исходного и двоичного кода.


Вернуться к началу
 Профиль  
 
 Заголовок сообщения: Re: Двухъядерная OS . Реализуемо-ли ?
СообщениеДобавлено: Понедельник, 04 Май, 2009 12:17 

Зарегистрирован: Понедельник, 30 Июль, 2007 10:53
Сообщения: 1538
Откуда: Беларусь, Минск
Сложности вряд ли убавится. Скорее, даже, приватится, потому что будут нужны синхронизация (и решения её проблем), протокол общения. А указанный Вами критерий разделения вполне решается установкой (или неустановкой) соответствующих драйверов. По крайней мере, на микроядерной ОС.


Вернуться к началу
 Профиль  
 
 Заголовок сообщения: Re: Двухъядерная OS . Реализуемо-ли ?
СообщениеДобавлено: Понедельник, 04 Май, 2009 13:16 
Аватара пользователя

Зарегистрирован: Суббота, 12 Июль, 2008 22:49
Сообщения: 575
Откуда: Россия, Санкт-Петербург
Советую вам обратить внимание на почти забытую ныне ОС: OS/2. Там есть грамотно реализованное микроядро и продуманная система взаимодействий с остальной системой.

Кроме этого не следует забывать, что существуют различные архитектуры процессоров и вычислительных систем. Например, если мы рассмотрим системы класса p595 (IBM), то там процессор может писать в кеш второго уровня других процессоров (до 64 процессоров на сверхпроизводительной межпроцессорной шине) до 4 процессоров на одном кристалле.


Вернуться к началу
 Профиль  
 
 Заголовок сообщения: Re: Двухъядерная OS . Реализуемо-ли ?
СообщениеДобавлено: Воскресенье, 31 Май, 2009 17:58 

Зарегистрирован: Среда, 14 Ноябрь, 2007 19:03
Сообщения: 1314
Цитата:
Советую вам обратить внимание на почти забытую ныне ОС: OS/2. Там есть грамотно реализованное микроядро и продуманная система взаимодействий с остальной системой.

Что там хорошего...

ДОС - вовсе не такая простенькая(удобненькая) система,как кажется.По целому ряду причин.Задолбаешься в ней копаться.А вообще много интересного было.Ну, например, LOADALL для 286 процессоров позволял обозреть всю память в реальном режиме.Куча прибамбацков к ней ведь есть.И вот тут то начинается хаос.Преодолимый конечно,вроде...


Вернуться к началу
 Профиль  
 
 Заголовок сообщения: Re: Двухъядерная OS . Реализуемо-ли ?
СообщениеДобавлено: Воскресенье, 31 Май, 2009 20:04 
Аватара пользователя

Зарегистрирован: Пятница, 25 Ноябрь, 2005 12:02
Сообщения: 8500
Откуда: Троицк, Москва
Dometer писал(а):
... если иметь в виду выжать максимум производительности.
Да, это явно из разряда "преждевременной оптимизации".

Dometer писал(а):
Мне представляется, что если устроить так, чтобы на одном ядре работала (в своём адресном пространсве) одна полу-OS -(она ведает дисками, сетью ), а на другом ядре крутилась подчинённая ей полу-OS (её ведомство - Video, Mouse, KeyBoard, и пользовательские Окна), то получится более гибкое решение.
Да чего там два. Восемь ядер, на каждое по Оберону, и пусть общаются.

В общем, я двумя руками за. Простоту. Диалектическую, конечно.


Вернуться к началу
 Профиль  
 
 Заголовок сообщения: Re: Двухъядерная OS . Реализуемо-ли ?
СообщениеДобавлено: Воскресенье, 31 Май, 2009 20:07 
Аватара пользователя

Зарегистрирован: Пятница, 25 Ноябрь, 2005 12:02
Сообщения: 8500
Откуда: Троицк, Москва
Dometer писал(а):
В этом вопросе важнее критерий сложности, как сложности понимания (обозреваемости, числа увязок), а не объёма исходного и двоичного кода.
Железа сейчас как грязи, ясное-обозримое решение пойдет на ура.


Вернуться к началу
 Профиль  
 
 Заголовок сообщения: Re: Двухъядерная OS . Реализуемо-ли ?
СообщениеДобавлено: Понедельник, 01 Июнь, 2009 12:47 
Аватара пользователя

Зарегистрирован: Суббота, 19 Ноябрь, 2005 15:59
Сообщения: 803
Откуда: Зеленоград
У нас для встроенных приложений есть свой процессор, теперь -- 2-ядерный.
Ядра идентичны во всем, кроме номера (ядро может определить свой номер: 0 или 1).
При запуске оба ядра начинают исполнять один и тот же код, но ядро 0 считается вначале основным, поэтому ядро 1 определяет свой номер и "впадает в спячку" (цикл ожидания, когда ядро 0 даст ему задание).
Вот на этом простом примере можно "обкатать" идею 2-ядерной ОС.

В целом же, я согласен с Сергеем Губановым, который за основу берет не ядро, а поток.
IMHO, кроме концептуального упрощения, это позволит сбалансировать нагрузку на ядра.
Но, кажется, это накладывает дополнительное требование (которое не всегда выполняется) к 2-ядерному процессору: обеспечить когерентность кэшей. (Так ли это?)


Вернуться к началу
 Профиль  
 
 Заголовок сообщения: Re: Двухъядерная OS . Реализуемо-ли ?
СообщениеДобавлено: Понедельник, 01 Июнь, 2009 18:04 

Зарегистрирован: Суббота, 02 Май, 2009 22:33
Сообщения: 4
Откуда: С-Пб
Info21 писал(а):
Dometer писал(а):
... если иметь в виду выжать максимум производительности.
Да, это явно из разряда "преждевременной оптимизации".

1. Когда заглядывал в книжки по вопросам много(>=2)ядерных вычислений, первой заботой пишут о равной загрузке процессоров, или чтоб хотя-бы не простаивали. Мне же интересно, что можно упростить, если этим пожертвовать ? Пусть лучше ядро простаивает, чем грузить логику системы заботой о балансе ! (?)
Идея для аппаратчиков: периодически перекидывать номера ядер для равномерного нагрева (ведь именно нагрев застопорил P4 !).
2. Наверно страшная вешь "преждевременная оптимизация" ! Мобыть кто-то уже наловчился так кодить, чтоб уже ничего нельзя было улучшить (в смысле невозможно, в смысле легченачатьзаново) ? :)

AVC писал(а):
В целом же, я согласен с Сергеем Губановым, который за основу берет не ядро, а поток.


Пробел в знаниях ... Поток на аппаратном уровне поддерживается или на уровне ОС ? Или это вообще абстракция, поддерживаемая языком программирования ?


Вернуться к началу
 Профиль  
 
 Заголовок сообщения: Re: Двухъядерная OS . Реализуемо-ли ?
СообщениеДобавлено: Вторник, 02 Июнь, 2009 15:53 

Зарегистрирован: Среда, 24 Декабрь, 2008 07:11
Сообщения: 13
Пару лет назад я задал вопрос одному эксперту по железу - насчет многопоточности он отослал меня к IA-32 IA-64 developer manual (на сайте intel) после чего сказал что самое сложное это вопрос взаимодействия ОС и железа. Почитав кусочек этого труда я понял почему это называют "железом"


Вернуться к началу
 Профиль  
 
 Заголовок сообщения: Re: Двухъядерная OS . Реализуемо-ли ?
СообщениеДобавлено: Вторник, 02 Июнь, 2009 17:36 
Аватара пользователя

Зарегистрирован: Пятница, 25 Ноябрь, 2005 12:02
Сообщения: 8500
Откуда: Троицк, Москва
Вот они свою "жесть" оптимизят (или оптимизуют, не знаю уж, как правильнее),
а тенденция к много-многоядерности.
И все их оптимизации обессмыслятца.
Впрочем, им по барабану -- все равно в цену все расходы спихнут.

----
Конечно, по логике потоки -- понятие логическое, а ядра -- жестяное. А ОС должна жонглировать.
Только есть подозрение, что потоки -- не такое уж фундаментальное понятие. Misleading.


Вернуться к началу
 Профиль  
 
 Заголовок сообщения: Re: Двухъядерная OS . Реализуемо-ли ?
СообщениеДобавлено: Среда, 03 Июнь, 2009 10:28 

Зарегистрирован: Понедельник, 30 Июль, 2007 10:53
Сообщения: 1538
Откуда: Беларусь, Минск
Dometer писал(а):
Поток на аппаратном уровне поддерживается или на уровне ОС ? Или это вообще абстракция, поддерживаемая языком программирования ?
Для вытесняющей многопоточности требуется поддержка на уровне ОС. А ОС пользуется необходимыми для этого возможностями аппаратуры.


Вернуться к началу
 Профиль  
 
 Заголовок сообщения: Re: Двухъядерная OS . Реализуемо-ли ?
СообщениеДобавлено: Среда, 03 Июнь, 2009 12:05 
Аватара пользователя

Зарегистрирован: Суббота, 19 Ноябрь, 2005 15:59
Сообщения: 803
Откуда: Зеленоград
Info21 писал(а):
Только есть подозрение, что потоки -- не такое уж фундаментальное понятие. Misleading.

Отчего же не фундаментальное? (Может статься, дело в терминологии? Слово "процесс" оказалось уже "занято".)


Вернуться к началу
 Профиль  
 
 Заголовок сообщения: Re: Двухъядерная OS . Реализуемо-ли ?
СообщениеДобавлено: Среда, 03 Июнь, 2009 12:15 
Аватара пользователя

Зарегистрирован: Суббота, 19 Ноябрь, 2005 15:59
Сообщения: 803
Откуда: Зеленоград
Dometer писал(а):
Пробел в знаниях ... Поток на аппаратном уровне поддерживается или на уровне ОС ? Или это вообще абстракция, поддерживаемая языком программирования ?

Valery Solovey уже точно ответил (технически).
Только акцентирую: поток (по сути, "процесс") -- абстракция (или "фундаментальное понятие" по info21), которое может быть реализовано разными способами (как правило, с поддержкой на уровне ОС). Может также иметь поддержку в языке программирования или в библиотеках.


Последний раз редактировалось AVC Среда, 03 Июнь, 2009 12:18, всего редактировалось 1 раз.

Вернуться к началу
 Профиль  
 
 Заголовок сообщения: Re: Двухъядерная OS . Реализуемо-ли ?
СообщениеДобавлено: Среда, 03 Июнь, 2009 12:18 
Аватара пользователя

Зарегистрирован: Пятница, 25 Ноябрь, 2005 12:02
Сообщения: 8500
Откуда: Троицк, Москва
AVC писал(а):
Info21 писал(а):
Только есть подозрение, что потоки -- не такое уж фундаментальное понятие. Misleading.

Отчего же не фундаментальное?
Не было сказано "не фундаментальное". Было: "не такое уж фундаментальное".

Обсуждать фундаментальные и смутные вещи тут трудно, особенно урывками.


Вернуться к началу
 Профиль  
 
 Заголовок сообщения: Re: Двухъядерная OS . Реализуемо-ли ?
СообщениеДобавлено: Среда, 03 Июнь, 2009 12:20 
Аватара пользователя

Зарегистрирован: Пятница, 25 Ноябрь, 2005 12:02
Сообщения: 8500
Откуда: Троицк, Москва
AVC писал(а):
поток (по сути, "процесс") -- абстракция (или "фундаментальное понятие" по info21)
info21 говорил "логическое", имея в виду логику задачи.

У жести, конечно, тоже своя законная логика (как и у Интеля, стремящегося его продать, своя законная логика), так что слово "логика" тут скользкое.


Вернуться к началу
 Профиль  
 
Показать сообщения за:  Поле сортировки  
Начать новую тему Ответить на тему  [ Сообщений: 19 ] 

Часовой пояс: UTC + 3 часа


Кто сейчас на конференции

Сейчас этот форум просматривают: нет зарегистрированных пользователей и гости: 5


Вы не можете начинать темы
Вы не можете отвечать на сообщения
Вы не можете редактировать свои сообщения
Вы не можете удалять свои сообщения
Вы не можете добавлять вложения

Найти:
cron
Вся информация, размещаемая участниками на конференции (тексты сообщений, вложения и пр.) © 2005-2024, участники конференции «OberonCore», если специально не оговорено иное.
Администрация не несет ответственности за мнения, стиль и достоверность высказываний участников, равно как и за безопасность материалов, предоставляемых участниками во вложениях.
Без разрешения участников и ссылки на конференцию «OberonCore» любое воспроизведение и/или копирование высказываний полностью и/или по частям запрещено.
Powered by phpBB® Forum Software © phpBB Group
Русская поддержка phpBB