Основы Pascal. Типы данных. Структура программы на языке Pascal

Вид материалаДокументы
Полное имя файла имеет следующий вид ( []-необязательные элементы).
Размещение файлов на жестком диске
Название атрибута перевод значение файловые системы операционные системы
2) system
Владелец и группа файла
Операции с файлом
Операции, связанные с открытием файла
Операции, не связанные с открытием файла
Список операций с файлами
Файловая система
Понятие «файловая система» включает
Имена файлов
Структура файлов
Типы и атрибуты файлов
Доступ к файлам
Операции над файлами.
Существует два способа выполнить последовательность действий над файлами
Методы защиты информации.
Структурная схема ПК, Основной алгоритм работы микропроцессора, классы процессоров (CISC, RISC, MISC, VLIW).
Подобный материал:
1   ...   9   10   11   12   13   14   15   16   17

Полное имя файла имеет следующий вид ( []-необязательные элементы).

[дисковод:][путь\]имя-файла

т.е состоит из пути к каталогу, в котором находится файл и имени файла, разделенных символом «\», перед которым может стоять имя дисковода. Если дисковод не указан, то подразумевается текущий дисковод. Если путь не указан, то подразумевается текущий каталог.

A:mouse.com –в текущем каталоге

A:\mouse.com –в корневом каталоге

ST\mouse.com-в подкаталоге ST текущего каталога

Символы * и ?. Во многих командах и именах файлов можно употреблять символы * и ? для указания группы файлов из одного каталога.

Символ *- обозначает любое число любых символов в имени файла или в расширении имени файла.

Символ ?- обозначает один произвольный символ или отсутствие символа в имени файла или в расширении имени файла.

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

C:\dos\*.doc-допустимо

C:\*\f.doc- недопустимо

*:\dos\f.doc- -“-

*.bak -все файлы с расширением bak из текущего дисковода.

C*.d* -все файлы начинающиеся с С, и расширением, начинающимся с D из текущего каталога.

В:\doc\as???.* -все файлы из каталога В:\doc с именем, начинающимся AS и состоящим не более чем из 5 символов.

Размещение файлов на жестком диске.

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

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

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

Рекомендации размещения:

1)Все файлы, относящиеся к одному комплексу, размещают в одном каталоге и его подкаталогах;

2)Все исполнимые и командные файлы общего назначения желательно размещать в одном каталоге и нескольких его подкаталогах (их описывают в Path);

3)Не следует помещать в одном каталоге файлы, которые не изменяете и файлы, которые можете изменить. Для текстов создают отдельный каталог.


Атрибуты

В большинстве файловых систем предусмотрены атрибуты (обычно это бинарное значение "да"/"нет", кодируемое одним битом).

Название атрибута перевод значение файловые системы операционные системы

1) READ ONLY (только для чтения) - в файл запрещено писать

(FAT32, FAT12, FAT16, NTFS, HPFS, VFAT, DOS, OS/2, Windows )

2) SYSTEM (системный) - критический для работы операционной системы файл

(FAT32, FAT12, FAT16, NTFS, HPFS, VFAT,DOS, OS/2, Windows )

3) HIDDEN (скрытый) - файл скрывается от показа, пока явно не сказано обратное

(FAT12, FAT16, NTFS, HPFS, DOS, OS/2, Windows,FAT32, VFAT)

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

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

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

Время

Для файла могут быть определены следующие временные метки:

Время создания

Время модификации

Время последнего доступа

Владелец и группа файла

В некоторых файловых системах предусмотрено указание на владельца файла, и группу владельца.

Права доступа

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

Для UNIX-подобных операционных файлов обычно выделяют три типа прав:

-Право на запись

-Право на чтение

-Право на выполнение

Каждое право задаётся раздельно для владельца, для группы и для всех остальных.

В операционных системах Windows при работе с файловой системой NTFS права доступа задаются явно для пользователей или групп (или наследуются от вышестоящих объектов). Права в себя включают:

-Право на чтение

-Право на запись

-Право на исполнение

-Право на удаление

-Право на смену атрибутов и владельца

-Право на создание, удаление подпапок (для папок)

-Право на чтение прав доступа

Каждое право может быть задано как разрешением, так и запретом, запрет имеет больший приоритет, чем разрешение.

Операции с файлом

Условно можно выделить два типа операций с файлом - связанные с его открытием, и выполняющиеся без его открытия. Операции первого типа обычно служат для чтения/записи информации или подготовки к записи/чтению. Операции второго типа выполняются с файлом как с "объектом" файловой системы, в котором файл является мельчайшей единицей структурирования.

