Профильная школа. Экзамены
Примерные ответы на профильные билеты
Т.Н. Катанова,
г. Пермь
Продолжение. Начало см. в №
19–24/2006, 1, 4–7/2007
Билет № 16
1. Компьютерные вирусы и антивирусные
программы. Специализированное программное
обеспечение для защиты программ и данных.
Технологии и средства защиты информации в
глобальной и локальной компьютерных сетях от
разрушения, несанкционированного доступа
Компьютерные вирусы и антивирусные
программы
Среди многообразных компьютерных
программ существуют особенные программы, они
созданы для того, чтобы причинить вред
пользователям компьютеров. Это компьютерные
вирусы.
Компьютерным вирусом называют
небольшую программу, которая способна создавать
свои копии, внедрять их в файлы, системные
области носителей информации и мешать
корректной работе компьютера, разрушать
информацию на внешних носителях.
Пути проникновения вируса в компьютер
— сменные носители информации и компьютерные
сети.
Перечислим внешние признаки, по
которым можно догадаться о присутствии вируса в
компьютере:
· неправильная работа ранее успешно
работавшей программы;
· невозможность загрузки операционной
системы;
· искажение содержимого или полное
исчезновение файлов и каталогов;
· изменение даты, времени, размера
файлов;
· значительное увеличение количества
файлов на дисках;
· уменьшение свободной оперативной
памяти;
· вывод незапланированных сообщений,
изображений на экран, звуковых сигналов;
· частые зависания и сбои в работе
компьютера.
Можно привести классификацию вирусов
по некоторым признакам.

По способу заражения среды обитания вирусы
можно разделить на две группы.
1. Резидентные вирусы оставляют в
оперативной памяти свою часть, которая будет
активна до выключения или перезагрузки
компьютера.
2. Нерезидентные вирусы не заражают
оперативную память и активны ограниченное время.
По среде обитания вирусы делятся
на следующие группы.
1. Файловые вирусы внедряются в
исполняемые программы. Когда программа
запускается, вирус получает управление,
выполняет поиск подходящего файла, заражает его,
производит некоторое действие, ради которого он
и был написан, и возвращает управление
приютившей его программе.
2. Загрузочные вирусы внедряются в
программу начальной загрузки операционной
системы, которая хранится в загрузочном секторе
дискеты или жесткого диска. При загрузке
операционной системы вирус попадает в
оперативную память и выполняет следующие
действия при заражении дискеты:
· определяет некоторую область
дискеты как сбойную и делает информацию из этого
участка недоступной;
· в загрузочный сектор внедряет свою
копию и пересылает модифицированный код в
выделенную область дискеты;
· организует передачу управления
сначала вирусу и только потом программе
начальной загрузки.
Заражение жесткого диска происходит
аналогично. Кроме того, вирус может исказить
таблицу разделов жесткого диска.
3. Файлово-загрузочные имеют
признаки файловых и загрузочных вирусов.
4. Драйверные вирусы заражают
системную программу — драйвер устройства или
включают в файл конфигурации дополнительные
строки.
5. Макровирусы обитают в офисных
документах (текстовых и табличных), в создании
которых использовался язык макрокоманд. Вирус
перехватывает стандартные файловые операции и
заражает файлы, к которым производится
обращение.
6. Сетевые вирусы используют для
своего распространения протоколы
компьютерных сетей. Особенно опасны вирусы,
приходящие из Интернета. Попав на сервер или
рабочую станцию, вирус провоцирует пользователя
на запуск объекта, где он содержится.
Авторы используют разнообразные
алгоритмы при написании вирусов. Алгоритмы можно
разделить на следующие группы.
1. Паразитические вирусы —
изменяют содержимое файлов и системных секторов,
могут быть легко обнаружены и уничтожены.
2. Вирусы-репликаторы (черви)
распространяются по компьютерным сетям,
вычисляют адреса сетевых компьютеров и
рассылают по этим адресам свои копии.
3. Вирусы-невидимки (стелс-вирусы)
трудно обнаружить и обезвредить, так как они
перехватывают обращение операционной системы к
пораженным файлам и секторам и подменяют их
незараженными участками.
4. Вирусы-мутанты содержат
алгоритмы шифровки-расшифровки, копии вируса не
содержат повторяющихся частей и их трудно
обнаружить.
5. Троянские кони не способны к
самораспространению, маскируются под полезную
программу и разрушают загрузочный сектор или
файловую систему.
Рассмотрим антивирусные программы,
предназначенные для обнаружения и удаления
компьютерных вирусов.

