Предмет: Операционные системы.
Вопрос: №1
***
ПО – неотъемлемая часть любой ЭВМ, без которой невозможно получить необходимые результаты всевозможных вычислительных операций. Можно все программное обеспечение разделить на классы: ОС и сервисные программы (это специальные системные программы, с помощью которых можно обслуживать как саму ОС, так и подготавливать для работы носители данных, выполнять перекодирование данных и производить некоторые другие работы связанные с обслуживаем ОС), инструментальные языки и среды программирования, прикладные программы.
Под ОС понимают: комплекс управляющих и обрабатывающих программ, который, с одной стороны, выступает как интерфейс между аппаратной частью компьютера и пользователем с его задачами, а с другой – предназначен для наиболее эффективного использования ресурсов вычислительной системы и организации надежных вычислений. Любой и компонентов прикладного ПО обязательно работает под управлением ОС.
Основные функции ОС:
1.прием от пользователя заданий и команд, сформулированных на соответствующем языке виде команд или указаний (специальных команд) с помощью соответствующего манипулятора (например, мыши), и их обработка.
2. прием и исполнение программных запросов на запуск, приостановку, остановку других программ.
3. загрузка в оперативную память подлежащих исполнению программ.
4. инициация программы (передача данной конкретной программе управления, в результате чего процессор приступает к её выполнению.)
5. идентификация всех программ и данных 6. организация и управление всеми операциями ввода/вывода.
6. распределение памяти и организация виртуальной памяти. 7. планирование и диспетчеризация задач.
8. организация механизмов обмена сообщениями и данными между выполняющимися программами.
9. защита одной программы от влияния другой.
10. предоставление услуг в случае частичного сбоя системы.
11 обеспечение работы систем программирования.
12. обеспечение работы СУБД.
13. обеспечение работы систем управления файлами (организация удобного доступа к данным, организованным как файлы. Именно благодаря данной системе вместо низкоуровнего доступа к данным с указанием конкретных физических адресов записи используется логический доступ с указанием имени файла и записи в нем. СУФ можно выделить как отдельную категорию ПО).
Любая программа имеет дело с некоторыми исходными данными, которые она обрабатывает, порождая в конечном итоге некоторые выходные данные и результаты вычислений. Исходные данные с периферийных устройств попадают в оперативную память, с которой непосредственно работает процессор, выполняя вычисления по программе. Результаты вычислений также должны быть выведены на внешние устройства. Программирование операций ввода/ вывода относится к самым трудоемким задачам. При создании таких программ нужно знать не только архитектуру процессора, но и архитектуру подсистемы ввода/вывода (протоколы обмена данными, алгоритм работы контроллера устройства ввода/вывода). В пятидесятые годы при разработке первых систем программирования прежде всего создавали программные модули для системы ввода/вывода. Благодаря этому при создании прикладных программ программисты могли просто обращаться к соответствующим функциям ввода/вывода. Состав и количество библиотек систем программирования постоянно увеличивались. В конечном итоге возникла ситуация, когда при создании программ в двоичных машинных кодах программистам уже не требовалось знание множества особенностей управления конкретными ресурсами вычислительной системы, а необходимо было только конкретное обращение к некоторой программной подсистеме с целью получения требуемых сервисов. Эта программная подсистема и есть ОС. А набор её функций, сервисов и правил обращения к ним как раз и образует то базовое понятие, которое называется операционной средой.
Операционная среда – это набор соответствующих интерфейсов, необходимых программа и пользователям для обращения к ОС с целью получения определенных сервисов.
Классификация ОС:
ОС могут различаться особенностями реализации внутренних алгоритмов управления основными ресурсами компьютера (процессорами, памятью, устройствами), особенностями используемых методов проектирования, типов аппаратных платформ, областей применения и многими другими свойствами.
В зависимости от особенностей исполь-зуемого алгоритма управления процессором выделяют следующие типы ОС:
Поддержка многозадачности: по числу одновременно выполняемых задач ОС: однозадачные (MSDOS), многозадачные (Unix, Windows). Многозадачные системы подразделяются на три типа в соответствии с использованными при их разработке критериями эффективности: /системы пакетной обработки (ОС ЕС, предназначались для решения задач вычислительного характера, не требующих быстрого получения результатов. В начале работы формируется пакет заданий, каждое задание содержит требования к системным ресурсам; из пакета заданий формируется мульти-программная смесь, т.е. множество одновременно выполняемых задач. После выполнения всего пакета заданий пользователю выдается результат. В настоящее время такие системы почти не используются.); /системы разделения времени (Unix, Windows, призваны исправить основной недостаток систем пакетной обработки – изоляцию пользователя- программиста от процесса выполнения его задач. Каждому пользователю предоставляется терминал, с которого он может вести диалог со своей программой. Каждой задаче выделяется только квант процессорного времени.); /системы реального времени (QNX, RT/11 применяются для управления различными техническими объектами. Способность выдержать заранее заданные интервалы времени между запуском программы и получением результата. Это время называется временем реакции системы. Мультипрограммная смесь представляет собой фиксированный набор заранее разработанных программ, а выбор программы на выполнение осуществляется исходя из текущего состояния объекта или исходя из расписания.)
Поддержка многопользовательского режима: по числу одновременно работающих пользователей: однопользовательские (MSDOS, Windows 3.x), многопользовательские (Unix, Windows на платформе NT). Главное отличие многопольз. систем от однопольз. – наличие средств защиты информации каждого пользователя.
Многопроцессорная обработка: отсутствие или наличие в ОС средств поддержки многопроцессорной обработки. Такие функции имеются (Solaris фирмы Sun, Open Server фирмы Santa Crus Operations, OS/2 фирмы IBM, Windows NT фирмы Microsoft, NetWare фирмы Novell). Данные системы могут классифицироваться по способу организации вычислительного процесса в системе: /Ассиметричная ОС – целиком выполняется только на одном из процессоров системы, распределяя прикладные задачи по остальным процессорам. /Симметричная ОС – полностью децентрализована и использует весь пул процессоров, разделяя их между системными и прикладными задачами.
Поддержка многонитивости: системы поддерживающие и не поддерживающие распараллелива-ния.
По основному архитектурному принципу ОС разделяются на:
микроядерные (QNX; микроядро также работает в привилегированном режиме, но выполняет только минимум функций по управлению аппаратурой. Функции ОС более высокого уровня выполняют специализированные компаненты ОС – серверы, работающие в пользовательском режиме.),
монолитные (Windows 9.x, OS Linux; используется монолитное ядро, которое компонуется как одна программа, работающая а привилегированном режиме и использующая быстрые переходы от одной процедуры на другую, не требующие переключения из привилегированного режима в пользовательский и наоборот).