Операции, связанные с открытием файла

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

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

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

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

- файловый буффер. Операционная система (и/или библиотека языка программирования) осуществляет кеширование файловых операций в специальном буффере (участке памяти). При закрытии файла буффер сбрасывается.

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

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

Операции

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

- Закрытие файла. В качестве аргумента выступает значение, полученное при открытии файла. При закрытии все файловые буфферы сбрасываются.

- Запись - в файл помещаются данные.

- Чтение - данные из файла помещаются в область памяти.

- Перемещение указателя - указатель перемещается на указанное число байт вперёд/назад или перемещается по указанному смещению относительно начала/конца. Не все файлы позволяют выполнение этой операции (например, файл на ленточном накопителе может не "уметь" перематываться назад).

- Сброс буфферов - содержимое файловых буфферов с незаписанной в файл информацией записывается. Используется обычно для указание на завершение записи логического блока (для сохранения данных в файле на случай сбоя).

- Получение текущего значения файлового указателя.

Операции, не связанные с открытием файла:

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

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

Список операций с файлами:

- Удаление файла

- Переименование файла

- Копирование файла

- Перенос файла на другую файловую систему/носитель информации

- Создание симлинка или хардлинка

- Получение или изменение атрибутов файла

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

Основная идея использования внешней памяти состоит в следующем. ОС делит ее на блоки фиксированного размера, например, 4096 байт. С точки зрения пользователя каждый файл состоит из набора индивидуальных элементов, называемых записями (например, характеристика какого-нибудь объекта). Каждый файл хранится в виде определенной последовательности блоков (не обязательно смежных); каждый блок хранит целое число записей. В некоторых ОС (MS-DOS) адреса блоков, содержащих данные файла, могут быть организованы в связный список и вынесены в отдельную таблицу в памяти. В других ОС (Unix), адреса блоков данных файла хранятся в отдельном блоке внешней памяти (так называемом индексе или индексном узле). Этот прием называется индексацией и является наиболее распространенным для приложений, требующих произвольного доступа к записям файлов. Индекс файла состоит из списка элементов, каждый из которых содержит номер блока в файле и указание о местоположении данного блока. В современных ОС файлы обычно представляют собой неструктурированную последовательность байтов (длина записи равна 1) и считывание очередного байта осуществляется с так называемой текущей позиции, которая характеризуется смещением от начала файла. Зная размер блока, легко вычислить номер блока, содержащего текущую позицию. Адрес же нужного блока диска можно затем извлечь из индекса файла. Базовой операцией, выполняемой по отношению к файлу, является чтение блока с диска и перенос его в буфер, находящийся в основной памяти.

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

Понятие «файловая система» включает:

совокупность всех файлов на диске,

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

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

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

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

Идентификация файлов. Связывание имени файла с выделенным ему пространством внешней памяти.

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

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

Обеспечение защиты от НСД.

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

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

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

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

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

Имена файлов

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

Многие ОС поддерживают имена из двух частей (имя+расширение), например progr.c(файл, содержащий текст программы на языке Си) или autoexec.bat (файл, содержащий команды интерпретатора командного языка). Тип расширения файла позволяет ОС организовать работу с ним различных прикладных программ в соответствии с заранее оговоренными соглашениями.

Обычно ОС накладывают некоторые ограничения, как на используемые в имени символы, так и на длину имени. Например, в ОС Unix учитывается регистр при вводе имени файла (case sensitive), а в MS-DOS – нет. В популярной файловой системе FAT длина имен ограничивается известной схемой 8.3 (8 символов - собственно имя, 3 символа - расширение имени). Современные файловые системы, как правило, поддерживают более удобные для пользователя длинные символьные имена файлов. Так, в соответствии со стандартом POSIX, в ОС UNIX допускаются имена длиной до 255 символов, та же самая длина устанавливается для имен файлов и в ОС Windows NT для файловой системы NTFS.

Структура файлов

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

ОС поддерживают несколько вариантов структуризации файлов.

Первый из них, файл, как неструктурированная последовательность байтов. Например, в файловых системах ОС UNIX и MS-DOS файл имеет простейшую логическую структуру - последовательность однобайтовых записей.

ОС не осуществляет никакой интерпретации этих байтов. Тем не менее, ОС с файловыми системами данного типа должны поддерживать, по крайней мере, одну структуру - выполняемый файл - для запуска программ. Этой схеме присущи максимальная гибкость и универсальность. Используя базовые системные вызовы (или функции библиотеки ввода/вывода), пользователи могут, как угодно структурировать файлы. В частности, многие СУБД хранят свои базы данных в обычных файлах.

