Виртуализуемость и многозадачность/многопользовательность

User avatar
Flash-04
Уже с Приветом
Posts: 63430
Joined: 03 Nov 2004 05:31
Location: RU -> Toronto, ON

Post by Flash-04 »

zVlad wrote: Flash-04, ну дак переплюньте ветерана компьютерных технологий. Покажите на что годитесь Вы.

на "слабО" берете? ;) а ведь это вы кашу заварили :lol:
хорошо, напишу, так и быть, но с условием, что вы здесь больше не будете писать дурацких утверждений о "IBM mainframe - бог, а z/OS - пророк его" 8)
zVlad
Уже с Приветом
Posts: 15420
Joined: 30 Apr 2003 16:43
Has thanked: 1 time

Post by zVlad »

Flash-04 wrote:
zVlad wrote: Flash-04, ну дак переплюньте ветерана компьютерных технологий. Покажите на что годитесь Вы.

на "слабО" берете? ;) а ведь это вы кашу заварили :lol:
хорошо, напишу, так и быть, но с условием, что вы здесь больше не будете писать дурацких утверждений о "IBM mainframe - бог, а z/OS - пророк его" 8)


Ни вкоем случае. Да я кашу заварил и еще никогда было чтобы убегал от ответа. Мой принцип - отстаивай свои убеждения пока тебе не докажут что ты не прав, а тогда смело говори что был не прав и развивайся дальше.
Никогда не писал что "IBM mainframe - бог, а z/OS - пророк его", но в определенном превосходстве этих пирогов перед другими уверен (мы говорил о серверах обработки деловой информации, правильно? не о рабочих станциях, и не о специализированных серверах. Т.е. мы имеем в виду - МФ, Интел, и RISC сервера?) и этой уверенностью делюсь с другими.

Я вот вот уеду в кэмпинг, так что не теряйте меня до воскресения.
User avatar
KP580BE51
Уже с Приветом
Posts: 15007
Joined: 14 Jun 2005 11:50
Location: Ukraine

Post by KP580BE51 »

zVlad wrote: Ни вкоем случае. Да я кашу заварил и еще никогда было чтобы убегал от ответа. Мой принцип - отстаивай свои убеждения пока тебе не докажут что ты не прав, а тогда смело говори что был не прав и развивайся дальше.

Что докажут? Мы даже не придумали как оценить производительность. Вот у суперкомпютеров, все просто и ясно, а как MF так ничерта не ясно, сколько у него будет что работать.

Никогда не писал что "IBM mainframe - бог, а z/OS - пророк его", но в определенном превосходстве этих пирогов перед другими уверен (мы говорил о серверах обработки деловой информации, правильно? не о рабочих станциях, и не о специализированных серверах. Т.е. мы имеем в виду - МФ, Интел, и RISC сервера?) и этой уверенностью делюсь с другими.

Я к примеру думаю. что такую вот деловую информацию гораздо лучше в клястерах обрабатывать где на физических компютерах крутятся VM с пропатченым ядром.
zVlad
Уже с Приветом
Posts: 15420
Joined: 30 Apr 2003 16:43
Has thanked: 1 time

Post by zVlad »

Dmitry67 wrote:......
Для виртуализируемости еще дополнительно нужно, чтобы команды, которые позволяли процессу УЗНАВАТЬ (только узнавать, а не влиять) чтото за пределами своей песочницы, также были привилегированными

То есть добавив к командам IBM только одну: узнать моду процессора (0-ядро, 1-user. Я упрощаю, наверное их больше) сразу превратит процессор IBM в невиртуализируемый (без гемора).

Корректная реализация этой команды должна быть таклй: в режиме ядра она действительно выдает 0, а в режиме user генерит прерывание, что позволяет сымитировать как выдачу нуля, так и единицы.

Вообще в той статье, которую Вы же и приводили, все разжевано детально

Чтобы еще раз уточнить свою мысль то разработчики всегда думали о

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


и тщательно за этим следили, но забывали, что для того, чтобы поставить подножку виртуализации, достаточно разрешить читать всего лишь некоторые слова состояния процессора, более того, как в примере выше, разрешив читать 1 (один) бит (user mode/kernel mode)


