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

ЛИЧНЫЙ КАБИНЕТ 

 

Здравствуйте гость!

 

Логин:

Пароль:

 

Запомнить

 

 

Забыли пароль? Регистрация

Повышение уникальности

Предлагаем нашим посетителям воспользоваться бесплатным программным обеспечением «StudentHelp», которое позволит вам всего за несколько минут, выполнить повышение уникальности любого файла в формате MS Word. После такого повышения уникальности, ваша работа легко пройдете проверку в системах антиплагиат вуз, antiplagiat.ru, etxt.ru или advego.ru. Программа «StudentHelp» работает по уникальной технологии и при повышении уникальности не вставляет в текст скрытых символов, и даже если препод скопирует текст в блокнот – не увидит ни каких отличий от текста в Word файле.

Результат поиска


Наименование:


Шпаргалка Шпаргалка по "Операционные системы и среды "

Информация:

Тип работы: Шпаргалка. Добавлен: 20.10.2012. Сдан: 2012. Страниц: 14. Уникальность по antiplagiat.ru: < 30%

Описание (план):


Операционные  системы и среды 

Вопрос 1. Определение ОС.
Современная компьютерная система является сложной  комплексной системой, состоящей  одного или нескольких процессоров, ОП, дисковод и т.д. ЭВМ оснащается спец уровнем ПО, называемым ОС.
ОС - это комп. программа (или комплекс программ) обеспечивающая среду для выполнения других программ и дающая им доступ к возможностям процессора, периферийных устройств и т.д. ОС предназначена для того, чтобы скрыть от пользователя все сложности обработки и выдачи инф-ции, избавляет от необходимости общения с аппаратурой напрямую.
Под ОС подразумевается  то ПО, которое запускается в режиме ядра (или в режиме супервизора). ОС выполняет две основные функции: расширение возможностей машины и управления ее ресурсами. Работа ОС заключается в обеспечении организованного и контролируемого распределения процессорного времени, памяти, УВВ и т.д. между различными программами.
Вопрос 2. История развития ОС.
 Первым  цифровым компьютером была машина  Ч. Бейбеджа.(1792-1871).
Первое поколение(1945-1955): электронные лампы и коммутационные панели; механические ролле; довольно медлительные и громоздкие машины, команды писались на машинном языке, для ввода/вывода информации использовались перфокарты. Второе поколение(1955-1965): транзисторы и система пакетной обработки; появились ЯП Ассемблер, Фортран; машины назывались мейнфреймами; так же использовались перфокарты; ОС того времени были FMS и IBS. Третье поколение(1960-1980):использование мелкомасштабных интегральных схем; многозадачность и совместимость ЭВМ. Появление сложных ОС. Технология подкачки данных (загрузка перфокарт в последовательности приноса их в машинный зал). Появление Unix, Munix, Lunix. Четвертое поколение (с 1980 –х)Появление БИС; ПК и микро-ЭВМ; Появление графического интерфейса; соперничество Windows и Unix; развитие сетей.
Вопрос 3. Назначение, состав и функции ОС.
Функции ОС:
    Планирование заданий и использование процессора.
    Обеспечение программ средствами коммуникации и синхронизации.
    Управление памятью.
    Управление файловой системой.
    Управление безопасностью.
Каждая из перечисленных  функций обычно реализуется в  виде подсистемы и является структурным  компонентом ОС.  
 

Вопрос 4. Архитектурные особенности  ОС. 

    Монолитное  ядро- такая структурная ОС, при  которой компоненты ОС являются не самостоятельными модулями, а составными частями одной большой программы (как обычная программа, состоящая  из процедур и функций). Монолитное ядро- набор процедур и функций, каждая из которых может вызывать каждую; все процедуры работают в привилегированном  режиме. Для монолитной ОС ядро совпадает  со всей системой. Перекомпиляция- единственный способ добавить новые компоненты или  исключить неиспользованные. Примером таких ОС является Unix.
    Многоуровневая система.
5. Интерфейс  пользователя
4. Управление  вводом- выводом
3. Драйвер  устройства связи оператора и  консоли
2. Управление  памятью
1. Планирование  задач и процессов
0. Hard Wase (тех. обеспечение)
Вся система разбивается  на ряд более мелких уровней, с  хорошо определенными связями, так, чтобы объект уровня n мог вызвать объект уровня n-1. Чем ниже уровень, тем более привилегированные команды и действия может выполнять модуль на этом уровне.  Такие системы хорошо реализуются, тестируются, модифицируются не затрагивая неиспользуемые слои. Недостатки такой системы в сложности ее разработки и в ее более меньшей эффективности, чем у монолитной.
    Виртуальные машины.
