Задачи управления данными

Автор работы: Пользователь скрыл имя, 08 Февраля 2012 в 18:21, реферат

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

Программное обеспечение для управления всем жизненным циклом данных (от создания до удаления) и доставки данных по запросу с целью оптимизации использования и поддержки эффективного управления на всем предприятии. Сегмент ПО для управления данными включает в себя системы управления реляционными и нереляционными базами данных, инструменты и утилиты управления данными (например, загрузка/выгрузка, архивирование, сокращение, маскирование и т. п.), а также средства защиты (например, мониторинг операций с базой данных). Примеры: Optim Data Growth Solution z/OS, Cloudscape, DB2 Connect Enterprise Edition, IMS Tools, InfoSphere MashupHub.

Файлы: 1 файл

Семинар спо.docx

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

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

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

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

  • Можно хранить все свободные кластеры как связанный линейный список, т.е. в начале каждого свободного кластера хранить номер следующего по списку. Недостаток такого способа в том, что затрудняется поиск свободного непрерывного фрагмента нужного размера, поэтому сложнее оптимизировать размещение файлов.
  • Названный недостаток можно преодолеть, если хранить список не из отдельных кластеров, а из непрерывных свободных фрагментов диска. Правда, работать с таким списком несколько сложнее.
  • В системах с непрерывным размещением часто каждый непрерывный фрагмент диска описывают так же, как файл, но отмечают его флажком «свободен».
  • Удобный и простой способ заключается в использовании битовой карты (bitmap) свободных кластеров. Она представляет собой массив, содержащий по одному биту на каждый кластер, причем значение 1 означает «кластер занят», а 0 – «кластер свободен». Для поиска свободного непрерывного фрагмента нужного размера система должна будет просмотреть весь массив.
    1.   Защита данных

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

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

     Для любой системы защиты характерно наличие, по крайней мере, трех компонент.

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

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

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

    1.   Разделение файлов между процессами

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

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

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

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

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

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

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

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

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

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

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

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

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

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

Информация о работе Задачи управления данными