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

zVlad
Уже с Приветом
Posts: 15310
Joined: 30 Apr 2003 16:43

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

Post by zVlad »

dB13 wrote:
zVlad wrote: Db13, какого Ваше мнение относительно моего утверждения о том что требования виртуализуемости архитектуры совпадают с требованиями многозадачности и многопользовательности?


Нет, не совпадают. Классический x86/Pentium -- наглядный пример.


Чтобы расставить все точки над Ё я вынес этот вопрос в отдельную тему и хочу рассказать одну поучительную историю.

Принципы работы МФ были сформулированны в начале 196х (аннонсирован МФ был в апреле 1964). Среди тех принципов имелись многозадачность и многопользовательность, но не было виртуализуемости. Фактически группой энтузиастов был написан тулз помогающий отлаживать основную операционную систему МФ на одном боксе параллельно несколькими девелоперами. В дальнейшем этот тулз превратился в VM, аннонсированную в 1972. К тому времени в принципы работы МФ была добавлена лишь виртуальная память, добавлена для основной ОС МФ. Когда VM стала приобретать популярность среди пользователей. А первоначально, между прочим, VM распространялась как open source (так что это не изобретение Linux и т.п.), и руководство ИБМ ставило вопрос, а не "убить" ли нам VM, чтобы не распылять ресурсы в разработке основной ОС - MVS, которая вовсе не была системой ВМ-н.
Делайте выводы.
Принципы работы Интел, с другой стороны, изначально исключали многозадачность и многопользовательность. PC DOS была однопользовательская и однозадачная система. В процессе эволюции Интел сильно изменился, нет слов. Но из-за требования совместимости создать 100% архитектуру с многозадачностью и многопользовательностью, на мой взгдяд так и не удалось. Поэтому Интел и не 100% виртуализуем.

Я могу ошибаться в том смысле что кроме многозадачности и многопользовательности среди принципов работы МФ было еще что-то (то что было это очевидно) что также работает и на виртуализуемость, может быть требование секьюрити. Вполне возможно, но ведь утверждается что и Интел серьюр.
User avatar
Dmitry67
Уже с Приветом
Posts: 28283
Joined: 29 Aug 2000 09:01
Location: SPB --> Gloucester, MA, US --> SPB --> Paris

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

Post by Dmitry67 »

zVlad wrote:1 Среди тех принципов имелись многозадачность и многопользовательность, но не было виртуализуемости.

2 В процессе эволюции Интел сильно изменился, нет слов. Но из-за требования совместимости создать 100% архитектуру с многозадачностью и многопользовательностью, на мой взгдяд так и не удалось. Поэтому Интел и не 100% виртуализуем.

3 Я могу ошибаться в том смысле что кроме многозадачности и многопользовательности среди принципов работы МФ было еще что-то (то что было это очевидно) что также работает и на виртуализуемость,


1. Согласен. Хотя довольно странно читать это у человека, который в соседнем топике с пеной у рта бился что "многозадачность и многопользовательность, = виртуализуемости."

2, дело не в требованиях совместимости. Как уже писалось, затык с некоторыми командами. В статье, которую Вы привели, все объяснено

3. А именно, выполнение требования теоремы как его там... Короче, что все sensitive instructions являются privileged.
Зарегистрированный нацпредатель, удостоверение N 19719876044787 от 22.09.2014
User avatar
Flash-04
Уже с Приветом
Posts: 63377
Joined: 03 Nov 2004 05:31
Location: RU -> Toronto, ON

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

Post by Flash-04 »

zVlad wrote: Делайте выводы.

какие же? :roll:
Принципы работы Интел, с другой стороны, изначально исключали многозадачность и многопользовательность. PC DOS была однопользовательская и однозадачная система. В процессе эволюции Интел сильно изменился, нет слов. Но из-за требования совместимости создать 100% архитектуру с многозадачностью и многопользовательностью, на мой взгдяд так и не удалось. Поэтому Интел и не 100% виртуализуем.