Программа пользователя Программа пользователя Программа пользователя
MS- DOS Lunix  Windows
                           Реальные ОС
                                                                             Реальная Hard Wase
 Такой подход  позволяет каждому пользователю  загрузить свою ОС на виртуальную  машину. Недостатком является сниженная  эффективность, громоздкость. Преимущества- использования на одной ВС  программ, написанных для разных  ОС.
    Микроядерная архитектура. Представляет собой перенос значительной части системного кода на уровень пользователя и одновременной минимилизации ядра. Большинство составляющих ОС являются самостоятельными программами. Взаимодействие между ними обеспечивает спец. модуль ядра, называемый микроядром. Микроядро работает в привилегированном режиме и обеспечивает взаимодействие между программами планирования использования процессора, первичную обработку прерываний, операций ввода- вывода, базовое управление памятью и т.д. Основные компоненты системы взаимодействуют друг с другом путем передачи сообщения через микроядро. Достоинства этой ОС: высокая степень модульности (т.е. упрощение добавления новых компонентов; в ней можно не прерывая работы загружать и выгружать новые драйвера, файловые системы и т.д.), упрощенный процесс отладки ядра и т.д. Компоненты ядра ОС ничем не отличаются от пользовательских программ, поэтому для их отладки можно использовать обычные средства. Микропроцессорная архитектура повышает надежность системы (ошибка в модуле исправляется на уровне модуля). Недостатком является дополнительные расходы, и аккуратность программирования.
    Смешанная система. Использует все комбинации вышеперечисленных архитектур. Например Lunix- монолитная система с элементами микроядерной архитектуры. Windows- микроядерная архитектура с элементами монолитного ядра.
 
 
Вопрос 5. Характеристики ОС. 

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

По назначению: общего назначения и специальные.
По кол-ву одновременно работающих программ: однозадачные и многозадачные.  
По кол-ву пользователей: однопользовательские (MS-DOS, Windows 3.x) и многопользовательские.
Многопроцессорные: симметричные- на каждом процессоре функционирует одно и тоже ядро и задача может быть выполнена на любом процессоре. При этом каждому из процессоров доступна вся память;
Ассиметричные - процессоры не равноправными; обычно существует главный процессор (master) и подчиненные (slave), загрузки и характер работы которых определяет главный процессор.
Системы реального  времени: используется для управления техническими объектами или технологическими процессами. Они характеризуются предельно допустимым временем реакции на внешние событие, в течении которого должна быть выполнена программа, управляющая объектом. В системах реального времени может отсутствовать виртуальная память, которая дает непредсказуемые задержки выполнения программ. 

Вопрос 7. Разновидности ОС. 

1.ОС мейнфреймов. Это ЭВМ больших размеров, например веб- серверы. ОС для мейнфреймов ориентированы на обработку множества одновременных заданий; они обслуживают пакетную обработку, обработку групповых операций и разделение времени.
2. Серверные ОС (очень большие ЭВМ, рабочие станции, мейнфреймы). Работают на серверах. Они одновременно обслуживают несколько пользователей и позволяют им делить между собой программные и аппаратные ресурсы.
3. Многопроцессорные  ОС. Для увеличения мощности ПК  соединят несколько ЦП в одной  системе, в зависимости от вида  соединения и разделения работы. Для них требуются специальные  ОС.
4. ОС для ПК. Их функция заключается в предоставлении удобного интерфейса, поддержки приложений и форматов для пользователя.
5. ОС реального  времени. Бывают жесткие (все  по плану) и гибкие ( аудио, видео  и т.д.)
6. Встроенные ОС. Имеют особый размер, память и  ограниченную мощность ( бытовая  техника, мобильные телефоны, и  т.д.).  

Вопрос 8. Организация вычислительного  процесса. 

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

