Архивы рубрики: Сети и протоколы

Виртуальная машина

Виртуальная машина — модель вычислительной машины, созданной путем виртуализации вычислительных ресурсов:процессора, оперативной памяти, устройств хранения и ввода и вывода информации.

Виртуальная машина в отличие от программы эмуляции конкретного устройства обеспечивает полную эмуляцию физического машины или среды исполнения (для программы).
Определение

Ранее виртуальную машину определяли как «эффективную изолированную копию реальной машины». Однако современные виртуальные машины могут не иметь прямого аппаратного аналога. Например, в зависимости от способа моделирования набора инструкций виртуального центрального процессора, виртуальная машина может моделировать реальную или абстрактную вычислительные машины. При моделировании реальной вычислительной машины набор инструкций процессора виртуальной машины совпадает с набором инструкций выбранного для моделирования центрального процессора.

Виртуальные машины делятся на 2 главные категории, в зависимости от их использования и соответствия реальной аппаратуры:
системные (аппаратные) виртуальные машины, обеспечивающие полноценную эмуляцию всей аппаратной платформы и соответственно поддерживают выполнениеоперационной системы.
прикладные виртуальные машины, которые разработаны для выполнения только приложений (прикладных программ), например, виртуальная машина Java.
Системные виртуальные машины

Системные виртуальные машины позволяют распределение аппаратных ресурсов физической машины между разными копиями виртуальных машин, на каждой из которых может быть установлена ??своя операционная система. Пласт программного обеспечения, выполняющего виртуализацию, называется гипервизор. Гипервизор делятся на 2 типа: те, которые могут выполняться на «голой» аппаратуре ( 1-й тип, или родные (англ. native )), и те, которые выполняются в определенной операционной системе ( 2-й тип, илихостов ).

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

Основной недостаток:
виртуальная машина не такая эффективная как реальная, так как доступ к аппаратуре в ней происходит опосредованно.

Различные ВМ, на каждой из которых может быть установлена ??своя собственная ОС (также называется гостевыми ОС ), часто используются для серверного объединения : разные сервисы (которые должны выполняться на отдельных машинах, чтобы предотвратить взаемовтручанню) запускаются в разных ВМ, однако на одной физической машине, что позволяет экономить аппаратные ресурсы.
Прикладные виртуальные машины

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

Прикладная ВМ обеспечивает высокоуровневую абстракцию (например, интерпретаторы высокоуровневых языков программирования — Lisp, Java, Python, Perl ), в то время как системные ВМ обычно ограничиваются низкоуровневой абстракцией (машинным набором кодов). Современные прикладные ВМ, реализуемых с помощью интерпретаторов, для повышения скорости выполнения используют компиляцию «на лету» (англ. JIT — just-in-time).

Технологии
Родная эмуляция

Этот подход заключается в простом распределении тех аппаратных ресурсов, на которых запущена ВМ. Каждая копия ВМ ограничена реальной аппаратурой. Соответственно, мы сможем использовать только те ОС, которые поддерживают нашу аппаратуру.
Неродной эмуляция

В этом случае ВМ эмулирует аппаратуру, которая может отличаться от той, на которой она запущена. Это расширяет круг ОС, которые мы можем на нее установить.
Виртуализация уровня ОС

Ядро ОС позволяет создавать много изолированных друг от друга пространств пользователей. В этом случае крах программы в одном пространстве никак не повлияет на программы в других пространствах.

Примеры и поддержка

Первой и по сей день одной из лучших операционных систем, поддерживающих концепцию виртуальной машины является операционная система VM (в пределах бывшего СССР также известная как СВМ — Система Виртуальных Машин ) фирмы IBM.

На отдельных аппаратных платформах возможна аппаратная поддержка виртуальных машин. Впервые технология аппаратной поддержки виртуальных машин была реализована в машине IBM-370 (начало 1970 гг) как возможность загрузки микропрограммного кода, который обеспечивал дополнительную функциональность центрального процессора IBM-370 для обслуживания виртуальных машин.

Одной из наиболее популярных виртуальных машин является виртуальная машина Java.

Примеры виртуальных машин:
Forth
Java Virtual Machine
Kaffe — свободная виртуальная машина Java
Dalvik — часть мобильной платформы Android
IBM VM (Система Виртуальных Машин, СВМ)
VirtualBox
VMware
Xen

 

