Программа fos (Fundamentals of Operating Systems) «Основы операционных систем»




Скачать 278.85 Kb.
НазваниеПрограмма fos (Fundamentals of Operating Systems) «Основы операционных систем»
страница1/2
Дата конвертации26.03.2013
Размер278.85 Kb.
ТипПрограмма
  1   2
Программа FOS (Fundamentals of Operating Systems)

«Основы операционных систем»

Версия 5.1.0

Урок 1. Основы архитектуры операционных систем. Часть 1

Урок 2. Основы архитектуры операционных систем. Часть 2

Урок 3. Основы работы с Windows 7

Урок 4. Основы работы с Ubuntu Linux
Урок 1

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

Понятие процесса. Термин «программа», как описывающий статический объект, термин процесс, описывающий программу в процессе ее исполнения. Исполнение процессов в многозадачных средах. Понятие о состоянии процессов. Простейшая модель, в которой каждый процесс может находиться в двух состояниях: «исполняется» и «не исполняется». Причины, по которым процесс может не исполняться – занятость процессора исполнением другого процесса и ожидание процессом некоторого события, модель с тремя состояниями: исполняется, готовность, ожидание. Состояния «рождение» и «завершил исполнение», модель с использованием пяти состояний процесса: рождение, готовность, исполнение, ожидание, завершил исполнение. Реализация в различных операционных системах более сложных модели состояний процесса, подобие этих моделей рассмотренной базовой модели. Операции над процессами, производимые операционной системой: создание процесса/завершение процесса, приостановка процесса (перевод из «исполнение» в «готовность»)/запуск процесса (перевод из «готовность» в «исполнение»), блокировка процесса (перевод из «исполнение» в «ожидание»)/разблокировка процесса (перевод из «ожидание» в «исполнение»). Операция изменения приоритета процесса. Одноразовые и многоразовые операции.

Process Control Block (PCB) и контекст процесса. Содержимое PCB (состояние процесса, адрес следующей команды, содержимое регистров процессора и т.д.). Понятие регистрового контекста процесса и системного контекста процесса. Пользовательский контекст процесса.

Создание процессов. Создание процесса другим процессом, отношения parent/child. Различные способы создания PCB для child процесса. Краткое описание процедур запуска, приостановки, блокировки и разблокировки процесса. Переключение контекста процессов.

Необходимость планирования исполнения процессов. Долгосрочное, среднесрочное и краткосрочное планирование процессов. Цели планирования процессов:

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

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

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

  • Обеспечение минимизации времени отклика для интерактивных систем.

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

  • Предсказуемость поведения

  • Минимальные накладные расходы

  • Равномерное использование ресурсов вычислительной системы (помимо процессора)

  • Эффективная работа в условиях большой степени загруженности

Параметры процессов, на основании которым осуществляется планирование процессор, статические (пользователь, запустивший процесс, степень приоритетности процесса etc) и динамические (время от момента загрузки процесса в оперативную память, объем используемой оперативной памяти, количество процессорного времени, уже предоставленное процессу etc) параметры. Динамические параметры краткосрочного планирования – CPU Burst и I/O Burst.

События, после которых необходимо управлять планированием процессов:

  • Переход процесса из состояния «исполнение» в состояние «завершил исполнение»

  • Переход процесса из состояния «исполнение» в состояние «ожидание»

  • Переход процесса из состояния «исполнение» в состояние «готовность»

  • Переход процесса из состояния «ожидание» в состояние «готовность»

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

Алгоритм планирования Fist-Come First-Served (FCFS). Принцип работы алгоритма, легкость его реализации. Пример, демонстрирующий, что среднее время ожидания исполнения и среднее время исполнения процессов, управляемых таким алгоритмом сильно зависит от порядка следования процессов в очереди. Модификация алгоритма FCFS для вытесняющего планирования – Round Robin. Пример, демонстрирующий работу такого алгоритма по сравнению с алгоритмом FCFS, преимущества алгоритма RR.

Алгоритм Shortest-Job-First (SJF) как способ преодоления недостатков алгоритма FCFS, примеры, демонстрирующие эффективность такого алгоритма. Сложности, связанные с реализацией SJF.

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

Выводы – анализ рассмотренных алгоритмов планирования процессов, области применения рассмотренных алгоритмов.

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

  • Повышение эффективной производительности работы системы

  • Необходимость совместно использовать одни и те же данные

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

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

Недостаточность организации взаимодействия между процессами для организации их эффективной совместной работы. Пример, демонстрирующий, что при псевдопараллельном выполнении двух программ, использующих одни и те же данные результат зависит от порядка выполнения операции. Понятие об Interleaving. Понятие о детерминированном и не детерминированном наборе операций. Понятие о race condition. Достаточные условия Бернстайна для того, чтобы набор программ был детерминирован. Не необходимость условий Бернстайна. Понятие о критической секции приложения. Необходимость реализации взаимоисключений для критических секций. Пример, демонстрирующий работу приложения в критической секции. Кратко – алгоритмы организации взаимодействия процессов для критических секций. Требования к алгоритмам предотвращения race condition при выполнении критических участков кода. Использование запрета прерываний на время исполнения критической секции одним из процессов, недостатки. Использование переменной-замка, строго чередования и флагов готовности.

Обзор некоторых алгоритмов синхронизации. Алгоритм Петерсона для двух взаимодействующих процессов. Алгоритм Bakery. Использование команд Test-and-Set и Swap. Реализация синхронизации поведения процессов с помощью семафоров Дейкстра.