Процесс проходит несколько  состояний:«Рождение» - «Готовность- «Исполнение»- « Закончил исполнение».
Операции  над процессами. Изменением состояния процесса занимается ОС, совершая операции над ними: создание процесса, приостановка, запуск, блокировка, разблокировка, изменение приоритета и т.д.
Каждый процесс  представляется в ОС как некоторая  структура данных, которая содержит инф-цию, специфичную для этого процесса: 
- состояние, в  котором находится процесс; 
- адрес команды,  которая должна быть выполнена  (программный счетчик);
- содержание регистров;
- данные, необходимые  для планирования использования  процессора и управление памятью  (приоритет, размер адресного  пространства и т.д.);
- учетные данные (идентификационный номер процесса, какой пользователь инициировал  его работу, общее время использования  процессора и т.д.)
- сведенья об устройствах  ввода/вывода (какие устройства закреплены  за процессом, таблица открытых  файлов и т.д.).
Информация, характеризующая  процесс, храниться в связанных  структурах данных, доступных ОС, и  называется блоком управления процесса (PCB). Блок управления процессом подразделяется на регистровый контекст процесса- содержимое всех регистров процесса, значение процесса; на пользовательский контекст, когда код и данные находятся в адресном пространстве процесса; и на сигнальный контекст процесса.
Часть ОС, отвечающая за управление процессом, называется планировщиком  процессов. Вопрос планирования процессов- одно из важнейших аспектов при проектировании ОС. Было разработано множество алгоритмом, с целью сбалансировать требования эффективности в целом, и для  каждого процесса в отдельности. Существует два основных вида планирования: Невытесняющее, когда планируются  только вынужденные события; и вытесняющие, когда процесс может быть вытеснен из состояния исполнения другим процессом. Для реализации моделей процессов ОС содержит таблицу процессов, представляющую собой массив ( или связной список)  структур, по одной на каждый существующий в данный момент структур.
Вопрос 9. Потоки.
Потоки.  Процесс можно рассматривать как поток исполняемых команд или просто поток. У потока есть счетчик команд, регистры и т.д. Концепция потоков добавляет к модели процесса возможность одновременного выполнения  в одной и той же среде процесса несколько программ, достаточно независимых. Несколько потоков, работающих параллельно в одном процессе, аналогичны нескольким процессам, идущим параллельно по одной ЭВМ. Потоки обладают некоторыми свойствами процессов, их часто называют упрощенными процессами.
Многопоточность-  это использование нескольких потоков в  одном процессе. При запуске многопоточного процесса, в системе с одним процессором, потоки работают поочередно.
Поток может находиться в состоянии: рабочем, заблокированным, готовности, завершения, в состоянии  возрождения и т.д. Поток, так же как и процесс, может создавать  другие потоки. Потоки упрощают программирование.
Каждый процесс  можно разбить на входной поток, обрабатывающий поток и выходной поток. В нем считывание данных, обработка  и запись происходят повременно.  Существуют способы реализации потоков: в пространстве пользователя, в ядре, смешанная реализация и т.д.  Возможен подход, при котором по прибытию сообщения система создает новый поток для его обработки, называющийся всплывающим. Основные преимущества всплывающих потоков- отсутствие регистра, стека, которые необходимо устанавливать. Использование всплывающих потоков значительно сокращает промежуток времени между прибытием сообщения и его обработкой. При использовании всплывающих потоков необходимо предварительное планирование.  

Вопрос  10.   Ресурсы.
Ресурс- это все то, что может использоваться только одним процессом в любой момент времени. Ресурсы бывают двух типов: выгружаемые- можно безболезненно забирать у владеющего ими процесса; и невыгружаемые- которые нельзя забирать от текущего владельца, не уничтожив результаты вычислений.
Последовательность  использования ресурсов:  запрос- использование-возврат. Если процесс  занят, процесс уходит в режим  ожидания: запрос- режим ожидания- снова  запрос и т.д.- использование- возврат.
Природа запросов ресурсов зависит от системы; процессы могут  запрашивать 2, 3 и более ресурсов; ресурсы можно получить последовательно.
Вопрос 11. Межпроцессорное взаимодействие.
Межпроцессорное взаимодействие разбивается на три пункта: 1) передача инф-ции  от одного процесса к другому. 2) контроль над деятельностью процесса. 3) согласование действий процессов.
Состояние состязания. Иногда процессы, работающие совместно, могут сообща использовать некоторые ресурсы ( данные, участки в памяти, файлы и т.д.).                       
 Критические области. Основным способом предотвращения проблем состязания является запрет одновременного чтения, записи более чем одним процессом т.е. необходимо взаимоисключения. Часть программы, в которой есть обращение к используемым данным ( ресурсам), называется критической областью или критической санкцией. Чтобы избежать критической области необходимо выполнение 4-х условий: 1) два процесса не должны одновременно находиться в критической области. 2) в программе не должно быть предположения о скорости и количеству процессов. 3) процесс, находящийся вне критической области может блокировать другие процессы. 4) невозможна ситуация, в которой процесс вечно ждет опадения в критическую область.
Меры, предпринимаемые  для предотвращения вхождения процесса в критическую  область.
    Запрет прерываний при входе процесса в критическую область и разрешение прерываний при выходе из нее.
    Переменные блокировки. Вводятся переменные: если равно нулю, то свободно; если равно единице- занято. Однако этот метод не достаточно эффективен.
    Строгое чередование. Попадание в критическую область по очереди. Этот метод нарушает три условия успешной работы двух параллельных процессов, совместно используемыми данными. Здесь проходит постоянная проверка значения переменной, в ожидании можно входить в критическую область или нет. Блокировка, использующая активное ожидание, называется спин- блокировкой.