Компьютерная платформа

Компьютерная платформа — совокупность компьютеров, совместимых между собой в том или ином смысле.

Можно различить как минимум четыре толкования этого термина, так что одна платформа с точки зрения одного толкования может распасться на компьютеры совсем разных платформ с точки зрения другого.
Аппаратная платформа

Рассматривается совместимость с точки зрения аппаратных компонентов, работы шин и т.д. Аппаратную платформу называют также архитектурой. Примером аппаратной платформы является IBM PC.
Платформа процессора

Рассматривается способность процессора выполнять тот же код, игнорируя различия в их внутреннем устройстве и интерфейсе. Примером платформы процессора являетсяx86.
Платформа ОС

Рассматривается совместимость или сходство на уровне операционных систем, например, файловых систем и пользовательского среды. Примером платформы операционной системы является UNIX, см.. также POSIX.

Сочетание этого толкования и платформы процессора приводит к понятию совместимости на уровне исполняемых файлов.
Виртуальные машины

Рассматривается возможность компьютерных систем, различных во всех трех предыдущих смыслах, выполнять то же программное обеспечение в так называемой виртуальной машине. Примером виртуальной машины является Java, способная работать на платформах, различных с точки зрения трех предыдущих толкований. Для реализации виртуальной машины нужно программное обеспечение, о котором говорят как о кроссплатформенным.

 

Компьютерная зависимость

Компьютерная зависимость — патологическая тяга человека к работе или проведение времени за компьютером.

На уровне с алкогольной и наркотической зависимостями компьютерная является довольно распространенной среди такой возрастной группы, как подростки. Возникновение такого типа зависимости относят к концу ХХ века.

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

Распространены в последнее время онлайновые компьютерные игры — (так называемые «MMORPG» ) основаны на одновременной игре многих участников, что создает опасное погружение в «виртуальную реальность».

С научной точки зрения вредными является электромагнитное излучение и статистическое электричество. Статистическое электричество заряжает пылинки и микроорганизмы, которые «прилипают» к человеку и повышают опасность заражения.
Общие замечания
Способствуют развитию моторики и координации зрительного и двигательного аппаратов
Слишком длительное пребывание перед монитором вредно для глаз, которые при этом пересыхают и раздражаются
Позволяют расширить свои знания о географических и культурные аспекты
Последовательное выполнение однообразных операций приводит к снижению восприятия
Преимущества и недостатки компьютерных игр
Интеллектуальные и познавательные игры имеют положительное влияние на развитие ребенка, позволяя обучить нового в наглядной форме
«… Игры и общение с другими пользователями очень важны и полезны для нормального развития подростков…»
Помогают преодолеть страхи ( фобии ), которые иным образом вылечить трудно
Агрессивная составляющая игры может быть легко перенесена в реальность
Наркотическое действие игры не позволяет от них самостоятельно отказаться
Проведенные исследования
По данным австралийского ученого-психолога Даниэля Лотон ( англ. Daniel Loton ) среди 621 респондента-подростка 15 процентов были отнесены к категории «проблемные игроки» и проводили более 50 часов в неделю за игрой. Однако лишь один процент показал слабые социальные умения. Таким образом Лотон опровергает мнение о том, что такие люди являются одинокими, малоразвитые или неспособными социализироваться.
Согласно материалам 12 доклада Американской медицинской ассоциации ( англ. American Medical Association ) от 70 до 90 процентов подростков США играют в компьютерные игры, причем 35% имеют возраст до 18 лет. Проанализировав другие результаты исследований Ассоциация пришла к выводу, что целесообразно установить возрастные ограничения на определенные типы игр. Предлагается ввести это на законодательном уровне.

 

Ячейка памяти

Ячейка памяти — минимальный адресованый элемент запоминающего устройства ЭВМ для хранения 1 байта информации. Общее число ячеек памяти всех запоминающих устройств определяет емкость памяти ЭВМ.

Ячейки памяти могут иметь различную емкость (количество разрядов, длину). Современные запоминающие устройства имеют размер ячейки памяти равным одной из ступеней двойки: 8 бит, 16 бит, 32 бита, 64 бита. В случае, если общая длина элементов памяти больше емкость ячейки памяти, тогда данные записываются в две или четыре соседние ячейки памяти.

