OSDev

для всех
Текущее время: 25 авг 2025, 00:56

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




Начать новую тему Эта тема закрыта, вы не можете редактировать и оставлять сообщения в ней.  [ Сообщений: 557 ]  На страницу Пред.  1 ... 20, 21, 22, 23, 24, 25, 26 ... 56  След.
Автор Сообщение
 Заголовок сообщения: Re: NewOS - Новая российская ОС
СообщениеДобавлено: 04 фев 2014, 08:47 

Зарегистрирован: 20 дек 2013, 17:37
Сообщения: 243
Откуда: Россия
Народ,
просьба, если кто что-то знает, просветить по поводу аппаратуры виртуализации
и возможностях виртуализации для современных процессоров х86

http://nnm.me/blogs/kotteyko/kitayskie- ... -shpionah/


Вернуться к началу
 Профиль  
 
 Заголовок сообщения: Re: NewOS - Новая российская ОС
СообщениеДобавлено: 04 фев 2014, 14:39 
Аватара пользователя

Зарегистрирован: 20 апр 2011, 10:54
Сообщения: 145
Юрий Носков писал(а):
Народ,
просьба, если кто что-то знает, просветить по поводу аппаратуры виртуализации
и возможностях виртуализации для современных процессоров х86

http://nnm.me/blogs/kotteyko/kitayskie- ... -shpionah/


Видел эту историю. Лично мне не кажется неправдоподобной - все это можно реализовать.

_________________
Found a CPU. LAPIC ID: 00


Вернуться к началу
 Профиль  
 
 Заголовок сообщения: Re: NewOS - Новая российская ОС
СообщениеДобавлено: 04 фев 2014, 18:27 
Аватара пользователя

Зарегистрирован: 16 май 2007, 23:46
Сообщения: 1126
Статья имеет много правдивых фактов. Одно но, внешняя железка не может влиять на процессор прямо. Только косвенно. Не может она заставить процессор исполнять свой код.

Поэтому ФСБ правы им надо проверить код БИОСа на наличие команд супервизора.
По поводу временных задержек, есть ещё SMM. И картина со средне взвешенным временем примерна такая же. И специалистам по ОС и ИБ про него много известно.

Думаю тут возможен второй случай банальный конфликт аппаратуры. Когда внутренний проц имеет доступ к сетевой карте и ЦП тоже имеет доступ к этой сетевой. Что приводит к сбоям и зависаниям.

По поводу виртуализации. Открываем официальную документацию на процессор там всё описано.
На самом деле ничего там сверх естественного нет. Это сохранения системных регистров которые добавились за 10-20 лет включая часть "модельно специфичных". Поддержка перехвата портов в/в, ускорение трансляции адресов. Задания прерывания гипервизора при обращение гостя к определённым группам команд


Вернуться к началу
 Профиль  
 
 Заголовок сообщения: Re: NewOS - Новая российская ОС
СообщениеДобавлено: 04 фев 2014, 20:23 
Аватара пользователя

Зарегистрирован: 20 апр 2011, 10:54
Сообщения: 145
pavia писал(а):
Статья имеет много правдивых фактов. Одно но, внешняя железка не может влиять на процессор прямо. Только косвенно. Не может она заставить процессор исполнять свой код.

Есть подозрение, что у процессоров Intel все-таки есть внутрисхемная отладка, хотя и недокументированая (а может есть и документированая, я не в курсе).

_________________
Found a CPU. LAPIC ID: 00


Вернуться к началу
 Профиль  
 
 Заголовок сообщения: Re: NewOS - Новая российская ОС
СообщениеДобавлено: 04 фев 2014, 22:55 

Зарегистрирован: 20 дек 2013, 17:37
Сообщения: 243
Откуда: Россия
Давайте посмотрим на данный вопрос со стороны разработчика
современной перспективной ОС - новые процессоры имеют
возможности виртуализации, как это все может использовать ОС
для своих внутренних нужд и что может выдать на гора пользователю
в виде API. Как ОС вообще учитывает, что тут рядом еще какой-то
процессор сбоку работает с тем же железом (данными).

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

По крайней мере у меня такое сложилось пока видение.
Что скажете?


Вернуться к началу
 Профиль  
 
 Заголовок сообщения: Re: NewOS - Новая российская ОС
СообщениеДобавлено: 05 фев 2014, 01:49 

