1. Общие принципы построения операционных систем
Вид материала | Лекции |
СодержаниеСодержание курса Тема 2. Операционная система Unix. Лабораторные занятия Темы контрольных работ |
- О. Ю. Якубовская 2011 г. Дисциплина: Операционные системы (2 часть из 2) Специальность:, 45.21kb.
- Вычислительные процессы взаимодействие и управление процессами, 431.51kb.
- 1. Общие принципы построения ЭВМ принципы построения и архитектура ЭВМ, 70.58kb.
- Общие принципы построения и функционирования информационных систем и порядок информационного, 5336.16kb.
- Direct Memory Access dma. Драйверы литература, 56.37kb.
- 1. Лекция: Введение, 344.47kb.
- 1. Лекция: Введение, 365.84kb.
- Государственное образовательное учреждение высшего профессионального образования Волго-Вятская, 71.1kb.
- Что такое “Linux”. Возможности одной из самых динамично-развивающихся свободных операционных, 250.8kb.
- Лекция csos01. 320201. Принципы построения операционных систем (ОС), 50.15kb.
Операционные системы
(специальности НК, НП; НИ курс 1)
Кафедра систем телекоммуникаций, факультет физико-математических и естественных наук
Объем учебной нагрузки: 40 час. – лекции, 40 час. – лабораторные работы.
Кредиты: 3.
Цель курса
Целью курса введение учащихся в предметную область современных систем и сетей телекоммуникаций.
В процессе преподавания курса решаются следующие задачи:
- анализ принципов построения и архитектур операционных систем;
- обучение работе в ОС типа Unix.
Содержание курса
Лекции
Тема 1. Общие принципы построения операционных систем.
- Введение в предмет. Типы ОС. ОС реального времени и разделения времени. Алгоритм работы ОС реального времени и их преимущества и недостатки. Алгоритм работы ОС разделения времени и их преимущества и недостатки. Различия в ОС реального времени и разделения времени. Введение в архитектуру ОС. Архитектура монолитной ОС, примеры таких систем. Архитектура многоуровневой ОС, примеры. Принципы организации ОС типа виртуальной машины, примеры таких машин. Архитектура ОС типа клиент-сервер.
- Понятие процесса, определение процесса, примеры процессов. Понятие примитива, определение примитива, примеры примитивов. Отличия процессов и примитивов. Понятие среды выполнения. Уровень выполнения ядра и уровень выполнения задачи. Создание процессов, управление процессами из программы пользователя.
Тема 2. Операционная система Unix.
- Понятие Производительности систем. Системы сбалансированные, ограниченные по вводу выводу, ограниченные по быстродействию. Описание уровней ядра операционной системы Unix. Функции ядра ОС Unix. Прерывания и особые ситуации в ОС. Уровни прерывания процессора.
- Архитектура ОС Unix. Общее описание подсистем ядра Unix. Понятие концептуальной декомпозиции и реинжиниринга ОС (Схема взаимодействия подсистем ядра). Краткий обзор структур данных ядра (списки, очереди, стеки). Понятие интерфейсов в ОС. Понятие потоков управления и потоков данных в ОС. Понятие процессов – демонов (определение и примеры). Назначение планировщика в ОС (определение, общее описание работы). Понятие приоритетов при выполнении процессов. Понятие порогового приоритета.
- Состав планировщика. Архитектура планировщика (примерная схема с зависимостями, потоками данных, управляющими потоками). Интерфейс планировщика. Зависимости, потоки данных, управление потоками. Связи планировщика с другими подсистемами ядра.
- Понятие контроллера памяти (Memory Manager). Понятие механизма свопинга, определение, преимущества и недостатки. Понятие механизма пейджинга, примеры работы, преимущества и недостатки. Преимущества и недостатки использования виртуальной памяти. Архитектура контроллера памяти, зависимости, потоки данных, управляющие потоки. Интерфейс контролера памяти. Использование интерфейса в программах пользователя. Внутренняя структура контроллера памяти. Связи MM с другими подсистемами ядра.
- Понятие виртуальной файловой системы. Функции виртуальной файловой системы Unix (VFS). Архитектура виртуальной файловой системы. Зависимости Потоки данных. Управляющие потоки. Внешний и внутренний интерфейсы виртуальной файловой системы. Понятие драйверов файловой системы и их типы. Понятие КЭШа. Механизмы обмена данными в ОС. Понятие логической файловой системы. Монтирование и демонтирование. Физическая организация файловой системы. Понятие i-узлов. Типы файлов. Структура файла обычного типа. Особенности организации файловой системы Unix. Внутренняя структура виртуальной файловой системы. Зависимости виртуальной файловой системы от других подсистем ядра.
- Сетевая подсистема. Общие принципы работы. Понятие сокетов. Типы сокетов. Общие принципы взаимодействия ОС через сокеты. Интерфейс сетевой подсистемы. Архитектура сетевой подсистемы. Зависимости. Потоки данных. Управляющие потоки. Состав и описание модулей сетевой подсистемы. Зависимости сетевой подсистемы от других подсистем ядра.
- Подсистема межпроцессного взаимодействия. Понятие сигналов. Использование сигналов. Понятие именованных и неименованных каналов. Использование каналов. Понятие сообщений. Использование сообщений. Механизмы разделения памяти и механизм семафоров. Структура подсистемы межпроцессного взаимодействия. Зависимости подсистемы межпроцессного взаимодействия с другими подсистемами ядра.
- Принципы печати в многопользовательских ОС.
Тема 3. Перспективные направления развития ОС.
- Перспективные направления развития ОС. Виды реализации клиент-серверной архитектуры. Понятие распределенных вычислительных систем. Их виды, преимущества и недостатки. Понятие сильных и слабых связей. Понятие мультипроцессорной обработки. Симметричные и ассиметричные структуры. Понятие кластеров. Введение в архитектуру кластеров. Положительные и отрицательные стороны кластеров. Механизмы связи в многозвенной архитектуре клиент-сервер. Понятие мониторов транзакций. Понятие межмашинных (межпроцессных) взаимодействий — IPC. Упрощенное введение в понятия CORBA, MIDAS, DCOM, OLE2. Понятие WEB технологии.
Лабораторные занятия
Тема 1. Общие вопросы работы в ОС Unix
- Исследование системы Unix посредством ввода команд и интерпретации результатов.
- Изучение экранного редактора VI.
- Ознакомление с методами построения загрузочных модулей и их запуск.
- Исследование методов управления памятью в системе UNIX.
- Работа с файлами.
Тема 2. Работа с IPC
- Исследование методов создания и работы с процессами.
- Исследование методов передачи информации между процессов.
- Исследование методов передачи информации между машинами на основе сокетов.
Темы контрольных работ
Контрольная работа № 1. Общие вопросы работы с ОС Unix.
- Команды ОС Unix.
- Команды экранного редактора VI.
- Управление памятью в системе UNIX.
- Работа с файлами.
Итоговая контрольная работа. Работа с IPC
- Методы создания и работы с процессами.
- Методы передачи информации между процессов.
- Методы передачи информации между машинами на основе сокетов.
Литература
Обязательная
- Робачевский А., Немнюгин С., Стесик О. Операционная система UNIX. - 2-е издание. - Санкт-Петербург: BHV, 2007.
- Таненбаум А. Современные операционные системы. // Изд-во Питер, 2004.
Дополнительная
- Ван Стеен М., Эндрю Таненбаум Распределенные системы. Принципы и парадигмы.- Издательство: Питер.- 2003.
- Вудхалл А., Эндрю Таненбаум Операционные системы: разработка и реализация. Издательство: Питер.- 2006.
- Немеет Э., Снайдер Г., Сибасс С, и др. Unix. Руководство системного администратора. — Киев: BHV, 1997.
- Бек Л. Введение в системное программирование. — М. Мир, 1988.
Программу составил:
Кулябов Дмитрий Сергеевич,
кандидат физико-математических наук, доцент,
кафедра систем телекоммуникаций,
факультет физико-математических и естественных наук