Эволюция операционных систем. 3
Министерство образования и науки Российской Федерации
Федеральное агентство по образованию
Марийский
государственный технический
Кафедра информатики
и системного
программирования
Реферат
по
дисциплине «Информатика»
на тему:
«Эволюция операционных
систем»
Выполнил:
студент ПС-11
Шифанов
Михаил Сергеевич
Проверил:
преподаватель кафедры ИиСП
Лаптева
Наталия Николаевна
Йошкар-Ола
2011
Содержание:
Введение
Назначение операционных систем
Перечислим основные функции операционных систем
Загрузка в оперативную память подлежащих исполнению программ
Обслуживание всех операций ввода-вывода
Эволюция и классификация ОС
Заключение.
Введение:
Операционная
система (ОС) является основой системного
ПО, под управлением которыми осуществляется
начальная загрузка компьютера, управление
работой всех его устройств и проверка
их работоспособности, управление файловой
системой компьютера, загрузка пользовательских
приложений и распределение ресурсов
компьютера между ними, поддержка пользовательского
интерфейса и др. К числу широко известных
семейств операционных систем относятся
DOS, WINDOWS, UNIX, NETWARE и др.
Операционная
система (ОС) представляет собой совокупность
программ, выполняющих две функции:
предоставление пользователю удобств
виртуальной машины1 и повышение эффективности
использования компьютера при рациональном
управлении его ресурсами.
Процессор
компьютера выполняет команды, заданные
на машинном языке. Непосредственная подготовка
таких команд требует от пользователя
знаний языка и специфики построения и
взаимодействия аппаратных средств. Так,
например, для доступа к хранящейся на
магнитном носителе информации необходимо
указать номера блоков на диске и номера
секторов на дорожке, определить состояние
двигателя механизма перемещения головок
записи/считывания, обнаружить наличие
и типы ошибок, выполнить их анализ и пр.
Требовать этих знаний от всех пользователей
практически невозможно. Поэтому и возникла
необходимость в создании ОС – совокупности
программ, скрывающих от пользователя
особенности физического расположения
информации и выполняющих обработку прерываний2,
управление таймерами и оперативной памятью.
В результате пользователю предоставляется
виртуальная машина, реализующая работу
на логическом уровне.
Назначение операционных систем
Операционные
системы относятся к системному
программному обеспечению. Все программное
обеспечение разделяется на системное
и прикладное. К системному программному
обеспечению принято относить такие
программы и комплексы
Действительно,
если мы не будем иметь возможности
изменять исходные данные и получать
результаты вычислений, то зачем вообще
эти вычисления? Очевидно, что исходные
данные могут вводиться различными способами.
На практике используются самые разнообразные
устройства и методы. Например, мы можем
вводить исходные значения с клавиатуры,
задавать нужные действия или функции
с помощью указателя мыши, считывать записи
из файла, снимать оцифрованные значения
с датчиков и т.д. Часть исходных данных
может быть передана в программу через
область памяти, в которую предварительно
другая программа занесла свои результаты
вычислений. Способов много. Главное –
выполнить в программе некоторые действия,
связанные с получением исходных данных.
Аналогично,
и вывод результатов может
быть организован, например, на соответствующие
устройства и в форме, удобной
для восприятия ее человеком. Либо результаты
расчетов будут отправляться программой
на какие-нибудь исполнительные устройства,
которые управляются компьютером. Наконец,
мы можем организовать запись полученных
значений на некие устройства хранения
данных (с целью их дальнейшей обработки).
Программирование
операций ввода-вывода относится к одной
из самых трудоемких областей создания
программного обеспечения. Здесь речь
идет не об использовании операторов типа
READ или WRITE в языках высокого уровня. Речь
идет о необходимости создать подпрограмму
в машинном виде, уже готовую к выполнению
на компьютере, а не написанную с помощью
некоторой системы программирования (систем
программирования тогда еще не было), подпрограмму,
вместо обычных вычислений управляющую
тем устройством, которое должно участвовать
в операциях ввода исходных данных или
выводов результатов. При наличии такой
подпрограммы программист может обращаться
к ней столько раз, сколько операций ввода-вывода
с этим устройством ему требуется. Для
выполнения этой работы программисту
недостаточно хорошо знать архитектуру
вычислительного комплекса и уметь создавать
программы на языке ассемблера. Он должен
отлично знать и интерфейс, с помощью которого
устройство подключено к центральной
части компьютера, и алгоритм функционирования
устройства управления устройства ввода-вывода.
Очевидно, что
имело смысл создать набор
подпрограмм управления операциями
ввода-вывода и использовать его
в своих программах, чтобы не заставлять
программистов каждый раз заново
программировать все эти
В 50-е годы
взаимодействие пользователей с
вычислительным комплексом было совершенно
иным, чем ныне. Программист-кодер (от
англ. coder – кодировщик) – специально
подготовленный специалист, знающий архитектуру
компьютера и язык(и) программирования,
- по заказу составлял текст программы,
часто по уже готовому алгоритму, разработанному
программистом-алгоритмистом. Текст этой
программы затем отдавался оператору,
который набирал его на специальных устройствах
и переносил на соответствующие носители.
Чаще всего в качестве носителей использовались
перфокарты или перфолента. Далее колода
с перфокартами передавалась в вычислительный
зал, где для вычислений по этой программе
требовать следующие действия:
1. Оператор
вычислительного комплекса с
пульта вводил в рабочие
2. Транслятор
считывал исходную программу,
осуществлял лексический
3. Оператор
загружал в оперативную память
компьютера полученные двоичные
коды, оттранслированной программы и подгружал
двоичные коды тех системных подпрограмм,
которые реализовывали управлениями операциями
ввода-вывода. После этого готовая программа,
расположенная в памяти, могла сама считывать
исходные данные и осуществлять необходимые
вычисления. В случае обнаружения ошибок
на одном из этих этапов или после анализа
полученных результатов весь цикл необходимо
было повторить.
Для автоматизации
труда программиста (кодера) стали
разрабатывать специальные
На сегодняшний
день можно констатировать, что операционная
система (ОС) представляет собой комплекс
системных управляющих и
Перечислим основные функции операционных систем:
Прием пользователя
(или оператора системы) заданий,
или команд, сформулированных на соответствующем
языке, и их обработка. Задания могут
передаваться в виде текстовых директив
(команд) оператора или в форме
указаний, выполняемых с помощью
манипулятора (например, с помощью мыши).
Эти команды связаны с запуском (приостановкой,
остановкой) программ, с операциями над
файлами (получить перечень файлов в текущем
каталоге, создать, переименовать, скопировать,
переместить тот или иной файл и др.), хотя
имеются и иные команды.
Загрузка в оперативную память подлежащих исполнению программ
Распределение
памяти, а в большинстве современных
систем и организация виртуальной
памяти.
Запуск программы
(передача ей управления, в результате
чего процессор исполняет программу).
Идентификация
всех программ и данных.
Прием и
использование различных
Обслуживание всех операций ввода-вывода
Обеспечение
работы систем управлений файлами (СУФ)
и/или систем управления базами данных
(СУБД), что позволяет резко увеличить
эффективность всего
Обеспечение
режима мультипрограммирования, то есть
организация параллельного выполнения
двух или более программ на одном процессоре,
создающая видимость их одновременного
исполнения.
Планирование
и диспетчеризация задач в
соответствии с заданными между
выполняющимися программами.
Для сетевых
операционных систем характерной является
функция обеспечения взаимодействия связанных
между собой компьютеров.
Организация
механизмов обмена сообщениями и
данными между выполняющимися программами.
Защита одной
программы от влияния другой, обеспечение
сохранности данных, защита самой операционной
системы от исполняющихся на компьютере
приложений.
Аутентификация
и авторизация пользователей (для
большинства диалоговых операционных
систем). Под аутентификацией понимается
процедура проверки имени пользователя
и его пароля на соответствие тем
значениям, которые хранятся в его учетной
записи3. Очевидно, что если входное имя
(login4) пользователя и его пароль совпадают,
то, скорее всего, это и будет тот самый
пользователь. Термин авторизация означает,
что в соответствии с учетной записью
пользователя, который прошел аутентификацию,
ему (и всем запросам, которые будут идти
к операционной системе от его имени) назначаются
определенные права (привилегии), определяющие,
что он может делать на компьютере.
Удовлетворение
жестким ограничениям на время ответа
в режиме реального времени (характерно
для ОС реального времени).
Обеспечение
работы систем программирования, с
помощью которых пользователи готовят
свои программы.
Предоставление
услуг на случай частичного сбоя системы.
Операционная
система изолирует аппаратное обеспечение
компьютера от прикладных программ пользователей.
И пользователь, и его программы взаимодействуют
с компьютером через интерфейсы операционной
системы.
Эволюция и классификация ОС
Эволюция
ОС во многом обусловлена совершенствование
аппаратной базы ЭВМ. Программирование
ламповых вычислительных устройств, ориентированных
на решение специализированных прикладных
задач, выполнялось на машинном языке
(языке программирования, представляющем
программу в форме, позволяющей непосредственно
выполнять ее техническими средствами
обработки данных). Организация вычислительного
процесса в этом случае осуществлялась
обслуживающим персоналом вручную с пульта
управления. ОС для этих ЭВМ практически
отсутствовали.
Компьютеры,
построенные на полупроводниковых элементах,
стали более компактными, надежными и
применялись при решении более широкого
класса прикладных задач. Появились первые
алгоритмические языки, компиляторы (компиляторы
– программы, используемые для компиляции
– перевода написанной на алгоритмическом
языке программы на язык, близкий к машинному)
и системы пакетной обработки. Эти системы
явились прообразом современных ОС. Основное
их назначение – увеличение загрузки
процессора.
Переход от
отдельных полупроводниковых
К современным
ОС предъявляются следующие
- совместимости – ОС должна включать средства для выполнения приложений, подготовленных для других ОС;
-
переносимости – обеспечение возможности
переноса ОС с одной аппаратурной платформы
на другую;
- надежности и отказоустойчивости – предполагает защиту ОС от внутренних и внешних ошибок, сбоев и отказов;
- безопасности – ОС должна содержать средства защиты ресурсов одних пользователей от других;
- расширяемости – ОС должна обеспечивать удобства внесения последующих изменений и дополнений;
-
производительности – система должна
обладать достаточным быстродействием.
Классификация
ОС. Обычно общение пользователя с
машиной протекает в интерактивном
режиме. При этом темп решения задачи определяется
реакцией пользователя. Если принять время
реакции пользователя постоянным, то можно
считать, что сложность задачи ограничивается
быстродействием технических средств
(при необходимости оно повышается экстенсивными
методами: применением более быстродействующей
элементной базы, использованием многопроцессорных
или многомашинных систем). Но это односторонний
подход. Огромные возможности таятся в
организационных мероприятиях, к которым
относится выбор оптимальных режима работы
и дисциплин обслуживания; и то и другое
реализуется операционными системами.
Режимы работы
ПЭВМ в первую очередь определяются
количеством задач, параллельно
решаемых на машине (реализуемых программ).
По этому признаку ОС разделяются на
многозадачные и однозадачные, поддерживающие
и не поддерживающие многонитевую обработку,
многопользовательские и однопользовательские,
на многопроцессорные и однопроцессорные.
По числу
одновременно выполняемых задач
выделяют ОС:
однозадачные
ОС (MS-DOS, ранние версии PS DOS);
многозадачные
(OS/2, UNIX, Windows).
Однозадачные
ОС предоставляют пользователю виртуальной
машины и включают средствами управления
файлами, периферийными устройствами
и средства общения с пользователем.
Многозадачные ОС дополнительно управляют
разделением между задачами совместно
используемых ресурсов. Среди вариантов
реализации многозадачности выделяют
две группы алгоритмов распределения
процессорного времени:
-
невытесняющая многозадачность (NetWare,
Windows 3. x и 9. х);
-
вытесняющая многозадачность (Windows NT, OS/2,
UNIX).
В первом случае
активный процесс по окончании сам
передает управление ОС для выбора
из очереди другого процесса. Во
втором – решение о переключении
процесса с одного процесса с одного
процесса на другой принимает не активный
процесс, а ОС.
Поддержка
многонитевости предполагает возможность
выполнения некоторых команд программы
практически в один и тот же
момент. Многонитевая ОС разделяет
процессорное время не между задачами,
а между отдельными ветвями (нитями)
алгоритмов их решения (многозадачность
внутри одной задачи).
По числу
одновременно работающих пользователей
выделяют ОС:
-
однопользовательские (MS-DOS, Windows 3. x, ранние
версии OS/2);
-
многопользовательские (UNIX, Windows NT).
Отличием
многопользовательских систем является
наличие средств защиты информации
пользователей от несанкционированного
доступа.
Многопроцессорная
обработка предполагает поддержку
работы нескольких процессоров и
приветствует в ОС Solaris 2. x фирмы Sun, OS/2
фирмы IBM, Windows NT фирмы Microsoft, NetWare 4.1. фирмы
Novell и др.
Многопроцессорные
ОС делятся на асимметричные и
симметричные. Асимметричная ОС выполняется
на одном из процессоров системы,
распределяя прикладные задачи по остальным
процессорам. Симметричные ОС децентрализована
и использует все процессоры, разделяя
между ними системные и прикладные задачи.
Очевидно, что
ОС персонального компьютера менее
сложна, чем ОС мэйнфреймов и суперЭВМ.
Отличием сетевой ОС от локальной
являются средства передачи данных между
компьютерами по линиям связи и реализации
протоколов передачи данных, например
IP, IPX и др.
Кроме ОС, ориентированных
на определенный тип аппаратной платформы,
существуют мобильные ОС, легко переносимые
на разные типы компьютеров. В таких ОС
(например, UNIX) аппаратно-зависимые места
локализованы и при переносе системы на
новую платформу переписываются. Аппаратно-независимая
часть реализуется на языке программирования
высокого уровня на языке С, и перекомпилируется
при переходе на другую платформу.
Динамическое
перераспределение ресурсов ПЭВМ между
несколькими задачами (способ коллективного
пользования) обеспечивает либо сокращение
суммарного времени решения нескольких
задач, либо уменьшение времени начала
обработки задачи. И то и другое при
одном «обслуживающем приборе», например
процессоре или принтере, достигается
за счет увеличения времени решения одной
(каждой) задачи. Порядок прохождения задач
в машине определяет режимы реализации
способа коллективного пользования: пакетной
обработки и разделения времени. Пакетная
обработка предполагает решение нескольких
задач примерно в том же режиме, в каком
работает преподаватель во время устного
экзамена – его внимание занимает один
из студентов. По завершении опроса внимание
переключается на следующего (полагаем,
что обслуживание студентов и есть решение
задачи).
В режиме разделения
времени процесс выполнения программ
разбивается на циклы. Внутри каждого
цикла обязательно появляется (если
она еще не решена) та базовая
задача, для которой выделен данный
цикл. Остальные задачи могут решаться
в этом же цикле, если их решение не препятствует
решению базовой. Соседние циклы выделяются
для решения разных задач, поэтому существенно
увеличивается время решения каждой из
них. Вместе с тем на ожидание выполнения
очередной части задачи затрачивается
не более чем N-1 циклов (N – число разноименных
циклов, выделенных для решения N различных
задач). При соответствующем выборе длительности
цикла у пользователя (из-за его инерционности)
создается иллюзия работы в реальном масштабе
времени. Работой в реальном масштабе
времени называется режим работы, при
котором существуют предельные ограничения
на время решения задачи, накладываемые
внешней средой. Для системы управления
это означает, что обработка информации
должна протекать со скоростью, превышающей
скорость реально протекающего управляемого
процесса, с тем, чтобы имелся определенный
запас времени для принятия решений и
формирования соответствующих управляющих
воздействий.
Для реальных
условий работы характерно то, что моменты
поступления задач на обработку определяются
не темпом работы обслуживающего прибора
(ПЭВМ, принтера и пр), а процессами, протекающими
вне его. В соответствии с этим обслуживающий
прибор должен решать определенную совокупность
задач (реакция на сбои оборудования, заявка
на связь в сети, принудительное создание
резервной копии и т.д.).
При конечном
быстродействии обслуживающего прибора
поступающие заявки не могут быть
выполнены сразу, а становятся в
очередь. Процесс выбора заявки из множества
ожидающих обслуживания называется диспетчеризацией,
а правило диспетчеризации – дисциплиной
обслуживания. Дисциплин обслуживания
много, например «в порядке поступления»
(FIFO – First Input First Output), «в обратном порядке»
(LIFO – Last Input First Output) и др. Для сокращения
времени ожидания (времени пребывания
в очереди) отдельным заявкам предоставляется
преимущественное право на обслуживание,
называемое приоритетом, который характеризуется
целым положительным числом. Наивысший
приоритет назначается ОС.
Итак, при
создании двоичных машинных программ
прикладные программисты могут вообще
не знать многих деталей управления
конкретными ресурсами
Системных
функций бывает много, они определяют
те возможности, которые операционная
система предоставляет выполняющимся
под ее управлением приложениям. Такого
рода системные запросы (вызовы системных
операций, или функций) либо явно прописываются
в тексте программы программистами, либо
подставляются автоматически самой системой
программирования на этапе трансляции
исходного текста разрабатываемой программы.
Каждая операционная система имеет свое
множество системных функций; они вызываются
соответствующим образом, по принятым
в системе правилам. Совокупность системных
вызовов и правил, по которым их следует
использовать, как раз и определяет интерфейс
прикладного программирования (API). Очевидно,
что программа, созданная для работы в
некоторой операционной системе, скорее
всего не будут работать в другой операционной
системе, поскольку API у этих операционных
систем различаются. Стараясь преодолеть
это ограничение, разработчики операционных
систем стали создавать так называемое
программные среды. Программную (системную)
среду следует понимать как некоторое
системное программное окружение, позволяющее
выполнить все системные запросы от прикладной
программы. Та системная программная среда,
которая непосредственно образуется кодом
операционной системы, называется основной,
естественной, или нативной (native). Помимо
основной операционной среды в операционной
системе могут быть организованы (путем
эмуляции иной операционной среды) дополнительные
программные среды. Если в операционной
системе организована работа с различными
операционными средами, то в такой системе
можно выполнять программы, созданные
не только для данной, но и для других операционных
систем. Можно сказать, что программы создаются
для работы в некоторой заданной операционной
среде. Например, можно создать программу
для работы в среде DOS. Если такая программа
все функции, связанные с операциями с
операциями ввода-вывода и с запросами
памяти, выполняет не сама, а за счет обращения
к системным функциям DOS, то она будет (в
абсолютном большинстве случаев) успешно
выполняться и в MS DOS, и в PS DOS, и в Windows 9x,
и в Windows 2000, и в OS/2, и даже в Linux.
Итак, параллельное
существование терминов «операционная
система» и «операционная среда»
вызвано тем, что операционная система
может поддерживать несколько операционных
сред. Почти все современные 32-разрядные
операционные системы, созданные для персональных
компьютеров, поддерживают по нескольку
операционных сред. Так операционная система
OS/2 Warp, которая в свое время была одной
из лучших в этом отношении, может выполнять
следующие программы:

- Эволюция операционных систем
- Эволюция оперного творчества Рихарда Вагнера
- Эволюция органов дыхания
- Эволюция органов контроля в области охраны и использования земель Российской Федерации
- Эволюция основных понятий маркетинга
- Эволюция отношений государства и церкви в 1917-2000 гг
- Эволюция парадигмы управления качеством
- Эволюция науки управления
- Эволюция научной картины мира
- Эволюция научной мысли о налогах
- Эволюция научной мысли о сущности налогов
- Эволюция Н.Д. Кондратьева как экономиста-теоретика в свете «Суздальских писем»
- Эволюция образа «маленького человека» в русской литературе
- Эволюция операционных систем