Виртуа́льная па́мять

Автор работы: Пользователь скрыл имя, 16 Января 2014 в 17:52, контрольная работа

Описание работы

Виртуа́льная па́мять (англ. Virtual memory) — технология управления памятью ЭВМ, разработанная для многозадачных операционных систем. При использовании данной технологии для каждой программы используются независимые схемы адресации памяти, отображающиеся тем или иным способом на физические адреса в памяти ЭВМ. Позволяет увеличить эффективность использования памяти несколькими одновременно работающими программами, организовав множество независимых адресных пространств, и обеспечить защиту памяти между различными приложениями. Также позволяет программисту использовать больше памяти, чем установлено в компьютере, за счет откачки неиспользуемых страниц на вторичное хранилище.

Файлы: 1 файл

Операционые системы.docx

— 75.60 Кб (Скачать файл)

1 Виртуальная память

 

Виртуа́льная па́мять (англ. Virtual memory) — технология управления памятью ЭВМ, разработанная для многозадачных операционных систем. При использовании данной технологии для каждой программы используются независимые схемы адресации памяти, отображающиеся тем или иным способом на физические адреса в памяти ЭВМ. Позволяет увеличить эффективность использования памяти несколькими одновременно работающими программами, организовав множество независимых адресных пространств, и обеспечить защиту памяти между различными приложениями. Также позволяет программисту использовать больше памяти, чем установлено в компьютере, за счет откачки неиспользуемых страниц на вторичное хранилище.

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

При использовании виртуальной  памяти упрощается программирование, так как программисту больше не нужно  учитывать ограниченность памяти, или  согласовывать использование памяти с другими приложениями. Для программы  выглядит доступным и непрерывным  все допустимое адресное пространство, вне зависимости от наличия в  ЭВМ соответствующего объёма ОЗУ.

Применение  механизма виртуальной памяти позволяет:

  • упростить адресацию памяти клиентским программным обеспечением;
  • рационально управлять оперативной памятью компьютера (хранить в ней только активно используемые области памяти);
  • изолировать процессы друг от друга (процесс полагает, что монопольно владеет всей памятью).

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

Существует  несколько видов организации  виртуальной памяти:

1  Страничная организация виртуальной  памяти;

2  Сегментная организация виртуальной  памяти.

Рассмотрим виды организации виртуальной  памяти подробнее.

Страничная  организация виртуальной памяти. В большинстве современных операционных систем виртуальная память организуется с помощью страничной адресации. Оперативная память делится на страницы: области памяти фиксированной длины (например, 4096 байт), которые являются минимальной единицей выделяемой памяти (то есть даже запрос на 1 байт от приложения приведёт к выделению ему страницы памяти). Процесс обращается к памяти с помощью адреса виртуальной памяти, который содержит в себе номер страницы и смещение внутри страницы. Процессор преобразует номер виртуальной страницы в адрес соответствующей ей физической страницы при помощи буфера ассоциативной трансляции. Если ему не удалось это сделать, то требуется обращение к таблице страниц (так называемый Page Walk), что может сделать либо сам процессор, либо операционная система (в зависимости от архитектуры). Если страница выгружена из оперативной памяти, то операционная система подкачивает страницу с жёсткого диска. При запросе на выделение памяти операционная система может «сбросить» на жёсткий диск страницы, к которым давно не было обращений. Критические данные (например, код запущенных и работающих программ, код и память ядра системы) обычно находятся в оперативной памяти (исключения существуют, однако они не касаются тех частей, которые отвечают за обработку аппаратных прерываний, работу с таблицей страниц и использование файла подкачки).

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

Виртуальный адрес при сегментной организации памяти может быть представлен  парой (g, s), где g — номер сегмента, а s — смещение в сегменте. Физический адрес получается путем сложения начального физического адреса сегмента, найденного в таблице сегментов по номеру g, и смещения s.

Недостатком данного метода распределения  памяти является фрагментация на уровне сегментов и более медленное  по сравнению со страничной организацией преобразование адреса.

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

2 История развития операционных  систем

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