Дима, мы пока не перешли к виртуализации, верно? Давайте пока разберемся можно ли с точки зрения МЗ/МП позволять задачам/пользователям узнавать состояние процессора? Должны ли быть такие команды привилигированными уже для удовлетворения МЗ/МП?

По памяти. О каких разработчиках Вы ведете речь? Железа или ОС? В моем понимании если железо предоставляет защиту памяти, а ОС ее использует, то все нормально. Иначе - это баг, даже не так - БАГ, такой баг когда память, должная быть защищенной, незащищена.
User avatar
f_evgeny
Уже с Приветом
Posts: 10367
Joined: 12 Apr 2001 09:01
Location: Lithuania/UK

Post by f_evgeny »

Dmitry67 wrote:Для виртуализируемости еще дополнительно нужно, чтобы команды, которые позволяли процессу УЗНАВАТЬ (только узнавать, а не влиять) чтото за пределами своей песочницы, также были привилегированными

То есть добавив к командам IBM только одну: узнать моду процессора (0-ядро, 1-user. Я упрощаю, наверное их больше) сразу превратит процессор IBM в невиртуализируемый (без гемора).

Мне кажется, что это overrequirements. На мой взгляд совершенно необязательно принимать за данность, что guest OS злонамеренна. Скорее наоборот. Можно специально подготовить кернель гостевой ОС таким образом, чтобы он не использовал такие инструкции. Таким образом получем хорошо/быстро работающую внутри ВМ гостевую ОС. Что, если я не ошибаюсь уже и происходит в случае Линукса и Xen. Впрочем, вплотную этим вопросом не занимался, так что могу ошибаться.
User avatar
KP580BE51
Уже с Приветом
Posts: 15007
Joined: 14 Jun 2005 11:50
Location: Ukraine

Post by KP580BE51 »

zVlad wrote: Дима, мы пока не перешли к виртуализации, верно? Давайте пока разберемся можно ли с точки зрения МЗ/МП позволять задачам/пользователям узнавать состояние процессора? Должны ли быть такие команды привилигированными уже для удовлетворения МЗ/МП?

Если контора - нормальная, то не нужно. Всегда можно найти как сообщить OS что она в VM крутится. А если контора - винда, и БГ не хочет чтобы его винда бегала в VM, и вставляет по этому поводу палки в колеса, то тем более не нужно.

По памяти. О каких разработчиках Вы ведете речь? Железа или ОС? В моем понимании если железо предоставляет защиту памяти, а ОС ее использует, то все нормально. Иначе - это баг, даже не так - БАГ, такой баг когда память, должная быть защищенной, незащищена.

А если железо предоставляет механизм защиты памяти, а ОС ее не использует, потому что по задаче она просто не нужна.
User avatar
Dmitry67
Уже с Приветом
Posts: 28294
Joined: 29 Aug 2000 09:01
Location: SPB --> Gloucester, MA, US --> SPB --> Paris

Post by Dmitry67 »

zVlad wrote:1
Дима, мы пока не перешли к виртуализации, верно?

2
Давайте пока разберемся можно ли с точки зрения МЗ/МП позволять задачам/пользователям узнавать состояние процессора? Должны ли быть такие команды привилигированными уже для удовлетворения МЗ/МП?

3
По памяти. О каких разработчиках Вы ведете речь? Железа или ОС? В моем понимании если железо предоставляет защиту памяти, а ОС ее использует, то все нормально. Иначе - это баг, даже не так - БАГ, такой баг когда память, должная быть защищенной, незащищена.


1 Перешли. Уже двано. Только о ней и говорим

2 Для удовлетворения МЗ/МП - нет, не нужно
Для виртуализируемости - да, нужно

3 Не понял что вы хотели сказать.
Вся память может быть прекрасно защищена, а виртуализации без гемора не достичь.
Дело в том, что БИТЫ СОСТОЯНИЯ и МОДЫ как правило, памятью НЕ СЧИТАЮТСЯ. Ведь у них НЕТ АДРЕСА
Зарегистрированный нацпредатель, удостоверение N 19719876044787 от 22.09.2014
erix
Уже с Приветом
Posts: 3289
Joined: 18 Oct 2005 18:08

Re: Виртуализуемость и многозадачность/многопользовательност

Post by erix »