Алгоритм Питерсона. В 1981 Питерсон разработал алгоритм взаимного исключения. Он состоит из двух процедур; прежде чем обратится к совместно используемым переменным, процесс, входя в критическую область, вызывает процедуру со своим номером (ноль или  единица) в качестве параметра.
Проблемы, связанные с вхождением процессов в критическую  область. 1) проблема инверсии приоритета, когда два процесса с большим и меньшим приоритетам соперничают при входе в критическую область.
2) проблема ограниченного доступа. Если два процесса совместно используют буфер ограниченного размера: а) отправитель заполняет буфер, получатель не успевает обрабатывать; отправитель находится в ожидании. б) получатель обработал все данные, отправитель не успевает отправлять; получатель ожидает. Решение проблемы: добавление бита ожидания – установка значений, когда процесс пытается уйти в состояние ожидания.
3) Семафоры. В 1965 Дейкстра предложил использовать целую переменную для подсчета сигналов запуска, называемую семафором, значение которых равно нулю ( в случае отсутствия сохраненных сигналов активации) или некоторому положительному  числу, соответствующему количеству отложенных активизированных сигналов.
4) мьютексы. Это упрощенная версия семафора. Он управляет взаимным исключением доступа к совместно используемым ресурсам или кодам.  Мьютекс- переменная, которая находится в одном из двух состояний ( блокированном или неблокированном).
5) мониторы.
Монитор был разработан в 1974 году Хоаром и Брингеном Хансонами. Монитор – набор процедур, переменных  и других структур данных, объеденных в модуль или пакет. Процессы могут вызывать процедуры монитора, но у процедур, объявленных вне монитора, нет прямого доступа к внутренним структурам данного монитора. При обращении к монитору в любой момент времени активным может быть только один процесс.
Недостаток у семафоров, мониторов, мьютексов в том, что они разработаны для решения задач взаимного исключения в системе с одним или несколькими процессами, имеющими доступ к общей памяти. Они не применяются в распределительных системах, состоящих из нескольких процессор с собственной памятью у каждого.
Вопрос 12. Планирование процессов.
Если ЭВМ работает в многозадачном режиме, на ней  могут быть активны несколько  процессов, пытающихся одновременно получить доступ к процессору.  Часть ОС, отвечающая за выбор процесса, называется планировщиком, а используемый алгоритм- алгоритмом планирования.
Практически все  процессы чередую периоды вычислений с операциями ввода- вывода. Процессы, большую часть времени занятые  вычислениями называют процессами с ограниченными возможностями процессора.  Они характеризуются длительными периодами использования процессора и нечастыми ожиданиями ввода- вывода.  Процессы, которые большую часть времени ожидают ввода- вывода, называются процессами с ограниченными УВВ.  Они характеризуются короткими периодами использования процессора и частыми ожиданиями ввода- вывода.
Основной характеристикой  обоих процессов является время вычисления. С увеличением быстродействия процессоров, процессы становятся более ограниченными в возможностях ввода- вывода.
Существует  множества ситуаций, связанных с планированием. Несколько из них:
    Когда создается новый процесс, необходимо решить, кокой запустить процесс, родительский или дочерний ( если они оба находятся в состоянии готовности)
    Когда процесс завершает работу, необходимо решить, какой процесс запускать следующий.
    Когда процесс блокируются, определить какой процесс будет запущен следующим.
    При появлении прерываний ввода- вывода.
Алгоритмы планирования:
    Без переключений ( неприоритетное планирование). Процесс работает столько, сколько ему требуется.
    С переключением ( приоритетное планирование). Процесс работает ровно в течении отведенного ему времени.
В различных системах применяют различные системы  планирования: в системах реального  времени- оба алгоритма; в системах пакетной обработки- оба алгоритма; в интерактивных системах- алгоритм с переключением.
Задачи  алгоритмов планирования: Во всех системах- справедливое распределение времени процессам,  поддержка занятности всех частей системы. В системах пакетной обработки- максимальное кол-во задач в час, постоянная занятость процессора, минимальное время отклика. В интерактивных системах- выполнение  по желанию пользователя,  быстрая реакция на запрос.  В системах реального времени- окончание работы к сроку, предотвращение потери данных, предотвращение снижения качества в системах.
Планирование  в системе пакетной обработки. 
    « Первым пришел- первым обслужен» . Процессор предоставляет доступ к ресурсам первому процессу, подавшему запрос. При блокировки первого процесса, его место занимает следующий процесс. При снятии блокировки, процесс попадает в конец очереди. Недостаток- если первым подал запрос большой запрос, остальном приходится ждать , когда он завершит работу.
    Кратчайшая задача- первая. Планировщик выбирает в очереди самый короткий процесс. Недостаток- большой процесс может никогда не запуститься.
    Процессор выбирает наименьшее оставшиеся время выполнения у процесса. Недостаток- нельзя точно сказать сколько будет выполнятся процесс.
    Трехуровневое планирование. Планирование процессов на уровне процессора, оперативной памяти и диска.