Зарегистрирован: 26 мар 2012, 17:32
Сообщения: 209
418ImATeapot писал(а):
Есть подозрение, что у процессоров Intel все-таки есть внутрисхемная отладка, хотя и недокументированая (а может есть и документированая, я не в курсе).
Конечно есть, сначала ICE (In-Circuit Emulation), потом JTAG. Необходимое железо для этого совсем недемократично стоит, однако ж. Впрочем, в такой отладке на массовых процах (если не рассматривать то что идёт во всякую встроенку) очень мало смысла, всё стараются вылавливать на куда более ранних этапах производства. Но для тестирования на производстве (каждый произведённый экземпляр нужно тщательно протестировать, при этом автоматически на конвеере, а не в собранном ручками компе) и исправления мелких косяков (обновления микрокода не просто так выпускают, не всё получается выловить) конечно приходится оставлять интерфейсы.

418ImATeapot писал(а):
Лично мне не кажется неправдоподобной - все это можно реализовать.
Одно "экспертное" мнение офигительнее другого. Вот все эти "кажется", основанные ни на чём или, в лучшем случае, на "что-то где-то слышал, что-то читал, но сам не делал" - нууу, просто праздник какой-то. Впрочем, я сам этим страдаю, за что иногда и наслушиваюсь нелестного от тех кто в чём-то более хорошо разбирается, бгг.

Юрий Носков писал(а):
Народ,
просьба, если кто что-то знает, просветить по поводу аппаратуры виртуализации
и возможностях виртуализации для современных процессоров х86

http://nnm.me/blogs/kotteyko/kitayskie- ... -shpionah/

