
- •Эволюция операционных систем. Структура вычислительной системы
- •Понятие операционной системы.
- •Функции операционных систем.
- •Основные понятия и концепции ос.
- •Архитектурные особенности ос.
- •Классификация ос.
- •Краткие сведения об архитектуре компьютера.
- •История создания ос корпорации Microsoft.
- •Системы Unix и Linux.
- •Дистрибутивы Linux.
- •Процессы. Понятие процесса.
- •Состояния процесса.
- •Одноразовые операции. Упрощенная иеархическая структура процессов.
- •Многоразовые операции. Приостановка, блокирование и разблокирование процесса.
- •Переключение контекста. Выполнение операции разблокирования процесса.
- •Планирование процессов. Уровни планирования процессов.
- •Критерии планирования и требования к алгоритмам.
- •Вытесняющее и невытесняющее планирование.
- •Алгоритм планирования First-Come, First-Served (fcfs).
- •Алгоритм планирования Round Robin (rr).
- •Алгоритм планирования Shortest-Job-First (sjf).
- •Гарантированное планирование.
- •Приоритетное планирование.
- •Многоуровневые очереди с обратной связью (Multilevel Feedback Queue).
- •Категории средств обмена информацией.
- •Логическая организация механизма передачи информации. Установка связи.
- •Особенности передачи информации с помощью линий связи.
- •Буферизация.
- •Поток ввода/вывода и сообщения.
- •Надежность средств связи. Завершение связи.
- •Потоки исполнения.
- •Алгоритмы синхронизации. Interleaving, race condition и взаимоисключения.
- •Критическая секция.
- •Программные алгоритмы организации взаимодействия процессов.
- •Требования, предъявляемые к алгоритмам синхронизации.
- •Запрет прерываний.
- •Переменная-замок.
- •Флаги готовности.
- •Алгоритм Петерсона.
- •Команда Test-and-Set (проверить и присвоить).
- •Команда Swap (обменять значения).
- •Механизмы синхронизации процессов и потоков.
- •Цели и средства синхронизации.
- •Решение проблемы producer-consumer с помощью семафоров.
- •Wait-функции и ожидаемые таймеры.
- •События и семафоры.
- •Мьютексы.
- •Реализация мониторов и передачи сообщений с помощью семафоров.
- •Реализация семафоров и передачи сообщений с помощью мониторов
- •Реализация семафоров и мониторов с помощью очередей сообщений
- •Управление памятью. Физическая организация памяти
- •Физическая организация памяти компьютера
- •Свойство локальности
- •Логическая память
- •Связывание адресов
- •Функции системы управления памятью
- •59. Схема управления памятью с одним процессом в памяти
- •Страничная память
- •Сегментная и сегментно-страничная организация памяти
- •Виртуальная память. Архитектурные средства поддержки виртуальной памяти. Понятие виртуальной памяти
- •Архитектурные средства поддержки виртуальной памяти
- •Страничная виртуальная память
- •Сегментно-страничная организация виртуальной памяти
- •Структура таблицы страниц
- •Ассоциативная память
- •Размер страницы
- •Аппаратно-независимый уровень управления виртуальной памятью. Исключительные ситуации при работе с памятью
- •Стратегии управления страничной памятью
- •Алгоритмы замещения страниц: общие правила, классификация, эффективность
- •Алгоритм fifo
- •Аномалия Билэди
- •Оптимальный алгоритм (opt)
- •Алгоритм nru
- •Алгоритм lru
- •Программное моделирование алгоритма lru
- •Трешинг
- •Моделирование рабочего множества
- •Страничные демоны (сервисы). Фоновый процесс
- •Программная поддержка сегментной модели памяти процесса
- •Файловая система. Файлы с точки зрения пользователя. Функции файловой системы
- •Общие сведения о файлах (имена, типы, атрибуты)
- •Организация файлов и доступ к ним (последовательный, прямой). Формы организации файлов
- •Операции над файлами
- •Директории. Логическая структура файлового архива
- •Разделы диска
- •Операции над директориями
- •Защита файлов
- •Реализация файловой системы. Общая структура файловой системы. Блок-схема файловой системы
- •Управление внешней памятью. Методы выделения дискового пространства
- •Выделение непрерывной последовательностью дисковых блоков
- •Связанный список. Хранение файла в виде связанного списка дисковых блоков.
- •Индексные узлы.
- •Управление свободным и занятым дисковым пространством.
- •Структура файловой системы на диске. Примерная структура файловой системы на диске.
- •Связывание файлов. Структура файловой системы с возможностью связывания файла с новым именем.
- •Кооперация процессов при работе с файлами.
- •Примеры разрешения коллизий и тупиковых ситуаций.
- •Hадежность файловой системы.
- •Целостность файловой системы.
- •Порядок выполнения операций.
- •Журнализация.
- •Производительность файловой системы. Кэширование.
- •Современные архитектуры файловых систем.
- •Дополнительные возможности современных файловых систем (на примере ntfs ос Windows xp).
- •Система управления вводом-выводом
- •Физические принципы организации ввода-вывода.
- •Общие сведения об архитектуре компьютера.
- •Прямой доступ к памяти (Direct Memory Access – dma).
- •Структура системы ввода-вывода. Логические принципы организации ввода-вывода.
- •Структура подсистемы ввода-вывода. Драйверы.
- •Функции подсистемы ввода-вывода.
- •Компоненты подсистемы ввода-вывода (структурная схема).
- •Диспетчер ввода-вывода.
- •Типовая обработка ввода-вывода.
- •Установка драйвера.
- •Диспетчер электропитания.
- •Сетевые и распределенные операционные системы.
- •Взаимодействие удаленных процессов как основа работы вычислительных сетей.
- •Основные вопросы логической организации передачи информации между удаленными процессами.
- •Понятие протокола.
- •Многоуровневая модель построения сетевых вычислительных систем. Семиуровневая эталонная модель osi/iso.
- •Проблемы адресации в сети. Одноуровневые адреса. Двухуровневые адреса.
- •Удаленная адресация и разрешение адресов. Схема разрешения имен с использованием dns-серверов.
- •Основные понятия информационной безопасности. Угрозы безопасности
- •Формализация подхода к обеспечению информационной безопасности.
- •Криптография как одна из базовых технологий безопасности ос.
- •Шифрование. Шифрование открытым ключом.
- •Шифрование с использованием алгоритма rsa.
- •Защитные механизмы ос. Идентификация и аутентификация
- •Пароли, уязвимость паролей.
- •Шифрование пароля.
- •Авторизация. Разграничение доступа к объектам ос.
- •Аудит системы защиты.
- •Анализ некоторых популярных ос с точки зрения их защищенности: ms-dos; Windows nt/2000/xp; Windows Vista; Windows 7.
- •Брандмауэр ос ms Windows.
Системы Unix и Linux.
UNIX – многопользовательская операционная система, которая первоначально была предназначена для мини-компьютеров, но затем охватила широкий диапазон машин – от персональных компьютеров до суперкомпьютеров. Наиболее известны три варианта UNIX: UNIX SVR4 – широко используемая система, сочетающая в себе многие современные возможности; Solaris – наиболее распространенная коммерческая версия UNIX; в числе ее особенностей – многопоточность и другие возможности, отсутствующие в SVR4 и большинстве других вариантов UNIX; Linux – бесплатная, быстро приобретающая популярность версия UNIX.
Linux – это оригинальная реализация операционной системы UNIX для Intel-платформ, разработанная в 1990-х годах молодым студентом хельсинского университета Линусом Торвальдсом. С самого начала Linux распространялся свободно в рамках движения Open Source (Открытый код) и GNU – проекта создания свободного программного обеспечения.
Программное обеспечение, распространяемое под этой лицензией, можно как угодно дорабатывать, модифицировать, передавать или продавать другим лицам при условии, что результат такой переработки тоже будет распространяться под лицензией GPL. Последнее условие – самое важное и определяющее в этой лицензии. Оно гарантирует, что результаты усилий разработчиков свободного программного обеспечения останутся открытыми и не станут частью какого-либо, лицензированного обычным способом продукта. Оно также отличает свободное программное обеспечение от программ, распространяемых бесплатно. Другими словами, лицензия GPL делает программное обеспечение свободным и гарантирует, что оно останется свободным. Распространяемые на таких условиях программы являются бесплатными для пользователей.
Открытость исходных кодов программ оказывает весьма благотворное влияние на качество программного обеспечения: все лучшее, все новые идеи и решения сразу же широко распространяются, а все ошибки замечаются и быстро устраняются. Начинает работать механизм естественного отбора, который подавлен в том варианте подхода к распространению программ, который практикуется в коммерческом программном обеспечении.
Учитывая то, что исходные коды Linux распространяются свободно и общедоступны, к развитию системы с самого начала подключилось большое число независимых разработчиков. Благодаря этому на сегодняшний момент Linux – самая современная, устойчивая и быстроразвивающаяся система, почти мгновенно вбирающая в себя самые последние технологические новшества. Она обладает всеми возможностями, которые присущи современным полнофункциональным операционным системам типа UNIX, и имеет следующие преимущества:
дает возможность бесплатно и легально иметь современную операционную систему для использования, как на работе, так и дома;
обладает высоким быстродействием;
работает надежно, устойчиво, совершенно без зависаний;
не подвержена воздействию вирусов; за более чем десятилетнее широкое использование только несколько вирусов было написано под Linux. Такую устойчивость можно объяснить основательной архитектурой системы, которая состоит из независимых слоев, имеющих специфические возможности и строгое разграничение прав доступа. Можно добавить, что обычный пользователь имеет строгую и ограниченную роль в Linux-системе; есть только один пользователь-администратор, который может подвергнуть опасности всю систему;
позволяет полностью использовать возможности современных компьютеров, снимая ограничения, присущие DOS и Windows по использованию памяти и ресурсов процессора;
эффективно управляет многозадачностью и приоритетами: фоновые задачи, такие как длительные вычисления, передача электронной почты, форматирование дискеты и т. д., не мешают интерактивной работе;
позволяет выполнять представленные в формате загрузки прикладные программы других операционных систем, в том числе различных версий UNIX, DOS и Windows;
обеспечивает использование огромного числа разнообразных программных пакетов, накопленных в мире UNIX и свободно распространяемых вместе с исходными текстами;
предоставляет богатый набор инструментальных средств для разработки прикладных программ любой степени сложности, включая системы класса клиент-сервер, объектно-ориентированные, с многооконным текстовым и/или графическим интерфейсом, пригодных для работы как в Linux, так и в других операционных системах;
дает пользователю и особенно разработчику замечательную учебную базу в виде богатой документации и исходных текстов всех компонент, включая ядро самой системы;
дает возможность всем желающим попробовать свои силы в разработке, организовать общение и совместную работу через Интернет с любыми из разработчиков Linux и внести свой вклад, став соавтором системы.
Linux – это многопользовательская сетевая операционная система с сетевым оконным графическим интерфейсом. Все компоненты системы, включая исходные тексты, распространяются с лицензией на свободное копирование и установку для неограниченного числа пользователей.