- •1. Понятие операционной системы
- •3. Виды ос
- •4. Типы ос
- •1 Понятие операционной системы..
- •1 Понятие операционной системы..
- •2 Функции операционных систем
- •Устройства ввода
- •Устройства вывода
- •Устройства ввода-вывода
- •Первое поколение
- •Второе поколение
- •Третье поколение
- •Примеры внутренних компьютерных шин Параллельные
- •Последовательные
- •Примеры внешних компьютерных шин
- •Проприетарные
- •Примеры универсальных компьютерных шин
- •Возможности программы
- •Плагины
- •Архиваторные плагины (Packer Plugins, wcx)
- •Плагины внутренней программы просмотра (Lister Plugins, wlx)
- •Плагины файловой системы (File System Plugins, wfx)
- •Информационные (контентные) плагины (Content plugins, wdx)
- •Особенности программы
- •1. Планирование вычислительных процессов.
- •2. Дисциплины диспетчеризации.
- •1.Распределение памяти статическими и динамическими разделами.
- •2 Сегментный способ распределения памяти
- •4 Алгоритмы замещения страниц.
- •2 Файловая система fat.
- •4. Файловая система ntfs.
- •5 Сравнение файловых систем.
- •Отличительные черты осрв
- •Архитектуры осрв
- •Основные сервисы
- •Отличия от операционных систем общего назначения
- •Условия возникновения тупиков
- •Основные направления борьбы с тупиками
- •Игнорирование проблемы тупиков
- •Способы предотвращения тупиков
- •Способы предотвращения тупиков путем тщательного распределения ресурсов. Алгоритм банкира
- •Предотвращение тупиков за счет нарушения условий возникновения тупиков
- •Нарушение условия взаимоисключения
- •Нарушение условия ожидания дополнительных ресурсов
- •Нарушение принципа отсутствия перераспределения
- •Hарушение условия кругового ожидания
- •Обнаружение тупиков
- •Восстановление после тупиков
- •1. Операционные системы Windows 1.0-3.11.
- •2.Операционные системы Windows 95/98.
- •3 Операционные системы Windows me
- •Осенью 2001 года microsoft обновила Windows2000 Professional до Windows xp (eXPerience-«опыт»)в редакциях:
- •1. Windows xp Professional включена шифрованная файловая система, расширены возможности работы с сетью
- •2. Windows xp Home Edition (для домашнего использования) - еще более мультимедийная и ориентированая на Интернет.
- •1. Встроенная система распознавания голосовых команд и голосового ввода данных.
- •2 Подготовка к установке
- •5. Установка ос
- •3 Средства настройки и восстановления
- •Версии Windows Vista.
- •Аппаратные требования и интерфейс Vista
- •3 Новые особенности ос Windows Vista
- •Новшества
- •Мультимедиа
- •Мобильность
- •Удалённый рабочий стол
- •Безопасность
- •Трудности в сравнении
- •По стоимости владения
- •По популярности на настольных компьютерах
- •По инсталляции
- •По удобству использования и наличию особых режимов
Отличия от операционных систем общего назначения
Многие операционные системы общего назначения также поддерживают указанные выше сервисы. Однако ключевым отличием сервисов ядра ОСРВ является детерминированный, основанный на строгом контроле времени, характер их работы. В данном случае под детерминированностью понимается то, что для выполнения одного сервиса операционной системы требуется временной интервал заведомо известной продолжительности. Теоретически это время может быть вычислено по математическим формулам, которые должны быть строго алгебраическими и не должны включать никаких временных параметров случайного характера. Любая случайная величина, определяющая время выполнения задачи в ОСРВ может вызвать нежелательную задержку в работе приложения, тогда следующая задача не уложится в свой квант времени, что послужит причиной для ошибки.
В этом смысле операционные системы общего назначения не являются детерминированными. Их сервисы могут допускать случайные задержки в своей работе, что может привести к замедлению ответной реакции приложения на действия пользователя в заведомо неизвестный момент времени. При проектировании обычных операционных систем разработчики не акцентируют свое внимание на математическом аппарате вычисления времени выполнения конкретной задачи и сервиса. Это не является критичным для подобного рода систем.
Лекция № 17
Тема: "Проблемы тупиков и методы борьбы с ними"
Однако в некоторых случаях могут возникнуть непредвиденные затруднения. Предположим, что несколько процессов конкурируют за обладание конечным числом ресурсов. Если запрашиваемый процессом ресурс недоступен, ОС переводит данный процесс в состояние ожидания. В случае когда требуемый ресурс удерживается другим ожидающим процессом, первый процесс не сможет сменить свое состояние. Такая ситуация называется тупиком (deadlock). Говорят, что в мультипрограммной системе процесс находится в состоянии тупика, если он ожидает события, которое никогда не произойдет. Системная тупиковая ситуация, или "зависание системы", является следствием того, что один или более процессов находятся в состоянии тупика. Иногда подобные ситуации называют взаимоблокировками. В общем случае проблема тупиков эффективного решения не имеет.
Рассмотрим пример. Предположим, что два процесса осуществляют вывод с ленты на принтер. Один из них успел монополизировать ленту и претендует на принтер, а другой наоборот. После этого оба процесса оказываются заблокированными в ожидании второго ресурса (см. рис. 7.1).
Определение. Множество процессов находится в тупиковой ситуации, если каждый процесс из множества ожидает события, которое может вызвать только другой процесс данного множества. Так как все процессы чего-то ожидают, то ни один из них не сможет инициировать событие, которое разбудило бы другого члена множества и, следовательно, все процессы будут спать вместе.
Выше приведен пример взаимоблокировки, возникающей при работе с так называемыми выделенными устройствами. Тупики, однако, могут иметь место и в других ситуациях. Hапример, в системах управления базами данных записи могут быть локализованы процессами, чтобы избежать состояния гонок (см. лекцию 5 "Алгоритмы синхронизации"). В этом случае может получиться так, что один из процессов заблокировал записи, необходимые другому процессу, и наоборот. Таким образом, тупики могут иметь место как на аппаратных, так и на программных ресурсах.
Тупики также могут быть вызваны ошибками программирования. Например, процесс может напрасно ждать открытия семафора, потому что в некорректно написанном приложении эту операцию забыли предусмотреть. Другой причиной бесконечного ожидания может быть дискриминационная политика по отношению к некоторым процессам. Однако чаще всего событие, которого ждет процесс в тупиковой ситуации, – освобождение ресурса, поэтому в дальнейшем будут рассмотрены методы борьбы с тупиками ресурсного типа.
Ресурсами могут быть как устройства, так и данные. Hекоторые ресурсы допускают разделение между процессами, то есть являются разделяемыми ресурсами. Например, память, процессор, диски коллективно используются процессами. Другие не допускают разделения, то есть являются выделенными, например лентопротяжное устройство. К взаимоблокировке может привести использование как выделенных, так и разделяемых ресурсов. Например, чтение с разделяемого диска может одновременно осуществляться несколькими процессами, тогда как запись предполагает исключительный доступ к данным на диске. Можно считать, что часть диска, куда происходит запись, выделена конкретному процессу. Поэтому в дальнейшем мы будем исходить из предположения, что тупики связаны с выделенными ресурсами , то есть тупики возникают, когда процессу предоставляется эксклюзивный доступ к устройствам, файлам и другим ресурсам.
Традиционная последовательность событий при работе с ресурсом состоит из запроса, использования и освобождения ресурса. Тип запроса зависит от природы ресурса и от ОС. Запрос может быть явным, например специальный вызов request, или неявным – open для открытия файла. Обычно, если ресурс занят и запрос отклонен, запрашивающий процесс переходит в состояние ожидания.
