
- •Экзаменационные вопросы и задачи по дисциплине «Системное программирование» (спо)
- •Теоретические вопросы
- •Ответы на теоретические вопросы
- •Опишите назначение и механизм действия системы прерываний компьютера
- •Опишите смысл, назначение и механизм действия процессов
- •Файловая подсистема. Основные понятия. Виды файловых систем
- •Виды файловых систем
- •Управление процессами
- •Файловые системы fat32 и ntfs
- •Сервер сценариев Windows Script Host (wsh). Назначение и возможности
- •Возможности сценариев wsh
- •Объекты wsh: Методы и свойства объекта Wscript
- •Объекты wsh: Методы и свойства объекта WshShell
- •Объекты wsh: Методы и свойства объекта WshNetwork
- •Инструментарий управления Windows wmi – назначение и возможности
- •Использование технологии wmi для сбора сведений об аппаратной конфигурации компьютера
- •Практические задания по системному программированию
- •Решения практических заданий (используйте файлы «Automation.Chm» и «Рецепты wmi.Doc»)
Виды файловых систем
Распределенные файловые системы
Появившаяся в 70-х годах возможность объединения компьютеров в единую сеть произвела революцию в компьютерной промышленности. Эта возможность прежде всего вызвала желание организовать разделение доступа к файлам между различными компьютерами.
В середине 80-х годов появилось несколько распределенных файловых систем, которые обеспечили прозрачный доступ по сети к удаленным файлам. Но наибольшее распространение получила NFS, которая поддерживается на всех UNIX и многих «не UNIX» системах.
Традиционная централизованная файловая система позволяет множеству пользователей, работающих на одной системе, разделять доступ к файлам, хранящихся локально на этой машине. Распределенная файловая система расширяет эти возможности, позволяя разделять доступ к файлам пользователям на разных машинах, объединенных между собой с помощью сети. В основе распределенных файловых систем лежит модель клиент-сервер. В данном случае под клиентом понимается машина, которая обращается к некоторому файлу, а под сервером – машина, хранящая файлы и обеспечивающая к ним доступ.
Распределенные файловые системы имеют ряд важных свойств. Каждая конкретная система может обладать всеми или частью этих свойств. Это как раз и создает основу для сравнения различных архитектур между собой.
Сетевая прозрачность – Клиенты должны иметь возможность обращаться к удаленным файлам, пользуясь теми же самыми операциями, что и для доступа к локальным файлам.
Прозрачность размещения – Имя файла не должно определять его местоположения в сети.
Независимость размещения – Имя файла не должно меняться при изменении его физического месторасположения.
Мобильность пользователя – Пользователи должны иметь возможность обращаться к разделяемым файлам из любого узла сети.
Устойчивость к сбоям – Система должна продолжать функционировать при неисправности отдельного компонента (сервера или сегмента сети). Однако это может приводить к деградации производительности или к исключению доступа к некоторой части файловой системы.
Масштабируемость – Система должна обладать возможностью масштабирования в случае увеличения нагрузки. Кроме того, должна существовать возможность постепенного наращивания системы путем добавления отдельных компонентов.
Мобильность файлов – Должна быть возможность перемещения файлов из одного месторасположения в другое на работающей системе.
Журналируемые файловые системы
Основная цель, которая преследуется при создании журналируемых файловых систем, состоит в том, чтобы обеспечить быстрое восстановление системы после сбоев (например, после потери питания). Дело в том, что если произойдет такой сбой, то часть информации о расположении файлов теряется, поскольку не все изменения сразу записываются на диск. После этого специальная программа вынуждена просматривать весь диск блок за блоком с целью восстановления потерянных связей. При увеличении размера дисков вдвое, вдвое увеличивается и время, необходимое для просмотра всего диска. А при тех объемах, которых достигают современные диски, особенно на серверах, время, необходимое для того, чтобы просмотреть весь диск, стало недопустимо велико: оно стало достигать часов и даже суток. А сервер в это время не отзывается! Кроме того, нет гарантии, что все связи удастся восстановить.
В журналируемых файловых системах для решения этой проблемы применяют технику транзакций, развитую в теории баз данных. Суть этой техники в том, что действие не считается завершенным, пока все изменения не сохранены на диске. А чтобы сбои, происходящие в течение времени, необходимого для завершения всех операций, не приводили к необратимым последствиям, все действия и все изменяемые данные протоколируются. Если сбой все-таки произойдет, то по этому протоколу можно вернуть систему в безошибочное состояние.