Ячейки памяти имеют адрес (порядковый номер, число) по которым к ним могут обращаться команды процессора. Существует две основные системы адресации памяти: прямая (команда процессора обращается к информации, которая хранится в ячейке памяти) и косвенная (команда процессора обращается к адресу ячейки памяти, в которой хранится информация).

Ячейки памяти, построенные на полупроводниковых технологиях, могут быть статическими (не энергозависимые), и динамическими (энергозависимые). С помощью статических ячеек организуются устройства ПЗУ и ППЗУ, с помощью динамических — ОЗУ.

 

Кэш память

Кэш ( Cache ) — специальный вид памяти или часть ОЗУ, где хранятся копии часто используемых данных. Обеспечивает к ним быстрый доступ. Кэш памяти сохраняет содержимое и адрес участка ОЗУ, к которой часто обращается процессор. При обращении процессора к адресу памяти, кэш проверяет наличие у себя этого адреса. Если он ее находит, обмен данными выполняется между процессором и кэшем, в противном случае — между процессором и ОЗУ. Кэш эффективен, когда скорость работы памятименьше скорости работы процессора.

История КЭШ памяти

Использование слова «кэш» в контексте компьютеров происходит от 1967 года, когда готовилась статья для публикации в журнале «IBM Systems Journal ‘. Статья касалась захватывающего совершенствования памяти в модели 85, следующей в линии IBM System/360. Редактор журнала, Lyle R. Johnson, попросил использовать более описательный термин, чем «быстроходный буфер», но другого слова не были предоставлены, тогда он предложил «кэш». Статья была опубликована в начале 1968 года, авторы были награждены IBM, их работа широко одобрялась и впоследствии была улучшена, и название «кэш» быстро стала стандартно использоваться в компьютернойлитературе.
Принцип действия КЭШ

Кэш — это быстрая буферная память небольшой емкости, расположенной между процессором и основной памятью. Кэш работает на полной скорости процессора и не подтормаживает его работу. Кэш (cache в переводе с англ. — тайник) остается прозрачным для программиста, так как система инструкций процессора, как правило, не содержит команд работы с кэшем. При объяснении работы кэша можно принять, что процессор также не «видит» кэш и генерирует адреса памяти так, будто кэша нет. Однако кэш, как правило, существует, и на аппаратном уровне перехватывает сигналы процессора чтение / запись, а если надо, то предоставляет процессору быстрые копии информационных кодов, временно хранит в собственной рабочей памяти. Если кэш способен подменить собой память (в более 96-98 процентов случаев), тогда он за счет собственных ресурсов удовлетворяет запрос процессора. Процессор не притормаживается и остается работать на полной скорости. Когда «подмена» памяти невозможна (меньше двух-четырех процентов случаев), тогда кэш привлекает к работе память, обмен с которой существенно притормаживает процессор.

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

 

Внешняя память

Внешняя память — это компьютерная память, которая реализована в виде внешних, относительно материнской платы, устройств с разными принципами хранения информации и типами носителя, предназначенных для долговременного хранения информации. В частности, во внешней памяти хранится все программное обеспечение компьютера.Устройства внешней памяти могут размещаться как в системном блоке компьютера так и в отдельных корпусах. Физически внешняя память реализована в виде накопителей. Накопители — это запоминающие устройства, предназначенные для длительного (не зависящий от электропитания) хранения больших объемов информации. Емкость накопителей в сотни раз превышает емкость оперативной памяти или вообще неограниченная, если речь идет о накопителях со сменными носителями.

Накопитель можно рассматривать как совокупность носителя и соответствующего привода. Различают накопители со сменными и постоянными носителями. Повод — это сочетание механизма чтения-записи с соответствующими электронными схемами управления. Его конструкция определяется принципом действия и видом носителя. Носитель — это физическая среда хранения информации, на внешний вид может быть дисковым или ленточным. По принципу запоминания различают магнитные, оптические и магнитооптические носители. Ленточные носители могут быть лишь магнитными, в дисковых носителях используют магнитные, магнитооптические и оптические методы записи-считывания информации.

Наиболее распространенными являются накопители на магнитных дисках, которые делятся на накопители на жестких магнитных дисках (НЖМД) и накопители на гибких магнитных дисках (НГМД), и накопители на оптических дисках, такие как накопители CD-ROM, CD-R, CD-RW и DVD-ROM.