Детекторы. Эти программы
обнаруживают загрузочные вирусы в системных
областях дискет и дисков, сканируют файлы на
магнитных дисках с целью обнаружения фрагментов
кодов (сигнатур) уже известных вирусов. Функция
детектирования включается во все современные
антивирусные программы.
Фаги способны не только
обнаружить, но и уничтожить вирус, удалив код
вируса из инфицированного файла и восстановив
работоспособность программы. Ревизоры контролируют
пути распространения вирусов, являются самыми
надежными. Эти программы используют средства
слежения за изменениями файлов и системных
областей дисков, прием информации из Интернета.
Однако такая защита замедляет работу компьютера,
поэтому эти программы мало распространены.
Фильтры располагаются в
оперативной памяти резидентно и контролируют
операции с файлами, выводят сообщения для
пользователя об операции. Так как обычные
программы тоже выполняют операции с файлами,
вывод сообщений раздражает пользователей, и они
редко применяют эти антивирусные программы.
Вакцины ведут себя подобно
вирусам, но вреда не причиняют. Предохраняют
файлы от изменений со стороны уже известного
вируса, способны обнаружить и иногда вылечить
файл. Вакцины модифицируют программу или диск
так, чтобы вирус считал их уже зараженными и не
пытался внедриться. В настоящее время
применяются редко.
Среди антивирусных программ самой
популярной является программа-полифаг “Doctor Web”.
Это средство не просто сканирует файлы в поисках
известных сигнатур, но и применяет эвристические
методы поиска, может обезвредить полиморфные
вирусы, которые не имеют определенной сигнатуры.
Программа эффективно борется со сложными
вирусами-мутантами, способна обнаружить
изменения в собственном коде, проникает в
упакованные и зашифрованные файлы. Для
нахождения вируса фаги программным путем
эмулируют работу микропроцессора, создают среду
для размножения вируса. Таким образом можно
бороться с вирусами, которые еще даже не
написаны.
Специализированное программное обеспечение
для защиты программ и данных
Наибольшую опасность целостности
информации ПК представляют преднамеренные
угрозы, создаваемые людьми. Противостоять этим
угрозам можно, используя следующие методы.
1. Аутентификация пользователя предполагает
применение пароля, опознавание в диалоговом
режиме, применение физиологических
характеристик личности, радиокодовых устройств,
электронных карточек.
Каждому зарегистрированному
пользователю выдается пароль. Программа
сравнивает введенный пароль с эталоном и при
совпадении предоставляет пользователю доступ к
системе.
Опознавание в диалоговом режиме
происходит по следующей схеме. В файлах защиты
создаются записи, содержащие данные о личности
пользователя (дата рождения, рост, имена и даты
рождения родственников и т.д.) или большой набор
паролей. При обращении пользователя программа
механизма защиты предлагает пользователю
назвать некоторые данные, которые сравниваются с
имеющимися в системе записями. По результатам
сравнения принимается решение о допуске. Для
повышения надежности при каждом входе в систему
запрашиваются другие данные.
Для опознавания по индивидуальным
физиологическим характеристикам, например по
отпечаткам пальцев, требует специальную
аппаратуру и сложные программы для обработки
этих параметров и сравнения с эталоном. Поэтому
этот способ редко применяется в компьютерных
системах. Возможно опознавание пользователя по
параметрам его работы с клавиатурой — скорость
набора текста, интервалы между нажатием клавиш
носят сугубо индивидуальный характер.
Опознавание по радиокодовым
устройствам предоставляет доступ владельцу
устройства, генерирующего индивидуальный
радиосигнал. ПК оснащается
программно-аппаратными средствами для приема,
регистрации и обработки сигнала. Но если
устройство будет украдено, то его новый владелец
может войти в систему.
Опознавание по карточкам более
надежно. На карточку заносят персональную
информацию о пользователе в зашифрованном виде,
информация и шифр известны только пользователю и
системе.
2. Разграничение доступа к информации
означает, что зарегистрированному
пользователю предоставляется доступ в пределах
его полномочий. Разработаны методы
разграничения доступа к устройствам компьютера,
к программам, к областям запоминающих устройств,
к базам данных. Разграничение может проводиться
несколькими способами:
· По кольцам секретности. Данные
распределяются по массивам так, чтобы в каждом
массиве содержались данные одного уровня
секретности, например, “секретно”, “совершенно
секретно”. Пользователю предоставляется
уровень допуска, например, “секретно”.
Пользователю разрешается доступ к массиву
своего уровня и запрещен доступ к массиву уровня
“совершенно секретно”.
· По спискам. Для файла
составляется список пользователей, которые
имеют к нему доступ.
· По матрицам полномочий.
Формируется матрица, строки которой содержат
имена пользователей, а столбцы — элементы
данных. Элементы матрицы содержат информацию о
доступе пользователя к соответствующей
информации.
· По мандатам. Элементам
информации присваиваются метки, и пользователю
предоставляется разовое разрешение на допуск,
если он предъявит метку элемента.
3. Криптографическая защита информации,
предназначенной для длительного хранения.
Шифрование данных совмещается с архивацией,
сжатием. Иногда криптографическая защита
применяется к информации в процессе ее
обработки.
4. Регистрация обращений к защищаемой
информации позволяет повысить эффективность
защиты, присутствует во всех системах защиты
информации.
Мы рассмотрели задачи предупреждения
несанкционированного доступа к ПК, которые
составляют основу комплексной системы защиты.
Пример системы защиты информации “Снег-2.0”.
Технологии и средства защиты информации в
глобальной и локальной компьютерных сетях от
разрушения, несанкционированного доступа
Сетевые операционные системы имеют
встроенные средства защиты информации. Например,
сетевая ОС NetWare 4.0 имеет систему SFT (система
устойчивости к отказам), которая предусматривает
три уровня:
1. Первый уровень. Создает
дополнительные копии таблицы размещения файлов,
верификацию вновь записанного на сервер блока
данных, резервирует на диске 2% от объема диска.
При обнаружении сбоя данные направляются в
зарезервированную область диска, а сбойный блок
помечается как “плохой” и больше не
используется.
2. Второй уровень. Создание
“зеркальных” дисков.
3. Третий уровень. Использует в
локальной сети дублированные серверы.
Система ограничения прав доступа в
сетях NetWare тоже содержит несколько уровней.
1. Уровень начального доступа включает
имя и пароль пользователя, систему учетных
ограничений.
2. Уровень прав пользователей
определяет персональные ограничения на
выполнение операций.
3. Уровень атрибутов каталогов и файлов
накладывает ограничения на операции удаления,
редактирования, создания со стороны файловой
системы.
4. Уровень консоли файл-сервера
блокирует клавиатуру в отсутствие
администратора.
Однако полагаться на эту систему
защиты информации можно не всегда. Это же
справедливо по отношению к таким мощным сетевым
ОС, как Windows NT, UNIX.
Отдельные средства защиты, хорошо себя
зарекомендовавшие, встраиваются в систему
защиты ОС. Например, в ОС NetWare есть возможность
кодирования данных по принципу открытого ключа с
формированием электронной подписи для
передаваемых по сети пакетов.
Специализированные программные
средства защиты информации от
несанкционированного доступа имеют лучшие
возможности, чем встроенные средства сетевых ОС.
Кроме программ шифрования, отметим следующие две
системы.
Firewalls — брандмауэры. Между локальной и
глобальной сетями создаются промежуточные
сервера, которые инспектируют и фильтруют
проходящий трафик. Это позволяет резко снизить
угрозу несанкционированного доступа извне, но не
устраняет эту опасность совсем. Более надежен
метод маскарада, когда весь исходящий из
локальной сети трафик посылается от имени
Firewall-сервера, делая локальную сеть невидимой.
Proxy-servers. Весь трафик между локальной и
глобальной сетями запрещается полностью,
обращение из локальной сети в глобальную
проходит через сервер-посредник. Обращение из
глобальной сети в локальную невозможно. Этот
метод не дает защиты на уровне приложений.
Литература
1. Могилев А.В., Пак Н.И., Хеннер Е.К.
Информатика: Учебное пособие для педагогических
вузов / Под ред. Е.К. Хеннера. М.: Академия, 2004, 848
с.
2. Информатика. Учебник / Под ред. Н.В.
Макаровой. М.: Финансы и статистика, 2000, 768 с.
3. Партыка Т.Л., Попов И.И.
Информационная безопасность. Учебное пособие.
М.: ФОРУМ: ИНФРА-М, 2002, 368 с.
2. Отсканировать страницу текста, выполнить
его распознавание и (при необходимости)
корректировку. Результат сохранить в текстовом
документе.
Рассмотрим выполнение данного задания
с помощью программы FineReader 6.0. Расположим исходную
страницу текста в сканере, откроем программу
FineReader. Программа работает со сканерами через
TWAIN-интерфейс. Это единый международный стандарт
для унификации взаимодействия устройств ввода
изображений в компьютер с внешними приложениями.
Возможно два варианта взаимодействия программы
со сканерами через TWAIN-драйвер:
· через интерфейс FineReader доступно
сканирование в цикле на сканерах
без автоподатчика, сохранение опций
сканирования в отдельный файл Шаблон пакета
(*.fbt) и возможность применения этих опций в других
пакетах;
· через интерфейс TWAIN-драйвера сканера
доступна функция предварительного просмотра
изображения, позволяющая точно задать размеры
сканируемой области, подобрать яркость, тут же
контролируя результаты этих изменений. Но диалог
TWAIN-драйвера сканера у каждого сканера выглядит
по-своему.
Можно переключаться между этими
режимами на закладке Сканирование / Открытие
пункта Опции (меню Сервис>Опции),
нужно установить переключатель в одно из
положений:
1. Использовать интерфейс
TWAIN-драйвера сканера.
2. Использовать интерфейс FineReader.
Чтобы запустить сканирование, можно
нажать кнопку Сканировать или в меню Файл выбрать
пункт Cканировать.
Спустя некоторое время в Главном
окне программы появится окно Изображение с
изображением вставленного листа.
Качество последующего распознавания
во многом зависит от того, насколько хорошее
изображение получено при сканировании. Качество
изображения регулируется установкой следующих
основных параметров сканирования.
Тип изображения — серый,
черно-белый, цветной. Для системы распознавания
оптимальным является сканирование в сером
режиме, при этом проводится автоматический
подбор яркости. Черно-белый режим экономит время
сканирования, но может потерять информацию о
буквах. Цветной режим выбирают, если нужно
сохранить цветные элементы текста.
Разрешение. Следует использовать
разрешение 300 dpi для обычных текстов и 400–600 dpi для
текстов, набранных мелким шрифтом.
Яркость — в большинстве случаев
подходит среднее значение яркости — 50%.
Чтобы установить параметры
сканирования, нужно выбрать меню Сервис и
пункт Настройки сканера. Появится следующее
окно, где можно установить приведенные
параметры.

