Информатика и вычислительная техника
  • формат pdf
  • размер 1,84 МБ
  • добавлен 18 октября 2014 г.
Столяров А.В. Введение в операционные системы
Конспект лекций. — М.: Изд. отдел фак-та ВМиК МГУ, 2006. — 192 с.: ил. — ISBN 5-89407-246-8.
В пособии изложен материал лекционного курса «Операционные системы», читавшегося автором для студентов второго курса бакалавриата факультета вычислительной математики и кибернетики МГУ им. М.В. Ломоносова с 2004 по 2011 гг. Курс включает теоретические сведения о задачах операционных систем, об организации многозадачного режима работы, ввода-вывода, об управлении виртуальной памятью. На примере ОС Unix иллюстрируется взаимодействие пользовательской задачи с операционной системой: описываются системные вызовы ввода-вывода, управления процессами, средства взаимодействия процессов в ОС Unix, мультиплексирование ввода-вывода и основы событийно-ориентированного программирования. Приводятся сведения о проблемах, возникающих при работе с разделяемыми данными, вводятся классические понятия мьютекса и семафора Дейкстры, разбираются задачи о пяти философах, о производителях и потребителях, о читателях и писателях; материал иллюстрируется на примере семафоров и мьютексов стандарта Posix, для чего даются базовые сведения об облегчённых процессах (тредах) и библиотеке pthread. Кратко излагаются архитектурные основы X Window System.
Содержание
Краткая история вычислительной техники
Ранние вычислительные устройства
Электромеханические и релейные машины
Первое поколение ЭВМ (радиолампы)
Второе поколение ЭВМ (машины на транзисторах)
Третье поколение ЭВМ (интегральные схемы)
Четвертое поколение (персональные компьютеры)
Задачи современных операционных систем
Мультизадачность
Одновременное исполнение нескольких задач
Пакетный режим
Другие способы планирования времени ЦП. Режим разделения времени
Планирование времени ЦП в режиме реального времени
Требования к аппаратуре для обеспечения мультизадачного режима
Аппарат прерываний
Внешние (аппаратные) прерывания
Внутренние прерывания (ловушки)
Программные прерывания. Системные вызовы
Привилегированный и ограниченный режимы. Ядро и процессы
Эмуляция физического компьютера
Иерархия запоминающих устройств
Управление оперативной памятью
Проблемы, решаемые менеджером памяти
Управление памятью: общие понятия
Модели организации виртуальной памяти
История ОС Unix
Краткое введение в Unix
Сеанс работы
Дерево каталогов и навигация. Файлы
Аргументы командной строки
Перенаправления ввода-вывода
Управление процессами
Выполнение в фоновом режиме
Командные файлы
Переменные окружения
Ввод-вывод
Необходимость абстрагирования
Две точки зрения на ввод-вывод
Драйверы
Ввод-вывод на разных уровнях ВС
Уровни программной организации ввода-вывода
Взаимодействие ОС с аппаратурой
Буферизация ввода-вывода
Файловый ввод-вывод
Общие понятия файловых систем
Файловая система ОС Unix
Системные вызовы для работы с файлами
Файлы устройств и классификация устройств
Процессы: общие сведения
Свойства процесса
Легковесные процессы
Процессы в ОС Unix
Свойства процесса
Управление процессами
Жизненный цикл процесса
Ситуация гонок (race condition)
Управление свойствами процесса
Текущий и корневой каталоги
Окружение
Параметр umask
Манипуляция таблицей дескрипторов
Управление прочими свойствами процесса
Общая классификация средств взаимодействия процессов в ОС Unix
Сигналы
Предназначение некоторых сигналов
Отправка сигнала
Обработка сигналов
Системный вызов alarm()
Заключение
Каналы
Неименованные каналы
Использование неименованных каналов для построения конвейеров
Именованные каналы (FIFO)
Отображение файлов в виртуальное адресное пространство; разделяемая память
Взаимодействие процессов через псевдотерминал
Краткие сведения о трассировке
Взаимодействие по сети. Сокеты
Понятие протокола. Модель ISO OSI
Сокеты. Семейства адресации и типы взаимодействия
Работа с адресами сокетов. Вызов bind()
Прием и передача дейтаграмм
Потоковые сокеты. Клиент-серверная модель
Использование сокетов для связи родственных процессов
Проблема очередности действий и ее решения
Суть проблемы
Решение на основе обслуживающих процессов
Мультиплексирование ввода-вывода. Событийно-управляемое программирование
Группы процессов и сеансы в ОС Unix
Общие сведения
Управление сеансами и группами
Процессы-демоны
Загрузка и жизненный цикл ОС UNIX
Взаимоисключения
Ситуация гонок (race condition)
Взаимоисключения. Критические секции
Устаревшие подходы к организации взаимного исключения
Мьютексы и семафоры
Примеры взаимоисключений
Задача производителей и потребителей
Задача о пяти философах и проблема тупиков
Проблема читателей и писателей
Семафоры и мьютексы в ОС Unix
Два типа семафоров в ОС Unix
Pthreads: легковесные процессы в ОС Unix
Мьютексы pthreads
POSIX-семафоры
Пример
Графический интерфейс в ОС Unix. Система X Window
Базовые принципы построения X Window
Оконные менеджеры
Сетевые X-терминалы
Электронная версия бумажного издания.