опять двадцать пять... общего в 8086 и 80386 только одно - что набор инструкций 80386-го базируется на наборе инструкций 8086. У 386 даже режим совместимости с 8086 работает немного по другому, и некторые программы написанные для 8086 могут идти не совсем корректно на 80386 если не прилагать специальных усилий. 80386 поддерживает два режима работы в защищенном режиме. Один из них - виртуальный 8086. Да, да, именно так он и называется в документации Intel. Как говорится, не нравится - не ешьте.
Не виртуализуем он 100% только по одной причине - некоторые инструкции, которые были заложены в архитектуре 386 и по замыслу разработчиков ничего плохого не делали для защищенного ядра, оказались плохими с точки зрения виртуализации. Думаю что в конце концов это исправят. Более никаких ограничивающих факторов на архитектуре Intel x86 попросту нет. Разумеется, OS было бы неплохо знать о том что она может быть виртуализируемой и что она выполняется на соотв. оборудовании. В этом случае можно ее оптимизировать для повышения производительности, да и то - не обязательно.
Добавил: заговорил я о 386 что именно из него "растут ноги" нынешней защищенной архитектуры Intel x86, после этого много чего менялось и добавлялось, но IMHO основной принцип остался тем же.
zVlad
Уже с Приветом
Posts: 15310
Joined: 30 Apr 2003 16:43

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

Post by zVlad »

Dmitry67 wrote:
zVlad wrote:1 Среди тех принципов имелись многозадачность и многопользовательность, но не было виртуализуемости.

....


1. Согласен. Хотя довольно странно читать это у человека, который в соседнем топике с пеной у рта бился что "многозадачность и многопользовательность, = виртуализуемости."

....


Дима, мне не понятно с чем Вы согласны?
Мне кажется Вы не отслеживаете ход моим мыслей. Я пока и не отказывался от того что за что, как Вы говорите, "с пеной у рта бился" (Вы что меня за эпилептика держите? Это наезд :)), и вспомнил я истоки современной ВТ как раз потому что вижу в них доказательство своему утверждению. В самом деле раз дезайн не предпологал принцип П3, но предполагал принципы П1 и П2, а в итоге оказалось что требования принципов П1 и П2 достаточны для удовлетворения требований П3, значит П1 + П2 = П3. Так понятнее?
User avatar
KP580BE51
Уже с Приветом
Posts: 15007
Joined: 14 Jun 2005 11:50
Location: Ukraine

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

Post by KP580BE51 »

Ничерта. не понял. Что за П1, П2? На сегодняшний день x86 полностью виртуализуем.
FomaKinyaev
Уже с Приветом
Posts: 2215
Joined: 02 Aug 2006 12:26

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

Post by FomaKinyaev »

zVlad wrote:
Dmitry67 wrote:
zVlad wrote:1 Среди тех принципов имелись многозадачность и многопользовательность, но не было виртуализуемости.

....


1. Согласен. Хотя довольно странно читать это у человека, который в соседнем топике с пеной у рта бился что "многозадачность и многопользовательность, = виртуализуемости."

....


Дима, мне не понятно с чем Вы согласны?
Мне кажется Вы не отслеживаете ход моим мыслей. Я пока и не отказывался от того что за что, как Вы говорите, "с пеной у рта бился" (Вы что меня за эпилептика держите? Это наезд :)), и вспомнил я истоки современной ВТ как раз потому что вижу в них доказательство своему утверждению. В самом деле раз дезайн не предпологал принцип П3, но предполагал принципы П1 и П2, а в итоге оказалось что требования принципов П1 и П2 достаточны для удовлетворения требований П3, значит П1 + П2 = П3. Так понятнее?


Странно, что вы не видите дефектов своей логики.
User avatar
Dmitry67
Уже с Приветом
Posts: 28283
Joined: 29 Aug 2000 09:01
Location: SPB --> Gloucester, MA, US --> SPB --> Paris

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

Post by Dmitry67 »

zVlad wrote:В самом деле раз дезайн не предпологал принцип П3, но предполагал принципы П1 и П2, а в итоге оказалось что требования принципов П1 и П2 достаточны для удовлетворения требований П3, значит П1 + П2 = П3. Так понятнее?


Это произошло либо случайно, либо, что более вероятно, ввиду того что специалисты IBM высокопроффессиональны и заранее о чем то таком думали

Собственно, кроме IBM, другие процессоры (PDP-11, Motorolla, а не только Intel) оказывались невиртуализируемыми, хотя и обеспечивали Многопользовательскость и Мультизадачность
Зарегистрированный нацпредатель, удостоверение N 19719876044787 от 22.09.2014
User avatar
KP580BE51
Уже с Приветом
Posts: 15007
Joined: 14 Jun 2005 11:50
Location: Ukraine

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

Post by KP580BE51 »

ИМХО лучше обсудить, насколько "дорого" эта виртуализация обходится. На x86 - очень дорого.
User avatar
Flash-04
Уже с Приветом
Posts: 63377
Joined: 03 Nov 2004 05:31
Location: RU -> Toronto, ON

Post by Flash-04 »