Планирование  в интерактивной  системе.
    Циклическое планирование. Каждому процессу определяется квант времени, если процесс в него не улаживается, управление передается другому процессу. Здесь важно выбирать размер кванта.
    Алгоритм приоритетного планирование. Управление передается процессу с большим приоритетом. Установка производится по формуле 1/f, где f- часть использованного последний раз кванта времени.
    Самый короткий процесс- следующий. Выбирается в очереди самый короткий по времени исполнения процесс.
    Гарантийное планирование. Система рассчитывает кол-во ресурсов процессора, и распределяет их по стоящим в очереди процессам.
    Лотерейное планирование.  Процесс выбирается случайным образом. Взаимодействующие процессы могут обменивается местами в очереди.
    Справедливое планирование. Каждому процессу предоставляется определенная доля ресурсов процессора.
Планирование  в системах реального  времени.
СРВ подразделяются на жесткие- наличие жестких сроков  для выполнения каждой задачи;  и  гибкие- возможно нарушение временного графика. В обоих случаях используется разделение программы на несколько процессов, каждый из которых предсказуем.  СРВ бывают поддающиеся планированию и неподдающиеся.
Алгоритмы планирования для данных систем могут быть статические, когда решение принимается заранее до запуска системы, и динамические, не нуждающиеся в обращениях.  Механизм планирования заключается в том, что родительский процесс может устанавливать или менять приоритеты своих дочерних процессов, хотя сам планирование не осуществляет.
Планирование  потоков.  Планирование потоков зависит от того, поддерживаются они на уровне пользователя, на уровне ядра или в том и другом варианте.
На уровне пользователя. Ядро не знает о существовании  потоков, оно выполняет обычное  планирование. Наиболее часто используется алгоритм циклического и приоритетного  планирования.
На уровне ядра. Ядро выбирает поток, ему предоставляется  квант времени, после чего предоставляется  управление следующему потоку. На переключение ядра с потока на поток требуется  время. 

Вопрос 13. Взаимоблокировка. 

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

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

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

Вопрос 14. Управление памятью.  
Память в ЭВМ  имеет иерархическую структуру.  Размер памяти существенно сказывается  на протекании вычислительного процесса.  Часть ОС, отвечающая за управление памятью, называется модулем управления памятью или менеджером. Он следит за тем, какая часть памяти используется в данный момент, выделяет память процессам, после из выполнения освобождает  ресурсы, управляет обменом данных между ОП и диском.
Систему управления памятью  можно разделить  на два класса:
    Перемещающая  процессы между ОП и диском во время их выполнения (свопинг, страничная подкачка).
    Не перемещающая процессы.
Функции ОС по управлению памяти.
    Распределение в памяти в однозадачной системе. В каждый момент времени работает только одна программа.  При этом основная память делиться на две части: в одной ОС, в другой- выполняющаяся программа.
    Распределение памяти в мультипрограммных системах.
 
 
 
Основные функции:
- отслеживание ( учет  свободной и занятой памяти).
- настройка адресов  программы на конкретную область  физич. памяти.
- полное или частичное  вытеснение кодов и данных  процессов из ОП на диск, когда  размеры ОП не достаточны для  размещения всех процессов и  возвращение их в ОП.
- дефрагментация  памяти.
Распределение памяти. Существуют ряд вопросов управления памятью, которые в различных ОС решаются по разному:
- выделять процессу  непрерывную область в   памяти  или участками.
-сегменты программы  могут находится в одном месте или в разных.
- что делать, если  сегменты не помещаются в выделенную  память.
- как сократить  затраты ресурсов системы на  управление памятью.
Классификация методов распределения  памяти: Без использования внешней памяти- с фиксированными разделами, динамические разделы, перемещающие размеры. С использованием внешней памяти- страничное распределение, сегментное распределение, странично- сегментное распределение.  

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

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

Динамическое  распределение памяти перемещающими разделами.
Один из методов  преодоления внешней фрагментации- уплотнение процессов в ОП. Осуществляется это перемещением всех занятых участков памяти так, чтобы вся освободившиеся память образовала единую свободную область.  ОС должна время от времени копировать содержимое разделов из одного места в другое, корректируя таблицу свободных и занятых областей.
Уплотнение может  выполняться  при каждом завершении процесса, либо при создании процесса, когда нет свободного раздела достаточного размера.  Достоинством данного подхода является эффективность использования ОП, исключение внутренней и внешней фрагментации. Недостаток- дополнительные расходы.
Если существует единая очередь процессов, процесс  по ходу работы может занимать разные разделы. Расположение команд и данных, котором обращается процесс, не является фиксированным и изменяется всякий раз при выгрузке, загрузки или  перемещении процесса.
Для решения этой проблемы используются относительные  адреса. Это означает, что все  ссылки на память в загружаемом процессе даются относительно начала этой программы. Таким образом для корректной работы программы требуется аппаратный механизм, который транслирует относительные адреса в физические в процессе выполнения команды, которая обращалась бы к памяти.
При выполнении процесса относительные адреса обрабатываются процессором  в два этапа:
    Сначала к относительному адресу прибавляется значение базового регистра для получения абсолютного адреса.
    Абсолютный адрес сравнивается со значением в граничном регистре. Если полученный абсолютный адрес принадлежит данному процессу, команда выполняется, в противном случае- генерируется соответствующие данной ошибки прерывания.
