Добавил:
Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
Лекции по операционным системам.doc
Скачиваний:
91
Добавлен:
02.05.2014
Размер:
344.06 Кб
Скачать

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

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

1) занимаемая процессом память разбивается на несколько частей, например страниц.

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

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

1) программа не ограничена объемом физической памяти.

2) увеличивается загрузка процессора и пропускная способность системы, т. к. можно разместить в памяти большие программы.

3) объём ввода/вывода для выгрузки части программы на диск может быть меньше чем в варианте классического Swapping.

В итоге каждая программа будет работать быстрее. Введение виртуальной памяти позволило решить другую важную задачу: обеспечения контроля доступа к отдельным сегментам памяти в частности защиту пользовательских программ друг от друга и защиту ОС от пользовательских программ. Каждый процесс работает со своими виртуальными адресами трансляция которых физически выполняет аппаратура. Термин виртуальная память означает, что программист имеет дело с памятью отличной от реальной, размер которой помещает больше чем объём оперативной памяти. адреса которые генерируют программу называются виртуальными, и они формируют виртуальное адресное пространство. Известно чисто программная реализация виртуальной памяти, но широкое развитие получили схемы виртуальной памяти с аппаратной поддержкой. Любая из 3-х схем управления памятью: страничная, сегментная, сегментно-страничная; пригодна для организации виртуальной памяти, чаще всего используется сегментно-страничная модель, которая является синтезом страничной модели и идеи сегментации. Сегментная организация в чистом виде встречается редко. Передача информации между памятью и диском всегда осуществляется целыми страницами, а система поддержки страничной организации памяти называется paging.

45.Файловая система. Управление файлами

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

Хранение информации на магнитном диске требует хорошего знания устройства контроллера диска, особенности работы с его архитектурой. Непосредственное взаимодействие с диском – прерогатива компоненты системы I/O ОС – драйвера диска. Чтобы избавить пользователя от взаимодействия с аппаратурой, была применена ясная абстрактная модель файловой системы, т.к. операции запись/чтение проще, чем многоуровневые операции по работе с устройством.

Основная идея использования памяти: ОС делит память на блоки фиксированного размера, файл, обычно представляющий собой неструктурированную последовательность однобайтовых записей, хранится в виде последовательных блоков, необязательно смежных, каждый блок хранит целое число записей, в некоторых ОС, например, MS Windows, адреса блоков, содержащих данные файла, могут быть организованы в связанный список и вынесены в отдельную таблицу файлов. В других ОС (Unix) адреса блоков данных файла хранятся в отдельном блоке внешней памяти – индексе (индексный узел, файловый дескриптор). Этот приём – индексация, наиболее распространен для приложений, требующих произвольный доступ к записям файла. Индекс файла состоит из элементов, каждый из которых содержит номер блока в файле и сведение о местоположении данного блока. Считывание очередного байта производится с текущей позиции, которая характеризуется смещением от начала файла. Зная размер блока, можно вычислить номер блока, содержащего текущую позицию, адрес же нужного блока можно извлечь из индекса файла.

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

Основные функции файловой системы:

-идентификация файлов, связывание имени файла с выделенным ему пространством внешней памяти;

-распределение внешней памяти между файлами, чтобы для работы с конкретным файлом не требовалась информация о местоположении этого файла на внешнем носителе информации;

-обеспечение надежности, отказоустойчивости, поскольку стоимость информации может во много раз превышать стоимость компьютера;

-обеспечение защиты от несанкционированного доступа;

-обеспечение совместного доступа к файлам;

-обеспечение высокой производительности.

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