Первый шаг в структурировании - хранение файла в виде последовательности записей фиксированной длины, каждая из которых имеет внутреннюю структуру. Центральная идея этой схемы - операция чтения проводится над записью и операция записи - переписывает или добавляет запись целиком. Ранее были записи по 80 байт (соответствовало числу позиций в перфокарте) или по 132 символа (ширина принтера). В ОС CP/M файлы были последовательностями 128-символьных записей. С введением CRT терминалов эта идея утратила популярность.

Третий способ представления файлов - последовательность записей переменной длины, каждая из которых содержит ключевое поле в фиксированной позиции внутри записи. Базисная операция в данном случае - считать запись с каким-либо значением ключа. Записи могут располагаться в файле последовательно (например, будучи отсортированы по значению ключевого поля) или в более сложном порядке.

Р
ис. Файл, как последовательность записей переменной длины

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

Типы и атрибуты файлов

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

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

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

Далее, главным образом, речь пойдет об обычных файлах.

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

Обычные регулярные файлы бывают - ASCII и бинарные.

ASCII файлы содержат строки текста, которые можно распечатать, увидеть на экране или редактировать обычным текстовым редактором.

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

Типизация файлов не слишком строгая.

Обычно прикладные программы, работающие с файлами, распознают тип файла по его имени в соответствии с общепринятыми соглашениями. Например, файлы с расширениями .c, .pas, .txt – ASCII файлы, файлы с расширениями .exe – выполнимые, файлы с расширениями .obj, .zip – бинарные и т.д.

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

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

Доступ к файлам

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

Ранние ОС давали только один способ доступа – последовательный (модель ленты). Записи считывались в порядке поступления. Текущая позиция считывания могла быть возвращена к началу файла (rewind). Вместе с магнитными барабанами и дисками появились файлы с прямым (random) доступом. Для специфицирования места, с которого надо начинать чтение используются два способа: с начала, или с текущей позиции, которую дает операция seek.

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

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

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

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

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

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

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

Операции над файлами.

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

Create. Создание файла, не содержащего данных. Смысл данного вызова - объявить, что файл существует и присвоить ему ряд атрибутов.

Delete. Удаление файла и освобождение занятого им дискового пространства.

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

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

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

Read. Чтение данных из файла. Обычно это происходит с текущей позиции. Пользователь должен задать объем считываемых данных и предоставить буфер для них.

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

Get attributes. Предоставляет процессам нужные им сведения об атрибутах файла. В качестве примера можно привести, утилиту make, которая использует информацию о времени последней модификации файлов.

Set attributes. Дает возможность пользователю установить некоторые атрибуты. Наиболее очевидный пример - установка режима доступа к файлу.

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

Существует два способа выполнить последовательность действий над файлами:

В первом случае для каждой операции выполняются как универсальные, так и уникальные действия (схема stateless). Например, последовательность операций может быть такой: open, read1, close, … open, read2, close, … open, read3, close.

Альтернативный способ, это когда универсальные действия выполняются в начале и в конце последовательности операций, а для каждой промежуточной операции выполняются только уникальные действия. В этом случае последовательность вышеприведенных операций будет выглядеть так: open, read1, … read2, … read3, close.

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

  1. Основы защиты информации и методы защиты информации.

(ссылка скрыта)

 

Обзор различных методов защиты информации
  1. Причины влияющие на развитие в области защиты информации.

Содержание проблемы защиты информации специалистами интерпретируются следующим образом. По мере развития и усложнения средств, методов и форм автоматизации процессов обработки информации повышается ее уязвимость. Основными факторами, способствующими повышению этой уязвимости, являются:
  1. Резкое увеличение объемов информации, накапливаемой, хранимой и обрабатываемой с помощью ЭВМ и других средств автоматизации.
  2. Сосредоточение в единых базах данных информации различного назначения и различных принадлежностей.
  3. Резкое расширение круга пользователей, имеющих непосредственный доступ к ресурсам вычислительной системы и находящимся в ней данных.
  4. Усложнение режимов функционирования технических средств вычислительных систем: широкое внедрение многопрограммного режима, а также режимов разделения времени и реального времени.
  5. Автоматизация межмашинного обмена информацией, в том числе и на больших расстояниях.

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

Основными потенциально возможными каналами утечки информации являются:
  1. Прямое хищение носителей и документов.
  2. Запоминание или копирование информации.
  3. Несанкционированное подключение к аппаратуре и линиям связи или незаконное использование "законной" (т.е. зарегистрированной) аппаратуры системы (чаще всего терминалов пользователей).
  4. Несанкционированный доступ к информации за счет специального приспособления математического и программного обеспечения.
  1. Методы защиты информации.