zVlad, нетрудно заметить что мало кто здесь (а точнее никто ;)) не поддерживает ваш тезис что многозадачность+многопользовательность=виртуализации. Я думаю что для всех будет познавательно если вы заполните пробел в своих логических рассуждениях.
Например: многозадачность подразумевает 1,2,3; многопользовательность подразумевает 4,5,6; а виртуализуемость это (к примеру) - 1,2,5,6, т.е. - ЧТД.
Palych
Уже с Приветом
Posts: 13669
Joined: 16 Jan 2001 10:01

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

Post by Palych »

KP580BE51 wrote:ИМХО лучше обсудить, насколько "дорого" эта виртуализация обходится. На x86 - очень дорого.

А где дёшево?
zVlad
Уже с Приветом
Posts: 15310
Joined: 30 Apr 2003 16:43

Post by zVlad »

Flash-04 wrote:zVlad, нетрудно заметить что мало кто здесь (а точнее никто ;)) не поддерживает ваш тезис что многозадачность+многопользовательность=виртуализации. Я думаю что для всех будет познавательно если вы заполните пробел в своих логических рассуждениях.
Например: многозадачность подразумевает 1,2,3; многопользовательность подразумевает 4,5,6; а виртуализуемость это (к примеру) - 1,2,5,6, т.е. - ЧТД.


Thank you, this is exactly what I planed to do soon, tonight. If anybody can start with 1,2,3.. it will be great.
User avatar
KP580BE51
Уже с Приветом
Posts: 15007
Joined: 14 Jun 2005 11:50
Location: Ukraine

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

Post by KP580BE51 »

Palych wrote:
KP580BE51 wrote:ИМХО лучше обсудить, насколько "дорого" эта виртуализация обходится. На x86 - очень дорого.

А где дёшево?

Можно сделать чтобы было дешево. Сделать режим "виртуального I386".
Palych
Уже с Приветом
Posts: 13669
Joined: 16 Jan 2001 10:01

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

Post by Palych »

KP580BE51 wrote:
Palych wrote:
KP580BE51 wrote:ИМХО лучше обсудить, насколько "дорого" эта виртуализация обходится. На x86 - очень дорого.

А где дёшево?

Можно сделать чтобы было дешево. Сделать режим "виртуального I386".

А что при этом сэкономится?
User avatar
KP580BE51
Уже с Приветом
Posts: 15007
Joined: 14 Jun 2005 11:50
Location: Ukraine

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

Post by KP580BE51 »

Palych wrote:А что при этом сэкономится?

Виртуальные машины будут быстрее работать.
erix
Уже с Приветом
Posts: 3289
Joined: 18 Oct 2005 18:08

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

Post by erix »

zVlad wrote:А первоначально, между прочим, VM распространялась как open source (так что это не изобретение Linux и т.п.)..

Заранее извиняюсь, однако зачем кичится своим невежеством?
Изобретение Linux -- GNU GPL, а никак не open source.
User avatar
KP580BE51
Уже с Приветом
Posts: 15007
Joined: 14 Jun 2005 11:50
Location: Ukraine

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

Post by KP580BE51 »

erix wrote:
zVlad wrote:А первоначально, между прочим, VM распространялась как open source (так что это не изобретение Linux и т.п.)..

Заранее извиняюсь, однако зачем кичится своим невежеством?
Изобретение Linux -- GNU GPL, а никак не open source.

И не Linux вообще.
erix
Уже с Приветом
Posts: 3289
Joined: 18 Oct 2005 18:08

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

Post by erix »

KP580BE51 wrote:И не Linux вообще.

Ну да, строго говоря Linux это просто-напросто первый GPL OS kernel. Однако мне нравится когда сначала создают миф, а затем его успешно опровергают.
User avatar
KP580BE51
Уже с Приветом
Posts: 15007
Joined: 14 Jun 2005 11:50
Location: Ukraine

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

Post by KP580BE51 »

erix wrote:
KP580BE51 wrote:И не Linux вообще.

Ну да, строго говоря Linux это просто-напросто первый GPL OS kernel. Однако мне нравится когда сначала создают миф, а затем его успешно опровергают.

А не Hurd был первым?
zVlad
Уже с Приветом
Posts: 15310
Joined: 30 Apr 2003 16:43

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

Post by zVlad »

erix wrote:
zVlad wrote:А первоначально, между прочим, VM распространялась как open source (так что это не изобретение Linux и т.п.)..

Заранее извиняюсь, однако зачем кичится своим невежеством?
Изобретение Linux -- GNU GPL, а никак не open source.


Грубить не надо, тогда и извиняться не придется.
А вообще по-существу для сообщения сделаного мной совершенно безразлично кто или что переизобрело open source. Важно что на Мф в open source тоже играли и уже давно от этого отказались.
zVlad
Уже с Приветом
Posts: 15310
Joined: 30 Apr 2003 16:43

