Нижегородский государственный университет им.Н.И.Лобачевского.

ЛАБОРАТОРИЯ ИНФОРМАЦИОННЫЕ ТЕХНОЛОГИИ

Факультет вычислительной математики и кибернетики

Лаборатория ITLabМероприятияОрганизацияСессии"Архитектура операционных систем. Практическое руководство" Февраль 2006 гАннотации тем и разделов Switch to English version  
Новости
О Лаборатории
Обучение
Исследования
Образовательные комплексы
Семинар Лаборатории
Мероприятия
Организация
Участие
Вакансии Интел
Сотрудничество
Разработчики сайта
О нас пишут
Летняя школа 2011
Видео лекции
Клуб У.М.Н.И.К.
Имя:
Пароль:
запомнить:
Забыли пароль? Регистрация

Аннотации тем и разделов

Аннотации к программе учебной сессии
"Архитектура операционных систем. Практическое руководство"

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

Операционные системы и Системное программирование. М.Л. Зубов (2 часа)
Программирование для встраиваемых систем, получивших в настоящее время повсеместное распространение, предъявляет специфичные требования к разработчикам программного обеспечения. Разработчик должен планировать и учитывать не только логику работы прикладной части программного обеспечения, но и условия, в которых будет выполняться его программа: ограниченные ресурсы, специфика аппаратной платформы и пр.
В лекции рассматриваются основные особенности архитектуры встраиваемых систем и средств их разработки. В качестве иллюстрации используется ОС eCos и средства разработки ПО для нее.
Основные понятия и терминология теории операционных систем. А.В. Линёв (6 часов)
Лекция посвящена рассмотрению основных понятий теории операционных систем, установлению связи между ними и реализации в различных операционных системах. Обсуждаются различные классификации ОС; требования, предъявляемые ОС к аппаратным ресурсам, и частные случаи реализации этих требований; архитектуры популярных ОС. Вводятся понятия ресурса, процесса, потока и т.д.
Лабораторный практикум, день 1.
Современные операционные системы предлагают прикладному программисту множество объектов специальных типов, предназначенных для организации взаимодействия процессов/потоков. На лабораторном практикуме рассматриваются различные способы идентификации объектов подобного типа и организации совместного доступа процессов к таким объектам.

