Студопедия

КАТЕГОРИИ:


Архитектура-(3434)Астрономия-(809)Биология-(7483)Биотехнологии-(1457)Военное дело-(14632)Высокие технологии-(1363)География-(913)Геология-(1438)Государство-(451)Демография-(1065)Дом-(47672)Журналистика и СМИ-(912)Изобретательство-(14524)Иностранные языки-(4268)Информатика-(17799)Искусство-(1338)История-(13644)Компьютеры-(11121)Косметика-(55)Кулинария-(373)Культура-(8427)Лингвистика-(374)Литература-(1642)Маркетинг-(23702)Математика-(16968)Машиностроение-(1700)Медицина-(12668)Менеджмент-(24684)Механика-(15423)Науковедение-(506)Образование-(11852)Охрана труда-(3308)Педагогика-(5571)Полиграфия-(1312)Политика-(7869)Право-(5454)Приборостроение-(1369)Программирование-(2801)Производство-(97182)Промышленность-(8706)Психология-(18388)Религия-(3217)Связь-(10668)Сельское хозяйство-(299)Социология-(6455)Спорт-(42831)Строительство-(4793)Торговля-(5050)Транспорт-(2929)Туризм-(1568)Физика-(3942)Философия-(17015)Финансы-(26596)Химия-(22929)Экология-(12095)Экономика-(9961)Электроника-(8441)Электротехника-(4623)Энергетика-(12629)Юриспруденция-(1492)Ядерная техника-(1748)

По способу взаимодействия с системой

По режиму обработки данных

По назначению

· Общего назначения

· Специального назначения:
ОС для КПК
ОС для встроенных систем
ОС для БД
ОС для задач реального времени (знание времени окончания задачи: медицина, космос)

· Однопрограммные (MS DOS, MSX)

· Мультипрограммные (мульти задачные)(UNIX, OS/2, Win95)

· Ос с пакетной обработкой

· Диалоговые системы

- однопользовательские ОС (MS-DOS, Win до NT)
-мульти терминальные ОС (Linux, UNIX, Win NT)

По способам построения (архитектурным особенностям системы)

· Монолитная, многоуровневая, микро ядерная, объектно-ориентированная

· Множественные прикладные среды, распределенная.

 

WINE – в переводе «это не эмулятор» (штучка чтобы работали exe на линукс).

 

Современные ОС не относятся одному типу, они являются смешанными.
Линукс макро ядерный, а Windows микро ядерный.

 

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

 

Основные функции ОС

· Разработка программ

· Исполнение программ

· Доступ к устройствам В/В

· Контролируемый доступ к файлам

· Системный доступ

· Обнаружение ошибок и их обработка

· Учет использования ресурсов

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

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

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

· Внутренние

· Внешние

Дисциплина обслуживания прерываний:

· С относительным приоритетом

· С абсолютным приоритетом

· По принципу стека

Требования к современным ОС

· Эффективное управление ресурсами

· Обеспечение удобного интерфейса для пользователя и прикладных программ

· Мультипрограммная обработка

· Поддержка виртуальной памяти

· Обеспечение свопинга

· Многооконный интерфейс

· Придерживание принципов построения ОС

1. Модульность.

2. Особый режим работы – для защиты данных.

3. Виртуализация – возможность прозрачного обращения к различным ресурсам.

4. Независимость от внешних устройств – выполнение функционала внешних устройств (кросс платформенные).

5. Мобильность.

6. Совместимость.

7. Генерируемость (сборка, компоновка) – подстройка ОС к конкретной аппаратуре (отключение не нужных драйверов в ядре).

8. Открытость (расширяемость) – Windows закрыта, эта функция не поддерживается.

9. Безопасность – обеспечение механизмов выявление ошибок.

10. Надежность и отказоустойчивость (надежность = время простоя/на кол-во безотказной работы)

11. Производительность - ОС не должна занижать производительность.

 

Лекция №3

Загрузка ОС

1. Включение в сеть

2. Вкл. Кнопки, всем устройствам подается питание.

3. Тестирование устройств – если, в это время произошла ошибка, ПК пищит.

4. BIOS – находится в ПЗУ, содержит драйвера основных устройств.

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

6. Сектор активного раздела AP

7. Корневой каталог AP

8. NTIDR

9. Boot.ini, bootvid.dll (видеодрайвер начальной загрузки), hall.dll, реестр, ntoskrnl.exe

10. Создается пользовательский процесс

11. Загружается систем окружения

12. Регистрация

13. Lass.exe

14. Родительский процесс для всех служебных процессов

15. Рабочий стол explorer.exe

 

Лекция 4

Вычислительный процесс