Применив указанные настройки, получим
следующее изображение листа:

Перед распознаванием следует
проверить и откорректировать полученное
изображение листа. Изображение может содержать
много лишних точек, возникших в результате
сканирования документов среднего или плохого
качества. Чтобы уменьшить количество лишних
точек, можно воспользоваться опцией Очистить
от мусора. Для этого в меню Изображение следует
выбрать пункт Очистить изображение от мусора.
Если требуется очистить от “мусора” отдельный
блок, то следует выбрать пункт Очистить блок от
мусора.
Если нужно какой-то участок текста
исключить из распознавания, то можно стереть
такие участки. Для этого нужно выбрать
инструмент Ластик (на панели в окне
Изображение) и, нажав на левую кнопку мыши,
выделить требуемый участок изображения, и
отпустить кнопку. Выделенная часть изображения
будет удалена.
Прежде чем приступить к распознаванию,
следует указать программе, какие участки
изображения надо распознавать. Для этого
проводится анализ макета страницы, во время
которого выделяются блоки с текстом, картинки,
таблицы. Автоматический анализ производится по
кнопке 2 Распознать одновременно с
распознаванием текста. При автоматическом
анализе макета страницы FineReader сам выделяет
блоки, содержащие тексты, таблицы, картинки.
Блоки — это заключенные в рамку
участки изображения. Блоки выделяют для того,
чтобы указать системе, какие участки
отсканированной страницы надо распознавать и в
каком порядке. Также по ним воспроизводится
исходное оформление страницы. Блоки разных типов
имеют различные цвета рамок:
1. Зона Распознавания — блок
используется для распознавания и
автоматического анализа части изображения.
2. Текст — блок используется для
обозначения текста. Он должен содержать только
одноколоночный текст. Если внутри текста
содержатся картинки, нужно выделить их в
отдельные блоки.
3. Таблица — этот блок используется
для обозначения таблиц или текста, имеющего
табличную структуру. При распознавании
программа разбивает данный блок на строки и
столбцы и формирует табличную структуру. В
выходном тексте данный блок передается таблицей.
4. Картинка — этот блок
используется для обозначения картинок. Он может
содержать картинку или любую другую часть
текста, которую нужно передать в распознанный
текст в качестве картинки.
Задача распознавания состоит в том,
чтобы преобразовать отсканированное
изображение в текст, сохранив при этом
оформление страницы. Прежде чем приступить
к распознаванию текста, необходимо установить
основные параметры распознавания:
5. Язык распознавания. Программа
поддерживает распознавание как одноязычных, так
и многоязычных документов. Чтобы указать язык
распознаваемого текста, нужно выбрать
соответствующую строку в списке на панели Распознавание.
Если требуется распознать документ, написанный
на нескольких языках, следует в списке языков на
панели Стандартная выбрать пункт Выбор
нескольких языков… В открывшемся диалоге Язык
распознаваемого текста укажите несколько
языков.
1. Тип печати распознанного текста.
Для большинства текстов тип печати определяется
автоматически. При распознавании текстов,
напечатанных на матричном принтере в черновом
режиме или на пишущей машинке, можно добиться
более высокого качества распознавания,
установив правильный Тип печати:
· Пишущая машинка — для текстов,
напечатанных на пишущей машинке;
· Матричный принтер — для текстов,
напечатанных на матричном принтере.
Чтобы поменять тип печати на закладке Распознавание
диалога Опции (меню Сервис>Опции), в
группе Тип печати можно выбирать требуемый
пункт.
2. Тип страницы. Для большинства
изображений расположение текста на странице
определяется автоматически, чему соответствует
значение Авто на закладке Распознавание
в группе Тип страницы (меню Сервис>Опции),
устанавливаемое системой по умолчанию.
В некоторых случаях может
потребоваться установить значение типа страницы
вручную. Для этого на закладке Распознавание диалога
Опции (меню Сервис>Опции) в группе Тип
страницы нужно выбрать нужный пункт.
Укажем некоторые типы страницы:
1. Автоматическое определение —
указывает, что расположение текста на странице
определяется автоматически. Это значение
устанавливается системой по умолчанию, подходит
для распознавания всех видов текстов, в том числе
многоколоночного текста, текста с таблицами и
картинками.
2. Одна колонка — указывает, что
текст на странице напечатан в одну колонку. Эта
опция используется в случае, если автоматическое
определение ошибочно сегментировало страницу
как многоколоночный текст.
3. Форматированный пробелами текст —
указывает, что текст на странице расположен в
одну колонку и напечатан моноширинным шрифтом
одного размера. В распознанном тексте
сохраняется деление на строки; отступы от левого
края передаются пробелами; каждая строка
выделяется в отдельный абзац, и расстояния между
абзацами передаются пустыми строками.
Используется, например, для распознавания
распечаток текстов программ.
Зададим опции распознавания в
следующем окне:

