Файловая технология организации данных в современных ПК

Автор работы: Пользователь скрыл имя, 25 Января 2012 в 11:51, доклад

Краткое описание

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

Основные функции файловой системы можно разделить на две группы:
· Функции для работы с файлами (создание, удаление, переименование файлов и т.д.)
· Функции для работы с данными, которые хранятся в файлах (запись, чтение, поиск данных и т.д.)

Содержание работы

1.Системное программное обеспечение ПК
- Базы данных и файловые системы
- Файловые системы
- Структуры файлов
- Именование файлов
- Защита файлов
- Режим многопользовательского доступа
2. Принципы организации основной памяти в современных компьютерах
- Общие положения
- Увеличение разрядности основной памяти
- Память с расслоением
- Использование специфических свойств динамических ЗУПВ

Содержимое работы - 1 файл

маша111.docx

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

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

В некоторых  файловых системах базовый уровень  доступен пользователю, но более часто  прикрывается некоторым более высоким  уровнем, стандартным для пользователей. Распространены два основных подхода. При первом подходе, свойственном, например, файловым системам операционных систем фирмы DEC RSX и VMS, пользователи представляют файл как последовательность записей. Каждая запись - это последовательность байтов постоянного или переменного  размера. Записи можно читать или  записывать последовательно или  позиционировать файл на запись с  указанным номером. Некоторые файловые системы позволяют структурировать  записи на поля и объявлять некоторые  поля ключами записи. В таких файловых системах можно потребовать выборку  записи из файла по ее заданному  ключу. Естественно, что в этом случае файловая система поддерживает в  том же (или другом, служебном) базовом  файле дополнительные, невидимые  пользователю, служебные структуры  данных. Распространенные способы организации  ключевых файлов основываются на технике  хэширования и B-деревьев (мы будем говорить об этих приемах более подробно в следующих лекциях). Существуют и многоключевые способы организации файлов.

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

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

- Именование файлов

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

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

Другой крайний  вариант был реализован в файловых системах операционной системы Multics. Эта система заслуживает отдельного большого разговора, в ней был реализован целый ряд оригинальных идей, но мы остановимся только на особенностях организации архива файлов. В файловой системе Miltics пользователи представляли всю совокупность каталогов и файлов как единое дерево. Полное имя файла начиналось с имени корневого каталога, и пользователь не обязан был заботиться об установке на дисковое устройство каких-либо конкретных дисков. Сама система, выполняя поиск файла по его имени, запрашивала установку необходимых дисков. Такую файловую систему можно назвать полностью централизованной.

Конечно, во многом централизованные файловые системы  удобнее изолированных: система  управления файлами принимает на себя больше рутинной работы. Но в таких системах возникают существенные проблемы, если кому-то требуется перенести поддерево файловой системы на другую вычислительную установку. Компромиссное решение применено в файловых системах ОС UNIX. На базовом уровне в этих файловых системах поддерживаются изолированные архивы файлов. Один из этих архивов объявляется корневой файловой системой. После запуска системы можно "смонтировать" корневую файловую систему и ряд изолированных файловых систем в одну общую файловую систему. Технически это производится с помощью заведения в корневой файловой системе специальных пустых каталогов. Специальный системный вызов курьер ОС UNIX позволяет подключить к одному из этих пустых каталогов корневой каталог указанного архива файлов. После монтирования общей файловой системы именование файлов производится так же, как если бы она с самого начала была централизованной. Если учесть, что обычно монтирование файловой системы производится при раскрутке системы, то пользователи ОС UNIX обычно и не задумываются об исходном происхождении общей файловой системы.

- Защита файлов

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

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

- Режим многопользовательского  доступа

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

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

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

2.Принципы организации основной памяти в современных компьютерах

- Общие положения

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

Задержка памяти традиционно оценивается двумя  параметрами: временем доступа (accesstime) и длительностью цикла памяти (cycletime). Время доступа представляет собой промежуток времени между выдачей запроса на чтение и моментом поступления запрошенного слова из памяти. Длительность цикла памяти определяется минимальным временем между двумя последовательными обращениями к памяти.

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

В процессе развития ДЗУВП с ростом их емкости основным вопросом стоимости таких микросхем  был вопрос о количестве адресных линий и стоимости соответствующего корпуса. В те годы было принято решение  о необходимости мультиплексирования  адресных линий, позволившее сократить  наполовину количество контактов корпуса, необходимых для передачи адреса. Поэтому обращение к ДЗУВП обычно происходит в два этапа: первый этап начинается с выдачи сигнала RAS - row-accessstrobe (строб адреса строки), который фиксирует в микросхеме поступивший адрес строки, второй этап включает переключение адреса для указания адреса столбца и подачу сигнала CAS - column-accessstobe (строб адреса столбца), который фиксирует этот адрес и разрешает работу выходных буферов микросхемы. Названия этих сигналов связаны с внутренней организацией микросхемы, которая как правило представляет собой прямоугольную матрицу, к элементам которой можно адресоваться с помощью указания адреса строки и адреса столбца.

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

Это требование кроме всего прочего означает, что система основной памяти компьютера оказывается иногда недоступной  процессору, так как она вынуждена  рассылать сигналы регенерации  каждой микросхеме. Разработчики ДЗУПВ  стараются поддерживать время, затрачиваемое  на регенерацию, на уровне менее 5% общего времени. Обычно контроллеры памяти включают в свой состав аппаратуру для периодической регенерации  ДЗУПВ.

В отличие от динамических, статические ЗУПВ не требуют регенерации и время доступа к ним совпадает с длительностью цикла. Для микросхем, использующих примерно одну и ту же технологию, емкость ДЗУВП по грубым оценкам в 4 - 8 раз превышает емкость СЗУПВ, но последние имеют в 8 - 16 раз меньшую длительность цикла и большую стоимость. По этим причинам в основной памяти практически любого компьютера, проданного после 1975 года, использовались полупроводниковые микросхемы ДЗУПВ (для построения кэш-памяти при этом применялись СЗУПВ). Естественно были и исключения, например, в оперативной памяти суперкомпьютеров компании CrayResearch использовались микросхемы СЗУПВ.

Для обеспечения  сбалансированности системы с ростом скорости процессоров должна линейно  расти и емкость основной памяти. В последние годы емкость микросхем  динамической памяти учетверялась каждые три года, увеличиваясь примерно на 60% в год. К сожалению скорость этих схем за этот же период росла гораздо меньшими темпами (примерно на 7% в год). В то же время производительность процессоров начиная с 1987 года практически увеличивалась на 50% в год. На рисунке 5.39 представлены основные временные параметры различных поколений ДЗУПВ.

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

Информация о работе Файловая технология организации данных в современных ПК