Файл: Курс лекций по дисциплине Информационные технологии в юридической деятельности.rtf

ВУЗ: Не указан

Категория: Не указан

Дисциплина: Не указана

Добавлен: 08.11.2023

Просмотров: 514

Скачиваний: 3

ВНИМАНИЕ! Если данный файл нарушает Ваши авторские права, то обязательно сообщите нам.

2.4.2 Управление памятью


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

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

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

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


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

2.4.3 Управление файлами и внешними устройствами


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

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

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

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

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

Драйвер

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

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

2.5 Защита данных и администрирование


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

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

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


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

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

2.6 Интерфейс прикладного программирования


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

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

2.7 Пользовательский интерфейс


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

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

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

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

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

2.8 Требования к современным операционным системам


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

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

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

  3. Совместимость. Существует несколько «долгоживущих» популярных операционных систем (разновидности UNIX, MS-DOS, Windows, Windows NT, OS/2). Поэтому пользователям при переходе с одной системы на другую, очень привлекательна возможность запуска в новой среде привычного приложения. Совместимость ОС - наличие средств для выполнения прикладных программ, написанных для других ОС. Есть совместимость на уровне двоичных кодов, исходных текстов, поддержки пользовательских интерфейсов других ОС.

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

  5. Безопасность. Современная ОС должна защищать данные и другие ресурсы вычислительной системы от несанкционированного доступа. Для этого, она должна как минимум иметь средства: аутентификации - определения легальности пользователей; авторизации - предоставления легальным пользователям дифференцированных прав доступа к ресурсам; аудита - фиксации всех «подозрительных» для безопасности системы событий. Особенно важно это для сетей, где к задаче контроля доступа добавляется задача защиты передаваемых данных.

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