- •Часть I. Программное обеспечение
- •КОМПЬЮТЕР
- •Определение программного обеспечения
- •Взаимодействие аппаратного и программного обеспечения
- •Межпрограммный интерфейс и взаимодействие программ различных уровней
- •Системное
- •СИСТЕМНОЕ ПРОГРАММНОЕ ОБЕСПЕЧЕНИЕ
- •СИСТЕМНОЕ ПРОГРАММНОЕ ОБЕСПЕЧЕНИЕ
- •ПРИКЛАДНОЕ ПРОГРАММНОЕ ОБЕСПЕЧЕНИЕ
- •ПРИКЛАДНОЕ ПРОГРАММНОЕ ОБЕСПЕЧЕНИЕ
- •ПРИКЛАДНОЕ ПРОГРАММНОЕ ОБЕСПЕЧЕНИЕ
- •ИНСТРУМЕНТАЛЬНОЕ ПРОГРАММНОЕ ОБЕСПЕЧЕНИЕ
- •Часть II.1
- •Операционная система, сокр. ОС (англ. operating system, OS)— комплекс
- •Основные функциональные задачи ОС
- •Операционная система как виртуальная машина
- •Операционная система как менеджер ресурсов
- •Операционная система как постоянно функционирующее ядро
- •Основные понятия, концепции ОС
- •Основные понятия ОС
- •Основные понятия ОС
- •Основные понятия ОС
- •Основные понятия ОС
- •Основные понятия ОС
- •Основные функции классической ОС
- •Классификация ОС
- •Классификация ОС
- •Классификация ОС
- •Классификация ОС
- •Часть II.2
- •Ядро и вспомогательные модули операционной системы
- •Модули ядра ОС
- •Вспомогательные модули операционной системы
- •Вспомогательные модули операционной системы
- •Ядро и вспомогательные
- •Привилегированный режим процессора
- •Привилегированный режим работы
- •Многослойная структура ОС
- •Детализация структуры ядра
- •Аппаратная зависимость ОС
- •Переносимость операционной системы
- •Переносимость операционной системы
- •Микроядерная архитектура
- •Микроядерная архитектура
- •Достоинства микроядерной архитектуры
- •Совместимость операционных систем
- •Часть II.3
- •Управление памятью
- •Физическая организация памяти
- •Иерархия памяти
- •Представление потоков в оперативной памяти
- •Связывание адресов
- •Виртуальное
- •Виртуальное адресное пространство
- •Алгоритмы распределения памяти
- •Схема с фиксированными разделами
- •Динамическое распределение. Свопинг.
- •Схема с переменными разделами
- •Страничная организация
- •Связь логического и физического адресов
- •Схема адресации при страничной организации
- •Сегментная и сегментно-страничная организация памяти
- •Преобразование логического адреса при сегментной организации
- •Формирование адреса при странично- сегментной организации памяти
- •Виртуальная память
- •Концепция работы с виртуальной памятью
- •Кэширование данных
- •Кэширование данных
- •Часть II.4
- •Организация данных на физических носителях
- •Организация данных на физических носителях
- •Разделы диска
- •Логические устройства. RAID-массивы
- •Создание и управление разделами
- •Менеджер дисков в Windows XP
- •Разделы в UNIX
- •Разделы в UNIX
- •Физическая организация и адресация файлов
- •Физическая организация файла
- •Физическая организация файла
- •Физическая организация файла
- •Физическая организация файла
- •Физическая организация FAT
- •Физическая организация FAT
- •Физическая организация FAT
- •Физическая организация FAT
- •Физическая организация ufs
- •Физическая организация ufs
- •Физическая организация ufs
- •Физическая организация ufs
- •Физическая организация NTFS
- •Физическая организация NTFS
- •Физическая организация NTFS
- •Структура файла в NTFS
- •Структура файла в NTFS
- •Файловые операции
- •Контроль доступа к файлу
- •Основные типы управления доступом
- •Управление доступом в ОС Windows
- •Управление доступом в ОС Windows
- •Управление доступом в UNIX
- •Управление доступом в UNIX
- •Часть II.5
- •Сетевые операционные системы
- •Компьютерные сети
- •Функциональные компоненты сетевой ОС
- •Сетевые службы и сервисы
- •Подходы к построению сетевых операционных систем
- •Типы сетевых ОС
- •Часть II.6
- •Краткие сведения о развитии ОС UNIX
- •Версии UNIX
- •Бесплатные версии ОС семейства UNIX
- •Общие черты UNIX-систем
- •Достоинства UNIX-систем
- •Серверы на основе UNIX
- •Управление компьютером под управлением UNIX
- •Управление компьютером под управлением UNIX
- •Интерпретация командной строки
- •Переменные оболочки
- •Примеры переменных окружения, используемых в командной оболочке bash
- •Специальные символы командной оболочки
- •Файловая система ОС UNIX
- •Особенности файловой системы FreeBSD
- •Структура файловой системы
- •Типы файлов ОС UNIX
- •Монтирование файловой системы
- •Атрибуты файла
- •Команды манипулирования файлами
- •Структура файловой системы UNIX
- •Процессы в ОС UNIX
- •Атрибуты процесса
- •Атрибуты процесса
- •Команды управления процессами
- •Выполнение задач в определенное время
- •Выполнение задач в определенное время
- •Средства системного администрирования
- •Учетные записи пользователей
- •Хранение информации об учетных записях
- •Управление учетными записями
- •Ядро операционной системы
- •Ядро операционной системы
- •Часть II.7
- •История ОС Windows
- •История ОС Windows
- •Особенности Windows XP
- •Особенности Windows XP
- •Администрирование
- •Терминальные службы
- •Взаимодействие с другими ОС
- •Сетевая и системная безопасность
- •Поддержка аппаратного обеспечения
- •Первоначальная
- •Управление службами
- •Команды обслуживания сети
- •Диагностика сети
- •Диагностика сети
- •Конфигурирование сети
- •Конфигурирование сети
- •Сетевые службы
- •Сетевые службы
- •Сетевые службы
- •Мониторинг служб
- •Просмотр сетевых компонентов
- •Использование сетевых ресурсов
- •Службы каталогов
- •Службы каталогов
- •Пространство имен X.500 и
- •Протокол LDAP
- •Использование имен объектов системы
- •Доменная модель службы каталогов
- •Иерархия доменов
- •Доверительные
- •Контроллеры домена
- •Раздел глобального каталога
- •Другие разделы
- •Организационные
- •Физическая структура каталога. Репликация данных.
- •Репликация внутри узла
- •Репликации между узлами
- •Управление службой Active
- •СПАСИБО ЗА ВНИМАНИЕ!
ПРИКЛАДНОЕ ПРОГРАММНОЕ ОБЕСПЕЧЕНИЕ
ПРОГРАММНОЕ ОБЕСПЕЧЕНИЕ ПРОФЕССИОНАЛЬНОГО НАЗНАЧЕНИЯ
Автоматизированное |
Системы |
рабочее |
автоматизированного |
место |
проектирования |
Автоматизированные |
Автоматизированные |
системы научных |
системы |
исследований |
управления |
Системы телекоммуникаций
ИНСТРУМЕНТАЛЬНОЕ ПРОГРАММНОЕ ОБЕСПЕЧЕНИЕ
Инструментальное программное обеспечение — программное обеспечение, предназначенное для использования в ходе проектирования, разработки и сопровождения программ, в отличие от прикладного и системного программного обеспечения. Строго говоря, определение последнего включает в себя определение инструментального, поэтому инструментальное можно считать обособленным подклассом прикладного ПО.
К этой категории относятся программы, предназначенные для разработки программного обеспечения:
•ассемблеры — компьютерные программы, осуществляющие преобразование программы в форме исходного текста на языке
ассемблера в машинные команды в виде объектного кода.
•трансляторы — программы или технические средства, выполняющие трансляцию программы:
компиляторы — программы, переводящие текст программы на языке высокого уровня, в эквивалентную программу на машинном языке.
интерпретаторы — программы (иногда аппаратные средства), анализирующие команды или операторы программы и тут же выполняющие их
•компоновщики (редакторы связей) — программы, которые производят компоновку: принимают на вход один или несколько
объектных модулей и собирают по ним исполнимый модуль.
•препроцессоры исходных текстов — это компьютерные программы, принимающие данные на входе и выдающие данные, предназначенные для входа другой программы, например, такой, как компилятор
•отладчик (debugger) — является модулем среды разработки или отдельным приложением, предназначенным для поиска
ошибок в программе.
•текстовые редакторы — компьютерные программы, предназначенные для создания и изменения текстовых файлов, а также
их просмотра на экране, вывода на печать, поиска фрагментов текста и т. п.
специализированные редакторы исходных текстов — текстовые редакторы для создания и редактирования исходного кода программ. Специализированный редактор исходных текстов может быть отдельным приложением, или
быть встроен в интегрированную среду разработки (IDE).
•библиотеки подпрограмм — сборники подпрограмм или объектов, используемых для разработки программного обеспечения.
•pедакторы графического интерфейса
Перечисленные инструменты могут входить в состав интегрированных сред разработки (IDE)
Часть II.1
Операционные системы, их виды и характеристики
к.т.н. доцент Зубарев И.В. Кафедра электропривода, автоматики и управления в технических системах (ЭАУТС)
Операционная система, сокр. ОС (англ. operating system, OS)— комплекс
управляющих и обрабатывающих программ, которые, с одной стороны, выступают как интерфейс между устройствами вычислительной системы и прикладными программами, а с другой стороны — предназначены для управления устройствами, управления вычислительными процессами, эффективного распределения вычислительных ресурсов между вычислительными процессами и организации надёжных вычислений. Это определение применимо к большинству современных операционных систем общего назначения.
В логической структуре типичной вычислительной системы операционная система занимает положение между устройствами с их микроархитектурой, машинным языком и, возможно, собственными (встроенными) микропрограммами — с одной стороны — и прикладными программами с другой.
Основные функциональные задачи ОС
Операционные системы, как часть системного программного обеспечения, выполняет ряд важных задач:
организация программного интерфейса;
организация программно-аппаратного взаимодействия (взаимодействие с аппаратурой);
организация пользовательского интерфейса;
организация межмашинного взаимодействия.
Операционная система как виртуальная машина
При разработке ОС широко применяется абстрагирование, которое является важным методом упрощения и позволяет сконцентрироваться на взаимодействии высокоуровневых компонентов системы, игнорируя детали их реализации. В этом смысле ОС представляет собой интерфейс между пользователем и компьютером.
Архитектура большинства компьютеров на уровне машинных команд очень неудобна для использования прикладными программами.
Например, работа с диском предполагает знание внутреннего устройства его электронного компонента – контроллера для ввода команд вращения диска, поиска и форматирования дорожек, чтения и записи секторов и т. д.
Современные вычислительные комплексы можно создать иллюзию неограниченного размера операционной памяти и числа процессоров.
Таким образом, операционная система представляется пользователю виртуальной машиной, с которой проще иметь дело, чем непосредственно с оборудованием компьютера.
Операционная система как менеджер ресурсов
Операционная система предназначена для управления
всеми частями сложной архитектуры компьютера.
Представим, к примеру, что произойдет, если несколько
программ, работающих на одном компьютере, будут
пытаться одновременно осуществлять вывод на принтер.
Операционная система предотвращает такого рода хаос
за счет буферизации информации, предназначенной
для печати, на диске и организации очереди на печать.
Для многопользовательских компьютеров
необходимость управления ресурсами и их защиты еще
более очевидна.
Операционная система, как менеджер ресурсов, осуществляет упорядоченное и контролируемое
распределение процессоров, памяти и других ресурсов между различными программами.
Операционная система как постоянно функционирующее ядро
Операционная система – это программа, постоянно работающая на компьютере и взаимодействующая со всеми прикладными программами (резидентные программы).
Во многих современных операционных системах постоянно работает на компьютере лишь часть операционной системы, которую принято называть ее ядром.
Основные понятия, концепции ОС
Системные вызовы
В любой операционной системе поддерживается механизм, который позволяет пользовательским программам обращаться к услугам ядра ОС.
Системные вызовы (system calls) – это интерфейс между операционной системой и пользовательской программой. Они создают, удаляют и используют различные объекты, главные из которых – процессы и файлы. Пользовательская программа запрашивает сервис у операционной системы, осуществляя системный вызов. Имеются библиотеки процедур, которые загружают машинные регистры определенными параметрами и осуществляют прерывание процессора, после чего управление передается обработчику данного вызова, входящему в ядро операционной системы. Цель таких библиотек – сделать системный вызов
похожим на обычный вызов подпрограммы.
Основное отличие состоит в том, что при системном вызове задача переходит в привилегированный режим или режим ядра (kernel mode). Поэтому системные вызовы иногда еще называют программными прерываниями, в отличие от аппаратных прерываний, которые чаще называют просто прерываниями.
В этом режиме работает код ядра операционной системы, причем исполняется он в адресном пространстве и в контексте вызвавшей его задачи. Таким образом, ядро операционной системы имеет полный доступ к памяти пользовательской программы, и при системном вызове достаточно передать адреса одной или нескольких областей памяти с параметрами вызова и адреса одной или нескольких областей памяти для результатов вызова.
В большинстве операционных систем системный вызов осуществляется командой программного прерывания (INT). Таким образом, программное прерывание – это синхронное событие.
Основные понятия ОС
Прерывания
Прерывание (hardware interrupt) – это событие, генерируемое внешним (по отношению к процессору) устройством. Посредством аппаратных прерываний аппаратура либо информирует центральный процессор о том, что произошло какое-либо событие, требующее немедленной реакции (например, пользователь нажал клавишу), либо сообщает о завершении асинхронной операции ввода-вывода (например, закончено чтение данных с диска в основную память).
Важный тип аппаратных прерываний – прерывания таймера, которые генерируются периодически через фиксированный промежуток времени. Прерывания таймера используются операционной системой при планировании процессов.
Каждый тип аппаратных прерываний имеет собственный номер, однозначно определяющий источник прерывания.
Аппаратное прерывание – это асинхронное событие, то есть оно возникает вне зависимости от того, какой код исполняется процессором в данный момент. Обработка аппаратного прерывания не должна учитывать, какой процесс является текущим.