В курсе описаны фундаментальные принципы проектирования и реализации операционных систем.
Курс базируется на семестровом курсе «Введение в операционные системы», читаемом авторами в МФТИ и может рассматриваться как учебник для студентов, специализирующихся в области информатики. Курс включает теоретические главы, а также обширный иллюстрационный материал, позволяющий ознакомиться с отдельными аспектами функционирования операционных систем на практике.
Теоретическая часть состоит из 16 лекций. Она имеет традиционное построение и содержит следующие разделы: введение, понятие и реализация процессов, взаимодействие процессов, проблемы взаимоблокировок, организация памяти, структура файловой системы, описание системы ввода-вывода, сети и безопасность операционных систем. Большинство разделов состоит из нескольких тематически связанных глав. В курсе много иллюстраций. В конце каждой теоретической главы перечисляются наиболее важные концепции и идеи, приводятся наборы тестов, которые могут быть использованы для самоконтроля.
Материалы практических занятий дополняют лекционный курс и используются для иллюстрации реализации теоретических положений на примере операционной системы UNIX. На практике рассматриваются организация процессов, различные способы их взаимодействия, устройство файловой системы, системы ввода-вывода, начала сетевого программирования. Текст, размещенный в практической части курса, содержит многочисленные ссылки на лекционный материал.
ISBN: 978-5-9556-0044-4
В данной лекции вводится понятие операционной системы; рассматривается эволюция развития операционных систем; описываются функции операционных систем и подходы к построению операционных систем.
-
В лекции описывается основополагающее понятие процесса, рассматриваются его состояния, модель представления процесса в операционной системе и операции, которые могут выполняться над процессами операционной системой.
-
В этой лекции рассматриваются вопросы, связанные с различными уровнями планирования процессов в операционных системах. Описываются основные цели и критерии планирования, а также параметры, на которых оно основывается. Приведены различные алгоритмы планирования.
-
Одной из функций операционной системы является обеспечение
санкционированного взаимодействия процессов. Лекция посвящена основам
логической организации такого взаимодействия. Рассматривается расширение
понятия процесс – нить исполнения (thread).
-
Для корректного взаимодействия процессов недостаточно
одних организационных усилий операционной системы. Необходимы определенные
внутренние изменения в поведении процессов. В настоящей лекции
рассматриваются вопросы, связанные с такими изменениями, приводятся
программные алгоритмы корректной организации взаимодействия процессов.
-
Для повышения производительности вычислительных систем и
облегчения задачи программистов существуют специальные механизмы
синхронизации. Описание некоторых из них – семафоров Дейкстры,
мониторов Хора, очередей сообщений – приводится в этой лекции.
-
В лекции рассматриваются вопросы взаимоблокировок, тупиковых ситуаций и "зависаний" системы
-
В настоящей лекции рассматриваются простейшие способы управления памятью в ОС. Физическая память компьютера имеет иерархическую структуру. Программа представляет собой набор сегментов в логическом адресном пространстве. ОС осуществляет связывание логических и физических адресных пространств.
-
Рассмотрены аппаратные особенности поддержки виртуальной памяти. Разбиение адресного пространства процесса на части и динамическая трансляция адреса позволили выполнять процесс даже в отсутствие некоторых его компонентов в оперативной памяти. Следствием такой стратегии является возможность выполнения больших программ, размер которых может превышать размер оперативной памяти.
-
Большинство ОС используют сегментно-страничную виртуальную память. Для обеспечения нужной производительности менеджер памяти ОС старается поддерживать в оперативной памяти актуальную информацию, пытаясь угадать, к каким логическим адресам последует обращение в недалеком будущем.
-
В настоящей лекции вводится понятие и рассматриваются основные функции и интерфейс файловой системы.
-
Реализация файловой системы связана с такими вопросами, как поддержка понятия логического блока диска, связывания имени файла и блоков его данных, проблемами разделения файлов и управления дисковым пространством.
-
В лекции рассматриваются основные физические и логические принципы организации ввода-вывода в вычислительных системах.
-
В лекции рассматриваются особенности взаимодействия процессов, выполняющихся на разных операционных системах, и вытекающие из этих особенностей функции сетевых частей операционных систем.
-
Рассмотрены подходы к обеспечению безопасности информационных систем.
Ключевые понятия информационной безопасности: конфиденциальность,
целостность и доступность информации, а любое действие, направленное
на их нарушение, называется угрозой. Основные понятия информационной
безопасности регламентированы в основополагающих документах.
Существует несколько базовых технологий безопасности, среди которых
можно выделить криптографию.
-
Решение вопросов безопасности операционных систем обусловлено их архитектурными особенностями и связано с правильной организацией идентификации и аутентификации, авторизации и аудита.
-