Многозадачность требует  постройку адресов для перемещения  программ в памяти и их защиту. Проблема защиты и перераспределения решается в оснащении машины 2 спец. аппаратными  регистрами, называемыми базовым  и предельным регистрами.  В базовый  регистр загружается адрес начала раздела памяти, а в предельный регистр помещаются длина раздела.
Если процесс статичен, ОС предоставляет ему необходимое  кол-во памяти, с учетом увеличения. Если памяти все же становится недостаточно, процесс переносится на другое более  свободное место или выгружается  на диск, до появления свободного места, или прекращается работа процесса.
При использовании  многозадачности появляется эффективность  загрузки ЦП. Степень загрузки ЦП равно  Z= 1-p*n, где p-  время процесса в ожидании завершении операции ввода- вывода, n- степень ,  кол-во находящихся в памяти процессов. Степень многозадачности называется зависимость использования ЦП от числа n.
Два способа учета  использования памяти: битовые массивы  и связные списки.  

Управление  памятью с помощью  битовых массивов.
При работе с битовыми массивами память разделяется на единичные блоки размером от нескольких слов до нескольких Кб. В битовой  памяти каждому свободному блоку  соответствует  один бит равный нулю, занятому- равный единице.
Битовый массив представляет собой способ отслеживания блоков памяти фиксированного размера т.к. размер битовой карты зависит только от размера памяти и единичного блока.
Управления  памятью с помощью  связных списков  состоит в отслеживании памяти. Представляет собой связные списки занятых и свободных фрагментов памяти, где сегментом является процесс  или участок межу двумя процессами.  Такая структура упрощает поиск свободных и занятых разделов.
Существует  несколько алгоритмов ля предоставления памяти процессу:
    Выбор первого, подходящего участка. Менеджер памяти просматривает список областей, пока находит подходящий свободный участок. Если участок большой, он делиться на части: одна отдается процессу, другая- не используется.
    Следующий подходящий участок.  При нахождении свободного фрагмента, менеджер запоминает его адрес, и когда он вызывается для поиска следующий раз, то стартует с заданного адреса.
    Самый подходящий участок. Ищет по всему списку и выбирает наименьшей по размеру подходящий свободный фрагмент.
    Самый подходящий участок. Выбирается самый большой свободный участок, от которого после разделения остается область достаточного размера, и ее можно использовать в дальнейшем.
 
Все 4 алгоритма можно  ускорить, если поддерживать отдельные  списки для процессов и свободных  областей, отсортировав их по размеру.
    Быстрый подходящий. Поддерживает отдельные списки некоторых наиболее часто запрашиваемых размеров.
Недостаток всех этих алгоритмов: если не производить  слияние всех свободных областей, то память будет разбиваться на большое  число маленьких свободных фрагментов. 

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

Виртуальные страницы                                    Страничные блоки 

 Адреса памяти  формируются с использованием  базовых регистров, сегментных регистрах и другой памяти. Эти программно- сформированные адреса называются виртуальными, образующие виртуальное адресное пространство.
Виртуальные адреса передаются диску через память, который  преображает виртуальные адреса в физические, связь между ними  осуществляется с помощью таблицы  страниц. Пространство виртуальных  адресов разделено на единицы, называемые страницами. Соответствующие страницы физической памяти называются страничными  блоками. Страницы и блоки всегда имеют одинаковый размер.
Виртуальный адрес  при страничном распределении может  быть представлен в виде пары PS, где P- номер станицы, S- смещение в пределах страницы.
При каждом обращении  к ОП аппаратными  средствами выполняются  следующие действия:
    На основании начального адреса таблицы страниц  номер виртуальной страницы и длины записи в таблице страниц определяется адрес нужной записи.
    Из записи извлекается номер физической страницы.
    К номеру физической страницы добавляется смещение.
На производительность систем со страничной организацией влияют временные затраты, связанные с  обработкой страничных прерываний и  преобразования виртуального адреса в  физические. При часто возникающих  страничных прерываний система большую  часть времени тратит на свопинг  страниц.
Чтобы уменьшить  частоту страничных прерываний можно  было бы увеличить размер страниц, уменьшив тем самым затраты памяти. Но с другой стороны возникли проблемы с работой программ.
Образец структуры элемента таблицы строки.
№ страничного  блока Бит присутствия/ отсутствия Бит защиты Бит изменения Бит обращения Блокировка кеша  
 
