Главная страница
Навигация по странице:

  • Предотвращение

  • Распознавание тупика

  • Вывод системы из тупика

  • Долгосрочное планирование

  • Планирование доступа к отдельным устройствам

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


    Скачать 1.54 Mb.
    НазваниеОс управляющая система. Средство, обеспечивающие эффективную работу вс через автоматизацию процесса прохождения программ, организации из взаимодействия, распределения ресурсов вс, доступа к данным. Функции ос
    АнкорОтветы
    Дата08.01.2022
    Размер1.54 Mb.
    Формат файлаdocx
    Имя файлаBilety1-40.docx
    ТипПрограмма
    #326140

    1. Понятие ОС и функции ОС.

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

    (Вариант2 с инета

    • Загрузка приложений в оперативную память и их выполнение;

    • Стандартизированный доступ к периферийным устройствам;

    • Управление оперативной памятью;

    • Управление доступом к данным на энергонезависимых носителях;

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

    • Сетевые операции

    • Параллельное или псевдопараллельное выполнение задач (многозадачность)

    • Взаимодействие между процессами: обмен данными, взаимная синхронизация

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



    1. Общие принципы построения ОС.



    1. Структура ОС, основные компоненты ОС.

    Состоит из:
    *ядро, содержащее планировщик; драйверы устройств, непосредственно управляющие оборудование; сетевая подсистема, файловая система

    • Монолитное ядро

    • Микроядро

    • Гибридное ядро

    *системные библиотеки (преобразуют системные вызовы приложений в системные вызовы ядра)

    *пользовательские оболочки (реализуют текстовый либо графический интерфейсы)


    1. Понятие прерывания и классификация прерываний. Примеры.

    Прерывание- это приостановка выполнения процессором активного кода вследствие некоторого события в системе.

    Классификация



    Внутреннее прерывание вызванное делением на нуль

    int main()

    {

    int negative = -1;
    try {

    new int[negative];

    }

    catch (const std::bad_array_new_length &e) {

    std::cout << e.what() << '\n';

    }

    }

    1. Понятие прерывания и общая схема обработки прерываний, аппаратная поддержка.

    Прерывание- это приостановка выполнения процессором активного кода вследствие некоторого события в системе.



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

    - средства трансляции адресов;

    - средства переключения процессов;

    - система прерываний;

    - системный таймер;

    - средства защиты областей памяти.

    Существует два вида исключений:

    Аппаратные (структурные, SE-Structured Exception), которые генерируются процессором. К ним относятся, например,

    деление на 0;

    выход за границы массива;

    обращение к невыделенной памяти;

    переполнение разрядной сетки.


    1. Структурная схема обработки исключений: обработка завершения, понятие локальной раскрутки. Примеры.




    DWORD FuncCounter(void)

    { DWORD dwTemp = 0;

    while (dwTemp < 10)

    {

    __try

    { if (dwTemp == 2)

    continue;

    if (dwTemp == 3)

    break;

    }

    __finally

    { dwTemp ++; }

    dwTemp ++;

    }

    dwTemp +=10;

    return (dwTemp);



    1. Структурная схема обработки исключений: обработка исключений, понятие глобальной раскрутки. Примеры.







    1. Понятие процесса и классификация процессов.



    Классификация:

    В зависимости от ИНТЕРВАЛОВ СУЩЕСТВОВАНИЯ

    Процессы реального времени/Интерактивные процессы/Пакетные процессы

    ПО ГЕНЕАЛОГИЧЕСКОМУ признаку

    Порождающие/Порожденные

    ПО РЕЗУЛЬТАТИВНОСТИ

    Эквивалентные/Тождественные/ Равные/ Различные

    По ДИНАМИЧЕСКОМУ признаку

    Последовательные/ Параллельные/ Комбинированные

    По ПРИНАДЛЕЖНОСТИ К ЦЕНТРАЛЬНОМУ ПРОЦЕССОРУ:

    Внутренние (программные)/ Внешние

    По ПРИНАДЛЕЖНОСТИ К ОПЕРАЦИОННЫМ СИСТЕМАМ

    Системные/ Пользовательские

    ПО СВЯЗАННОСТИ

    Взаимосвязанные/ Изолированные/ Информационно независимые/ Взаимодействующие/ Конкурирующие

    1. Состояния процессов и возмож ные переходы.

    Можно выделить три основные состояния процесса

    • Выполнения (исполняется на ЦП);

    • Готовности (временно остановлен);

    • Блокировки (ожидает внешнего события);



    1. Понятие ресурса и классификация ресурсов.



    • физические (реально существующие) или виртуальные (мнимые, некая модель физического ресурса, не существующая в том виде, в котором она проявляет себя пользователю);

    • пассивные или активные (способ выполнения действий над другими ресурсами);

    • временные или постоянные.

    1. Процессы и потоки. Понятие контекстной памяти и представление информации о процессах и потоках (на примере MS Windows).













    1. Проблема взаимного исключения, понятие и свойства критической секции.


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





    1. главное требование – взаимное исключение;

    2. ни один процесс не должен ждать бесконечно долго входа в критическую секцию;

    3. ни один процесс не может находиться в своей критической секции бесконечно долго;

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



    1. Понятие семафора. Типы семафоров и коды примитивов P и V.





    1. Примеры программного решения проблемы взаимного исключения.

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

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

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

    • В случае если оба процесса заявили о своем намерении войти в КС, порядок входа определяется значением целочисленной переменной.


    1. Средства ОС для реализации взаимного исключения (на примере MSWindows).

    Способы реализации взаимного исключения

    • Запрещение прерываний и специальные инструкции

    Алгоритм Петерсона

    • Активное ожидание

    • Семафоры Дейкстры

    • Мониторы

    • Обмен сообщениями


    1. Понятие тупика, необходимые условия возникновения тупика.




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

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

    Обход тупика Задача обхода тупика решается в системах, где возможность возникновения тупика не исключается. Цель решения этой задачи – обход состояний, где вероятность возникновения тупика велика.

    Распознавание тупика Цель задачи распознавания тупика – установить сам факт возникновения тупиковой ситуации и определить объекты системы (процессы и ресурсы), вовлечённые в неё, то есть определить причины, приведшие к тупику (какие запросы каких процессов привели их в тупик).

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


    1. Решение задачи предотвращения тупиков: общий подход и сравнение вариантов решений.

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

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

    1. Пример средств, которые могут быть использованы для предотвращения тупиков.


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


    1. Планирование ресурсов: понятие задачи планирования и уровни планирования.


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

    Уровни:

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

    21. Планирование ресурсов: дисциплины планирования.

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

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

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

    22. Планирование ресурсов: диспетчеризация процессов.

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

    Планирование по принципу RR предполагает диспетчирование процессов по принципу FIFO, но каждый процесс получает временной квант, в течение которого он может использовать ресурсы ЦП. 

    В связи с проблемами планирования в ОСРВ используются статические алгоритмы планирования (RMS – Rate Monotonic Scheduling) [LL73] и динамические алгоритмы планирования (EDF – Earliest Deadline First).

    23. Понятие приоритетного класса и уровня приоритета (на примере MS Windows).

    • реального времени (REALTIME_PRIORITY_CLASS),

    • высокий (HIGH_PRIORITY_CLASS),

    • выше нормы (ABOVE_NORMAL_PRIORITY_CLASS),

    • нормальный (NORMAL_PRIORITY_CLASS),

    • ниже нормы (BELOW_NORMAL_PRIORITY_CLASS)

    • и неработающий (IDLE_PRIORITY_CLASS).

    Приоритет реального времени (real time) - программа выполняется так, как будто она одна и есть цель жизни Windows. Все ресурсы отдаются ей.
    24. Объекты диспетчкеризации (на примере MS Windows) и их использование для синхронизации потоков и процессов.

    1. Поток, выполняющийся в контексте одного процесса, может дожидаться завершения другого процесса с использованием функции ExitProcess путем применения к дескриптору процесса функций ожидания WaitForSingleObject или WaitForMultipleObject. Тем же способом поток может организовать ожидание завершения (с помощью функции ExitThread или выполнения оператора return) другого потока.

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

    25. Понятие взаимодействующих процессов, способы взаимодействия процессов.

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

    26. Покажите иерархию запоминающих устройств и поясните особенности управления памятью на различных уровнях.

    Персональные компьютеры имеют четыре иерархических уровня памяти:

    • микропроцессорная память;

    • основная память;

    • регистровая кэш-память;

    • внешняя память.

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

    • прием информации от других устройств;

    • запоминание информации;

    • выдача информации по запросу в другие устройства машины.

    Основная память содержит два вида запоминающих устройств:

    • ПЗУ — постоянное запоминающее устройство;

    • ОЗУ — оперативное запоминающее устройство.

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

    В ПЗУ находятся:

    • программа управления работой процессора;

    • программа запуска и останова компьютера;

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

    • программы управления дисплеем, клавиатурой, принтером, внешней памятью;

    • информация о том, где на диске находится операционная система.

    27. Организация памяти: разрывные распределения. Примеры, аппаратная поддержка.

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

    Для решения проблемы замещения (определения того сегмента, который должен быть либо перемещен во внешнюю память, либо просто замещен новым) используются следующие правила:

    • FIFO (first in – first out, что означает: «первый пришедший первым и выбывает»);

    • LRU (least recently used, что означает «последний из недавно использованных» или, иначе говоря, «дольше всего неиспользуемый»);

    • LFU (least frequently used, что означает: «используемый реже всех остальных»);

    • случайный (random) выбор сегмента.

    28. Задача управления памятью: понятие виртуальной памяти и принципы реализации.

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

    29. Схема трансляции адреса: общий подход и аппаратная поддержка табличной трансляции.

    30. Стратегии и алгоритмы управления виртуальной памятью: стратегии загрузки, подкачки и замещения.

    • Стратегия  выборки (fetch policy)

    • Стратегия размещения (placement policy)

    • Стратегия  замещения (replacement policy)

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

    • Глобальные алгоритмы – оперируют всей совокупностью страниц оперативной памяти, в случае их применения страницы одного процесса при необходимости могут быть вытеснены для нужд другого процесса.

    • FIFO (First In First Out) – замещение первой использованной страницы

    • FIFO 2nd Chance (похожна clock)

    • LRU (Least Recently Used) – замещение дольше всех неиспользовавшихся страниц

    • NRU (Not Recently Used) или clock – замещение не использовавшихся в последнее время страницы

    • NFU (Not Frequently Used) – замещение наименее часто используемых страниц

    31. Механизмы управления памятью в MS Windows: виртуальная память; файлы, проецируемые в память; стек; куча. Общая характеристика и связь различных механизмов.



    32. Понятие файла. Способы организации файлов – общая характеристика.

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



    33. Понятие индекса, индексированные файл.

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

    34. Понятие файловой системы. Примеры.

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

    • NTFS

    • Fat

    • exFat

    35. Управление данными и управление вводом-выводом. Понятие буфера, буферизация ввода-вывода.

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

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

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

    • режим обмена с опросом готовности устройства ввода/вывода и

    • режим обмена с прерываниями.

    36. Понятие драйвера, драйверы файловых систем и драйверы устройств. Иерархия драйверов.

    Первоначально термин "драйвер" применялся в достаточно узком смысле – под драйвером понимается программный модуль, который:

    • входит в состав ядра ОС, работая в привилегированном режиме;

    • непосредственно управляет внешним устройством, взаимодействуя с его контроллером с помощью команд ввода-вывода компьютера;

    • обрабатывает прерывания от контроллера устройства;

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

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

    В подсистеме дискового ввода-вывода нижний уровень образован аппаратными драйверами устройств (дисков), имеющих различные аппаратные интерфейсы: MFM, IDE, SCSI, SATA. Следующий уро­вень иерархии образуют программные драйверы конкретных файло­вых систем, которые могут быть использованы для хранения данных на дисках, подключённых по этим интерфейсам: FAT, ext2, ext3, NTFS, HPFS и др. Самый верхний уровень иерархии представлен программным драйвером виртуальной (обобщённой) файловой систе­мы, предоставляющей универсальный доступ к файлам в файловой системе любого типа на устройствах с любым интерфейсом.

    В подсистеме обмена по сети нижний уровень образован аппа­ратными драйверами сетевых контроллеров: ne2000, Зсот, CNet, Realtek и т. п. Программные драйверы промежуточного уровня могут предоставлять различные уровни сетевых протоколов: UDP, TCP/IP, IPX/SPX, Tokenring и т. п. Программные драйверы верхне­го уровня предоставляют доступ в сеть через протоколы различных служб: http, ftp, nfs и т. п.

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

    37. Принципы работы связывающих загрузчиков и редакторов связей.

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

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

    Файл EXE, создаваемый компоновщиком, состоит из двух частей:

    управляющая информация для загрузчика;

    загрузочный модуль.

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

    1. DS и ES указывают на начало префикса программного сегмента.

    2. Регистры CS, IP, SS и SP получают значения, указанные компоновщиком.


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

    Использование динамических библиотек (по-другому – библиотек динамической компоновки) – это способ осуществления модульности в период выполнения программы. Динамическая библиотека (DLL)упростить и саму разработку программного обеспечения. Вместо того чтобы каждый раз перекомпилировать огромные EXE-программы, достаточно перекомпилировать лишь отдельный динамический модуль. Кроме того, доступ к динамической библиотеке возможен сразу из нескольких исполняемых модулей, что делает многозначность более гибкой. Структура DLL-модуля практически такая же, как и EXE-модуля. Тот, кто программировал под MSDOS, должен быть знаком с понятием оверлея. По своей функциональности динамическая библиотека очень похожа на оверлей, но название «динамическая библиотека» Более удачно. Динамическая библиотека это еще и возможность разработки приложений на разных языках. Динамическая библиотека, написанная, скажем, на Visual C++, может вызываться из программ, написанных на любых языках.

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



    Вызов функций при использовании статической компоновки



    Вызов функции при использовании динамической компоновки

    40. Понятие защищённой системы. Механизмы защиты ОС.

    • − управление всеми ресурсами системы;

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

    • тающих в среде ОС;

    • − обеспечение интерфейса пользователя с ресурсами системы;

    • − размеры и сложность ОС.

    • Большинство ОС обладают дефектами с точки зрения обеспечения безопасности данных в системе, что обусловлено

    • выполнением задачи обеспечения максимальной доступности системы для пользователя.

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

    Защищенная система должна обладать следующими свойствами

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

    2. Защищенная система – это система, которая успешно и эффективно противостоит угрозам безопасности.

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


    написать администратору сайта