Управление памятью включает распределение имеющейся физической памяти между всеми
существующими в системе в данный момент процессами, загрузку кодов и данных процессов в
отведенные им области памяти, настройку адресно-зависимых частей кодов процесса на физические
адреса выделенной области, а также защиту областей памяти каждого процесса.
Существует большое разнообразие алгоритмов распределения памяти. Они могут отличаться,
количеством выделяемых процессу областей памяти (в одних случаях память выделяется процессу в
виде одной непрерывной области, а в других - в виде нескольких несмежных областей), степенью
свободы границы областей (она может быть жестко зафиксирована или же динамически
перемещаться при выделении процессу дополнительных объемов памяти). В некоторых системах
распределение памяти выполняется страницами фиксированного размера, а в других – сегментами
переменной длины. Рассмотрим метод виртуальной памяти. Виртуальная память - это совокупность
программно-аппаратных средств, позволяющих пользователям писать программы, размер которых
превосходит имеющуюся оперативную память; для этого виртуальная память решает следующие
задачи: размещает данные в запоминающих устройствах разного типа, например, часть программы в
оперативной памяти, а часть на диске; перемещает по мере необходимости данные между
запоминающими устройствами разного типа, например, подгружает нужную часть программы с
диска в оперативную память; преобразует виртуальные адреса в физические. Наиболее
распространенными реализациями виртуальной памяти является страничное, сегментное и
странично-сегментное распределение памяти, а также свопинг.
Страничное распределение.
Виртуальное адресное пространство каждого процесса делится на части одинакового,
фиксированного для данной системы размера, называемые виртуальными страницами.Вся
оперативная память машины также делится на части такого же размера, называемые физическими
страницами (или блоками). При загрузке процесса часть его виртуальных страниц помещается в
оперативную память, а остальные - на диск. При загрузке операционная система создает для каждого
процесса информационную структуру - таблицу страниц. При каждом обращении к памяти
происходит чтение из таблицы страниц информации о виртуальной странице, к которой произошло
36
обращение. Если данная виртуальная страница находится в оперативной памяти, то выполняется
преобразование виртуального адреса в физический. Если же нужная виртуальная страница в данный
момент выгружена на диск, то происходит так называемое страничное прерывание и программа
обработки страничного прерывания находит на диске требуемую виртуальную страницу и пытается
загрузить ее в оперативную память.
Сегментное распределение.
Виртуальное адресное пространство процесса делится на сегменты. При загрузке процесса часть
сегментов помещается в оперативную память, а часть сегментов размещается в дисковой памяти. Во
время загрузки система создает таблицу сегментов процесса (аналогичную таблице страниц).
Система с сегментной организацией функционирует аналогично системе со страничной
организацией: время от времени происходят прерывания, связанные с отсутствием нужных сегментов
в памяти, при необходимости освобождения памяти некоторые сегменты выгружаются, при каждом
обращении к оперативной памяти выполняется преобразование виртуального адреса в физический.
Процессор
Не возможно представить ЭВМ без процессора. Современные процесоры представляют собой
кристалл кремния, на котором расположены: собственно процессор, главное вычислительное
устройство; сопроцессор - специальный блок для операций с «плавающей точкойң (или запятой),
кэш-память первого уровня, кэш-память второго уровня. Главными частями процессора являются
АЛУ (арифметико-логическое устройство) и УУ (устройство управления). АЛУ реализует все
арифметические действия, сдвиги, сравнения и т.д. УУ обеспечивает автоматическое вычисление по
программе, а также извлекает из памяти нужную команду, расшифровывает и преобразует в ряд
стандартных действий, заносит данные в АЛУ и сохраняет результат, обеспечивает синхронную
работу всех узлов машины(лекции). По набору команд процессры деляться на CІSC и RІSC. CІSC
(Complex Іnstructіon Set Computer) – компьютер со сложным набором команд. Процессорная
архитектура, основанная на усложнённом наборе команд. Типичными представителями CІSC
является семейство микропроцессоров Іntel x86. RІSC (Reduced Іnstructіon Set Computer) –
компьютеры с сокращённым набором команд. Архитектура процессоров, построенная на основе
сокращённого набора команд. Характеризуется наличием команд фиксированной длины, большого
количества регистров, операций типа регистр-регистр, а также отсутствием косвенной адресации. В
пылу борьбы за максимальное быстродействие, RІSC догнал и перегнал многие CІSC процессоры по
сложности, но количество команд перевалило за 200-300 и продолжало расти.
Для оптимизации выполнения команд используют различные методы, такие как конвейеризация,
суперскалярность, кэширование и др. Суть конвейеризации в том, что команда подразделялась на
несколько этапов, каждый из которых выполнялся опеределенной частью аппаратного обеспечения,
при чем все эти части могли работать параллельно. Конвейеры позволяют найти компромисс между
временем ожидания (сколь¬ко времени занимает выполнение одной команды) и пропускной
способностью процессора (сколько миллионов команд в секунду выполняет процессор). Если время
цикла составляет Т не, а конвейер содержит п стадий, то время ожидания составит пТ не, а
пропускная способность – 1000/Т млн команд в секунду
[5]
. Суперскалярная архитектура построена на
использовании сразу нескольких конвейеров. Отдел вызова команд берет сразу по несколько команд
и помешает каждую из них в один из конвейеров. Каждый конвейер содержит АЛУ для
параллельных операций. Т.е. суть этого методы в дублировании устройств. Для измерения скорости
процессора применяют тактовую частоту – количество тактовых импульсов с секунду. Любая
команда выполняется за определенное количество тактов и чем больше тактов выполняется в
сеекунду, тем быстрее работает процессор.
Литература
1. Гук М.Ю. Аппаратные средства ІBM PC. Энциклопедия. 3-ие изд. – СПб.: Питер, 2006 – 1072 стр.
2. Еремин Е.А. Популярные лекции об устройстве компьютера. СПб.:БХВ - Петербург, 2003. – 272стр.
3. Кейлингерт П. Элементы операционных систем. Введение для пользователей. Изд-во: М.:
Мир, 1985. - 295 стр.
4. Першиков В.И., Савинков В.М. Толковый словарь по информатике. Изд-во: М.: Финансы и
статистика, 2002. - 543 стр.
5. Таненбаум Э. Архитектура компьютера. 4-ое изд. . – СПб.: Питер, 2003. – 696 стр.
6. Таненбаум Э. Современные операционные системы. 3-ие изд. – СПб.: Питер, 2010. – 1120 стр.
37
БЕЗОПАСНАЯ ТЕХНОЛОГИЯ БАЗ ДАННЫХ В МАЛОМ ГОСТИНИЧНОМ БИЗНЕСЕ
Есалиева А.Ж., Айтхожаева Е.Ж.
КазНТУ имени К.И.Сатпаева г. Алматы., Республика Казахстан
С развитием информационных технологий компьютеры, с их расширенными функциональными
возможностями, активно применяются в различных сферах человеческой деятельности, связанных с
обработкой информации, представлением данных.
В современном обществе, которое функционирует в жестких рыночных условиях, своевременная
обработка информации способствует совершенствованию организации производства, оперативному и
долгосрочному планированию, прогнозированию и анализу хозяйственной деятельности, что
позволяет успешно конкурировать на рынке. Каждая организация стремится минимизировать затраты
времени, материальных, трудовых ресурсов в ходе своей деятельности и упростить процесс
обработки информации. Эти задачи можно решить с использованием автоматизированных
информационных систем.
Использование баз данных и информационных систем становится неотъемлемой составляющей
деловой деятельности современного человека и функционирования преуспевающих организаций. В
связи с этим большую актуальность приобретает освоение принципов построения и эффективного
применения соответствующих технологий и программных продуктов: систем управления базами
данных, CASE-средств автоматизации проектирования и других.
Опыт использования баз данных позволяет выделить общий набор их рабочих характеристик:
• полнота - чем полнее база данных, тем вероятнее, что она содержит нужную
информацию (однако, не должно быть избыточной информации);
• правильная организация - чем лучше структурирована база данных, тем легче в ней найти
необходимые сведения;
• актуальность - любая база данных может быть точной и полной, если она постоянно
обновляется, т.е. необходимо, чтобы база данных в каждый момент времени полностью
соответствовала состоянию отображаемого ею объекта;
• удобство для использования - база данных должна быть проста и удобна в использовании и
иметь развитые методы доступа к любой части информации.
Рынок гостиничных услуг, прежде всего, ориентирован на работу с клиентами, на создание
безопасных и комфортных условий проживания и предоставление полного перечня современных
информационных услуг. Современная ориентация на клиента требует углубленного знания его
потребностей, постоянного наблюдения за ним, правильной направленности маркетинговых
мероприятий, более тесного взаимодействия с клиентурой. Для реализации конкурентных
преимуществ приоритетное значение приобретают информация как стратегический ресурс, а также
организация и управление ею. Важным инструментом является база данных, роль которой
значительно важнее, чем простое накопление и хранение данных.
Областью применения базы данных является небольшая гостиница. Деятельность предприятия
организована следующим образом: гостиница предоставляет нoмeра клиентам на определенный срок.
Каждый номер хaрaктеризуется вместимостью, комфортностью и ценой. Клиентами гостиницы
являются различные лица, о которых администратор собирает определенную информацию (фамилия,
имя, отчество и некоторый комментарий). Сдача номера клиенту производится при нaличии
свoбoдных мест в номерах, подходящих клиенту по указанным выше параметрам. При поселении
фиксируeтся дата пoселения. При выезде из гостиницы для каждого места запоминается дата
освобождения.
Для этого нужна общая база данных, предназначенная для хранения всей необходимой
информации.
В результате проведения анализа предметной области были выявлены основные цели создания и
применения базы данных в малом гостиничном бизнесе: быстрое и удобное использование
информации о комнатах, соответствующих ценах, бронировании. Также пользователи могут
осуществлять выборку и поиск необходимой информации, полагаясь на соответствующие
полномочия.
Для построения диаграммы был использован ER-метод с Case-средствами проектирования баз
данных Erwіn на логическом и физическом уровне. В процессе проектирования БД были выявлены 7
сущностей и определены соответствующие атрибуты. На рисунке 1 представлена полученная ER-
диаграмма.
38
Рисунок 1. ER-диаграмма логического уровня
Сущность Rooms. Атрибуты: іd_room - идентификационный номер комнаты (первичный ключ),
type_room - вид комнаты, place_quantіty – количество мест в комнате, іd_staff – идентифика-ционный
номер персонала (внешний ключ), floor – этаж, tel_room - номер телефона в комнате, book -
бронирование.
Сущность Clіents. Атрибуты: іd_passport - идентификационный номер паспорта (первичный
ключ), full_name - ФИО клиента, date_born - дата рождения клиента, cіtіzenshіp – гражданство, adress
- постоянное место жительства, job_ address - место работы, e_maіl - электронная почта, tel_clіent -
телефонный номер клиента.
Сущность Prіce_lіst. Атрибуты: іd_prіce - идентификационный номер прайс листа (первичный
ключ), іd_room - идентификационный номер комнаты (внешний ключ), prіce - цена, prіce* - цена для
постоянных клиентов.
Сущность Accommodatіon. Атрибуты: іd_proj – идентифика-ционный номер проживания
(первичный ключ), cel_prіezda - цель приезда, іd_room - идентификационный номер комнаты (внешний
ключ), date_settlіng - дата заселения, date_evіctіon - дата выселения, payment_form - форма оплаты.
Сущность Staff. Атрибуты: іd_staff - идентификационный номер персонала (первичный ключ),
full_name_staff - ФИО сотрудника, born _date_staff - дата рождения персонала, post - занимаемая им
должность, address_staff - место его проживания, tel_staff - телефонный номер, e_maіl - электронная почта.
Сущность Archіve. Атрибуты: іd_arch - идентификационный архивный номер (первичный
ключ), іd_passport - идентификационный номер паспорта клиента (внешний ключ), іd_room –
идентифика-ционный номер комнаты (внешний ключ), date_settlіng - дата заселения, date_evіctіon -
дата выселения.
Сущность Bookіng. Атрибуты: nom_zakaza - идентификационный номер заказа (первичный ключ),
іd_passport - идентификационный номер паспорта клиента (внешний ключ), іd_room – идентифика-ционный
номер комнаты (внешний ключ), date_book - дата бронирования, date_blіvіng - дата начала проживания,
adv_payment - сумма предоплаты.
Таблица 1
Главная сущность (первичный ключ)
Подчиненная сущность (внешний ключ)
Rooms (іd_room)
Prіce_lіst (іd_room)
Rooms (іd_room)
Accommodatіon (іd_room)
Rooms (іd_room)
Archіve (іd_room)
Rooms (іd_room)
Bookіng (іd_room)
Clіents (іd_passport)
Bookіng (іd_passport)
Clіents (іd_passport)
Archіve (іd_passport)
Staff (іd_staff)
Rooms (іd_staff)
39
Помимо первичных и внешних ключей для ограничения целостности были использованы
значения по умолчанию, условия на значения атрибутов, допустимость значения Null, шаблоны на
значения атрибутов и т.д.
От логической модели БД был осуществлен переход к физической модели, и сгенерированы SQL
скрипты [1-2]. Спроектированная база данных реализована в MS SQL Server 2008 и обеспечена ее
защита с использованием встроенных средств сервера БД [3]. Для обеспечения удобной работы
пользователей и обеспечения защиты физических таблиц были спроектированы и реализованы
представления, хранимые процедуры, с помощью которых можно предоставить данные в
отсортированном виде, получить справочные данные о конкретных клиентах, получить
статистические данные о заселении гостей в определенный период и т.д.
Представление - это динамическая таблица, служащая для отображения результатов выборки из
информации. Представления являются удобным инструментом для работы с таблицами базы данных.
Хранимые процедуры использовались для обеспечения удаления, изменения и вставки записей в
таблицы с целью уменьшения риска использования SQL инъекций.
С целью создания определенных ограничений в базе данных были разработаны триггеры, которые
обеспечивают целостность данных и запрет несанкционированных действий, наносящих вред БД.
Триггеры (trіgger) являются особой разновидностью хранимых процедур, выполняемых
автоматически (срабатывающих) при модификации данных таблицы. Триггеры находят разное
применение - от проверки данных до обеспечения сложных деловых правил. Особенно полезным
свойством триггеров является то, что они имеют доступ к образам записи до и после модификации; таким
образом, можно сравнить две записи и принять соответствующее решение. Созданы триггеры,
отслеживающие удаление, изменение и вставку записей в таблицы.
В системе безопасности SQL Server 2008 выделяется два уровня: сервера и базы данных. В
проектируемой базе данных со стороны сервера используется следующие средство обеспечения
безопасности - создание учетных записей.
Реализованы роли и назначены привилегии ролям, исходя из анализа предметной области и
функциональных обязанностей пользователей. Перечислим существующие роли: клиент, регистратор
гостиницы, администратор гостиницы.
Для созданной базы данных необходим администратор БД, так как он обеспечивает регулярную
работу БД и предоставляет или ограничивает доступ пользователей к той или иной информации. Кроме
того, АБД должен обеспечить базу данных необходимой надежной защитой, предотвратить утечку и
несанкционированный доступ к важной информации.
Создана и реализована база данных (БД) в MS SQL Server 2008 для малого гостиничного
бизнеса, которая обеспечивает хранение данных о клиентах и персонале, комнатах, бронировании
комнат. В данной работе использована клиент-серверная архитектура, также обеспечена безопасность
базы данных.
Литература
1. Дунаев В.В. Базы данных. Язык SQL для студентов. СПб.: БХВ – Петербург, 2006. – 286 с.
2. Фленов М. Transact-SQL. СПб.: БХВ – Петербург, 2006. – 577 с.
3. Виейра Р. Программирование баз данных MS SQL Server 2008. Базовый курс. - М.:
Диалектика, 2010 – 816 с.
ИСПОЛЬЗОВАНИЕ МАТЕМАТИЧЕСКОЙ МОДЕЛИ ДЛЯ СОЗДАНИЯ СИСТЕМЫ
ЗАЩИТЫ ИНФОРМАЦИИ
Жакаев Н.О., Аманжолова С.Т.
КазНТУ имени К.И.Сатпаева г. Алматы., Республика Казахстан
Проблемы, связанные с защитой информацией, предполагают изучение вопросов шифрования
файлов. В операционной системе Wіndows проблемы защиты решаются при помощи возможности
шифрования файлов [1]. В результате применения шифрования, даже если компьютер будет украден или
перезагружен в системе MS-DOS, файлы останутся нечитаемыми. Чтобы использовать шифрование в
операционной системе Wіndоws, нужно пометить каталог как зашифрованный, в результате чего будут
зашифрованы все файлы в этом каталоге, а все новые файлы, перемещенные в этот каталог или
40
созданные в нем, также будут зашифрованы. Само шифрование и дешифрование выполняется не
файловой системой NTFS, а специальным драйвером EFS (Encryptіng Fіle System – шифрующая файловая
система), размещающимся между NTFS и пользовательским процессом. Таким образом, прикладная
программа не знает о шифровании, а сама файловая система NTFS только частично вовлечена в этот
процесс[2].
Когда пользователь сообщает системе, что хочет зашифровать определенный файл, формируется
случайный 128-разрядный ключ. Ключ используется для поблочного шифрования файла с помощью
симметричного алгоритма, параметром в котором используется этот ключ. Каждый новый
шифруемый файл получает новый случайный 128-разрядный ключ, так что никакие два файла не
используют один и тот же ключ шифрования, что увеличивает защиту данных в случае, если какой-
либо из ключей окажется скомпрометированным[3]. Применяемый в настоящий момент алгоритм
шифрования представляет собой вариант стандартного алгоритма DES (Data Encryptіon Standard –
стандарт шифрования данных), но архитектура EFS поддерживает добавление новых алгоритмов в
будущем. Независимое шифрование каждого блока файла необходимо для сохранения возможности
произвольного доступа к блокам файла[4].
Чтобы файл мог быть впоследствии расшифрован, ключ файла должен где-то храниться. Если бы
ключ хранился на диске в открытом виде, тогда злоумышленник, укравший файлы, мог бы легко найти
его и воспользоваться им для расшифровки украденных файлов. В этом случае сама идея шифрования
файлов оказалась бы бессмысленной. Поэтому ключи файлов сами должны храниться на диске в
зашифрованном виде. Для этого используется шифрование с открытым ключом.
После того как файл зашифрован, система с помощью информации в системном реестре ищет
расположение открытого ключа пользователя. Открытый ключ можно без каких-либо опасений хранить
прямо в реестре, так как по открытому ключу невозможно определить закрытый ключ, необходимый для
расшифровки файлов. Затем случайный 128-разрядный ключ файла шифруется открытым ключом, а
результат сохраняется на диске вместе с файлом, как показано на рисунке 1
Модифицированный
DES
Модифицированный
DES
Ключ К зашифровывается
открытым ключом
пользователя
Дешифрование
Шифрование
Файл
с открытым
текстом
Файл
с открытым
текстом
Случайный
128-разрядный
ключ К
Ключ К получается в результате
применения закрытого ключа
пользователя к ключу,
хранящемуся на диске
Диск
С=Зашифрованный
файл
К
С
Модифицированный
DES
Модифицированный
DES
Ключ К зашифровывается
открытым ключом
пользователя
Дешифрование
Шифрование
Файл
с открытым
текстом
Файл
с открытым
текстом
Случайный
128-разрядный
ключ К
Ключ К получается в результате
применения закрытого ключа
пользователя к ключу,
хранящемуся на диске
Диск
С=Зашифрованный
файл
К
С
Рисунок 1. Работа системы шифрования файлов
На рисунке 1 представлена схема шифрования с алгоритмом DES.
Чтобы расшифровать файл, с диска считывается зашифрованный случайный 128-разрядный
ключ файла. Однако для его расшифровки необходим закрытый ключ. В идеале этот ключ должен
храниться на смарт-карте, вне компьютера, и вставляться в считывающее устройство только тогда,
когда требуется расшифровать файл. Хотя операционная система Wіndows поддерживает смарт-
карты, она не позволяет хранить на них закрытые ключи[5].
Вместо этого, когда пользователь в первый раз зашифровывает файл с помощью системы EFS,
операционная система Wіndows формирует пару ключей (закрытый ключ, открытый ключ) и
сохраняет закрытый ключ, зашифрованный при помощи симметричного алгоритма шифрования, на
диске. Ключ для этого симметричного алгоритма формируется либо из пароля пользователя для
регистрации в системе, либо из ключа, хранящегося на смарт-карте, если регистрация при помощи
смарт-карты разрешена. Таким образом, система EFS может расшифровать закрытый ключ во время
регистрации пользователя в системе и хранить его в своем виртуальном адресном пространстве во
41
время работы, чтобы иметь возможность расшифровывать 128-разрядные ключи файлов без
дополнительного обращения к диску. Когда компьютер выключается, закрытый ключ стирается из
виртуального адресного пространства системы EFS, так что никто, даже украв компьютер, не
получит доступа к закрытому ключу.
Для анализа организации шифрования можно использовать четырехфазную разомкнутую
модель с ограниченным инерционным буфером, имеющим конечные времена доступа[6].
Данная модель характеризуется применением инерционного буфера. Общая схема обмена
данными с применением буферной памяти представлена на рисунке 2.
μ
1
Ф
1
∞
Ф
2
Б
Ф
3
Ф
4
μ
2
μ
3
μ
4
Корреспондент
Адресат
k
Рисунок 2. Схема обслуживания в фазах
Первая фаза соответствует процессу – Шифрования, формирующему блоки сообщений с
интенсивностью Ұ
1
для шифрования. Вторая фаза с интенсивностью Ұ
2
шифрует сообщение и
записывает их на носитель. Третья фаза осуществляет считывание блоков и их расшифрование с
интенсивностью Ұ
3
по запросам 4-й фазы. Четвертая фаза соответствует Дешифрованию,
считывающему и обрабатывающему сообщение с интенсивностью Ұ
4
.
Длительности обслуживания в фазах представляются случайными величинами с экспоненциальным
законом распределения [7].
Количественно интервал обслуживания в 1-й и 4-й фазах определяются процессами формирования
сообщений и их обработки на независимых процессорах. Времена обслуживания во 2-й и 3-й фазах
характеризуется интервалами генерация ключей и шифрование принятых блоков, временем передачи от
корреспондента к сервисному процессу, интервалами пакетирования зашифрованных блоков в буферную
память, временем считывания зашифрованного пакета из буфера, временем дешифрации и временем
передачи сообщения в процесс-приемник. Эти интервалы определяются следующими величинами [8]:
На основе представленного рассматриваются следующие состояния системы:
1000 (0) – начальное состояние, обслуживание только в первой фазе;
1001 ( n) – первая и четвертая фазы заняты обслуживанием, обращения к буферу нет, и в буфере
пусто;
1100 ( n) – обслуживание второй фазой запроса из первой фазы с переходом первой фазы к
обслуживанию нового запроса;
1010 ( n) – обслуживание в первой и третьей фазах, четвертая фаза ожидает завершения
обслуживания в третьей фазе;
1101 ( n) – обслуживание в первой, второй и четвертой фазах. Вторая фаза обслуживает
предыдущий запрос первой фазы, первая фаза – новый запрос;
В 100 ( n) – блокировка первой фазы по занятости второй;
В 101 ( n) – блокировка первой фазы по занятости второй с обслуживанием в четвертой фазе;
В 001 ( n) – блокировка первой фазы по занятости буфера с обслуживанием в четвертой фазе;
В 010 ( n) – блокировка первой фазы по занятости третьей с обслуживанием запроса четвертой
фазы.
В заключении можно сказать, что решение задач защиты информации базируется на
всестороннем
количественном
анализе
степени
уязвимости
информации
на
объекте
информатизации, научно-обоснованном определении требуемого уровня защиты на каждом
конкретном объекте и в конкретных условиях его функционирования, построение оптимальной
системы защиты. Все это возможно с применением имитационного моделирования.
Достарыңызбен бөлісу: |