После завершения распознавания
результат появляется в окне Текст:

Окно Текст — это встроенный
редактор программы FineReader; в нем можно проверить
результаты распознавания и отредактировать
распознанный текст. Одна из возможностей
текстового редактора FineReader — это встроенная
проверка орфографии. Система встроенной
проверки орфографии позволяет:
1. Находить неуверенно распознанные
слова (слова, в которых есть неуверенно
распознанные символы).
2. Находить орфографические ошибки
(неправильно написанные слова).
3. Добавлять неизвестные системе FineReader
слова в словарь для того, чтобы они
распознавались уверенно.
Неуверенно распознанные символы и
слова, которых нет в словаре, выделяются
различными цветами. По умолчанию для выделения
неуверенно распознанных символов используется
голубой, для несловарных слов — розовый. Чтобы
проверить результаты распознавания, нужно
нажать кнопку 3 Проверить на панели Scan&Read или
выбрать пункт Проверка в меню Сервис.
Откроется диалог Проверка. В диалоге Проверка
три окна.

· В верхнем окне показано изображение
слова с возможной ошибкой.
· Среднее окно показывает само слово с
возможной ошибкой, в строке над этим окном
выводится название типа ошибки.
· В нижнем окне Варианты
предлагаются варианты замены данного слова.
Есть следующие возможности:
· Нажать кнопку Пропустить, чтобы
оставить слово, как есть.
· Нажать кнопку Пропустить все,
чтобы оставить все такие слова в распознанном
тексте, как есть.
В нашем случае слово “ПУ” распознано
правильно, мы нажмем кнопку Пропустить. Чтобы
завершить проверку, нажмем кнопку Закрыть.
Результаты распознавания можно
сохранить в файл, передать во внешнее приложение,
не сохраняя на диск, скопировать в буфер обмена
или отправить по электронной почте. Кнопка 4-MS
WORD позволяет передать результаты
распознавания в выбранное приложение или
сохранить их в файл. Чтобы сохранить
распознанный текст, нажмем стрелку справа от
кнопки 4-MS WORD и в локальном меню выберем пункт Передать
страницы в Microsoft Word:

