1. Общие принципы построения операционных систем

Вид материалаЛекции

Содержание


Содержание курса
Тема 2. Операционная система Unix.
Лабораторные занятия
Темы контрольных работ
Подобный материал:
Операционные системы

(специальности НК, НП; НИ курс 1)

Кафедра систем телекоммуникаций, факультет физико-математических и естественных наук

Объем учебной нагрузки: 40 час. – лекции, 40 час. – лабораторные работы.

Кредиты: 3.

Цель курса


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

В процессе преподавания курса решаются следующие задачи:
  • анализ принципов построения и архитектур операционных систем;
  • обучение работе в ОС типа Unix.

Содержание курса


Лекции

Тема 1. Общие принципы построения операционных систем.
  1. Введение в предмет. Типы ОС. ОС реального времени и разделения времени. Алгоритм работы ОС реального времени и их преимущества и недостатки. Алгоритм работы ОС разделения времени и их преимущества и недостатки. Различия в ОС реального времени и разделения времени. Введение в архитектуру ОС. Архитектура монолитной ОС, примеры таких систем. Архитектура многоуровневой ОС, примеры. Принципы организации ОС типа виртуальной машины, примеры таких машин. Архитектура ОС типа клиент-сервер.
  2. Понятие процесса, определение процесса, примеры процессов. Понятие примитива, определение примитива, примеры примитивов. Отличия процессов и примитивов. Понятие среды выполнения. Уровень выполнения ядра и уровень выполнения задачи. Создание процессов, управление процессами из программы пользователя.

Тема 2. Операционная система Unix.
  1. Понятие Производительности систем. Системы сбалансированные, ограниченные по вводу выводу, ограниченные по быстродействию. Описание уровней ядра операционной системы Unix. Функции ядра ОС Unix. Прерывания и особые ситуации в ОС. Уровни прерывания процессора.
  2. Архитектура ОС Unix. Общее описание подсистем ядра Unix. Понятие концептуальной декомпозиции и реинжиниринга ОС (Схема взаимодействия подсистем ядра). Краткий обзор структур данных ядра (списки, очереди, стеки). Понятие интерфейсов в ОС. Понятие потоков управления и потоков данных в ОС. Понятие процессов – демонов (определение и примеры). Назначение планировщика в ОС (определение, общее описание работы). Понятие приоритетов при выполнении процессов. Понятие порогового приоритета.
  3. Состав планировщика. Архитектура планировщика (примерная схема с зависимостями, потоками данных, управляющими потоками). Интерфейс планировщика. Зависимости, потоки данных, управление потоками. Связи планировщика с другими подсистемами ядра.
  4. Понятие контроллера памяти (Memory Manager). Понятие механизма свопинга, определение, преимущества и недостатки. Понятие механизма пейджинга, примеры работы, преимущества и недостатки. Преимущества и недостатки использования виртуальной памяти. Архитектура контроллера памяти, зависимости, потоки данных, управляющие потоки. Интерфейс контролера памяти. Использование интерфейса в программах пользователя. Внутренняя структура контроллера памяти. Связи MM с другими подсистемами ядра.
  5. Понятие виртуальной файловой системы. Функции виртуальной файловой системы Unix (VFS). Архитектура виртуальной файловой системы. Зависимости Потоки данных. Управляющие потоки. Внешний и внутренний интерфейсы виртуальной файловой системы. Понятие драйверов файловой системы и их типы. Понятие КЭШа. Механизмы обмена данными в ОС. Понятие логической файловой системы. Монтирование и демонтирование. Физическая организация файловой системы. Понятие i-узлов. Типы файлов. Структура файла обычного типа. Особенности организации файловой системы Unix. Внутренняя структура виртуальной файловой системы. Зависимости виртуальной файловой системы от других подсистем ядра.
  6. Сетевая подсистема. Общие принципы работы. Понятие сокетов. Типы сокетов. Общие принципы взаимодействия ОС через сокеты. Интерфейс сетевой подсистемы. Архитектура сетевой подсистемы. Зависимости. Потоки данных. Управляющие потоки. Состав и описание модулей сетевой подсистемы. Зависимости сетевой подсистемы от других подсистем ядра.
  7. Подсистема межпроцессного взаимодействия. Понятие сигналов. Использование сигналов. Понятие именованных и неименованных каналов. Использование каналов. Понятие сообщений. Использование сообщений. Механизмы разделения памяти и механизм семафоров. Структура подсистемы межпроцессного взаимодействия. Зависимости подсистемы межпроцессного взаимодействия с другими подсистемами ядра.
  8. Принципы печати в многопользовательских ОС.

Тема 3. Перспективные направления развития ОС.
  1. Перспективные направления развития ОС. Виды реализации клиент-серверной архитектуры. Понятие распределенных вычислительных систем. Их виды, преимущества и недостатки. Понятие сильных и слабых связей. Понятие мультипроцессорной обработки. Симметричные и ассиметричные структуры. Понятие кластеров. Введение в архитектуру кластеров. Положительные и отрицательные стороны кластеров. Механизмы связи в многозвенной архитектуре клиент-сервер. Понятие мониторов транзакций. Понятие межмашинных (межпроцессных) взаимодействий — IPC. Упрощенное введение в понятия CORBA, MIDAS, DCOM, OLE2. Понятие WEB технологии.

Лабораторные занятия


Тема 1. Общие вопросы работы в ОС Unix
  1. Исследование системы Unix посредством ввода команд и интерпретации результатов.
  2. Изучение экранного редактора VI.
  3. Ознакомление с методами построения загрузочных модулей и их запуск.
  4. Исследование методов управления памятью в системе UNIX.
  5. Работа с файлами.

Тема 2. Работа с IPC
  1. Исследование методов создания и работы с процессами.
  2. Исследование методов передачи информации между процессов.
  3. Исследование методов передачи информации между машинами на основе сокетов.

Темы контрольных работ


Контрольная работа № 1. Общие вопросы работы с ОС Unix.
  1. Команды ОС Unix.
  2. Команды экранного редактора VI.
  3. Управление памятью в системе UNIX.
  4. Работа с файлами.

Итоговая контрольная работа. Работа с IPC
  1. Методы создания и работы с процессами.
  2. Методы передачи информации между процессов.
  3. Методы передачи информации между машинами на основе сокетов.

Литература


Обязательная
  1. Робачевский А., Немнюгин С., Стесик О. Операционная система UNIX. - 2-е издание. - Санкт-Петербург: BHV, 2007.
  2. Таненбаум А. Современные операционные системы. // Изд-во Питер, 2004.

Дополнительная

  1. Ван Стеен М., Эндрю Таненбаум Распределенные системы. Принципы и парадигмы.- Издательство: Питер.- 2003.
  2. Вудхалл А., Эндрю Таненбаум Операционные системы: разработка и реализация. Издательство: Питер.- 2006.
  3. Немеет Э., Снайдер Г., Сибасс С, и др. Unix. Руководство системного администратора. — Киев: BHV, 1997.
  4. Бек Л. Введение в системное программирование. — М. Мир, 1988.


Программу составил:

Кулябов Дмитрий Сергеевич,

кандидат физико-математических наук, доцент,

кафедра систем телекоммуникаций,

факультет физико-математических и естественных наук