zVlad wrote: Пардон, в чем не уверен? В том что имеет место быть проект open source? Или что это проект никак не связан с Linux?


Это вы написали?
VM распространялась как open source (так что это не изобретение Linux и т.п.),


Кто говорил, что open source это изобретение linux?
User avatar
Flash-04
Уже с Приветом
Posts: 63430
Joined: 03 Nov 2004 05:31
Location: RU -> Toronto, ON

Post by Flash-04 »

zVlad wrote: Ни вкоем случае. Да я кашу заварил и еще никогда было чтобы убегал от ответа. Мой принцип - отстаивай свои убеждения пока тебе не докажут что ты не прав, а тогда смело говори что был не прав и развивайся дальше.

не совсем согласен. знаете же известный афоризм - "один дурак может задать столько вопросов, что и 100 мудрецов не ответят" :lol: (ни в коем случае не про вас говорю!) особенно если делать утверждение, а потом отмахиваться от аргументированных возражений с криком "не канает" ;)

Никогда не писал что "IBM mainframe - бог, а z/OS - пророк его", но в определенном превосходстве этих пирогов перед другими уверен (мы говорил о серверах обработки деловой информации, правильно? не о рабочих станциях, и не о специализированных серверах. Т.е. мы имеем в виду - МФ, Интел, и RISC сервера?) и этой уверенностью делюсь с другими.

я нигде не говорил что у менфреймов нет никаких преимуществ. у каждого решения есть своя ниша. в моем представлении мейнфрейм - это вычислительная система высокой готовности и надежности, но довольно дорогая. хотя ее давно поджимают другие решения.
Я вот вот уеду в кэмпинг, так что не теряйте меня до воскресения.

нет, так не пойдет :nono#: мне чтобы подготовится не хватит пары дней, учитывая что мне надо работать и семье все же уделять время 8)

кстати, раз уж разговор зашел, где можно посмотреть на спецификацию IBM процессора что стоит в этих мейнфреймах? на сайте IBM я не смог найти ничего вразумительного. про Интеловский Pentium сколько хочешь. Я хочу посмотреть в деталях что именно поддерживает IBM-ское железо, а то у нас беспредметный разговор получится.
User avatar
Flash-04
Уже с Приветом
Posts: 63430
Joined: 03 Nov 2004 05:31
Location: RU -> Toronto, ON

Post by Flash-04 »

f_evgeny wrote:Мне кажется, что это overrequirements. На мой взгляд совершенно необязательно принимать за данность, что guest OS злонамеренна. Скорее наоборот. Можно специально подготовить кернель гостевой ОС таким образом, чтобы он не использовал такие инструкции. Таким образом получем хорошо/быстро работающую внутри ВМ гостевую ОС.

абсолютно согласен, хотя это и не обсуждаемый 100% виртуализатор. Такая аппаратная VM должна уметь эмулировать виртуальные процессоры в защищенном режиме, и вообще говоря - это сложно, т.к. для реализации такого нужен эмулятор - не меньше. У меня очень большое сомнение, что IBM это реализовала, слишком сложно. Скорее всего (хотя мне это и сложно проверить) z/OS - это именно "хорошая" система в плане того, что она пользуется API предоставляемый ядром системы и не пытается "администрировать" CPU сама.
zVlad
Уже с Приветом
Posts: 15420
Joined: 30 Apr 2003 16:43
Has thanked: 1 time

Post by zVlad »

f_evgeny wrote:..... На мой взгляд совершенно необязательно принимать за данность, что guest OS злонамеренна. Скорее наоборот. Можно специально подготовить кернель гостевой ОС таким образом, чтобы он не использовал такие инструкции. Таким образом получем хорошо/быстро работающую внутри ВМ гостевую ОС. Что, если я не ошибаюсь уже и происходит в случае Линукса и Xen. Впрочем, вплотную этим вопросом не занимался, так что могу ошибаться.