Post by zVlad »

Flash-04 wrote:zVlad, нетрудно заметить что мало кто здесь (а точнее никто ;)) не поддерживает ваш тезис что многозадачность+многопользовательность=виртуализации. Я думаю что для всех будет познавательно если вы заполните пробел в своих логических рассуждениях.
Например: многозадачность подразумевает 1,2,3; многопользовательность подразумевает 4,5,6; а виртуализуемость это (к примеру) - 1,2,5,6, т.е. - ЧТД.


Итак многозадачность подразумевает:

- что принципы работы платформы позволяют совмещать выполнение многих операций ввода-вывода с операциями на процессоре(ах). Для этого необходимо чтобы ввод-вывод был стартуемым в отличии от memory-mapping ввода-вывода.

- платформа должна позволять "дешевое" переключение задач, без необходимо "слива" всего контенса задачи. "Сливаться" должен только контенс управления задачи.

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

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

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

- выполняющаяся задача не может маскировать ни одно аппаратное прерывание

- операции ввода-вывода должны быть привелигированные.
User avatar
iFox
Уже с Приветом
Posts: 2965
Joined: 01 Feb 2004 20:25
Location: San Jose, CA

Post by iFox »

и как то, что вы написали о многозадачности, коррелирует с виртуализацией?
Anonymous Altaholic
ven27
Уже с Приветом
Posts: 5022
Joined: 11 Jan 2003 07:50
Location: ROV -> ICN -> LED -> ICN -> YYZ -> SFO -> ?

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

Post by ven27 »

erix wrote:
KP580BE51 wrote:И не Linux вообще.

Ну да, строго говоря Linux это просто-напросто первый GPL OS kernel. Однако мне нравится когда сначала создают миф, а затем его успешно опровергают.

FYI ;)
http://en.wikipedia.org/wiki/GNU_Project

The GNU Project is a free software project, announced in 1983 by Richard Stallman. It initiated the GNU operating system, software development for which began in January 1984. GNU is a recursive acronym that stands for "GNU's Not Unix".


The first goal of the GNU project was to make a whole free software operating system exist. Aiming at this target, they started writing an operating system. The goal was achieved in 1992 without the GNU project having had to completely finish their planned operating system. A third-party kernel, called Linux, filled the last gap, so a whole free software operating system was finished without GNU having to finish the kernel it was working on, GNU Hurd.
erix
Уже с Приветом
Posts: 3289
Joined: 18 Oct 2005 18:08

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

Post by erix »

zVlad wrote: А вообще по-существу для сообщения сделаного мной совершенно безразлично кто или что переизобрело open source.

Тогда не надо писать того, в чем не уверены с таким сарказмом.
erix
Уже с Приветом
Posts: 3289
Joined: 18 Oct 2005 18:08

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

Post by erix »

ven27 wrote:
erix wrote:Ну да, строго говоря Linux это просто-напросто первый GPL OS kernel. Однако мне нравится когда сначала создают миф, а затем его успешно опровергают.

FYI ;)
http://en.wikipedia.org/wiki/GNU_Project


Разве это противоречит тому, что я написал?
Хорошо, могу написать вот так:
строго говоря Linux это просто-напросто первый finished GPL OS kernel.

Больше не буду уходить в оффтопик, спровоцированный отчасти его автором :)
User avatar
Flash-04
Уже с Приветом
Posts: 63377
Joined: 03 Nov 2004 05:31
Location: RU -> Toronto, ON

Post by Flash-04 »

zVlad wrote: Итак многозадачность подразумевает:

- что принципы работы платформы позволяют совмещать выполнение многих операций ввода-вывода с операциями на процессоре(ах). Для этого необходимо чтобы ввод-вывод был стартуемым в отличии от memory-mapping ввода-вывода.

- платформа должна позволять "дешевое" переключение задач, без необходимо "слива" всего контенса задачи. "Сливаться" должен только контенс управления задачи.

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

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

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

- выполняющаяся задача не может маскировать ни одно аппаратное прерывание

- операции ввода-вывода должны быть привелигированные.

zVlad, вы меня разочаровали, я ожидал от вас большего :pain1:
ваши определения многозадачности и пр. никуда не годятся. ради интереса, ответьте, что из выше перечисленного не умеет 386? я уже молчу о том, что виртуализация никак не следует из того что вы написали.

кстати, на закуску - полноценный эмулятор IBM mainframe на... IBM PC :funny:
http://en.wikipedia.org/wiki/Hercules_e ... erformance

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