Можно выделить три направления работ по защите информации: теоретические исследования, разработка средств защиты и обоснование способов использования средств защиты в автоматизированных системах.

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

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

а) аппаратные методы защиты.

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

-специальные регистры для хранения реквизитов защиты: паролей, идентифицирующих кодов, грифов или уровней секретности,

-генераторы кодов, предназначенные для автоматического генерирования идентифицирующего кода устройства,

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

-специальные биты секретности, значение которых определяет уровень секретности информации, хранимой в ЗУ, которой принадлежат данные биты,

-схемы прерывания передачи информации в линии связи с целью периодической проверки адреса выдачи данных.

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

б) программные методы защиты.

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

-идентификация технических средств (терминалов, устройств группового управления вводом-выводом, ЭВМ, носителей информации), задач и пользователей,

-определение прав технических средств (дни и время работы, разрешенные к использованию задачи) и пользователей,

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

-регистрация работы технических средств и пользователей при обработки информации ограниченного использования,

-уничтожения информации в ЗУ после использования,

-сигнализации при несанкционированных действиях,

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

в) резервное копирование.

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

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

Большинство наиболее популярных современных программ резервирования предоставляют, в том или ином виде, базу данных о зарезервированных файлах и некоторую информацию о том, на какой ленте находятся последние зарезервированные копии. Гораздо реже встречается возможность интеграции (или по крайней мере сосуществования) с технологией структурированного, или иерархического хранения информации (HSM, Hierarchical Storage Management).

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

г) криптографическое шифрование информации.

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

Основные направления работ по рассматриваемому аспекту защиты можно сформулировать таким образом:

-выбор рациональных систем шифрования для надежного закрытия информации,

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

-разработка правил использования криптографических методов защиты в процессе функционирования автоматизированных систем,

-оценка эффективности криптографической защиты.

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

Шифрование заменой (иногда употребляется термин "подстановка") заключается в том, что символы шифруемого текста заменяются символами другого или того же алфавита в соответствии с заранее обусловленной схемой замены.

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

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

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

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

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

д) физические меры защиты.

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

-физическая изоляция сооружений, в которых устанавливается аппаратура автоматизированной системы, от других сооружений,

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

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

-организация системы охранной сигнализации.

е) организационные мероприятия по защите информации.

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

Основными мероприятиями в такой совокупности являются следующие:

-мероприятия, осуществляемые при проектировании, строительстве и оборудовании вычислительных центров (ВЦ),

-мероприятия, осуществляемые при подборе и подготовки персонала ВЦ (проверка принимаемых на работу, создание условий при которых персонал не хотел бы лишиться работы, ознакомление с мерами ответственности за нарушение правил защиты),

-организация надежного пропускного режима,

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

-контроль внесения изменений в математическое и программное обеспечение,

-организация подготовки и контроля работы пользователей,

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

Заключение.

Основные выводы о способах использования рассмотренных выше средств, методов и мероприятий защиты, сводится к следующему:
  1. Наибольший эффект достигается тогда, когда все используемые средства, методы и мероприятия объединяются в единый, целостный механизм защиты информации.
  2. Механизм защиты должен проектироваться параллельно с созданием систем обработки данных, начиная с момента выработки общего замысла построения системы.
  3. Функционирование механизма защиты должно планироваться и обеспечиваться наряду с планированием и обеспечением основных процессов автоматизированной обработки информации.
  4. Необходимо осуществлять постоянный контроль функционирования механизма защиты.

 
  1. Структурная схема ПК, Основной алгоритм работы микропроцессора, классы процессоров (CISC, RISC, MISC, VLIW).

Центральный процессор (ЦП, или центральное процессорное устройство — ЦПУ; англ. central processing unit, CPU, дословно — центральное обрабатывающее устройство) — исполнитель машинных инструкций, часть аппаратного обеспечения компьютера или программируемого логического контроллера; отвечает за выполнение операций, заданных программами.

МИКРОПРОЦЕССОР.

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

Основными характеристиками микропроцессора являются быстродействие и разрядность. Быстродействие - это число выполняемых операций в секунду. Разрядность характеризует объём информации, который микропроцессор обрабатывает за одну операцию: 8-разрядный процессор за одну операцию обрабатывает 8 бит информации, 32-разрядный - 32 бита. Скорость его работы во многом определяет быстродействие компьютера. В IBM PC используются микропроцессоры, разработанные фирмой Intel, или совместимые с ними процессоры других фирм.