№ страничного блока- наиболее важное поле.
Бит присутствия/ отсутствия- если бит равен единице, может производится запись; если бит равен нулю, то страница, которой соответствует эта запись, в данный момент отсутствует в памяти.
Бит защиты- показывает какие разрешены виды доступа к этой страницы.  Обычно, если бит равен единице- только чтение или запись, если нулю- только чтение. Более сложные схемы имеют три бита, по одному для запуска каждой операции: чтения, запись и выполнение страницы.
Бит изменения( грязный бит)- учитывается когда ОС решает освободить  страничный блок. Если страница в нем была изменена, то ее новая версия должна быть перезаписана на диск. Если она не была изменена, т.е. чистая, то ее можно удалить из памяти т.к. все еще действительна копия на диске.
Бит обращения- устанавливается всякий раз, когда происходит обращение к странице для чтения или записи.  Его значение используется при удалении ОС какой либо страницы из памяти.
Блокировка  кеша- бит запрещает кеширование страницы.
Буфер быстрого преобразования адреса.
Большинство программ делают большое кол-во обращений  к небольшому кол-ву страниц. В результате чего в таблице страниц только малая доля записи читается интенсивно. Поэтому ЭВМ снабжается небольшим  аппаратным устройством, служащим для  отображения виртуальных адресов  в физические  без перехода по таблице страниц. Это устройство называется буфер быстрого преобразования адреса или ассоциативной памятью. Он находится внутри диспетчера памяти и состоит из нескольких записей, каждая из которых содержит инф-цию об одной странице.
Если номер виртуальной  страницы отсутствует в буфере, то диспетчер памяти выполняет его поиск в таблице страниц, после нахождения он удаляет одну из записей в буфере, и на ее место записывает новую.
Алгоритмы замещения страниц.
Когда происходит страничное прерывание, ОС должна выбрать страницу для удаления ее из памяти, чтобы  освободить место для страницы, которую  нужно перенести в память. Для  этого используются специальные  алгоритмы замещения страниц:
    Оптимальный алгоритм ( на сегодняшний день не применяется). В тот момент, когда происходит страничное прерывание в памяти находится некоторое кол- во страниц. Когда появляется необходимость загрузить новую страницу, из памяти выгружается та страница, к которой было меньше всего обращений.
    Не использовавшаяся последнее время страница (NRM).  Большинство ЭВМ с виртуальной памятью поддерживают два статусных бита, связанных с каждой страницей: бит R-чтение или запись, бит M- запись. Каждый процесс запускает оба бита равных нулю. Когда происходит страничное прерывание, ОС проверяет все страницы и делит их на 4 категории на основании текущих значений битов R  и M:
0 класс- не было  обращений и изменений
1 класс- не было  обращений, но страница изменена
2 класс- было обращение,  страница не изменена
3 класс- произошло  обращение и изменение.
Удаляется страница при помощи случайного поискав непустом классе с наименьшим номером.
    Первым прибыл- первым обслужен(FIFO). Довольно редко используется. ОС поддерживает весь список страниц, находящихся в данный момент в памяти, где первая страница считается старейшей, а последняя- недавно прибывшей. При возникновении прерывания выгружается страница находящиеся в начале списка, а новая страница добавляется в конец.
    Вторая попытка. Смотрится бит обращения R, если обращений к странице не было, то она удаляется из памяти и ее место занимает новая. Если обращение было, значение бита обнуляется и страница попадает в конец списка т.е. она считается только что загруженной.
    Часы. Страничные блоки хранятся в памяти виде часов, со стрелкой, указывающей на старейшую страницу. Если обращения к старейшей странице не было, она удается, а стрелка сдвигается вниз. Если обращение было, бит обнуляется.
    Страница не использовавшаяся больше всего (LRU).
    Редко использовавшаяся страница (NFU). Разновидность LRU. Страница имеет свой программный счетчик, который отслеживает как часто обращались к странице. Удаляется страница с наименьшим числом обращений.
    Старые страницы. Аналог NFU.
    Рабочий набор. Представляет собой множество страниц, находящихся в памяти. При возникновении прерывания, выгружаются страницы, находящиеся вне рабочего набора.
       WS clock. Усовершенствованные « Часы». Если обращение было и произошло недавно, бит обнуляется и страница остается в памяти. В обратном случае удаляется.
 
Локальное и глобальное распределение  памяти.
При локальном распределении, в области, соответствующей новой  странице,  ищется страница с наименьшим количеством обращений и удаляется (например, если нужно записать новую  страницу А3, то поиск ведется только в области А).
При глобальном распределении  поиск ведется по всем областям, находится страница с наименьшим числом обращений  и заменяется на новую. 

Вопрос 16. Принципы организации системы прерывания команд. 

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

Вопрос 17. Подсистема ввода- вывода. 