В рамках zVM имеется по крайней мере две ОС написанные спеуиально для работы в ВМ. Это CMS - однопользовательская ОС для дилоговой работы, и GCS - Group Control System - система для выполнения приложений MVS под VM. Обе системы не могут работать работать на реальной машине поскольку в них многие привелигированные команды заменены на интерфейс к управляющей программе (CP) VM.
Что касается злонамеренности. А если это баг? Или вирус?
Мой поверхностный анализ проблемных команд Интел вообще говоря показывает мне что эти проблемные команды не могут быть использованны "злонамерено", с цель повлиять на работу ОС или других задач. Прболема с этими команды в том что когда на ВМ выполняется ОС в режиме юзера то эти команды не перехватываются и дают не верный (для ОС) результат. Поэтому необходима ВТ.
zVlad
Уже с Приветом
Posts: 15420
Joined: 30 Apr 2003 16:43
Has thanked: 1 time

Post by zVlad »

Dmitry67 wrote:
zVlad wrote:1
Дима, мы пока не перешли к виртуализации, верно?

2
Давайте пока разберемся можно ли с точки зрения МЗ/МП позволять задачам/пользователям узнавать состояние процессора? Должны ли быть такие команды привилигированными уже для удовлетворения МЗ/МП?

3
По памяти. О каких разработчиках Вы ведете речь? Железа или ОС? В моем понимании если железо предоставляет защиту памяти, а ОС ее использует, то все нормально. Иначе - это баг, даже не так - БАГ, такой баг когда память, должная быть защищенной, незащищена.


1 Перешли. Уже двано. Только о ней и говорим

2 Для удовлетворения МЗ/МП - нет, не нужно
Для виртуализируемости - да, нужно

3 Не понял что вы хотели сказать.
Вся память может быть прекрасно защищена, а виртуализации без гемора не достичь.
Дело в том, что БИТЫ СОСТОЯНИЯ и МОДЫ как правило, памятью НЕ СЧИТАЮТСЯ. Ведь у них НЕТ АДРЕСА


1. Я предлагал сначала разобраться с МЗ/МП. Иными словами сформулировать требования к железу с точки зрения этих принципов работы.

2. Дима, я такие категоричные утверждения от человека не так давно заявляющего что он не специалист в виртуализации вынужден игнорировать. Но я бы хотел спросить Вас, как специалиста по Интел (помощь зала разрешается и даже приветствуется) почему команда popf в Интел процессоре не привелигированная? как вообще разработчики Интел могли додуматься чтобы иметь команды результаты работы которых могут быть просто различными в разных режимах выполнения?

3. Приведите пример проблем с виртуализацией в условиях прекрасной защиты памяти?
zVlad
Уже с Приветом
Posts: 15420
Joined: 30 Apr 2003 16:43
Has thanked: 1 time

Post by zVlad »

Flash-04 wrote:....
кстати, раз уж разговор зашел, где можно посмотреть на спецификацию IBM процессора что стоит в этих мейнфреймах? на сайте IBM я не смог найти ничего вразумительного. про Интеловский Pentium сколько хочешь. Я хочу посмотреть в деталях что именно поддерживает IBM-ское железо, а то у нас беспредметный разговор получится.


А хотите я Вам экскурсию проведу, покажу МФ изнутри? Позвоните мне на 416-689-7474 и мы все обсудим. А вообще говоря я недавно приводил ссылку, и вообще то удивлен что Вы не можете ничего найти. Постараюсь Вам помочь.
User avatar
KP580BE51
Уже с Приветом
Posts: 15007
Joined: 14 Jun 2005 11:50
Location: Ukraine

Post by KP580BE51 »

zVlad wrote: почему команда popf в Интел процессоре не привелигированная?

http://pdos.csail.mit.edu/6.828/2005/re ... 6/POPF.htm
The I/O privilege level is altered only when executing at privilege level 0. The interrupt flag is altered only when executing at a level at least as privileged as the I/O privilege level. (Real-address mode is equivalent to privilege level 0.) If a POPF instruction is executed with insufficient privilege, an exception does not occur, but the privileged bits do not change.

Вот где проблема, как мне кажется.
User avatar
Dmitry67
Уже с Приветом
Posts: 28294
Joined: 29 Aug 2000 09:01
Location: SPB --> Gloucester, MA, US --> SPB --> Paris

Post by Dmitry67 »

zVlad, я уже приводил
Добавляете к системе команд z одну команду - GetCurrentProcessorMode и вся виртуализиремость рушится
Но на многозадачность это не влияет никак
Зарегистрированный нацпредатель, удостоверение N 19719876044787 от 22.09.2014

Return to “Вопросы и новости IT”