Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
Full_OS (1).doc
Скачиваний:
2
Добавлен:
01.03.2025
Размер:
6.1 Mб
Скачать

Билет 19

Вытесняющие и невытесняющие алгоритмы планирования

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

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

Вытесняющие (preemptive) алгоритмы — это такие способы планирования потоков, в которых решение о переключении процессора с выполнения одного потока на выполнение другого потока принимается операционной системой, а не активной задачей. При вытесняющем мультипрограммировании функции планирования потоков целиком сосредоточены в операционной системе и программист пишет свое приложение, не заботясь о том, что оно будет выполняться одновременно с другими задачами (например, используется в UNIX, Windows NT/2000, OS/2, VAX/VMS и в некоторых настольных системах таких, как OS/2 Warp и Windows 95/98).

Алгоритмы планирования, основанные на квантовании

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

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

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

Чем больше квант, тем меньше суммарные накладные расходы, связанные с переключением потоков.

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

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

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

Безопасность компьютерных систем

Безопасная информационная система – это система, которая:

• защищает данные от несанкционированного доступа (конфиденциальность) (угроза – демонстрация данных);

• всегда готова предоставить их своим пользователям (доступность) (угроза – порча или подделка данных);

• надежно хранит информацию и гарантирует неизменность данных (целостность) (угроза - отказ обслуживания).

Атаки системы снаружи. Зловредное программное обеспечение и его классификация.

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

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

5. Вирусы драйверов устройств

В системе Windows и в некоторых UNIX-системах драйверы устройств представ-

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

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

этот вирус всегда будет официально загружаться при загрузке системы. А еще при

таком подходе хорошо то, что драйверы работают в режиме ядра, что позволяет

вирусу перехватить вектор прерываний системных вызовов.

6. Макровирусы

Автор вируса создает в редакторе Word документ, а также создает макрос, который присоединяет к функции OPEN FILE (открыть файл). В этом макросе содержится макровирус. Открытие документа вызывает исполнение макроса OPEN FILE.

7. Вирусы, заражающие исходные тексты программ

Самые переносимые вирусы

Черви.

В1988 году Роберт Моррис обнаружил две ошибки в операционной системе Berkley UNIX, позволяющие получить несанкционированный доступ к компьютерам по всему Интернету. В одиночку он написал саморазмножающуюся программу, называемую червем, использующую эти ошибки и в течение секунд реплицирующую себя на каждой машине, к которой ей удается пополучить доступ.

1. Черви, распространяющиеся с помощью электронной почты

2. Черви, распространяющиеся с помощью программ для общения

3. Самостоятельно распространяющиеся черви

Соседние файлы в предмете [НЕСОРТИРОВАННОЕ]