Функционирование  любой ВС сводится к выполнению двух работ: обработки инф- ции и осуществление ее ввода- вывода.
Внешние уст-ва ввода-вывода можно разделить на три группы:
    Уст-ва работающие с пользователем (монитор, клавиатура, мышь).
    Уст-ва работающие с ЭВМ (дисковые уст-ва, датчики, контролеры).
    Уст-ва коммуникации, используемые для связи с удаленными уст-ми (модем, адаптер).
Физич. принципы организации операций ввода-вывода.
УВВ обычно состоят  из электромеханических и электронных  частей. Каждый контролей уст-тв взаимодействует с драйвером уст-ва. Для работы с драйвером контролер имеет несколько регистров, буфер данных и т.д. Каждому управляющему регистру назначается номер порта ввода-вывода. Используя регистр ОС может узнавать о состоянии уст-ва, выполнить операции с ним и т.д.
Процессор, память и  УВВ связанны большим кол-вом  электрических соединений- линий, которые  называют локальной магистралью  ЭВМ.  Эти линии принято группировать в шины. В современной ЭВМ выделяют три типа шин: шину данных, служащая для передачи инф-ции между уст-ми; шину адреса, участвующая в обмене инф-ей;  шину управления, состоящей из линий управляющих магистралью и линий ее состояния.
Кол-во линий входящих в состав шины называется разрядностью- шириной шины. Ширина адресной шины- это максимальный размер ОП. Ширина шины данных- максимальный объем инф-и полученной или переданной по этой шине за один раз.
Основное  моменты функционирования системы вв/выв.
    УВВ подключаются к системе через порты. Есть два адреса пространства: пространство памяти и пространство вв/выв, в которые могут отображаться порты.
    Использование того или иного адресного пространства определяет тип команды или тип ее опереатора.
    Физическое управление вв/выв через порты и выставление некоторых сигналов на магистраль занимается контролер уст-тв.
Контролеры  уст-тв. Обычно имеют 4 регистра: регистр состояния- биты состояния уст-ва, доступные только системе (бит занятости, готовности, ошибки); регистр управления- получает данные, необходимые системе для работы с уств-м. ; регистр входных данных- содержит инф-цию для вывода на устр-во. ; регистр выходных данных-содержит даны для чтения системы.
Способ взаимодействия процессора и контролера называется пуленгом. Технический механизм, позволяющий внешним устр-вам оповещать процессор о завершении команды вв/выв называется механизмом прерываний.  Для реализации данного механизма существует шины прерываний, соединяющие процессор и УВВ. Прерывания характеризуются: обнаруживаются процессором между выполнения команд; происходят асинхронно;  процессор при переходе сохраняет часть своего состояния перед выполнением программы.
Для ЭВМ операции ввода- вывода могут выполняться  тремя способами: 1) С помощью программируемого вв/выв. Когда процессору встречается команда, связанная с вв/выв он выполняет ее, послав следующую программу контролеру.  Он выполняет ее, затем устанавливает биты в регистрах состояния вв/выв и не посылает никаких сигналов. Процессор периодически проверяет состояние вв/выв с целью завершения операции. Таким образом процессор непосредственно управляет вв/выв, включая опознание состояния устр-ва, пересылку команд, передачу данных.  Недостаток данного подхода в потере процессорного времени.  2) Ввод-вывод управляемый прерываниями. Процессор посылает контролеру необходимые команды и продолжает выполнять текущий процесс. При таком методе все таки теряется процессорное время т.к. каждое слово передается из памяти в контролер или обратно, должно пройти через процессор. 3) DMA. Прямой доступ к памяти. Процессор и контролер DMA по очереди управляют основной магистралью. В этом случае спец. модуль прямого доступа управляет обменом данных между ОП и контролером вв/выв. Процессор посылает запрос на передачу блока данных контролеру, а прерывания происходит только после передачи всего блока данных.
Структура системы вв/выв: уст-ва вв/выв различаются по скорости обмена, по кол-ву использовавших их процессоров, по запоминанию выведенной инф-ции, по кол-ву передаваемых битов.
УВВ принято разделять  на символьные (клавиатура, принтер), блочные (диски, флешки), сетевые(сетевые карты), таймеры, граф. диаграммы.
Базовые система  вв/выв.  Обмен данными между пользователями, приложениями и периферийными устр-ми ЭВМ выполняется система ОС- подсистема вв/выв (ПВВ). Основным компонентом ПВВ являются драйвера, управляющие внешними устройствами и файловая система. В работе ПВВ активно участвует диспетчер прерываний. 

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


Перейти к полному тексту работы


Скачать работу с онлайн повышением уникальности до 90% по antiplagiat.ru, etxt.ru или advego.ru


Смотреть полный текст работы бесплатно


Смотреть похожие работы


* Примечание. Уникальность работы указана на дату публикации, текущее значение может отличаться от указанного.