Процесс – отдельная программа с ее данными, которая выполняется на процессоре, следует разделять процесс и поток. Процесс может выполниться, только если выполняется поток, в одном процессе может быть несколько потоков. Три состояния:

1. Состояние выполнения

2. Готовность выполнению

3. Блокировка или ожидание – ресурсы не могут быть предоставлены.

Ресурс – объект, который может распределяться внутри системы, два класса:

1. Неделимые – те, которые нельзя безболезненно забрать у процесса.

2. Делимые

2.1. Одновременно разделяемые

2.2. Параллельно разделяемые.

Дескриптор – информационная структура, содержащая, следующую информацию:

1. Идентификатор процесса

2. Тип или класс процесса, необходим для ядра когда требуется приоритет

3. Приоритет (число, которое характеризует привилегированность процесса) процесса

4. Переменное состояние

5. Контекст процесса – значение регистров, для восстановления процесса

6. Информация о ресурсах, которыми владеет процесс

7. Адрес процесса, для меж процессного взаимодействия

8. Параметры времени запуска

 

Многозадачность(мультипрограммирование) – способ организации вычислительных процессов, при котором на одном физическом процессоре выполняется несколько программ.

1. Корпоративная многозадачность (не вытесняющая) – само приложение решает когда ему остановиться. Если программа зависла то ПК придаться перезагружать, т.к. на другие процессы не будет времени.

2. Вытесняющая – сейчас все ОС такие.

 

Для нового процесса в линукс execvi в windows createproc.

 

Createproc. Параметры: программа,…,биты управляющие наследованием основных файлов, указатель на структуру…

 

Адресные пространства, почти не пересекаются. Все процессы изолированы друг от друга. Процессы пересекаются в буфере обмена.

Если есть ошибка, процесс аварийно завершается.

В линукс обязательная иерархия процессов.

В виндовс наследование не обязательно, наследование процессов можно изменять.

 

Многопоточность – способность ОС в рамках одного процесса поддерживать несколько потоков. Как правило, все ОС, многопоточны.

Преимущества и недостатки:

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

2. + Меньшее время на создание, завершение или переключение, из-за отсутствия ресурсов.

3. + Возможность использования оного и того же адресного пространства.

4. – Недостатков нет.

 

Планирование потоков

Переход из одного состояния другое.

1. Задать время для смены активного процесса

2. Выбрать из списка всех запущенных потоков

Планирование – работа определение момент времени прерывания активного потока, и какому потоку предоставить возможность выполняться. Планировщики потоков предназначены для повышения эффективности использования ресурсов. 2 класса:

1. Динамические – определяют, что делать на основании текущего состояния.

2. Статические – для распределения потоков, на этапе запуска системы.

 

Алгоритмы планирования

1. Один из самых простых алгоритмов планирования называется FIFO (первым пришел, первого обслужили), длительные процессы заставляют ждать другие процессы, дисперсия времени ожидания не велика.

2. По сроку завершения (DEDLINE) – процесс должен быть выполнен в указанный срок. Тщательное указывание необходимых ресурсов, распределение нагрузки. Для систем реального времени.

3. Циклическое планирование RR – использование FIFO с переключением по кванты времени, основной в системах разделения времени.

4. Кратчайшая задача первая (SJT) - дискриминация маленьких заданий. Кванта ЦП выделяются процессу с минимально требуемом, временем для завершения. Дисперсия вырастает. В системах с пакетной обработкой.

5. Наименьшее оставшееся время выполнения SIT – выполняется процесс, у которого минимальное время до завершения.

6. Соотношение времени наибольшего отклика HRRN – приоритет 1+ время работы оценочное деленое на время ожидания.

Приоритетное планирование:

Приоритет:

1. Статические

2. Динамические

3. Относительные

4. Абсолютные

 

Характеристики ОС.

Планирование в ОС UNIX

1. Вытесняющая многозадачность

2. Приоритеты динамические, абсолютные

3. Проверка приоритетов при возникновении прерываний, при выходе(входе) в системные вызовы.

4. Ядро непрерываемое.

 

Планирование в ОС BSD

Требуемый приоритет (nice). Текущий – является динамически вычисляемым числом от 0 до 127.

0..65 – user-mode, 66-97 – kernel-mode, 96-127 – fixed priority processes (real-time).

Обслуживается 32 очереди (0...3, …, 124..127)

P_priuser=A*p_nice+B*p_cpu,B<0,

· p_cpu для всех процессов периодически уменьшается (раз в секунду)

· p_cpu= p_cpu/2 – резко уменьшается. При больших очередях приоритет практически nice и низкоприоритетные процессы на получают процессорное время.

· p_cpu= p_cpu*q/(q+1), q – длина очереди.

 

Планирование в ОС windows NT

Приоритеты динамические с 32 уровнями