После этого страница отроется как
документ Word:

Теперь с ним можно работать, как с текстовым
документом, средствами редактора MS Word.
3. Построить имитационную модель заданной
системы и реализовать ее на компьютере.
Проанализировать полученный результат.
Рассмотрим модель случайного
блуждания точки вдоль вертикальной прямой [1]:
если случайное число из интервала (0, 1) меньше 0,5,
то точка делает шаг вверх y = y + b,
в противном случае — шаг вниз y = y – b.
Для моделирования используем таблицу Excel.
В столбец А внесем случайные числа. Для этого
используем функцию СЛЧИС(), которая возвращает
случайное число из интервала (0, 1).

В столбце В будем вычислять координату
y, зададим начальное значение y = 1 и b =
0,5.

Построим график зависимости
координаты у от количества шагов:

Пересчитаем еще раз с теми же
значениями исходных параметров:

Посмотрим, как изменится график, если
выбрать более мелкий шаг b = 0,1. Нужно учесть,
что случайные числа в столбце А тоже изменятся
при пересчете:

Анализируя графики, можно сделать
вывод, что направление пути частицы определяется
случайным выбором, а величина шага b влияет на
масштаб блужданий.
Варианты заданий
1. Построить модель блуждания точки на
плоскости.
2. Построить модель вычисления
определенного интеграла методом Монте-Карло.
Литература
1. Шестаков А.П. Информатика № 48/2002,
с. 8–15.
2. Белошапка В.К. Информационное
моделирование в примерах и задачах. Омск: Изд-во
ОГПИ, 1993, 163 с.
Билет № 17
1. Понятие файла. Файлы прямого и
последовательного доступа. Файловый принцип
организации данных. Операции с файлами. Типы
файлов. Аппаратное обеспечение хранения данных и
функционирования файловой системы.
При ответе на этот вопрос можно
несколько изменить порядок изложения.
Файловый принцип организации данных
Файловая система — основная
компонента операционной системы. Она организует
работу внешних устройств хранения информации.
Внешняя память расположена на различных
физических носителях (жесткий и гибкий диски,
магнитная лента).
ФС создает для пользователя
виртуальное представление о внешних
запоминающих устройствах, позволяет работать с
внешними устройствами памяти на высоком уровне
наборов и структур данных в виде файла, скрывая
реальное расположение информации и аппаратные
особенности внешней памяти.
Разнообразие устройств внешней памяти
делает актуальной функцию ОС по созданию
логического интерфейса между приложениями и
устройствами внешней памяти. Все современные ОС
основывают такой интерфейс на файловой модели
внешнего устройства. Любое устройство выглядит
для прикладного программиста в виде
последовательного набора байт, с которым можно
работать с помощью системных вызовов (например,
write и read), задавая имя файла-устройства и смещение
от начала последовательности байт.
Понятие файла
Файл — это логически связанная
совокупность данных во внешней памяти. Действия
с информацией производятся над файлами (запись
на диск, вывод на экран, ввод с клавиатуры,
печать). В файлах хранятся разнообразные виды и
формы информации: тексты, рисунки, чертежи,
программы, фото, видео, звук. Особенности
конкретных файлов определяются их форматом, он
определяет представление информации в файле.
Текстовая информация хранится в файле в кодах
ASCII, в текстовом формате. Содержимое текстового
файла можно просматривать с помощью программных
средств. Файл с нетекстовой информацией при
просмотре нельзя понять, выводятся непонятные
символы.
Для характеристики файла используют:
· Полное имя файла.
· Объем файла в байтах.
· Дату создания файла.
· Время создания файла.
· Атрибуты файла (R — только для чтения,
H — скрытый, S — системный, A — архивный файл).
К файлу можно обратиться с помощью
имени, полного имени, спецификации.
Имя уникально, служит для
отличия одного файла от другого. В различных ОС
существуют различные правила образования имени.
В DOS имя содержит не более 8 символов, при
образовании имени нельзя использовать буквы
русского алфавита и некоторые символы (“*” “?”
“:” “;” “,” “=” “пробел” “<” “>”), в Windows
можно организовать длинные имена (до 256 символов),
использовать русские буквы.
Полное имя файла образуется из
имени файла и типа (расширения), разделенных
точкой. Тип служит характеристикой информации,
хранящейся в файле, состоит не более чем из трех
символов. Используются только буквы латинского
алфавита. Некоторые программы сами создают
расширение имени и потом по нему определяют свои
файлы.
Спецификация файла. Состоит из
имени дисковода, маршрута и полного имени файла.
Например, с:\alpha\beta\primer.txt. Здесь с: — это имя
дисковода, \alpha\beta\ — цепочка соподчиненных
каталогов, которую нужно пройти по иерархической
структуре к каталогу, где зарегистрирован нужный
файл, primer.txt — полное имя файла.
При работе с группой файлов используют
шаблон имени файла — специальную форму, в
которой в полях имени и типа файла используют
символы “*” и “?”. Символ “*” заменяет любую
последовательность символов. В поле имени и типа
можно использовать по одному символу “*”.
Например, шаблон *.txt позволит обратиться ко всем
текстовым файлам. Символ “?” заменяет один
символ, например, имя R??.exe указывает на
исполнимые файлы, имя которых начинается с буквы
R и состоит из трех символов.
Файлы прямого и последовательного доступа
Данные, содержащиеся в файле, имеют
некоторую логическую структуру. Эта структура
используется программой, которая будет работать
с этим файлом. Например, чтобы текст был выведен
на экран, текстовый редактор должен выделить
отдельные слова, строки, абзацы. Поддержание
структуры данных может быть возложено на
приложение либо выполняться файловой системой.
В первом случае ФС представляет файл
как неструктурированную последовательность
данных. Приложение структурирует полученные
данные, руководствуясь собственной логикой. Эта
модель, в соответствии с которой содержимое
файла представляется потоком байт, используется
в большинстве современных ОС.
Другая модель файла —
структурированный файл, в настоящее время
используется редко. ФС видит файл как
упорядоченную последовательность логических
записей.
Логическая запись является наименьшим
элементом данных, которым оперирует программист
при обмене с внешним устройством. Операционная
система обеспечивает программисту доступ к
отдельной логической записи.
Файловая система использует два
способа доступа к логическим записям.
1. Последовательный доступ. ФС
позволяет читать и записывать логические записи
последовательно.
2. Прямой доступ. ФС позиционирует
файл на запись или чтение с указанным номером
записи.
Типы файлов
ФС поддерживают функционально
различные типы файлов.
1. Обычные файлы. Содержат
произвольную информацию. Их заполняет
пользователь или системные и прикладные
программы. Обычные файлы разделяют на следующие
типы:
· текстовые — состоят из строк
символов, их можно прочитать на экране,
распечатать на принтере;
· двоичные — не используют коды
символов, содержат исполняемый код программы,
архивный файл.
2. Каталоги. Содержат системную
справочную информацию о наборе файлов. Каталоги
устанавливают соответствие между именами файлов
и их характеристиками.
3. Специальные файлы. Это фиктивные
файлы, связанные с устройствами ввода-вывода.
Позволяют выполнять операции ввода-вывода,
используя команды чтения или записи в файл. Эти
команды обрабатываются ФС, затем ОС преобразует
их в команды управления устройством.
Операции с файлами
Файловая система обеспечивает
основные операции над файлами: открытие,
копирование, перемещение, объединение, удаление,
закрытие. Открытие файла сопровождается
копированием учетной информации о файле в
оперативную память, подготовкой буферов и
каналов для передачи информации.
Доступ к файлу — это установление
связи с файлом для записи и чтения. Информация о
файле хранится в каталогах. Сам файл хранится на
диске без всякой справочной информации. Каталог
— справочник файлов с указанием их положения на
диске. Во многих ОС принята иерархическая
структура каталогов. На каждом диске имеется
единственный главный корневой каталог
(обозначается символом “/”), создается при
форматировании диска, имеет ограниченный объем и
не может быть удален.
В корневой каталог входят другие каталоги и
файлы. Каталоги организованы как системные
файлы.
В каталогах хранятся записи о файлах и каталогах
нижнего уровня. Переход в каталог нижнего уровня
организован последовательно через
соподчиненные каталоги. Нельзя перейти из
главного каталога сразу к каталогу 4-го уровня,
нужно пройти через все предыдущие каталоги. Этот
принцип организации доступа к файлу является
основой ФС. ФС управляет размещением и доступом к
файлам и каталогам на диске.
Аппаратное обеспечение хранения данных и
функционирования файловой системы
Пользователь представляет файловую
систему в виде дерева каталогов и расположенных
в них файлах. Это представление далеко от
реального расположения данных на диске —
физической организации ФС. Файл очень часто
разбросан фрагментами по всему диску, файлы из
одного каталога не всегда расположены в смежных
областях. Различные файловые системы имеют
различную физическую организацию.
Операционные системы работают с
различными типами внешних запоминающих
устройств. Рассмотрим их.
Накопители на магнитных дисках
имеют две разновидности — накопители на жестких
магнитных дисках и накопители на гибких
магнитных дисках. Дисковые накопители являются
основным устройством для хранения данных. Эти
устройства могут считывать и записывать данные
на жесткие и гибкие магнитные диски. Принцип
записи на магнитные носители основан на явлении
электромагнитной индукции. Запись производится
головками чтения/записи, которые работают как
электромагнит. Полярность магнитного поля в
головках определяется направлением
электрического тока, который по ним
пропускается. Магнитное поле проникает в
магнитный слой диска, упорядочивает его
магнитные частицы (домены) то в одном, то в другом
направлении, т.е. создает на носителе зоны с
различной по знаку намагниченностью. Так
производится запись. При чтении головка
регистрирует импульсы тока при прохождении зоны
смены знака намагниченности.
Накопители на жестких магнитных
дисках включают следующие устройства:
· электромеханический привод,
вращающий диски;
· накопители на гибких магнитных
дисках;
· блок магнитных головок для чтения и
записи;
· система позиционирования магнитных
головок для записи и чтения;
· электронный блок для управления и
кодирования сигналов.
Накопитель на магнитных дисках
помещен вместе с диском и контроллером в
герметический корпус, который крепится в
системный блок компьютера.
Жесткий диск изготовлен из
композитного материала на основе стекла и
керамики, покрыт магнитным слоем. Жесткий диск
состоит из нескольких керамических колец,
нанизанных на один шпиндель. Каждая сторона
диска размечена на дорожки — концентрические
окружности, вдоль которых записываются данные.
Нумерация дорожек начинается с 0 от внешнего края
к центру. Диск вращается, головка чтения/записи
позиционируется на заданную дорожку и
записывает данные на диск или считывает их.
Совокупность дорожек одного радиуса
на всех поверхностях дисков называется
цилиндром. Дорожка размечается на сектора или
блоки. Чаще всего сектор содержит 512 байт
информации. Сектор — наименьшая адресуемая
единица обмена данными дискового устройства с
оперативной памятью. Для обмена контроллеру
диска нужно указать адрес сектора: номер
цилиндра, номер поверхности и номер сектора. ОС
при работе с диском использует свою единицу
дискового пространства — кластер, размер
которого обычно 1024 байта.
Дорожки и секторы создаются в
результате процедуры низкоуровневого
форматирования диска. На диск записывается
информация для определения границ блоков.
Низкоуровневый формат диска не зависит от типа
операционной системы, в которой диск будет
использоваться, и производится на
заводе-изготовителе.
Разметку диска под конкретную
операционную систему производит процедура
высокоуровневого форматирования. Здесь
определяется размер кластера и на диск
записывается информация, необходимая ОС для
работы файловой системы.
Накопители на гибких магнитных
дисках — устройства со сменными дисками. Имеют
невысокую информационную емкость (1,44 Мб), но дают
возможность транспортировать информацию и
обеспечивают конфиденциальность информации.
Дискета представляет собой тонкий пластиковый
диск с магнитным покрытием, информация
записывается вдоль дорожек — концентрических
окружностей, дорожки размечены на сектора. Перед
первым использованием дискета форматируется,
т.е. размечается для использования операционной
системой.
Магнитные накопители для резервного
копирования данных существуют в двух видах:
накопители на магнитных дисках и накопители на
магнитных лентах.
Резервные накопители на магнитных
дисках являются автономным устройством,
подключаемым к компьютеру по мере необходимости.
Накопители на магнитных лентах надежно
хранят неоперативную информацию больших
объемов (например, 320 Гб). Являются устройствами с
последовательным доступом.
Накопители на оптических дисках предназначены
для распространения дистрибутивов программ, для
хранения и транспортировки конфиденциальной
информации. Существует несколько типов
накопителей на оптических дисках.
Диск CD-ROM переводится как
компакт-диск, предназначенный только для чтения.
Это поликарбонатная пластина, одна сторона
которой покрыта алюминиевой пленкой, играющей
роль зеркального отражателя. Информация
записывается вдоль одной спиралевидной дорожки.
На дорожку наносятся углубления — штрихи. При
считывании диск освещается лучом лазера, штрихи
поглощают свет, плоская поверхность хорошо
отражает свет. Стандартная емкость диска — 650 Мб.
Различают пишущие накопители двух
типов — CD-R и CD-RW. Эти диски уже не имеют
рельефа в виде штрихов. На рабочий слой диска
лучом лазера наносят пятна, которые поглощают
свет как штрихи. Диск CD-R позволяет сделать
однократную запись с персонального компьютера,
диск CD-RW предназначен для многократной
записи. Эти диски потеснили магнитные устройства
резервного копирования, так как значительно
превосходят их по долговечности хранения.
Диск DVD — цифровой
универсальный диск, имеет большую емкость,
стандартный диск содержит 4,7 Мб. Для записи и
чтения информации здесь используется лазер с
меньшей длиной волны, что позволяет производить
более плотную запись информации на диск.
Увеличение емкости дисков достигается
применением многослойных и двухсторонних
дисков, специальных программ сжатия информации.
Диск CD-MO — магнитооптический
диск, также предназначен для многократной
перезаписи информации. Запись на диск
производится лазерным лучом и магнитным полем.
При считывании диск освещается лучом лазера и
регистрируются изменения коэффициента
отражения от участков диска с различной
намагниченностью. При стирании информации
лазерный луч разогревает диск и разрушает
магнитную запись.
Устройства Flash-памяти — это
энергонезависимые полупроводниковые
запоминающие устройства емкостью 1 Гб; благодаря
небольшим габаритам они основательно потеснили
гибкие магнитные диски и реально соперничают с
CD-дисками.
Мы рассмотрели основные внешние
запоминающие устройства персонального
компьютера, с которыми должна общаться
операционная система, используя файловую модель
данных.
Каждое устройство внешней памяти
снабжено специализированным блоком управления
— контроллером. Контроллер взаимодействует с
системным программным модулем — драйвером,
управляющим устройством. Контроллер получает от
драйвера выводимую на устройство информацию и
команды управления, которые сообщают, что нужно
сделать с информацией, например, записать в
определенный сектор диска. Под управлением
контроллера устройство выполняет операции
чтения или записи информации.
Литература
1. Олифер В.Г., Олифер Н.А. Сетевые
операционные системы. СПб.: Питер, 2001, 554 с.
2. Могилев А.В., Пак Н.И., Хеннер Е.К.
Информатика: Учебное пособие для педагогических
вузов / Под ред. Е.К. Хеннера. М.: Академия, 2004, 848 с.
2. С помощью системы проверки орфографии
исправить ошибки в готовом текстовом документе.
Проверка правописания может
выполняться непосредственно при вводе текста
или после завершения ввода всего текста. По
умолчанию Microsoft Word проверяет орфографию и
грамматику автоматически при вводе текста,
выделяя возможные орфографические ошибки
красной волнистой линией, а возможные
грамматические ошибки — зеленой волнистой
линией.
Чтобы убедиться, что средство
автоматической проверки орфографии и грамматики
включено в меню Сервис, следует выбрать Параметры,
а затем открыть вкладку Правописание и
установить флажки Автоматически проверять
орфографию и Автоматически проверять
грамматику.

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

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

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