В мультипрограммных системах пакетной обработки пользователь по-прежнему был лишен возможности интерактивного взаимодействия со своими программами. Для того, чтобы хотя бы частично вернуть пользователям ощущение непосредственного взаимодействия с компьютером, был разработан другой вариант мультипрограммных систем - системы разделения времени. Этот вариант рассчитан на многотерминальные  системы, когда каждый пользователь работает за своим терминалом. В  числе первых операционных систем разделения времени, разработанных в середине 60-х годов, были TSS/360 (компания IBM), CTSS и MULTICS (Массачусетский технологический  институт совместно с Bell Labs и компанией General Electric). Вариант мультипрограммирования, применяемый в системах разделения времени, был нацелен на создание для каждого отдельного пользователя иллюзии единоличного владения вычислительной машиной за счёт периодического выделения  каждой программе своей доли процессорного  времени. В системах разделения времени  эффективность использования оборудования ниже, чем в системах пакетной обработки, что явилось платой за удобства работы пользователей. Многотерминальный  режим использовался не только в  системах разделения времени, но и в  системах пакетной обработки. При этом не только оператор, но и все пользователи получали возможность формировать свои задания и управлять их выполнением со своего терминала. Такие ОС получили название систем удалённого ввода заданий. Терминальные комплексы могли располагаться на большом расстоянии от процессорных стоек, соединяясь с ними с помощью различных глобальных связей - модемных соединений телефонных сетей или выделенных каналов. Для поддержания удалённой работы терминалов в операционных системах появились специальные программные модули, реализующие различные (в то время, как правило, нестандартные) протоколы связи. Такие вычислительные системы с удалёнными терминалами, сохраняя централизованный характер обработки данных, в какой-то степени являлись прообразом современных сетей, а соответствующее системное программное обеспечение - прообразом сетевых операционных систем.

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

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

Система прерываний позволяла синхронизировать работу различных устройств компьютера, работающих параллельно и асинхронно, таких как каналы ввода-вывода, диски, принтеры и т.п.

Ещё одной важной тенденцией этого  периода является создание семейств программно - совместимых машин и  операционных систем для них. Примерами  семейств программно - совместимых  машин, построенных на интегральных микросхемах, являются серии машин IBM/360, IBM/370 и PDP-11.

Программная совместимость требовала  и совместимости операционных систем. Однако такая совместимость подразумевает  возможность работы на больших и  малых вычислительных системах, с  большим и малым количеством  разнообразной периферии, в коммерческой области и в области научных  исследований. Операционные системы, построенные  с намерением удовлетворить всем этим противоречивым требованиям, оказались  чрезвычайно сложными. Они состояли из многих миллионов ассемблерных строк, написанных тысячами программистов, и  содержали тысячи ошибок, вызывающих нескончаемый поток исправлений. Операционные системы этого поколения были очень дорогими. Так, например, разработка OS/360, объём кода для которой составил 8 Мбайт, стоила компании IBM 80 миллионов  долларов.

Однако, несмотря на необозримые размеры  и множество проблем, OS/3600 и другие ей подобные операционные системы этого  поколения действительно удовлетворяли  большинству требований потребителей. За это десятилетие был сделан огромный шаг вперёд и заложен  прочный фундамент для создания современных операционных систем.

 

 

 

 

 

 

 

 

 

 

 

3. Создание файлов в Windows

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

 

Рисунок 1.Значки для некоторых типов файлов

 

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

  1. В меню Файл программы выберите команду Создать.

Если в программе можно  создать более одного вида файлов, возможно, потребуется выбрать из списка такой объект, как шаблон.

  1. По завершении работы с новым файлом в меню Файл выберите команду Сохранить как, чтобы дать файлу имя и сохранить его на компьютере.

Добавление свойств файла—, таких  как метки, имена авторов и  оценки — осуществляется при сохранении файла или с помощью области  сведений; это зависит от типа файла. Это облегчит поиск файла, когда  он снова потребуется.

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

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

Список использованных литературных источников

 

  1. Советов, Б.Я. Информационная технология: Учебник для вузов по спец. "Автоматизир. системы обработки информ. и упр." / Б.Я. Советов. – М.: Высш. шк., 1994. – 560 с.
  2. Шафрин, Ю.А. Информационные технологии / Ю.А. Шафрин. – М.: Финансы и статистика, 1999. - 316 с.
  3. Амосов, Н.М. Моделирование сложных систем / Н.М. Амосов. – Киев: Наукова думка, 1968. - 88 с.

 


Информация о работе Виртуа́льная па́мять