Хм, а почему ссылка не на ~оригинал в ][ ?
Статья - лажа, автора вживую видел, он оказался, скажем так, не очень адекватен. Но так уж оно написано и так устроены люди, что многие поверили и часто ссылаются, что у меня вызывает дикий БХ.

Краткая выжимка по делу: да, с помощью аппаратной виртуализации можно дофига делать с операционкой, так что она этого почти не заметит при обычном функционировании. Но как бы наличие такого гипервизора либо обнаруживается (особенно из ring0) легко, либо он работает нестабильно и заточен под конкретный чипсет и прочее, либо имеем заметные тормоза, причём зачастую комбинация этого.
Сделать гипервизор с поддержкой вложенной виртуализации (чтобы уж совсем банально не палиться тем что проц явно из тех что поддерживает эти расширения, но они почему-то оказываются недоступны) - очень нефиговый объём труда и кода (критикуемый мной автор, кстати, утверждал что это фигня и всё легко делается, вот только на практике оказалось что он только говорить умеет; кому нужна практика - могут посмотреть, сколько времени и кода заняла реализация этого в KVM, причём сравнить насколько позднее удалось запилить это для Intel по сравнению с AMD), при этом накладные расходы (грубо говоря, тормоза) весьма будут заметны. Спрятать их совсем - невозможно, сильно уменьшить - можно, но всё остаётся возможность задетектить.

В общем, избегайте читать русских^W мастеров словесного розжига. Нормально написано у Рутковской, например (читаем про Blue Pill и Red Pill, ну и ещё у неё и соавторов есть хорошие статьи).

Воть. Чего есть действительно интересного - всякие серверные (но потихоньку появляющиеся и на домашней технике) приблуды для того или иного удалённого доступа (у разных производителей называется по-разному - iKVM, IPMI/KVM и т.д.), реализованные в виде отдельного проца (а иногда и нечто комбинированное, читать про Intel AMT / vPro) с архитектурой вроде MIPS или ARM, своей памятью и немалым доступом к хостовому железу. Вроде, это даже чуточку упомянуто в негодной статье, но это так всегда - берём факты, смешиваем с непросто верифицируемыми небылицами - и народ схавает за чистую монету вообще всё. Вот с этими фичами куда реальнее можно ждать проблем касательно незаметного слива информации и удалённого управления, но как бы везде одинаковых закладок не напихаешь (хотя можно жить и в модели глобального атакующего (даже не наблюдателя), но тогда лучше сразу шапочку из фольги напяливать и в лес идти, молиться и поститься), так что левый сетевой трафик легко обнаруживается. Кстати, вот на левом трафике некоторые китайские производители (huawei, щтоле) очень в своё время попалились.

Впрочем, на фоне вездесущей человеческой глупости ( чего стоит сама эта тема с самого начала - ишь чего, опять чего-то вещают про "сделаем с нуля, не напоремся на очевидные грабли" и особый (уже даже не русский, а российский) путь, хотя казалось бы, с какого перепугу должна ОС быть в чём-то специфичной для страны/народа/whatever? (риторический вопрос) ) странно говорить об аппаратных закладках и уберзащищённых системах для пользователя-неспециалиста. Вот реальный и банальный пример - затарила крупная организация для своей ценной информации СХД (систему хранения данных), естественно с поддержкой и долгой гарантией, поставила софтину от производителя (для мониторинга состояния, обновления прошивок (если кто не в курсе - на HDD нередко выпускаются обновления фирмвари, причём зачастую фиксятся весьма болезненные баги) и прочего, как пример - IBM Storage Manager, не знаю деталей чего именно было в этом случае), насколько понимаю - инет никто особо не обрезал (ведь чудо-софтину порой обновлять надо). Так вот, контора, очень удивилась (мягко говоря), когда вскоре после сбоя одного из дисков с ними связался сервис производителя на предмет замены. Если я неочевидно написал - поясню, удивление было потому что на тот момент никто из самой конторы ещё в сервис не обращался, так что сразу началось кудахтанье про закладки, опасносте для данных в частности и для лица конторы в целом, вроде как дошло до разрыва сотрудничества с этим производителем и переходом к другому. Читать лицензионные (и другие) соглашения (в который подобные вещи прописаны, ибо производитель не дурак) и думать головой - не, не слышали.

Что-то опять понесло и длинно получилось. Ну ладно, ещё попытка резюмировать:
1) думать надо головой, при этом очень полезно всё же не брезговать институтской физикой и математикой (особенно дискретным анализом и прочими подобными курсами), иначе легко поверить во всякие небылицы
2) программные "закладки" - распространены в виде частей прикладного софта, но работающие выше уровня ОС - редкая редкость, ибо обречены на огромный объём труда и привязанность к конкретному железу (и обнаружимость), так что существуют только в рамках исследовательских работ и работ под конкретные заказы, иначе неокупаемо-с.
2.1) читайте соглашения, зачастую отправка данных там прописана. Ну или хотя бы не мешает вспоминать принцип минимальных привилегий.
2.2) умные вендоры оставляют не закладки для отправки данных, а "дырки" (те или иные косяки в коде/алгоритмах), позволяющие заметно снизить сложность доступа к данным тем кто знает куда соваться. Вот это реально тяжело обнаружить и про такое не пишут в соглашениях.
3) аппаратные "закладки" (не путать с программными, использующими фичи аппаратуры) - штука как бы и реальная, но левый трафик сныкать не так просто, особенно если смотреть его промежуточными узлами, основанными на продуктах других производителей. Если в голове вообще праздник какой-то - можно на ПЛИС делать такие устройства для анализа трафика, если даже в таком варианте чешется сказать про глобальные "волшебные" штучки которые позволят скрыть левый трафик - верная дорога подальше от техники, а то и в заведение, где добрые врачи "кормят вкусными таблетками".
3.1) кстати, многие забывают что на "буржуйскую" технику нельзя полагаться в критичных вещах даже не потому что якобы слив данных, а потому что куда реальнее недокументированные возможности для быстрого приведение в нерабочее состояние (или хотя бы отключение) по тому или иному "сигналу" извне.

Upd: хм, хоть я и не удержался от "тред не читай@сразу отвечай", но выше от pavia очень хороший ответ уже есть.

Юрий Носков писал(а):
Как ОС вообще учитывает, что тут рядом еще какой-то
процессор сбоку работает с тем же железом (данными).

Если речь идёт про виртуализацию (а не про IPMI), то эти технологии как раз и нужны чтобы гостевая ОС _никак_ не должна была учитывать, что рядом какой-то процессор (вообще говоря, тот же самый, просто в режиме разделения времени) работает с тем же железом (громко сказано, кстати, ибо обычно дело ограничивается оперативкой, остальное физическое железо геморно пробрасывать в гостевую систему, а так чтобы более одной гостевой ОС использовали одно устройство - вообще печаль, ну если не учитывать некоторые устройства, предоставляющие для этого специальные расширения, например, гуглить по Intel Virtual Functions NIC). Ну разве что для уменьшения накладных расходов можно давать некоторую возможность учитывать это с помощью паравиртуализационных драйверов.

Юрий Носков писал(а):
Давайте посмотрим на данный вопрос со стороны разработчика
современной перспективной ОС - новые процессоры имеют
возможности виртуализации, как это все может использовать ОС
для своих внутренних нужд и что может выдать на гора пользователю
в виде API.

