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

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: 15420
Joined: 30 Apr 2003 16:43
Has thanked: 1 time

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

Post by zVlad »

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

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


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

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: 5034
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: 63430
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
zVlad
Уже с Приветом
Posts: 15420
Joined: 30 Apr 2003 16:43
Has thanked: 1 time

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

Post by zVlad »

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

Тогда не надо писать того, в чем не уверены с таким сарказмом.


Пардон, в чем не уверен? В том что имеет место быть проект open source? Или что это проект никак не связан с Linux?
zVlad
Уже с Приветом
Posts: 15420
Joined: 30 Apr 2003 16:43
Has thanked: 1 time

Post by zVlad »

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

...

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

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


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

Что касается эмуляции МФ, то я предпочитаю читать более компетентные и современные источники:

The State of IBM Mainframe Emulation (April/May 2007)

Кстати с эмуляцией МФ сейчас происходят интересные вещи (о них в статье). ИБМ явно хочет потеснить рынок эмуляторов своими реальными МФ. И видимо это возможно.
zVlad
Уже с Приветом
Posts: 15420
Joined: 30 Apr 2003 16:43
Has thanked: 1 time

Post by zVlad »

iFox wrote:и как то, что вы написали о многозадачности, коррелирует с виртуализацией?


А вот теперь было бы здорово если бы кто-нибудь сформулировал требования виртуализуемости и мы бы их сравнили. Не слова сравнили, они естественно разные, а сущность.
Но похоже мне же и придется формулировать требования виртуализуемости. Сразу могу сказать они будут такими же как приведенные.
Не согласны? Давайте Ваши определения.
User avatar
iFox
Уже с Приветом
Posts: 2965
Joined: 01 Feb 2004 20:25
Location: San Jose, CA

Post by iFox »

zVlad wrote:
iFox wrote:и как то, что вы написали о многозадачности, коррелирует с виртуализацией?


А вот теперь было бы здорово если бы кто-нибудь сформулировал требования виртуализуемости и мы бы их сравнили. Не слова сравнили, они естественно разные, а сущность.
Но похоже мне же и придется формулировать требования виртуализуемости. Сразу могу сказать они будут такими же как приведенные.
Не согласны? Давайте Ваши определения.


эээ, это слив. не уходите от ответа. вопрос был: как то, что вы выдвинули как "требования" многозадачности соотносится с виртуализацией?
Anonymous Altaholic
User avatar
Dmitry67
Уже с Приветом
Posts: 28294
Joined: 29 Aug 2000 09:01
Location: SPB --> Gloucester, MA, US --> SPB --> Paris

Post by Dmitry67 »

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


Вот тут то и ошибка
Того что вы написали НЕДОСТАТОЧНО для виртуализируемости

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

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

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

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

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

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


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

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