3. Написать и отладить программу обработки
массива (суммирование элементов, сортировка и
пр.). Проанализировать полученный результат.
Пример. Написать и отладить
программу ввода и сортировки по возрастанию
(неубыванию) целочисленного массива из 20
элементов.
Решение. Решим задачу в общем
случае, т.е. отсортируем массив из n элементов.
В качестве метода сортировки используем
сортировку обменом (“пузырьковую” сортировку).
Напомним алгоритм сортировки. Массив
просматривается от начала до конца столько раз,
сколько в нем содержится элементов. При каждом
просмотре поочередно сравниваются два соседних
элемента. Если элемент с большим номером имеет
меньшее значение, производится обмен элементов.
Запишем этот алгоритм на языках
программирования (массив при этом заполняется
случайным образом; если после запуска программы
введем n = 20, то получим массив,
удовлетворяющий условию исходной задачи).
QBasic
DECLARE SUB Vvod (n!, A() AS INTEGER)
DECLARE SUB Vivod (n!, A() AS INTEGER)
DECLARE SUB Sort (n!, A() AS INTEGER)
DIM A(20) AS INTEGER
RANDOMIZE TIMER — 32767
PRINT "N? ": INPUT n
CALL Vvod(n, A())
CALL Vivod(n, A())
CALL Sort(n, A())
CALL Vivod(n, A())
SUB Sort (n, A() AS INTEGER)
FOR i = 1 TO n
FOR j = 1 TO n — 1
IF A(j) > A(j + 1) THEN
Vsp = A(j)
A(j) = A(j + 1)
A(j + 1) = Vsp
END IF
NEXT j
NEXT i
END SUB
SUB Vivod (n, A() AS INTEGER)
FOR i = 1 TO n
PRINT USING "####"; A(i);
NEXT i
PRINT
END SUB
SUB Vvod (n, A() AS INTEGER)
FOR i = 1 TO n
A(i) = -20 + INT(RND(1) * 41)
NEXT i
END SUB
Pascal
Program Obmen;
Type arr = array[1..20] of integer;
Procedure Vvod(n: byte; var a: arr);
Var i: byte;
Begin
For i := 1 to n do
A[i]:= -20 + random(41)
End;
Procedure Vivod(n: byte; const a: arr);
Var i: byte;
Begin
For i := 1 to n do
Write(a[i]:4);
Writeln
End;
Procedure Sort(n: byte; var a: arr);
Var i, j: byte; Vsp: integer;
Begin
FOR i := 1 TO n do
FOR j := 1 TO n — 1 do
IF A[j] > A[j + 1] THEN
begin Vsp := A[j];
A[j] := A[j + 1];
A[j + 1] := Vsp
end
End;
Var a: arr; n: byte;
Begin
Randomize;
Write('n? '); readln(n);
Vvod(n, a);
Vivod(n, a);
Sort (n, a);
Vivod(n, a)
End.
C++
#include <iostream.h>
#include <stdlib.h>
#include <time.h>
void Vvod(int n, int a[21]);
void Vivod(int n, int a[21]);
void Sort(int n, int a[21]);
void main()
{int n, a[21];
cout << "Сколько элементов в массиве? "; cin
>> n;
randomize();
Vvod(n, a);
Vivod(n, a);
Sort(n, a);
Vivod(n, a);
}
void Vvod(int n, int a[21])
{ int i;
for (i = 1; i <= n; i++)
a[i] = -20 + random(41);
}
void Vivod(int n, int a[21])
{ int i;
for (i = 1; i <= n; i++)
{ cout.width(4); cout << a[i];}
cout<<endl;
}
void Sort(int n, int a[21])
{ int i, j, Vsp;
for (i = 1; i <= n; i++)
for (j = 1; j <= n-1; j++)
if (a[j] > a[j+1])
{Vsp = a[j]; a[j] = a[j+1];
a[j+1] = Vsp;}
}
Варианты заданий
1. Сортировка выбором. Дана
последовательность чисел a1, a2, ..., an.
Требуется переставить элементы так, чтобы они
были расположены по убыванию. Для этого в
массиве, начиная с первого, выбирается
наибольший элемент и ставится на первое место, а
первый — на место наибольшего. Затем, начиная со
второго, эта процедура повторяется. Написать
алгоритм сортировки выбором.
2. Сортировка вставками. Дана
последовательность чисел a1, a2,
..., an. Требуется переставить числа в
порядке возрастания. Делается это следующим
образом. Пусть a1, a2, ..., ai
— упорядоченная последовательность, т.е. a1
a2 ... ai. Берется следующее
число ai+1 и вставляется в
последовательность так, чтобы новая
последовательность была также возрастающей.
Процесс производится до тех пор, пока все
элементы от i + 1 до n не будут перебраны.
3. Дан массив n действительных
чисел. Требуется упорядочить его по возрастанию.
Делается это следующим образом: сравниваются два
соседних элемента ai и ai+1.
Если ai ai+1, то продвигаются на один
элемент вперед. Если ai > ai+1,
то производится перестановка и сдвигаются на
один элемент назад. Составить алгоритм этой
сортировки.
4. Сортировка подсчетом. Выходной
массив заполняется значениями “–1”. Затем для
каждого элемента определяется его место в
выходном массиве путем подсчета количества
элементов строго меньших данного. Естественно,
что все одинаковые элементы попадают на одну
позицию, за которой следует ряд значений “–1”.
После чего оставшиеся в выходном массиве позиции
со значением “–1” заполняются копией
предыдущего значения.
5. Сортировка “хитрая”. Из массива
путем однократного просмотра выбирается
последовательность элементов, находящихся в
порядке возрастания, переносятся в выходной
массив и заменяются во входном на “–1”. Затем
оставшиеся элементы включаются в полученную
упорядоченную последовательность методом
погружения, когда очередной элемент путем ряда
обменов “погружается” до требуемой позиции в
уже упорядоченную часть массива.
Продолжение |