litceysel.ru
добавить свой файл
1
Введение.



История развития вычислительных систем достаточно коротка и, если опустить длительный период вызревания идей и методов построения универсальной вычислительной машины, то точкой отсчета зарождения науки о УВМ можно считать работу Чарльза Бэббиджа XIX. Детально разработанный им проект программируемой универсальной вычислительной машины не был реализован из-за финансовых проблем, но послужил основой для дальнейших исследований. Работа Алана Тьюринга (1937) впитала все прогрессивные идеи математики по построению УВМ и содержала описание гипотетической машины с универсальной системой вычислений.

Практическая реализация проектов по построению УВМ можно датировать 1944 г., когда Говард Айкен и группа исследователей из IBM создали первую электрическую машину MARK 1 основанную на релейных элементах. Но уже в 1946 г. на смену релейных элементов пришли электронные лампы, и появилась ENIAC которая считала в 1000 раз быстрей. Ввод программ в ЭВМ подобных ENIAC производился непосредственно перед выполнением чаще всего штекерным методом, да и архитектура этих ЭВМ мало еще походила на архитектуру современных.

В 1950-1955 г. началось массовое производство ЭВМ первого поколения (UNIVAC 1 (USA), МЭСМ (СССР)) с элементной базой основанной на электронных лампах. Ранее ЭВМ производились в единственном числе, то теперь их создание вышло из рамок экспериментального и встало на промышленную основу. Широкое применение ЭВМ инициировало зарождение идеи о создании языков программирования высокого уровня и операционных систем.

ЭВМ второго поколения 1957-1964 элементная база которых основывалось на полупроводниковых ключах - транзисторах практически все работали под управлением операционной системы в состав которой входили и компиляторы с языков высокого уровня, таких как FORTRAN, ALGOL и т.д.

С развитием микроэлектроники сменялась, и элементная база ЭВМ возрастала их производительность, расширялись сферы использования, и выкристаллизовывалась общая архитектура. В это время развивалась и теоретическая информатика, основоположником которой можно считать Джон фон Неймана. Он активно занимался математической логикой, теорией алгоритмов и создал новое направление в науке - теорию игр. Для практической реализации ЭВМ им было предложено многое, но великолепная его идея хранить программу и данные в памяти ЭВМ основа всех современных вычислительных машин.


На смену транзистору как основы элементной базы ЭВМ пришли интегральные микросхемы их сменили БИС (большие интегральные схемы) и СБИС (сверхбольшие интегральные схемы) это привело как к увеличению производительности ЭВМ так и к их миниатюризации. В это время зародились основные идеи которые используют современных ОС:

Мультипрограммирование - это организации вычислительного процесса, при котором на одном процессоре попеременно выполняются несколько задач. Пока одна задача занята операцией ввода-вывода, процессор не простаивает, а выполняет другую задачу (многозадачный режим).

Системы виртуальных машин - это система разделения времени, где для каждого пользователя создается видимость единоличного использования вычислительной машины.

И в конце 70 годов в начале 80 годов прошлого столетия на арену вышли компьютеры среднего класса и персональные компьютеры. Их влияние на общество и производство особенно усилилось с выпуском PC архитектуры IBM.

Низкая стоимость PC, простота обслуживания и несложная для использования ОС открыла широкий доступ пользователей к вычислительной технике. Ранее для обслуживания ВТ организовывалось целое предприятие - вычислительный цент (ВЦ), теперь для обслуживания достаточно отдела или даже одного высокообразованного сотрудника. К операционным системам стали предъявлять требования по усовершенствованию "дружественного" интерфейса. Развитие локальных сетей построенных на объединение ПК сделал актуальным вопрос о сетевых ОС. Данные ОС давали доступ пользователям ПК к ресурсам сети и управляли этими ресурсами.

По определению - операционной системой называется комплекс программных изделий, которые совместно управляют ресурсами вычислительной системы и процессами, использующими эти ресурсы. Если принять за основу, ниже приведенную архитектуры ЭВМ, то основными ресурсами предоставляемыми ВС являются: ЦП, ОЗУ, устройства ввода - вывода, устройство долговременного хранения информации.




АЛУ (арифметико-логическое устройство) и блок управления или ЦП









Рассмотрим подробнее использование данных ресурсов.

ЦП включающий в себя арифметико-логическое устройство и управляющее устройство это основа любой ВС. На основании параметров этого узла рассчитывается производительность ВС и ее возможности по обработке информации. Общая организация работы этого узла сводится к следующему алгоритму:


  1. Определяет адрес следующей команды для выполнения;

  2. Считывает команду и расшифровывает ее;

  3. Считывает операнды команды из памяти и помещает их в АЛУ;

  4. Настраивает АЛУ на выполнение команды и исполняет ее;

  5. Пересылает результаты по адресу указанному в команде;


Основные параметры, характеризующие ЦП - это тактовая частота, спектр команд, скорость пересылки команд и данных между ЦП и ОЗУ. Для процессоров используемых в ПК - тактовая частота и спектр команд определяется на основе типа используемого процессора, а скорость обмена зависит от частоты шины обмена, внутреннего и внешнего КЭШа материнской платы и процессора.