Принципы управления ресурсом "оперативная память". А.В. Линёв (8 часов)
Оперативная память - один из важнейших аппаратных ресурсов; она необходима для работы любого приложения, но допускает одновременное использование ее частей несколькими процессами. Управление оперативной памятью - сложный и многогранный процесс, решающий набор связанных задач и учитывающий множество аспектов, в частности:
  • целевая архитектура памяти;
  • модель адресации целевой архитектуры (алгоритм формирования физических адресов из адресов, используемых в прикладных программах);
  • способ описания физической памяти;
  • вид адресного пространства, выделяемого процессу, и способ его отображения на физическую память;
  • логическая структура адресного пространства процесса;
  • алгоритм связывания адресов программных модулей с адресами адресного пространства процесса;
  • алгоритм обеспечения пространственного мультиплексирования (распределения оперативной памяти между работающими процессами).
    В лекции рассматриваются общие положения, связанные с выше перечисленными аспектами, а также разбираются некоторые детали реализации менеджеров памяти Windows и UNIX.
    Лабораторный практикум, день 2.
    Лабораторный практикум посвящен двум основным вопросам:
  • структура адресного пространства процесса;
  • распределение оперативной памяти между процессами.
    Для размещения кода и данных прикладной программы операционная система создает процесс и формирует для него адресное пространство. Способ организации адресного пространства зависит от архитектуры вычислительной системы, внутренняя структура - от операционной системы. В первой части практикума рассматривается, как программа может узнать структуру своего адресного пространства и изменить его.
    Алгоритм распределения оперативной памяти между процессами в современных ОС часто реализуется в виде сочетания стратегий выборки, размещения и замещения страниц и является частью ядра ОС. Вторая часть практикума посвящена рассмотрению структуры менеджера памяти ОС Linux и основных концепций, лежащих в его работы.

    Управление памятью и потоками в операционной системе eCos. Э.А. Бабкин (2 часа)
    Разработчик приложений для встраиваемых систем не может ориентироваться на конкретный класс оборудования с четко определенными характеристиками и должен иметь возможность удобной миграции между аппаратными платформами. Какими свойствами должна обладать архитектуры системы и каков должен быть состав программных средств для выполнения эффективной разработки для нескольких аппаратных платформ? В лекции рассматривается архитектура ОС eCos и особенности реализации в ней подсистем управления ресурсами "оперативная память" и "центральный процессор", позволяющие выполнять разработку для различных платформ.
    Принципы управления ресурсом "время центрального процессора". А.В. Линёв (2 часа)
    Лекция представляет обзор общих вопросов организации многозадачности, распределения времени центрального процессора между задачами и классических алгоритмов планирования.
    Процессы и потоки в Windows. Планирование в Windows. А.А. Лабутина (2 часа)
    В лекции рассматриваются вопросы реализации в ОС Windows объектов "процесс" и "поток": структура объектов и операции над ними. Разбираются диаграмма состояний и алгоритм планирования Windows NT/2000/XP/2003. Отдельное внимание уделяется планированию на многопроцессорных системах.
    Планирование в UNIX и Linux. А.В. Линёв (2 часа)
    В различных операционных системах класса UNIX, конечно, реализованы различные алгоритмы планирования. Лекция содержит рассмотрение нескольких примеров и описание алгоритма планирования, реализованного в ядре ОС Linux (ver. 2.4.), достаточное для выполнения задания лабораторного практикума.
    Лабораторный практикум, день 3.
    Слушателям предлагается модифицировать ядро ОС Linux (ver. 2.4.) и реализовать:
  • невытесняющий алгоритм планирования FIFO,
  • вытесняющий алгоритм планирования Round Robin,
  • вытесняющий чисто приоритетный алгоритм планирования (с алгоритмом Round Robin внутри очередей).
    Для реализаций требуется определить значение характеристик "пропускная способность" и "оборотное время" для предложенного набора задач и объяснить полученные результаты.

    Взаимодействие параллельно выполняющихся программ. Синхронизация и передача данных. А.В. Линёв (8 часов)
    Параллельно выполняющиеся программы могут синхронизировать свое выполнение и обмениваться данными. Мы не рассматриваем вопросы разработки параллельных приложений - мы показываем, какие объекты для организации взаимодействия процессов может предоставить операционная система прикладному программисту, и как эти объекты реализованы.
    Основные темы раздела: постановка задачи взаимного исключения и ее различные решения, проблема тупиков, теоретические примитивы синхронизации, API организации взаимодействия процессов в Windows и UNIX.
    Лабораторный практикум, день 4.
    Практикум предполагает самостоятельную реализацию решения задачи взаимного исключения с использованием специальных команд процессора.
    Для заданных программ необходимо оценить время выполнения для различных комбинаций следующих условий:
  • используются собственные функции синхронизации или функции синхронизации Windows;
  • число потоков, синхронизирующих выполнение.
    Результаты экспериментов необходимо объяснить.

    Особенности разработки и отладки ПО для встроенных систем. Разработка ПО для ОС eCos. Э.А. Бабкин, М.Л. Зубов (8 часов)
    Лабораторный практикум (день 5) знакомит слушателей с комплексом программно-аппаратных средств, используемых при разработке ПО для встраиваемых систем. В ходе практикума участникам предлагается подготовить собственный пакет ПО, сформировать его загружаемый образ, проверить работоспособность с использованием эмулятора и, наконец, запустить выполнение на целевой архитектуре.

    Принципы работы систем управления файлами. А.В. Линёв (8 часов)
    С точки зрения пользователя и прикладного программиста, файловая система - иерархическая структура, в узлах которой размещены объекты ограниченного набора типов (файлами, каталоги и т.д.) Фактически, вся информация размещена на устройствах различных типов и структурирована различными способами.
    В лекции рассматриваются задачи подсистемы управления файлами, типы объектов файловой системы и операции над ними, используемые структуры данных, взаимодействие с другими подсистемами и отдельными модулями.
    Лабораторный практикум, день 6.
    На лабораторном практикуме обсуждается реализация системы управления файлами в ОС Linux (ver. 2.4), место, задачи и структура драйвера файловой системы на примере драйвера ФС Minix. Отдельное внимание уделяется использованию в драйвере ФС функций менеджера памяти.
  • Новости

    14.11.2015
    16.10.2015
    16.10.2015
    14.10.2015
    20.09.2015

    © ITLab, Нижний Новгород,  2009