Операционные системы, среды и оболочки Лекция 1. Понятие операционной системы. Основные функции ОС.
Понятие операционной системы ОС – комплекс управляющих и обрабатывающих программ, интерфейс между аппаратурой компьютера и пользователем с его задачами, предназначен для эффективного использования ресурсов вычислительной системы. Операционные системы призваны упростить управление ресурсами компьютера, разработку прикладного программного обеспечения и работу конечных пользователей.
Развитие ОС ОС развивалась параллельно с аппаратным обеспечением. Появление новых устройств неизбежно приводило к изменению в ОС. (Поддержка 2-х сторонних гибких дисков, поддержка жестких дисков, увеличение их объёма, компакт-дисков, расширенной памяти). Была обеспечена возможность поддержки и других устройств с помощью драйверов, написанных фирмами производителями устройств или иными разработчиками. Была включена поддержка иерархической файловой структуры. Была обеспечена поддержка национальной клавиатуры и алфавитов. Были включены многочисленные новые команды DOS (восстановление информации, разбивка диска, поддержка сжатия диска).
При выпуске новых версий MS-DOS фирма Microsoft следовала двум важнейшим принципам: При выпуске новых версий MS-DOS фирма Microsoft следовала двум важнейшим принципам: сохранение совместимости: любая версия MS-DOS могла использовать программы, написанные для любой предыдущей версии MS-DOS; работоспособность новых версий на любом IBM PC совместимом компьютере, любым монитором. Что же было невозможно: MS-DOS так и осталась однозадачной; оказалось невозможным встроить надёжные средства для защиты данных от несанкционированного доступа; DOS программы выполнялись в пределах 1 Мб памяти, а остальная память использовалась лишь для хранения данных; отсутствие или ограничение поддержки многих устройств в MS-DOS это легло на производителей прикладного программного обеспечения, и часто приложения DOS не поддерживали то или иное периферийное устройство;
Классификация ОС ОС можно классифицировать по следующим показателям Количество пользователей: однопользовательские (MS-DOS, Windows 95/98/ME/NT/2000/XP) многопользовательские (UNIX, LINUX) Многопользовательские ОС – с одной вычислительной системы работают несколько пользователей одновременно, под разными паролями с разных терминалов Количество решаемых задач: однозадачные (MS-DOS) многозадачные (Windows 94/98/ME/NT/2000/XP) Многозадачность – возможность загрузки и выполнения нескольких задач на одной ВС.
Основные компоненты ОС ядро - модули, выполняющие основные функции ОС; модули, выполняющие вспомогательные функции ОС. Модули ядра выполняют такие базовые функции ОС, как управление процессами, памятью, устройствами ввода-вывода и т. п. Ядро составляет основную часть операционной системы. В состав ядра входят компоненты: решающие внутрисистемные задачи - организации вычислительного процесса, такие как переключение контекстов (состояние), загрузка/выгрузка станиц, обработка прерываний. Эти функции недоступны для приложений. для поддержки приложений, создавая для них так называемую прикладную программную среду.
Вспомогательные модули - программы архивирования данных на магнитной ленте, дефрагментации диска, текстового редактора. Вспомогательные модули ОС оформляются либо в виде приложений, либо в виде библиотек процедур Вспомогательные модули - программы архивирования данных на магнитной ленте, дефрагментации диска, текстового редактора. Вспомогательные модули ОС оформляются либо в виде приложений, либо в виде библиотек процедур Вспомогательные модули ОС подразделяются на следующие группы утилиты программы, решающие отдельные задачи управления и сопровождения компьютерной системы (программы сжатия дис­ков, архивирования данных на магнитную ленту и др.); системные обрабатывающие программы (текстовые или графические редакторы, компиляторы, компоновщики, отладчики); программы предоставления пользователю дополнительных услуг - (калькулятор и даже игры); библиотеки процедур различного назначения, упрощающие разработку приложений (библиотека математических функций, функций ввода-вывода и т. д.)
Функции ОС: - прием от пользователя заданий или команд, выданных в виде командной строки или с помощью манипулятора (мыши); - прием и исполнение программных запросов на запуск, приостановку или остановку других программ; - загрузка в оперативную память подлежащих исполнению программ; - инициирование программы (передачи управления на ее выполнение); - идентификация всех программ и данных; - обеспечение работы систем управления файлами (СУФ) и/или систем управления базами данных (СУБД); - обеспечение режима мультипрограммирования, выполнение двух и более задач на одном процессоре; - организация и управление операциями ввода/вывода; - распределение памяти, организация виртуальной памяти; - планирование и диспетчеризация заданий в соответствии с заданной дисциплиной обслуживания;
Основные понятия ОС Исключительные ситуации Исключительная ситуация (exception) – событие, возникающее в результате попытки выполнения программой команды, которая по каким-то причинам не может быть выполнена до конца. Примерами таких команд могут быть попытки доступа к ресурсу при отсутствии достаточных привилегий или обращения к отсутствующей странице памяти. Исключительные ситуации, как и системные вызовы, являются синхронными событиями, возникающими в контексте текущей задачи. Исключительные ситуации можно разделить на исправимые и неисправимые. К исправимым относятся такие исключительные ситуации, как отсутствие нужной информации в оперативной памяти. После устранения причины исправимой исключительной ситуации программа может выполняться дальше. Возникновение в процессе работы операционной системы исправимых исключительных ситуаций считается нормальным явлением. Неисправимые исключительные ситуации чаще всего возникают в результате ошибок в программах (например, деление на ноль). Обычно в таких случаях операционная система реагирует завершением программы, вызвавшей исключительную ситуацию.
Основные понятия ОС Файлы Файлы предназначены для хранения информации на внешних носителях, то есть принято, что информация, записанная, например, на диске, должна находиться внутри файла. Обычно под файлом понимают именованную часть пространства на носителе информации. Главная задача файловой системы (file system) – скрытие особенностей ввода-вывода и возможность дать программисту простую абстрактную модель файлов, независимых от устройств. Для чтения, создания, удаления, записи, открытия и закрытия файлов также имеется обширная категория системных вызовов (создание, удаление, открытие, закрытие, чтение и т.д.). Пользователям хорошо знакомы такие связанные с организацией файловой системы понятия, как каталог, текущий каталог, корневой каталог, путь. Для манипулирования этими объектами в операционной системе имеются системные вызовы.
Основные понятия ОС Процессы, нити Понятие процесса характеризует некоторую совокупность набора исполняющихся команд, ассоциированных с ним ресурсов (выделенная для исполнения память или адресное пространство, стеки, используемые файлы и устройства ввода-вывода и т. д.) и текущего момента его выполнения (значения регистров, программного счетчика, состояние стека и значения переменных), находящуюся под управлением операционной системы. Не существует взаимно-однозначного соответствия между процессами и программами, обрабатываемыми вычислительными системами. Даже в случае обработки только одной программы в рамках одного процесса нельзя считать, что процесс представляет собой просто динамическое описание кода исполняемого файла, данных и выделенных для них ресурсов. Процесс находится под управлением операционной системы, поэтому в нем может выполняться часть кода ее ядра, как в случаях, специально запланированных авторами программы (например, при использовании системных вызовов), так и в непредусмотренных ситуациях (например, при обработке внешних прерываний).
Основные функции ОС Шесть основных функций, которые выполняют классические операционные системы: Планирование заданий и использования процессора. Обеспечение программ средствами коммуникации и синхронизации. Управление памятью. Управление файловой системой. Управление вводом-выводом. Обеспечение безопасности Каждая из приведенных функций обычно реализована в виде подсистемы, являющейся структурным компонентом ОС.
Классификация ОС Многопроцессорная обработка Вплоть до недавнего времени вычислительные системы имели один центральный процессор. В результате требований к повышению производительности появились многопроцессорные системы, состоящие из двух и более процессоров общего назначения, осуществляющих параллельное выполнение команд. Поддержка мультипроцессирования является важным свойством ОС и приводит к усложнению всех алгоритмов управления ресурсами. Многопроцессорная обработка реализована в таких ОС, как Linux, Solaris, Windows NT, и ряде других. Многопроцессорные ОС разделяют на симметричные и асимметричные. В симметричных ОС на каждом процессоре функционирует одно и то же ядро, и задача может быть выполнена на любом процессоре, то есть обработка полностью децентрализована. При этом каждому из процессоров доступна вся память. В асимметричных ОС процессоры неравноправны. Обычно существует главный процессор (master) и подчиненные (slave), загрузку и характер работы которых определяет главный процессор.