ОЗУ - оперативное запоминающее устройство, которое хранит команды данные и результаты текущей обработки. Для обеспечения быстрого выбора команд и данных для выполняемой программы ее полностью помещают с устройства долговременного хранения в ОЗУ перед выполнением. Основные параметры, характеризующие ОЗУ это естественно объем и время выборки. Чем больше объем ОЗУ и меньше время выборки, тем эффективнее работает ЦП поскольку он не простаивает в ожидании загрузки команд и данных.


Устройства ввода - вывода информации и устройства долговременного хранения информации это огромный класс внешних устройств, спектр которых все время расширяется. Как правило, эти устройства подразделяют на два типа устройства блочного типа обмен информацией, с которыми производится по блочно и символьные устройства обмен информацией, с которыми производится по байтно. Естественно назвать обобщенные параметры таких устройств сложно их слишком много, но скорость обмена наверно присуща всем.

Обеспечить эффективное функционирование такой вычислительной системы и предоставить общее управление ее работой пользователю, вот для чего предназначена операционная система.


Операционные системы подразделяются на однозадачные и многозадачные, на однопользовательские и многопользовательские, на однопроцессорные и многопроцессорные, на системы, поддерживающие многонитевую обработку и неподдерживающие ее и т.д.

К однозадачным, однопользовательским относятся DOS. В данной системе может выполнятся только одна активная задача с ней работает только один пользователь и она не предоставляет ни каких ресурсов по управлению сетью.

К многозадачным, однопользовательским операционным системам относится WINDOWS. В данной системе может выполняться несколько задач, но работать с системой может только один пользователь.

К многозадачным и многопользовательским операционным системам относится UNIX, LINUX, WINDOWS NТ, OS/390, VMS, OS/2 и т.д. В этих системах выполняется множество задач и с этими системами одновременно работает несколько пользователей.

Организация однозадачной, однопользовательской системы наиболее просто в сравнении с другими (но намного сложней, чем большинство прикладных программ). Действительно, поскольку в системе работает только один пользователь и одна задача то борьба за ресурсы ВС отсутствует и распределение ресурсов ЦП сводится к выполнению программы и обработке нештатных ситуаций (типа прерываний). Распределение ОЗУ между ОС и рабочей программой чаще всего требует организации оверлеев и динамической загрузки программ управления внешними устройствами (драйверами). Наиболее сложной частью такой системы является файловая система - система обеспечивающая работу с устройствами долговременного хранения информации - жесткими и гибкими дисками. То есть, основные классы задачи, которые должно решать ОС выглядят следующим образом:



  1. Загрузка ОС при включении ВС и настройка векторов прерываний на модули их обработки.

  2. Обеспечение управление внешними устройствами посредством драйверов.

  3. Обеспечение загрузки пользовательских программ и распределения памяти (управление памятью - malloc() ).

  4. Поддержка файловой системы для обеспечения работы с устройствами долговременного хранения информации (open(), read(), close()).

  5. Обеспечить разработчика интерфейсом доступа к набору функций управления системой (API- application program interface).

  6. Обеспечения пользователя минимальным набором команд позволяющим управлять системой (командный процессор - copy, dir ).


В многозадачных, однопользовательских системах - параллельно выполняется несколько задач, которые конкурируют за ресурсы системы. В связи с этим к основным задачам, решаемым ОС, добавляется класс управления задачами (диспетчер задач) да и остальные задачи становятся намного сложней, ибо они должны, теперь решатся в условиях множественных (иногда параллельных) запросов от разных задач. Такие системы строятся с использованием вытисняющей или не вытисняющей многозадачностью. При использовании вытисняющей многозадачности планирование распределения процессорного времени возложено на ОС (OS/2), в ином случае активная задача добровольно должна передать управление другой (WINDOWS 3.1, NetWare).

В многозадачных, многопользовательских системах возникает задача управления пользователями и их задачами. Данные ОС наиболее сложны и разнообразны. Квалификация системных программистов работающих с ними наиболее высока. При эксплуатации данные системы требуют системных администраторов, которые настраивают систему и поддерживают работу с системой, как разработчиков прикладных программ, так и пользователей. Данные системы могут быть однопроцессорные (старые версии OS/2, WINDOWS NT, NetWare) и многопроцессорные (UNIX, WINDOWS NT).


Многие операционные системы функционируют только на аппаратном обеспечении одного типа (Windows работает на Intel платформе), другие могут функционировать на разных платформах (UNIX). Область применения ОС так же сильно специализирована, существуют системы оптимальные для пакетной обработки данных, системы разделения времени оптимальные для разработчиков и пользователей, использующих итеративные режимы работы, системы реального времени наиболее предпочтительные для автоматизации производства.

По способу построения выделяют монолитные и ОС с микроядером. В первом случае производительность системы наиболее высока, но ее модификация требует полной перекомпоновки ядра. Медлительность ОС с микроядером компенсируется мобильностью к их наращиванию и изменению возможностей. Эти системы могут быть построены на объектно-ориентированном подходе или модульном. Потери производительности при ООП компенсируются хорошо структурированной защищенной системой работы.

Наличие поддержки различных прикладных сред позволяет достаточно эффективно использовать ранее разработанное программное обеспечение созданное для различных ОС.