Курс предназначен для студентов младших курсов в области ИТ. Он знакомит с принципами архитектуры и функционирования современных операционных систем (ОС) и сетей, дает теоретические знания и практические навыки для работы в распространенных ОС – Windows, Linux, Solaris, а также в ОС для мобильных устройств и облачных вычислений. Особое внимание уделяется алгоритмам и структурам данных, используемым в ОС, их надежности и безопасности.
В курсе подробно рассматриваются архитектура операционных систем (ОС), основные алгоритмы и структуры данных, используемые в ОС. Рассмотрены методы управления оперативной и внешней памятью, виртуальная память, ее страничная и сегментная организация, методы управления процессами и потоками и их синхронизации, методы диспетчеризации процессов, методы распределения ресурсов и алгоритмы предотвращения и обнаружения тупиков, системы ввода-вывода, файловые системы, сети и сетевые протоколы, безопасность ОС и сетей. Изложение сопровождается практическими примерами, помогающими студентам практически овладеть излагаемыми концепциями. Материал курса отражает 35-летний опыт автора в использовании широкого спектра зарубежных и отечественных ОС (ОС ДИСПАК для БЭСМ-6, ОС “Эльбрус”, ОС ЕС ЭВМ, ОС СМ ЭВМ, MS-DOS, Windows, Solaris, Linux). Курс входит в число основных дисциплин для студентов 2 курса по специальности 010503 (математическое обеспечение и администрирование операционных систем) и 080801, 080802 (прикладная информатика).
ISBN: 978-5-9963-0495-0
В лекции дано определение понятия "операционная система" (ОС). Дан краткий обзор функциональности и назначения ОС, краткий обзор широкого спектра видов и архитектур современных компьютерных систем (настольные, распределенные, мобильные, облачные и др.) и операционных систем для них.
-
В лекции дан исторический обзор ОС, как зарубежных, так и отечественных (ОС ДИСПАК, ОС "Эльбрус" и др.). Рассмотрены основные режимы работы пользователей и заданий в ОС (пакетный, мультипрограммирование, разделение времени).
-
В лекции дан обзор особенностей ОС для различных классов вычислительных устройств (многопроцессорные и распределенные системы, настольные, карманные, мобильные и др.). Рассмотрены ОС реального времени, ОС для облачных вычислений. Проанализирована специфика требований к ОС и архитектур ОС для рассмотренных классов устройств.
-
В лекции подробно рассмотрена архитектура компьютерной системы: управление прерываниями, памятью, вводом-выводом, иерархия памяти, ассоциативная память (кэширование), защита памяти, аппаратная защита памяти в системах с теговой архитектурой.
-
В лекции рассматриваются: архитектура ОС и ее функциональность; управление процессами как основная функция ОС; обзор базовых механизмов синхронизации процессов - семафоров и мониторов.
-
В лекции рассмотрены: обзор функциональности ОС: управление памятью, файлами, процессами, сетями, командными интерпретаторами, сервисы ОС, системные вызовы; организация ОС по принципу уровней абстракции; особенности архитектуры UNIX и MS-DOS.
-
В лекции рассматриваются следующие вопросы: методы проектирования и реализации ОС: уровни абстракции ОС; ОС с архитектурой микроядра; виртуальные машины; цели проектирования и разработки ОС с точки зрения пользователей и разработчиков; генерация ОС для конкретной компьютерной системы при ее инсталляции.
-
В лекции рассмотрены основные концепции управления процессами, планирования и диспетчеризации процессов.
-
В лекции рассматриваются: взаимодействие процессов: проблема ограниченного буфера; проблема "производитель – потребитель"; прямая и косвенная связь процессов; клиент-серверная взаимосвязь; сокетная связь; удаленный вызов процедуры (RPC) и удаленный вызов метода (RMI); выстраивание параметров (marshaling).
-
В лекции рассматриваются понятие потока (thread) и многопоточное выполнение (multi-threading); модели многопоточности; пользовательские потоки и потоки ядра; потоки в "Эльбрусе", Solaris, Linux, POSIX, Windows 2000, Java.
-
В лекции рассмотрены: планирование и диспетчеризация процессора; критерии диспетчеризации; стратегии диспетчеризации (FCFS, SJF, RR); многоуровневые очереди, диспетчеризация мультипроцессорных систем и систем реального времени.
-
В лекции рассмотрена синхронизация процессов: критические секции; алгоритмы решения проблемы взаимного исключения критических секций; двоичные и общие семафоры; решение проблем "ограниченный буфер", "читатели-писатели", "обедающие философы"; мониторы; синхронизация в Solaris и Windows 2000.
-
В лекции вводится понятие тупика (deadlock), рассматриваются модель системы, граф распределения ресурсов, граф wait-for, методы обработки и предотвращения тупиков.
-
В лекции рассмотрены понятие безопасного состояния системы, алгоритм банкира, алгоритмы обнаружения тупиков.
-
В лекции рассмотрены следующие вопросы: принципы управления памятью; устройство управления памятью; логическое и физическое адресные пространства; динамическая линковка; оверлейная структура программы.
-
В лекции рассматриваются: откачка и подкачка (swapping); стратегии динамического распределения памяти; фрагментация; принципы страничной организации; таблица страниц; использование ассоциативной памяти; двухуровневые, иерархические, хешированные и инвертированные таблицы страниц; разделяемые страницы.
-
В лекции рассмотрены: сегментная организация памяти; cегментно- страничная организация памяти (MULTICS, "Эльбрус", Intel x86).
-
В лекции рассмотрены следующие вопросы: концепция виртуальной памяти; страничная организация виртуальной памяти; обработка отсутствия страницы в памяти (page fault); обработка страниц по требованию; совместное использование страниц процессами; файлы, отображаемые в память (memory-mapped files); стратегии замещения страниц; алгоритмы FIFO и LRU; алгоритм "второго шанса"; алгоритмы со счетчиком; выделение фреймов – фиксированное и с приоритетами; thrashing; страничная организация в Windows NT и Solaris.
-
В лекции рассмотрены следующие вопросы: интерфейс с системой файлов; структура файла и операции над файлом; типы файлов; отличия файловых систем в ОС MULTICS и "Эльбрус" от файловых систем в ОС для ПЭВМ; файлы последовательного и прямого доступа; директория, способы организации директорий; монтирование файловых систем; защита файлов; блок управления файлом; принципы реализации файловых систем.
-
В лекции рассмотрены следующие вопросы: виртуальные файловые системы (VFS); реализация файлов с помощью FAT (Windows) и индексных блоков (UNIX); управление внешней памятью; кэширование; файловые системы на основе журнала транзакций; сетевая файловая система NFS.
-
В лекции рассмотрены следующие вопросы: организация ввода-вывода в компьютерной системе и ее поддержка в ОС; контролллеры; драйверы; контроллеры с прямым доступом к памяти (Direct Memory Access – DMA); цикл выполнения задания в ОС, чередование вычислений и ввода вывода, прерывания.
-
В лекции рассмотрены: сети и сетевые структуры;. распределенные и сетевые системы; топологии и типы сетей; коммуникации по сети; маршрутизация; именование и разрешение имен.
-
В лекции рассмотрены: коммуникационные протоколы; уровни организации сетей согласно модели ISO; протокол TCP/IP; протокол GPRS; беспроводные сети, протоколы IEEE 802.11x (Wi-Fi); мгновенные сообщения (Instant Messaging and Presence); обнаружение ошибок в сетях и реконфигурация сетей; задачи проектирования сетей.
-
В лекции рассмотрены следующие вопросы: концепция безопасности; сетевые и системные угрозы (атаки); борьба с атаками; аудит сетевых систем; брандмауэры; обнаружение попыток взлома; криптография; SSL; уровни безопасности компьютеров; решение проблем безопасности в Windows NT и в Microsoft.NET; политики безопасности; инициатива Microsoft Trustworthy Computing Initiative.
-
В лекции рассмотрены следующие вопросы: история создания Linux; Linux и GNU-проекты; ядро Linux; развитие Linux; архитектура Linux; диалекты Linux; Linux как серверная ОС; принципы проектирования Linux; компоненты Linux; динамически подгружаемые модули ядра; управление процессами.
-
В лекции рассмотрены: управление памятью и ресурсами в Linux; файловые системы Linux; драйверы устройств Linux, поддержка сетей в Linux, безопасность в Linux.
-
В лекции рассмотрены следующие вопросы: история Windows; роль Windows NT; архитектура Windows; ядро; исполнительная подсистема; подсистемы окружения.
-
В лекции рассмотрены: система файлов Windows; сетевые средства Windows; программный интерфейс Windows; управление памятью, процессами, заданиями, многопоточность в Windows; поддержка параллельного программирования в Windows; управление физической памятью и рабочими наборами в Windows.
-
В лекции рассмотрены следующие вопросы: академическая программа Windows (WAP); исследовательское ядро Windows с открытыми исходными кодами (WRK); комплект учебных материалов по Windows фирмы Microsoft (CRK); проект Oz по созданию исследовательских ОС на базе WRK.
-
В лекции рассмотрены следующие вопросы: особенности мобильных устройств и операционных систем для мобильных устройств; обзор рынка ОС для мобильных устройств: Windows Mobile, Symbian OS, Google Android, Blackberry OS и др.
-
В лекции рассмотрены следующие вопросы: понятие облачных вычислений (cloud computing) и особенности их организации; сервисы; центры обработки данных; обзор ОС и инструментов для облачных вычислений; Microsoft Windows Azure, ее особенности, преимущества и лидирующая роль в развитии облачных вычислений; платформа Microsoft.NET как базис для архитектуры Windows Azure; перспективы ОС для облачных вычислений.
-
В данной заключительной лекции курса рассмотрены следующие вопросы: обзор других современных ОС, не рассмотренных подробно в курсе (фирм IBM, HP, Oracle/Sun и др.); современные тенденции в развитии ОС; графические оболочки ОС; поддержка распределенных, параллельных, облачных вычислений в ОС; развитие сетей: 3G, 4G, WiMAX; перспективы ОС и сетей.
-
Целью лабораторной работы является практическое освоение операционной системы Windows XP –
ее графической оболочки, входа и выхода, структуры рабочего стола, основных действий и настроек при работе в системе.
Необходимый общий теоретический материал по архитектуре и особенностям ОС Windows представлен в
и данного курса.
-
Целью лабораторной работы является практическое освоение операционной системы Windows Vista –
ее графической оболочки, входа и выхода, структуры рабочего стола, основных действий и настроек при работе в системе.
Необходимый общий теоретический материал по архитектуре и особенностям ОС Windows
представлен в и данного курса.
-
Целью лабораторной работы является практическое освоение операционной системы
Windows Server 2008 – ее графической оболочки, входа и выхода, структуры рабочего стола,
основных действий и настроек при работе в системе. Необходимый общий теоретический материал
по архитектуре и особенностям ОС Windows представлен в и
данного курса.
-
Целью лабораторной работы является практическое освоение операционной системы Windows 7 –
ее графической оболочки, входа и выхода, структуры рабочего стола, основных действий и настроек при
работе в системе. Необходимый общий теоретический материал по архитектуре и особенностям ОС Windows
представлен в и данного курса.
-
Целью лабораторной работы является практическое освоение операционной системы для мобильных устройств
Windows Mobile – ее графической оболочки, входа и выхода, структуры рабочего стола, основных действий и настроек
при работе в системе. Необходимый общий теоретический материал по архитектуре и особенностям ОС для мобильных устройств,
в том числе - Windows Mobile, представлен в данного курса.
-
Целью лабораторной работы является практическое освоение Windows Azure– новейшей платформы Microsoft для облачных вычислений (cloud computing).
Необходимый теоретический материал по основам облачных вычислений и основам
архитектуры платформы Windows Azure представлен в данного курса.
Работа в Windows Azure требует наличия академического доступа к Windows Azure, либо платной регистрации в ней.
Альтернативой является использование бесплатной облачной системы Windows Live , основанной на Windows Azure, что и учтено в данной лабораторной работе.
При подготовке лабораторной работы использованы материалы [17-20].
-
Целью лабораторной работы является практическое освоение Windows Research Kernel (WRK) –
исходных кодов исследовательского ядра Windows, предназначенных для более глубокого изучения архитектуры
Windows и исследований в области операционных систем. Необходимый вводный и общий теоретический материал по
архитектуре и особенностям WRK представлен в данного курса. Данная лабораторная
работа является лишь начальным практическим ознакомлением с пакетом WRK, использование которого в обучении
операционным системам само по себе может стать основой для семестрового или полугодового курса и (или)
семинара по ОС. Методы использования WRK, а также основы внутренней архитектуры Windows описаны в книге
. Пакет WRK доступен для скачивания преподавателями, аспирантами и студентами,
зарегистрированными с помощью Microsoft Passport, по ссылке с академического
сайта Microsoft. Размер дистрибутива для скачивания – 14 мегабайт.
-
Целью лабораторной работы является практическое освоение операционной системы Linux –
ее графической оболочки, входа и выхода, структуры рабочего стола, основных действий и настроек при
работе в системе. Необходимый общий теоретический материал по архитектуре и особенностям ОС Linux
представлен в лекциях и данного курса.
-