Понятие о взаимоблокировках при параллельном исполнении процессов. Условия возникновения взаимоблокировок. Основные направления борьбы с взаимоблокировками. Основные методы предотвращения взаимоблокировок процессов.

Управление памятью в операционных системах.
Физическая организация памяти в операционных системах. Требования к памяти:

  • Большой объем памяти

  • Высокая скорость памяти

  • Низкая (приемлемая) стоимость организации подсистемы памяти компьютера.

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

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

Необходимость управления памятью средствами операционной системы. Общие функции управления памятью:

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

  • Распределение памяти между исполняемыми процессами

  • Контроль доступа к областям памяти, используемым самой операционной системой и запущенными процессами

Простейшие схемы управления памятью, использовавшиеся ранними операционными системами.

Однозадачные операционные системы – размещение одного процесса в памяти. Защита адресного пространства операционной системы от пользовательского процесса.

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

  • Стратегия первого подходящего раздела

  • Стратегия наиболее подходящего раздела

  • Стратегия наименее подходящего раздела

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

  • Ограничение на количество одновременно запущенных процессов

  • Возможность возникновения ситуации, когда ни один из разделов не позволяет разместить в нем пользовательский процесс из-за недостаточного размера раздела.

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

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

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

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

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

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

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

Преимущества использования виртуальной памяти:

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

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

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

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

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

  • Время, необходимое для обработки Page Fault

  • Время, необходимое для выталкивание одной из страниц из оперативной во внешнюю память

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

  • Время, необходимое для возобновления процесса, вызвавшего Page Fault.

Увеличение производительности вычислительной системы путем уменьшения времени обработки Page Fault и уменьшения вероятности возникновения Page Fault.

Алгоритмы эффективного управления страничной памятью.

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

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

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

Алгоритм вытеснения FIFO – вытеснение самой старой страницы. Недостатки такого подхода. Алгоритм OPT – вытеснение страницы, к которой в течение самого долгого времени не будет обращения. Невозможность реализации данного алгоритма на практике вследствие невозможности предсказания в общем случае времени, в течение которого страница не будет использоваться. Алгоритм LRU – выталкивание долее всего не используемой страницы. Сложность реализации алгоритма LRU – необходимость хранения и поддержания специальной таблицы, в которой страницы памяти были бы отсортированы в соответствии со времени последнего использования. Выталкивание редко используемой страницы – алгоритм NFU, возможность реализации алгоритма NFU без использования ресурсов, необходимых для реализации алгоритма LRU.

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

  1   2

Похожие:

Программа fos (Fundamentals of Operating Systems) «Основы операционных систем» iconПрограмма предназначена для работы на персональных компьютерах под управлением операционных систем Windows 2000/XP/2003 Server/Vista/2008 Server/Window в настоящее время программы семейства КонсультантПлюс
Программа предназначена для работы на персональных компьютерах под управлением операционных систем
Программа fos (Fundamentals of Operating Systems) «Основы операционных систем» iconЙоррит  Хердер (Jorrit N. Herder), Херберт  Бос (Herbert Bos), Эндрью  Таненбаум (Andrew S. 
Оригинал: A Lightweight Method for Building Reliable Operating Systems Despite Unreliable Device 
Программа fos (Fundamentals of Operating Systems) «Основы операционных систем» iconToward the next generation of recommender systems: a survey of the state-of-the-art and possible extensions
На пути к новому поколению рекомендационных систем: обзор имеющихся систем и возможные инновации
Программа fos (Fundamentals of Operating Systems) «Основы операционных систем» icon46. Обеспечение иб в сетях Перейдем к рассмотрению системы защиты операционных систем. Ее основными задачами являются идентификация, аутентификация
Перейдем к рассмотрению системы защиты операционных систем. Ее основными задачами являются идентификация, аутентификация, разграничение...
Программа fos (Fundamentals of Operating Systems) «Основы операционных систем» iconПрограмма Microsoft NetMeeting, входящая в состав операционных систем семейства ms windows, основными задачами которой являются коммуникация, передача данных,
Использование и внедрение сетевых технологий в учебно-воспитательный процесс средней школы
Программа fos (Fundamentals of Operating Systems) «Основы операционных систем» iconЛекции по разделу «Табличный процессор»
В настоящее время наиболее мощными и популярными электронными таблицами является программа Microsoft Excel, которая входит в пакет...
Программа fos (Fundamentals of Operating Systems) «Основы операционных систем» iconKerio WinRoute Firewall 0
Интернет и защиты сети от несанкционированного доступа. Он разработан для операционных систем Windows nt 0, 2000 и xp
Программа fos (Fundamentals of Operating Systems) «Основы операционных систем» iconВ качестве методических указаний к лабораторной работе 
В  мае  2010  года  семейство  операционных  систем  на  базе  ядра  Linux  —  третье  по 
Программа fos (Fundamentals of Operating Systems) «Основы операционных систем» icon X: свежие новости и планы на 2007 год
Этой публикацией мы начинаем новый цикл статей, посвящённых семейству операционных систем Windows 
Программа fos (Fundamentals of Operating Systems) «Основы операционных систем» iconВступление
«Evaluating collaborative filtering recommender systems», acm translations on Information Systems, Vol. 22(1), 2004
Разместите кнопку на своём сайте:
kak.znate.ru


База данных защищена авторским правом ©kak.znate.ru 2012
обратиться к администрации
KakZnate
Главная страница