7.-Конспект-лекций.-ОП.01-ОСиСреды.-09.02.07_compressed. Конспекты лекций по дисциплине оп. 01 Операционные системы и среды
Скачать 1 Mb.
|
ДЕПАРТАМЕНТ ОБРАЗОВАНИЯ И НАУКИ ГОРОДА МОСКВЫ ГОСУДАРСТВЕННОЕ БЮДЖЕТНОЕ ПРОФЕССИОНАЛЬНОЕ ОБРАЗОВАТЕЛЬНОЕ УЧРЕЖДЕНИЕ ГОРОДА МОСКВЫ «МОСКОВСКИЙ АВТОМОБИЛЬНО-ДОРОЖНЫЙ КОЛЛЕДЖ ИМ. А. А. НИКОЛАЕВА» КОНСПЕКТЫ ЛЕКЦИЙ по дисциплине ОП.01 Операционные системы и среды Специальность 09.02.07 Информационные системы и программирование Москва 2020 Составитель: Антошков А.А. – преподаватель высшей квалификационной категории ПОЯСНИТЕЛЬНАЯ ЗАПИСКА Дисциплина ОП.01 Операционные системы и среды относится к дисциплинам общепрофессионального цикла и направлена на формирование общих и профессиональных компетенций. Код Общие компетенции ОК 1 Выбирать способы решения задач профессиональной деятельности, применительно к различным контекстам. ОК 2 Осуществлять поиск, анализ и интерпретацию информации, необходимой для выполнения задач профессиональной деятельности. ОК 3 Планировать и реализовывать собственное профессиональное и личностное развитие. ОК 4 Работать в коллективе и команде, эффективно взаимодействовать с коллегами, руководством, клиентами. ОК 5 Осуществлять устную и письменную коммуникацию на государственном языке с учетом особенностей социального и культурного контекста. ОК 6 Проявлять гражданско-патриотическую позицию, демонстрировать осознанное поведение на основе общечеловеческих ценностей. ОК 7 Содействовать сохранению окружающей среды, ресурсосбережению эффективно действовать в чрезвычайных ситуациях. ОК 8 Использовать средства физической культуры для сохранения и укрепления здоровья в процессе профессиональной деятельности и поддержание необхо- димого уровня физической подготовленности. ОК 9 Использовать информационные технологии в профессиональной деятельности. ОК 10 Пользоваться профессиональной документацией на государственном и ино- странном языке. ОК 11 Планировать предпринимательскую деятельность в профессиональной сфере. ПК 4.1 Осуществлять инсталляцию, настройку и обслуживание программного обеспечения компьютерных систем. ПК 4.2 Осуществлять измерения эксплуатационных характеристик программного обеспечения компьютерных систем на соответствие. ПК 4.3 Выполнять работы по модификации отдельных компонент программного обеспечения в соответствии с потребностями заказчика. ПК 4.4 Обеспечивать защиту программного обеспечения компьютерных систем программными средствами. Информационное обеспечение обучения Для реализации программы библиотечный фонд образовательной организации имеет печатные и электронные образовательные и информационные ресурсы, рекомендуемые для использования в образовательном процессе Перечень рекомендуемых учебных изданий, Интернет-ресурсов, дополнительной литературы Основная литература (печатные издания) 1. Федорова Г.И. Разработка, внедрение и адаптация программного обеспечения отраслевой направленности. Учебное пособие. – М.: Издательство Инфра-М. Среднее профессиональное образование. 2016 г. - 336 с. 2. Рудаков А. Технология разработки программных продуктов: учебник. . –М.: Издательство Academia. Среднее профессиональное образование. 2019 г. - 208 с. 3. Федорова Г., Рудаков А. Технология разработки программных продуктов. Практикум: учебное пособие. . – М.: Издательство Academia. Среднее профессиональное образование. 2017 г. - 192 с. Дополнительная литература (печатные издания 4. Орлов С.А., Цилькер Б.Я. Технологии разработки программного обеспечения: учебник.– Издательство Инфра-М.: 2016, - 609 с. 5. Проектирование и реализация прикладного программного обеспечения: учебное пособие. Влацкая И. В., Заельская Н. А., Надточий Н. С. – М.: ОГУ. 2015 г. - 119 с. 3.2.2. Электронные издания (электронные ресурсы) 1. От модели объектов - к модели классов. - http://real.tepkom.ru/Real_OM- CM_A.asp 2. Технология разработки программного обеспечения: - http://window.edu.ru/catalog/pdf2txt/195/19195/1551 ПЕРЕЧЕНЬ ЛЕКЦИЙ № лекции Темы лекций Тема 1. Принципы построения ОС 1 Общие сведения об операционных системах 2 Архитектура операционных систем 3 Микроядерная архитектура (модель «клиент-сервер») 4 Интерфейс пользователя 5 Обработка прерываний 6 Планирование и диспетчеризация процессов 7 Типы загрузки процессов Тема 2. Особенности функционирования операционных систем 8 Мультипрограммирование в системе пакетной обработки, разделения времени, реального времени 9 Мультипроцессорная обработка 10 Методы синхронизации: взаимное исключение, блокирующие переменные 11 Моделирование взаимоблокировок. Методы борьбы с взаимоблокировками 12 Организация памяти 13 Алгоритмы посещения страниц 14 Сегментация памяти 15 Основные концепции организации ввода-вывода 16 Работа ОС с устройствами ввода-вывода 17 Логическая и физическая организация файловой системы 18 Преимущество программируемого таймера. Программное обеспечение таймеров. Способы реализации текущего времени. 19 Основные понятия безопасности Лекция 1 Общие сведения об операционных системах План 1 Определение операционной системы (ОС). Место ОС в программном обеспечении вычислительных систем 2. Эволюция операционных систем 3. Назначение, состав и функции ОС 4. Архитектуры операционных систем 5. Классификация операционных систем 6. Эффективность и требования, предъявляемые к ОС 1. Определение операционной системы (ОС). Место ОС в программном обеспечении вычислительных систем 1946 г. – ENIAC (Electronic Numerical Integrator and Computer) – полное отсутствие какого-либо ПО, программирование путем коммутации устройств. Начало 50-х г. – появление алгоритмических языков и системного ПО. Усложнение процесса выполнения программ: 1. Загрузка нужного транслятора. 2. Запуск транслятора и получение программы в машинных кодах. 3. Связывание программы с библиотечными подпрограммами. 4. Запуск программы на выполнение. 5. Вывод результатов работы на печатающее или другое устройство. Для повышения эффективности использования ЭВМ вводятся операторы, затем разрабатываются управляющие программы – мониторы - прообразы операционных систем. 1952 г. – Первая ОС создана исследовательской лабораторией фирмы General Motors для IBM-701. 1955 г. – ОС для IBM-704. Конец 50-х годов: язык управления заданиями и пакетная обработка заданий. ОПЕРАЦИОННАЯ СИСТЕМА : - это набор программ, контролирующих работу прикладных программ и системных приложений и исполняющих роль интерфейса между пользователями, программистами, приложениями и аппаратным обеспечением компьютера. ОПЕРАЦИОННАЯ СРЕДА- этопрограммная среда, образуемая операционной системой, определяющая интерфейс прикладного программирования (API) как множество системных функций и сервисов (системных вызовов), предоставляемых прикладным программам. ОПЕРАЦИОННАЯ ОБОЛОЧКА- часть операционной среды, определяющая интерфейс пользователя, его реализацию (текстовый, графический и т.п.), командные и сервисные возможности пользователя по управлению прикладными программами и компьютером 2 Расположение ОС в иерархической структуре программного и аппаратного обеспечения компьютера Эволюция ОС 1963 г. – ОС MCP (Главная управляющая программа) для компьютеров B5000 фирмы Burroughs: мультипрограммирование, мультипроцессорная обработка,виртуальная память, возможность отладки программ на языке исходного уровня, сама ОС написана на языке высокого уровня. 1963 г. – ОС CTSS (Compatible Time Sharing System – совместимая система : разделения времени для компьютера IBM 7094 – Массачусетский технологический институт. 1963 г. – ОС MULTICS (Multiplexed Information and Computing Service) – Массачусетский технологический институт. 1974 г. – (UNICS) UNIX (Uniplexed Information and Computing Service) для компьютера PDP-7, публикация статьи Ритчи (С) и Томпсона. 1981 г. – PC (IBM), DOS (Seattle Computer Products) – MS DOS (Б. Гейтс). 1983г. – Apple, Lisa с Apple, Lisa с GUI (Даг Энгельбарт – Стэнфорд). 1985 г. – Windows, X Windows и Motif (для UNIX). 1987 г. – MINIX (Э. Таненбаум) – 11800 стр. С и 800 ассемблер (микроядро – 1600 С и 800 ассемблер) 1991 г. – Linux (Линус Торвальдс). 3. Назначение, состав и функции ОС Назначение 1. Обеспечение удобного интерфейса между приложениями и пользователями, с одной стороны, и аппаратурой компьютера с другой, за счет предоставляемых сервисов: 1.1. Инструменты для разработки программ 1.2. Автоматизация исполнения программ 1.3. Единообразный интерфейс доступа к устройствам ввода-вывода 1.4. Контролируемый доступ к файлам 1.5. Управление доступом к совместно используемой ЭВМ и ее ресурсам 1.6. Обнаружение ошибок и их обработка 1.7. Учет использования ресурсов 2. Организация эффективного использования ресурсов ЭВМ 2.1. Планирование использования ресурса 2.2. Удовлетворение запросов на ресурсы 2.3. Отслеживание состояния и учет использования ресурса 2.4. Разрешение конфликтов между процессами, претендующими на одни и те же ресурсы Облегчение процессов эксплуатации аппаратных и программных средств вычислительной системы 3.1. Широкий набор служебных программ (утилит), обеспечивающих резервное копирование, архивацию данных, проверку, очистку, дефрагментацию дисковых устройств и др. 3.2. Средства диагностики и восстановления работоспособности вычислительной системы и операционной системы: - диагностические программы для выявления ошибок в конфигурации ОС; - средства восстановления последней работоспособной конфигурации; - средства восстановления поврежденных и пропавших системных файлов и др. 4. Возможность развития 4.1. Обновление и возникновение новых видов аппаратного обеспечения 4.2. Новые сервисы 4.3. Исправления (обнаружение программных ошибок) 4.4. Новые версии и редакции ОС Контрольные вопросы 1. Что такое операционная система : (ОС)? 2.Какое место ОС в программном обеспечении вычислительных систем? 3. Опишите состав и функции ОС? 4. Какие модули присутствуют в архитектуры операционных систем? 5. Приведите классификацию операционных систем? Лекция 2 Архитектура операционных систем План 1. Концепции построения ОС; 2. Типы ядер ОС; 3. Распределенность ОС. Особенности архитектуры ОС При описании операционной системы часто указываются основные концепции, положенные в ее основу. К базовым концепциям относятся: · способы построения ядра ОС; · построение на базе ООПодхода; · наличие нескольких прикладных сред; · распределенная организация ОС. По способам построения ядра ОС подразделяются на · монолитные (Windows, Linux – можем сами собрать ядро, включив в него модули и драйверы, которые считаем целесообразным включить); · микроядерные (QNX). Большинство ОС использует монолитное ядро, которое компонуется как одна программа, работающая в привилегированном режиме и использующая быстрые переходы с одной процедуры на другую, не требующие переключения из привилегированного режима в пользовательский и наоборот. Альтернативой является построение ОС на базе микроядра, работающего также в привилегированном режиме и выполняющего только минимум функций по управлению аппаратурой, в то время как функции ОС более высокого уровня выполняют специализированные компоненты ОС - серверы, работающие в пользовательском режиме. Недостаток - ОС работает более медленно, так как часто выполняются переходы между привилегированным режимом и пользовательским. Достоинство - ОС более гибкая - ее функции можно наращивать, модифицировать или сужать, добавляя, модифицируя или исключая серверы пользовательского режима. Кроме того, серверы хорошо защищены друг от друга, как и любые пользовательские процессы. Построение ОС на базе объектно-ориентированного подхода дает возможность использовать все его достоинства, хорошо зарекомендовавшие себя на уровне приложений, внутри операционной системы, а именно: · аккумуляцию удачных решений в форме стандартных объектов, возможность создания новых объектов на базе имеющихся с помощью механизма наследования, · хорошую защиту данных за счет их инкапсуляции во внутренние структуры объекта, что делает данные недоступными для несанкционированного использования извне, · структуризованность системы, состоящей из набора хорошо определенных объектов. Наличие нескольких прикладных сред дает возможность в рамках одной ОС одновременно выполнять приложения, разработанные для нескольких ОС. Многие современные операционные системы поддерживают одновременно прикладные среды MS-DOS, Windows, UNIX (POSIX), OS/2 или хотя бы некоторого подмножества из этого популярного набора. Концепция множественных прикладных сред наиболее просто реализуется в ОС на базе микроядра. Распределенная организация операционной системы позволяет упростить работу пользователей и программистов в сетевых средах. В распределенной ОС реализованы механизмы, которые дают возможность пользователю представлять и воспринимать сеть в виде традиционного однопроцессорного компьютера. Контрольные вопросы 1. Опишите концепции построения ОС; 2. Назовите и охарактеризуйте типы ядер ОС; 3. Что такое распределенность ОС? Лекция 3 Микроядерная архитектура (модель «клиент-сервер») План 1. Концепция микроядерной архитектуры? 2. Преимущества и недостатки микроядерной архитектуры? 3. Совместимость ОС. Микроядерная архитектура является альтернативой классическому способу построения операционной системы. Суть микроядерной архитектуры состоит в следующем. В привилегированном режиме остается работать только очень небольшая часть операционной системы, называемая микроядром (Рисунок 7). Микроядро защищено от остальных частей операционной системы и приложений. В состав микроядра обычно входят машинно-зависимые модули, а также модули, выполняющие базовые (но не все) функции ядра по управлению процессами, обработке прерываний, управлению виртуальной памятью, пересылке сообщений и управлению устройствами ввода-вывода, связанные с загрузкой или чтением регистров устройств. Набор функций микроядра обычно соответствует функциям слоя базовых механизмов обычного ядра. Такие функции операционной системы трудно, если не невозможно, выполнить в пространстве пользователя. Рисунок 1 – Перенос основного объема функций ядра в пользовательское пространство Все остальные более высокоуровневые функции ядра оформляются в виде приложений, работающих в пользовательском режиме. Однозначного решения о том, какие из системных функций нужно оставить в привилегированном режиме, а какие перенести в пользовательский, не существует. В общем случае многие менеджеры ресурсов, являющиеся неотъемлемыми частями обычного ядра – файловая система, подсистемы управления виртуальной памятью и процессами, менеджер безопасности и т. п. – становятся «периферийными» модулями, работающими в пользовательском режиме. Менеджеры ресурсов, вынесенные в пользовательский режим, называются серверами операционной системы, то есть модулями, основным назначением которых является обслуживание запросов локальных приложений и других модулей операционной системы. Очевидно, что для реализации микроядерной архитектуры необходимым условием является наличие в операционной системе удобного и эффективного способа вызова процедур одного процесса из другого. Поддержка такого механизма и является одной из главных задач микроядра. Схематично механизм обращения к функциям операционной системы, оформленным в виде серверов, выглядит следующим образом (Рисунок 8). Клиент, которым может быть либо прикладная программа, либо другой компонент операционной системы, запрашивает выполнение некоторой функции у соответствующего сервера, посылая ему сообщение. Непосредственная передача сообщений между приложениями невозможна, так как их адресные пространства изолированы друг от друга. Микроядро, выполняющееся в привилегированном режиме, имеет доступ к адресным пространствам каждого из этих приложений и поэтому может работать в качестве посредника. Микроядро сначала передает сообщение, содержащее имя и параметры вызываемой процедуры нужному серверу, затем сервер выполняет запрошенную операцию, после чего ядро возвращает результаты клиенту с помощью другого сообщения. Таким образом, работа микроядерной операционной системы соответствует известной модели клиентсервер, в которой роль транспортных средств выполняет микроядро. Рисунок 2 – Реализация системного вызова в микроядерной архитектуре Достоинства микроядерной архитектуры: 1 Переносимость. Высокая степень переносимости обусловлена тем, что весь машинно-зависимый код изолирован в микроядре, поэтому для переноса системы на новый процессор требуется меньше изменений и все они логически сгруппированы вместе. 2Расширяемость присуща микроядерной операционной системе в очень высокой степени. 3Конфигурируемость. При микроядерном подходе конфигурируемость операционной системы не вызывает никаких проблем и не требует особых мер – достаточно изменить файл с настройками начальной конфигурации системы или же остановить не нужные больше серверы в ходе работы обычными для остановки приложений средствами. 4Надежность. Использование микроядерной модели повышает надежность системы. Каждый сервер выполняется в виде отдельного процесса в своей собственной области памяти и таким образом защищен от других серверов операционной системы, что не наблюдается в традиционной операционной системе, где все модули ядра могут влиять друг на друга. 5 Модель с микроядром хорошо подходит для поддержки распределенных вычислений, так как использует механизмы, аналогичные сетевым: взаимодействие клиентов и серверов путем обмена сообщениями. К основному и очень существенному недостатку относится низкая производительность операционной системы микроядерного типа. При классической организации операционной системы выполнение системного вызова сопровождается двумя переключениями режимов, а при микроядерной организации – четырьмя (Рисунок 9). Рисунок 3 – Смена режимов при выполнении системного вызова: в классической архитектуре (а); в микроядерной (б) Таким образом, операционная система на основе микроядра при прочих равных условиях всегда будет менее производительной, чем система с классическим ядром. Именно по этой причине микроядерный подход не получил такого широкого распространения, которое ему предрекали. Примером микроядерной системы является VM/370, использующаяся в мейнфреймах. Однако на настоящий момент не существует операционных систем с чисто классической или микроядерной архитектурой. В результате операционные системы образуют некоторый спектр, на одном краю которого находятся системы с минимально возможным микроядром, а на другом – системы, в которых микроядро выполняет достаточно большой объем функций. Контрольные вопросы 1. Объясните концепцию микроядерной архитектуры? 2. Какие преимущества и недостатки имеет микроядерная архитектура? 3. Как обеспечивается совместимость ОСс разными типами ядер. |