Реальное время (РВ) (16-31), переменные приоритеты (1-15).

Базовый приоритет b – задается при создании процесса, может быть <16 или >=16.

Базовый приоритет может быть изменен ОС во время жизни процесс. Текущий приоритет потока принадлежит диапозону [b-2, b+2]. Приоритеты не РВ потоков изменяются планировщиком динамически. Приоритет растет если процесс на использовал весь квант, в противном случае снижается.

 

Планирование в ОСРВ

 

Алгоритн Liu-Layland:

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

Предположения:

· Все задаачи РВ периодические

· Все задачи независимы

· Срок выполнения задачи равен ее периоду

· Максимальное время решения задачи известно и постоянно

· Суммарная нагрузка формула

Назначаются статические приоритеты – чем меньше mi тем выше приоритет. Если все периоды кратны min(mi) суммарная нагрузка приближается к 1

 

Алгоритм по deadline

Выбирается задача с min ((next_di – current)-mi)

 

 

Лекция №5

 

Причины взаимодействия процессов

Совместный доступ к данным

Понятие «гонка»

Критическая секция

1. Реализация взаимного исключения.

2. Использование блокирующих переменных

Аппаратная блокировка

Строгое чередование

Нестрогое чередование

Примитивы межпроцессорного взаимодействия

Пример с ограниченным буфером

 

Семафоры

Пример с ограниченным буфером с использованием семафоров

Мьютексы

Ждущие таймеры

Причина воздействия процессов

· Передача информации от одного процесса другому.

· Контроль деятельности процессов (два процесса, пытающихся завладеть последним мегабайтом ОП)

· Согласование действий процессов (ожидание результата)

 

 

Совместный доступ к данным

1. Два процесса могут получить доступ к переменной, которая храниться в ядре через системные запросы (пример семафоры).

2. Некоторые ОС (UNIX, Windows) позволяют совместно использовать процессам некоторую часть адресного пространства. Разделяются буфер и другие структуры данных.

3. Совместное использование файла для хранения переменных.

 

Понятие «гонка»

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

1. Процесс Б считывает в буер записи состояние клиента с определенным идентификационным номером.

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

3. Процесс Б приплюсовывает требуемую сумму к текущей сумме на лицевом счете.

4. Процесс А изменяет код, отвечающий за тарифный план абонента.

5. Процесс Б сохраняет сделанные им изменения (пополнение счета)

6. Процесс А, не зная о существовании процесса Б сохраняет свою версию измерений. (тарифный план)+

 

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

 

Критическая секция

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

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

Решение из примера выше – блокировка записи первым процессом, но это не является эффективным методом.

Для исключения гонок необходимо:

1. В конкретный момент времени в критической секции должен находиться только один процесс – это взаимное исключение.

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

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

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

Реализация взаимного исключения

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

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

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

 

Использование блокирующих переменных

1-означает, то нет ни одного процесса критической секции.

0-имеется процесс, работающий в критической секции.

D-ресурс системы. F(D) – функция, возвращающая значения блокирующей переменной.

 

Блок схема

 

Аппаратная блокировка – команда TSL Rx, LOCK,BTS

Данная команда считывает значение слова памяти LOCK в регистр Rx и если считанное знаение равно 1 (нет блокировки другим процессом), то устанавливает LOCK=0. Команда одна и другой процесс не может прервать ее. Блокируется шина памяти.

Enter_region:

TSL Rx. LOCK

CMP Rx, #1 //Проверка значения Rx с единицей

JNE Enter_region //Если Rx!=1 то цикл (активное ожидание) иначе выход

RET //Выход из процедуры.

 

Leave_region

MOVE lock, #1

RET

 

Строгое чередование

Два процесса попадают в критическую секцию строго по очереди.

Реализация процесса А:

While (true)

{

While (turn!=0); //Активное ожидание – бесцельная трата процессорного времени

Critical_region();

Turn=1;

NonCritical_region();

}

 

Реализация процесса Б:

While (true)

{

While (turn!=1);

Critical_region();

Turn=0;

NonCritical_region();

}

 

Метод не удачен, если один процесс гораздо медленнее другого

Лекция № 6

<== предыдущая лекция | следующая лекция ==>
 | Пример ограниченного буфера с семафорами
Поделиться с друзьями:


Дата добавления: 2014-01-04; Просмотров: 493; Нарушение авторских прав?; Мы поможем в написании вашей работы!


Нам важно ваше мнение! Был ли полезен опубликованный материал? Да | Нет



studopedia.su - Студопедия (2013 - 2024) год. Все материалы представленные на сайте исключительно с целью ознакомления читателями и не преследуют коммерческих целей или нарушение авторских прав! Последнее добавление




Генерация страницы за: 0.075 сек.