Из каких реальных потребностей эти тенденции появились в целом
понятно и дело здесь не в шпионских заморочках, они как бы
всегда присутствуют, но тут все больше говорит о развитии
базовых возможностей в определенную сторону.
Т.е. чего оно даёт? Во-первых, некоторые возможности уменьшить проблемы с использованием legacy софта. Нельзя просто так взять и перестать пользоваться древним софтом, но железо иногда не вечно, да и нерационально держать полку старых компов, когда можно вместо этого держать один современный сервак (который поменьше электричества жрать будет, кстати) и на нём несколько виртуалок, которые друг другу вообще не мешают.
Во-вторых, для разработчика системного (а иногда и не очень) софта это жизнь зачастую упрощает (хотя в итоге на реальном железе и надо тестировать, но многие вещи и так можно отловить, порой даже удобнее).
В-третьих, иногда софт как бы и не старый, но нормально работает только под другую операционку, а перезагружаться между ними - унылая трата времени в современном мире.
В-четвёртых, переход от полки небольших физических компов к одному большому полезен не только в случае старого софта, ибо позволяет более гибко перераспределять между задачами физические ресурсы и меньше оставлять зарезервированных.
В общем, это больше для серверов, чем для домашних пользователей (тем более что если не ограничиваться не очень прогрессивными странами, то вовсю обещается новый виток "тонких" клиентов у пользователей), хотя можно ещё вспомнить работы по использованию этих технологий для усиленной изоляции между приложениями (типа, в одной гостевой операционке ходим по сомнительным сайтам, в другой - пользуемся интернет-банкингом, при этом все окна на одном рабочем столе, т.е. seamless режим), эдакое продолжение идеи микроядер, но имхо это дикое усложнение строения используемой ОС.


Вернуться к началу
 Профиль  
 
 Заголовок сообщения: Re: NewOS - Новая российская ОС
СообщениеДобавлено: 05 фев 2014, 07:55 
Аватара пользователя

Зарегистрирован: 16 май 2007, 23:46
Сообщения: 1126
Цитата:
Конечно есть, сначала ICE (In-Circuit Emulation), потом JTAG.

ICE искал не нашёл в продаже, есть для совсем старых процессоров. JTAG в центрально процессоре Intel отсутствует. Он есть в северном мосте, а в южном только контролёр.
Да и вообще опытный образец процессора в единичном экземпляре по нормам 25 нм можно изготовить за сутки на оборудовании стоимостью 200 тысяч долларов.
Так что не думаю что им сейчас требуется такая вот аппаратная отладка.

Цитата:
Но для тестирования на производстве (каждый произведённый экземпляр нужно тщательно протестировать, при этом автоматически на конвеере, а не в собранном ручками компе) и исправления мелких косяков (обновления микрокода не просто так выпускают, не всё получается выловить) конечно приходится оставлять интерфейсы.

Насколько знаю на конвейере процессор целиком не протестируешь. Там отводиться 1-3 минты, тупо по времени не успевают.
Микрокод нужен был когда ещё толком с округлением не разобрались, т.е в первых FPU. Откуда и бородатая шутка про то сколько надо инженеров Intel чтобы закрутить лампочку 2,85 сотых. Больше они по моему ни разу не косячали с микрокодом и обновлений не было.

Цитата:
(чтобы уж совсем банально не палиться тем что проц явно из тех что поддерживает эти расширения, но они почему-то оказываются недоступны)

Сделать можно и легко. Просто он будет очень примитивно работать - пропуская мима себя.


Цитата:
Т.е. чего оно даёт? Во-первых, некоторые возможности уменьшить проблемы с использованием legacy софта. Нельзя просто так взять и перестать пользоваться древним софтом, но железо иногда не вечно, да и нерационально держать полку старых компов, когда можно вместо этого держать один современный сервак (который поменьше электричества жрать будет, кстати) и на нём несколько виртуалок, которые друг другу вообще не мешают.
Во-вторых, для разработчика системного (а иногда и не очень) софта это жизнь зачастую упрощает (хотя в итоге на реальном железе и надо тестировать, но многие вещи и так можно отловить, порой даже удобнее).

Старое железо это эмуляция, а не виртуализация. Эмуляция может работать и без виртуализации, что и делает в большинстве случаев.

Цитата:
В-четвёртых, переход от полки небольших физических компов к одному большому полезен не только в случае старого софта, ибо позволяет более гибко перераспределять между задачами физические ресурсы и меньше оставлять зарезервированных.
Не вижу где тут можно выиграть. А напротив на синхронизацию ресурсы съедятся.
Виртуализация ихмо выгодна для датацентров где много серверов, а не маленькой фирме с одним сервером. Вот в датацентре выгодно простое решение для разных пользователей с разными требованиями.

У виртуализации проблемы с производительностью, что решается программной эмуляцией. ДА и код в одиночку писать для виртуализации железа не очень охота - кода много надо.


Вернуться к началу
 Профиль  
 
 Заголовок сообщения: Re: NewOS - Новая российская ОС
СообщениеДобавлено: 05 фев 2014, 08:46 

Зарегистрирован: 20 дек 2013, 17:37
Сообщения: 243
Откуда: Россия
Во-первых, спасибо за ценные комментарии.

Для Nable

Вы не вникли - зачем заведена эта тема?

А заведена она для разговора о перспективной ОС, поэтому и слово
"Новая" в названии. А зачем собственно старые-то копировать?
То есть цель - обсуждение всяких нововведений в технике,
в ОСестроении и сопутствующих вопросов. Режим обсуждения -
игровой - строим Новую ОС. Так проще и наглядней. По мере
возможностей вытаскиваю какие-то темы и выношу на обсуждение.
К сожалению пока один это делаю. Надеюсь,что обсуждаемые вопросы
интересны форумчанам. Сам я в технических деталях не силен,
вот учусь у вас, но общие структурные и системные вопросы
различать умею.

Операционная система названа "российской" вовсе не потому, что
она предназначена лишь для внутреннего использования, а
предполагается, что производить и контролировать продукт
будут российские разработчики. Сколько это стоит труда и
денег примерно понятно, но главное даже не это - нужно ее
еще куда-то внедрять,а на начальном этапе она явно не
будет блистать возможностями. Думаем над этим.Есть варианты.

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


Вернуться к началу
 Профиль  
 
 Заголовок сообщения: Re: NewOS - Новая российская ОС
СообщениеДобавлено: 05 фев 2014, 12:02 
Аватара пользователя

Зарегистрирован: 16 май 2007, 23:46
Сообщения: 1126
Цитата:
Насколько понимаю самое ценное в
виртуализации это удаленный контроль (управление) текущим
вычислительным процессом, так сказать непосредственно в
динамике. Все это весьма может быть востребовано в
технологическом оборудовании и прочих дата-центрах,
а к юзерам придет как бы до кучи.

Не вижу интереса.
1)Раньше был 8086 процессор. В котором был одно единое адресное пространство(АП).
2)Потом появился 80286 в котором появился защищенный режим. И появились процессы где каждый вичислительный процесс сидел в своем АП. И были они изолированны. Но их связывала ОС.
3)Теперь же есть Сore(i5) в котором защита распространяется на ОС. Это и носит название виртуализации.
По сути принцип защиты распространился на ОС.

Из минусов то что раньше вызов сервиса ОС занимал 1) 30 таков 2) 250 тактов 3) 2500 тактов
Особо то плюсов в этом нет. ДА возможно прикладной софт стало писать проще, а возможно и нет.

Непосредственной динамики у гипервизора нет. Это к тому что язык не поворачивается это назвать динамикой с такими задержками. Не то что бы динамику нельзя создать. Создать можно но потребности в этом нет.
Так что это палка о двух концах.


Вернуться к началу
 Профиль  
 
 Заголовок сообщения: Re: NewOS - Новая российская ОС
СообщениеДобавлено: 05 фев 2014, 15:14 

Зарегистрирован: 20 дек 2013, 17:37
Сообщения: 243
Откуда: Россия
Для pavia

Если Вы разбирались, просьба поподробнее пояснить,
что значит

"защита распространяется на ОС. Это и носит название виртуализации. "

Здесь, насколько понимаю, нужно все же сначала ответить себе -
а зачем весь этот огород виртуализации затевается. Причины и
желания явно весьма веские.


Вернуться к началу
 Профиль  
 
Показать сообщения за:  Поле сортировки  
Начать новую тему Эта тема закрыта, вы не можете редактировать и оставлять сообщения в ней.  [ Сообщений: 557 ]  На страницу Пред.  1 ... 20, 21, 22, 23, 24, 25, 26 ... 56  След.

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


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

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


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

Найти:
Перейти:  
Создано на основе phpBB® Forum Software © phpBB Group
Русская поддержка phpBB