Эссе на тему эволюция операционных систем. Персональные компьютеры. Классические, сетевые и распределенные системы. Операционные системы и глобальные сети

  • II. Основные принципы и правила служебного поведения государственных гражданских служащих Федеральной налоговой службы
  • II. Основные цели и задачи Программы, срок и этапы ее реализации, целевые индикаторы и показатели
  • II. Основные этапы развития физики Становление физики (до 17 в.).
  • III.2.1) Понятие преступления, его основные характеристики.
  • История развития операционных систем насчитывает уже более половины века и неразрывно связана с техническим уровнем развития электроники, материаловедения, математического аппарата, всех тех дисциплин науки и техники, без которых немыслимо построить вычислительный комплекс. Поэтому этапы развития операционных систем тесно связаны с определенными этапами научно-технического прогресса в данной области.

    Первый период (1945 – 1955 гг.)

    Первые электронные вычислительные машины появились после второй мировой войны. В 40-х были созданы первые вычислительные устройства, основанные на лампах, и появился принцип программы, хранящейся в памяти машины (Говард Айкен из Гарвардского университета, Джон фон Нейман из Института углубленного изучения в Принстоне и другие, июнь 1945 г.). Вычислительные машины были громоздкими, занимающими несколько комнат. Их конструкция предполагала использование нескольких тысяч электронных ламп. Такой же громоздкой была и работа с вычислительной машиной. Одна группа людей одновременно выполняла их обслуживание, эксплуатацию и программирование. Такие машины вполне можно отнести к категории экспериментальных, и выполняемые на них вычисления, скорее, носили пробный (экспериментальный) характер. Программирование выполнялось исключительно на машинном языке, т.е. последовательным вводом с клавишного пульта кодов команд и данных, и ни о каком системном или прикладным программным обеспечении речи не шло. Программа загружалась в память машины с помощью коммутационной панели либо с колоды перфокарт. Существующие устройства ввода/вывода не были стандартизированы и представляли собой примитивные пульты с набором переключателей, кнопок и индикаторов. Всеми ресурсами вычислительной машины распоряжался обслуживающий ее персонал, который вручную запускал программу на исполнение, выделял ей необходимый объём памяти и визуально контролировал весь процесс вычислений. Вычислительная система выполняла одновременно только одну операцию (ввод-вывод или собственно вычисления). Отладка программ велась с пульта управления с помощью изучения состояния памяти и регистров машины. Однако уже в этот период времени были созданы библиотеки математических и служебных программ, к которым программист мог обращаться при выполнении основной программы.



    В конце этого периода появляется первое системное программное обеспечение: в 1951–1952 гг. возникают прообразы первых компиляторов с символических языков (Fortran и др.), а в 1954 г. Nat Rochester разрабатывает Ассемблер для IBM-701.

    Существенная часть времени уходила на подготовку запуска программы, а сами программы выполнялись строго последовательно. Такой режим работы называется последовательной обработкой данных. В целом первый период характеризуется крайне высокой стоимостью вычислительных систем, их малым количеством и низкой эффективностью использования. Так, ЭВМ UNIVAC I, разработанная в марте 1951 года, содержала 5000 ламп и могла работать со скоростью 1000 операций в секунду. Стоимость такой машины составляла 159000 долларов США.

    Второй период (1955 г. – начало 60-х).

    В середине 50-х годов ХХ века начался новый период в развитии вычислительной техники. На смену реле и лампам пришли полупроводниковые транзисторы. Это позволило увеличить производительность процессоров, резко возрос объём оперативной и внешней памяти, появились принципиально новые устройства сопряжения. В целом вычислительная система стала более сложной, что изменило отношение к ней со стороны операторов. Возникла необходимость в автоматизации вычислительных работ и, как следствие, упрощение самого процесса программирования. В эти годы появились первые алгоритмические языки и сопутствующее им специальное программное обеспечение – трансляторы. Среди языков того времени наибольшее распространение получили АЛГОЛ и Фортран.



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

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

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

    Компьютеры второго поколения использовались главным образом для научных и технических расчетов, таких, например, как решение дифференциальных уравнений. Программирование велось на Фортране или Ассемблере, а типичными операционными системами служили FMS (Fortran Monitor System) и IBSYS (операционная система компании IBM для компьютера IBM 7094).

    Третий период (начало 60-х – 1980 г.).

    Появление в 1965-1975 годах вычислительных машин на базе интегральных схем открыло новую страницу в развитии вычислительной техники. Новые машины имели сложную развитую архитектуру, наиболее приближённую к архитектуре современных компьютеров. К этому времени полностью определились с основным периферийным оборудованием. Типичными представителями таких машин являются серии ЭВМ IBM/360 или их отечественные аналоги – ЭВМ семейства ЕС. Так как машины этой серии имели одинаковую структуру и набор команд, то программы, написанные для одного компьютера, могли работать в принципе и на всех других. Еще одним преимуществом серии компьютеров IBM/360 было то, что данные ЭВМ могли использоваться как в научных целях (числовые вычисления для науки и техники), так и для коммерческого использования (сортировка и печать данных). Это предопределило успех фирмы IBM, которая заявила себя мировым лидером на рынке вычислительных машин. Идею семейства совместимых компьютеров стали принимать и другие производители. Операционная система OS/360 была предназначена для работы на всех компьютерах данного семейства машин независимо от того, какое предназначение было у используемого компьютера (расчет прогноза погоды или обычное копирование информации с перфокарт на магнитные ленты).

    Несмотря на то, что операционная система OS/360 была очень громоздкой и сложной (миллионы строк на ассемблере), именно в этот период были реализованы практически все основные механизмы, встраиваемые в современные операционные системы: многозадачность, поддержка многопользовательского режима, виртуальная память, файловая система и т.п. Из направления прикладной математики, связанного с программированием, выделяется отдельная отрасль - системное программирование. В условиях резко возросших вычислительных мощностей выполнение только одного задания в каждый момент времени оказалось малоэффективным. Решение было найдено в мультипрограммировании (многозадачности) – способе организации вычислительного процесса, при котором в оперативную память загружается несколько задач одновременно, но попеременно выполняющихся на одном процессоре. Мультипрограммирование было реализовано в двух вариантах: в хорошо зарекомендовавшей себя системе пакетной обработки и в системе разделения времени (разработчик – Массачусетсский технологический институт, IBM 7094), благодаря которой у каждого пользователя появился свой диалоговый терминал.

    Использование интегральных схем позволило значительно уменьшить размеры вычислительных машин. Такие ЭВМ стали называть мини-компьютеры (PDP-1, корпорация DEC, 1961 год), и, хотя стоимость их составляла порядка 120 000 долларов США, они были коммерчески успешными и имели хороший спрос. Их стоимость составляла 5% от стоимости ЭВМ IBM 7094, однако, некоторые операции компьютеры серии PDP выполняли с такой же скоростью.

    Именно для компьютеров серии PDP-7 специалист фирмы Bell Labs Кен Томпсон разработал однопользовательскую версию операционной системы MULTICS, которая позже развилась в операционную систему UNIX, у которой затем появились разновидности System V (корпорация AT&T), BSD (Калифорнийский институт Беркли) и другие. Для операционной системы UNIX Кен Томпсон и Денис Ритчи разработали язык C, который до сих пор является лидирующим в области системного программирования. В 1974 году они опубликовали статью “The UNIX Timesharing System” в журнале Commun. of the ACM, благодаря которой система UNIX стала популярной.

    Рассматривая эволюцию операционных систем мы будем рассматривать, в первую очередь, историю развития вычислительных систем, потому что компьютерное железо(Hardware) и программное обеспечение (Software) эволюционировали совместно, оказывая взаимное влияние друг на друга.

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

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

    1. Первый период (1945–1955 гг.)

    Ламповые машины. Операционных систем нет

    Мы начнем исследование развития компьютерных комплексов с появления электронных вычислительных систем (опуская историю механических и электромеханических устройств). Первые шаги в области разработки электронных вычислительных машин были предприняты в конце Второй мировой войны. В середине 40-х были созданы первые ламповые вычислительные устройства и появился принцип программы, хранящейся в памяти машины (John Von Neumann, июнь 1945 г.).

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

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

    В конце этого периода появляется первое системное программное обеспечение: в 1951–1952 гг. возникают прообразы первых компиляторов с символических языков (Fortran и др.), а в 1954 г. Nat Rochester разрабатывает Ассемблер для IBM-701.

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

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

    2. Второй период (1955 г.–начало 60-х)

    Компьютеры на основе транзисторов. Пакетные операционные системы

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

    Одновременно наблюдается бурное развитие алгоритмических языков (LISP, COBOL, ALGOL-60, PL-1 и т.д.). Появляются первые настоящие компиляторы, редакторы связей, библиотеки математических и служебных подпрограмм . Упрощается процесс программирования. Пропадает необходимость взваливать на одних и тех же людей весь процесс разработки и использования компьютеров. Именно в этот период происходит разделение персонала на программистов и операторов , специалистов по эксплуатации и разработчиков вычислительных машин.

    Большая электронно-счетная машина БЭСМ-6

    Изменяется сам процесс прогона программ. Теперь пользователь приносит программу с входными данными в виде колоды перфокарт и указывает необходимые ресурсы. Такая колода получает название задания . Оператор загружает задание в память машины и запускает его на исполнение. Полученные выходные данные печатаются на принтере, и пользователь получает их обратно через некоторое (довольно продолжительное) время.

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

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

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

    Системы пакетной обработки стали прообразом современных операционных систем , они были первыми системными программами, предназначенными для управления вычислительным процессом

    3. Третий период (начало 60-х – 1980 г.)

    Компьютеры на основе интегральных микросхем. Первые многозадачные ОС

    Следующий важный период развития вычислительных машин относится к началу 60-х – 1980 г. В это время в технической базе произошел переход от отдельных полупроводниковых элементов типа транзисторов к интегральным микросхемам . Вычислительная техника становится более надежной и дешевой. Растет сложность и количество задач, решаемых компьютерами. Повышается производительность процессоров .

    Повышению эффективности использования процессорного времени мешает низкая скорость работы механических устройств ввода-вывода (быстрый считыватель перфокарт мог обработать 1200 перфокарт в минуту, принтеры печатали до 600 строк в минуту). Вместо непосредственного чтения пакета заданий с перфокарт в память начинают использовать его предварительную запись, сначала на магнитную ленту, а затем и на диск. Когда в процессе выполнения задания требуется ввод данных, они читаются с диска. Точно так же выходная информация сначала копируется в системный буфер и записывается на ленту или диск, а печатается только после завершения задания.

    Вначале действительные операции ввода-вывода осуществлялись в режиме off-line, то есть с использованием других, более простых, отдельно стоящих компьютеров. В дальнейшем они начинают выполняться на том же компьютере, который производит вычисления, то есть в режиме on-line. Такой прием получает название spooling (сокращение от Simultaneous Peripheral Operation On Line ) или подкачки-откачки данных. Введение техники подкачки-откачки в пакетные системы позволило совместить реальные операции ввода-вывода одного задания с выполнением другого задания, но потребовало разработки аппарата прерываний для извещения процессора об окончании этих операций.

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

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

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

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

    • Реализация защитных механизмов .
      Программы не должны иметь самостоятельного доступа к распределению ресурсов, что приводит к появлению привилегированных и непривилегированных команд. Привилегированные команды, например команды ввода-вывода, могут исполняться только операционной системой . Говорят, что она работает в привилегированном режиме. Переход управления от прикладной программы к ОС сопровождается контролируемой сменой режима. Кроме того, это защита памяти, позволяющая изолировать конкурирующие пользовательские программы друг от друга, а ОС – от программ пользователей.
    • Наличие прерываний .
      Внешние прерывания оповещают ОС о том, что произошло асинхронное событие, например завершилась операция ввода-вывода.
      Внутренние прерывания (сейчас их принято называть исключительными ситуациями ) возникают, когда выполнение программы привело к ситуации, требующей вмешательства ОС , например деление на ноль или попытка нарушения защиты.
    • Развитие параллелизма в архитектуре .
      Прямой доступ к памяти и организация каналов ввода-вывода позволили освободить центральный процессор от рутинных операций.

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

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

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

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

    Логическим расширением систем мультипрограммирования стали time-sharing системы, или системы разделения времени . В них процессор переключается между задачами не только на время операций ввода-вывода, но и просто по прошествии определенного времени. Эти переключения происходят так часто, что пользователи могут взаимодействовать со своими программами во время их выполнения, то есть интерактивно. В результате появляется возможность одновременной работы нескольких пользователей на одной компьютерной системе. У каждого пользователя для этого должна быть хотя бы одна программа в памяти.

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

    В системах разделения времени пользователь получил возможность эффективно производить отладку программы в интерактивном режиме и записывать информацию на диск, не используя перфокарты, а непосредственно с клавиатуры. Появление on-line-файлов привело к необходимости разработки развитых файловых систем.

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

    Первым семейством программно совместимых компьютеров, построенных на интегральных микросхемах , стала серия машин IBM/360 . Разработанное в начале 60-х годов, это семейство значительно превосходило машины второго поколения по критерию цена/производительность. За ним последовала линия компьютеров PDP, несовместимых с линией IBM, и лучшей моделью в ней стала PDP-11.

    Сила «одной семьи» была одновременно и ее слабостью. Широкие возможности этой концепции (наличие всех моделей: от мини-компьютеров до гигантских машин; обилие разнообразной периферии; различное окружение; различные пользователи) порождали сложную и громоздкую операционную систему . Миллионы строчек Ассемблера, написанные тысячами программистов, содержали множество ошибок, что вызывало непрерывный поток публикаций о них и попыток исправления.

    Только в операционной системе OS/360 содержалось более 1000 известных ошибок. Тем не менее идея стандартизации операционных систем была широко внедрена в сознание пользователей и в дальнейшем получила активное развитие.

    4. Четвертый период (с 1980 г. по настоящее время)

    Персональные компьютеры. Классические, сетевые и распределенные системы

    Следующий период в эволюции вычислительных систем связан с появлением больших интегральных схем (БИС) . В эти годы произошло резкое возрастание степени интеграции и снижение стоимости микросхем. Компьютер, не отличающийся по архитектуре от PDP-11, по цене и простоте эксплуатации стал доступен отдельному человеку, а не отделу предприятия или университета. Наступила эра персональных компьютеров.

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

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

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

    В середине 80-х стали бурно развиваться сети компьютеров, в том числе персональных, работающих под управлением сетевых или распределенных операционных систем .

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

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

    В дальнейшем автономные операционные системы мы будем называть классическими операционными системами .

    Просмотрев этапы развития вычислительных систем, мы можем выделить шесть основных функций , которые выполняли классические операционные системы в процессе эволюции:

    • Планирование заданий и использования процессора .
    • Обеспечение программ средствами коммуникации и синхронизации.
    • Управление памятью.
    • Управление файловой системой.
    • Управление вводом-выводом.
    • Обеспечение безопасности

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

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

    В обобщении темы «Эволюция операционных систем» предлагается краткая таблица, в которой указаны основные вехи развития вычислительной техники и операционных систем.

    Период Развитие ОС
    до 1955 г. В XIX веке Чарльз Бэбидж предложил идею компьютера. Но технологии того времени не могли обеспечить изготовление деталей точной механики, которые были необходимы для этой машины. И его «аналитическая машина» так и не смогла заработать.В середине 40-х гг. XX в. появились ламповые вычислительные устройства. Это была скорее научно-исследовательская работа в области вычислительной техники, а не использование компьютеров в качестве инструмента решения каких-либо практических задач.

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

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

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

    1965 – начало 70-х гг. В технической базе произошел переход от отдельных полупроводниковых элементов типа транзисторов к интегральным микросхемам. Для этого периода характерно также создание семейств программно-совместимых машин. Первым семейством программно-совместимых машин, построенных на интегральных микросхемах, явилась серия машин IBM/360.

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

    Примером такой ОС может служить OS/360 (фирма IBM).В этот период были реализованы почти все основные механизмы, присущие современным ОС: мультипрограммирование, мультипроцессирование, поддержка многотерминального многопользовательского режима, виртуальная память, разграничение доступа, работа в сети.Мультипрограммирование – это способ организации вычислительного процесса, при котором на одном процессоре попеременно выполняются несколько программ. Мультипрограммирование было реализовано в системах пакетной обработки и в системах разделения времени .

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

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

    70-е – 1980 гг. В начале 70-х гг. появились первые прототипы сетевых операционных систем , которые в отличие от многотерминальных ОС позволяли не только рассредоточить пользователей, но и организовать распределенное хранение и обработку данных между несколькими компьютерами, связанными электрическими связями.

    К середине 70-х гг. получили большое распространение миникомпьютеры: Nova, PDP-11, HP. Их архитектура стала значительно проще, что упростило и операционные системы. ОС миникомпьютеров стали делать специализированными, например, только для управления в реальном времени (RT11 для PDP-11) или только для поддержания режима разделения времени. Эти операционные системы не были многопользовательскими.

    1980 – 90-е гг. Этот период в эволюции операционных систем связан с появлением больших интегральных схем (БИС). В эти годы произошло резкое возрастание степени интеграции и удешевление микросхем. Компьютер стал доступен отдельному человеку, и наступила эра персональных компьютеров. Функционально они ничем не отличались от миникомпьютеров типа PDP-11, но цена у них была существенно ниже. Что позволило иметь собственный компьютер практически каждому человеку, а не отделу или институту.

    Компьютеры стали использоваться неспециалистами, что потребовало «дружественности» от программного обеспечения. На рынке операционных систем в эти годы доминировали две системы: MS-DOS и Unix. Однопрограммная однопользовательская ОС MS-DOS широко использовалась для компьютеров, построенных на базе микропроцессоров Intel 8088, а затем 80286, 80386 и 80486.Мультипрограммная многопользовательская ОС Unix использовалась, в основном, на «неинтеловских» компьютерах, особенно построенных на базе высокопроизводительных RISC-процессоров.

    Все десятилетие происходило усовершенствование этой ОС, в результате чего стали появляться ее новые разновидности: SunOS, HP-UX, Irix, AIX.Значительное распространение персональных компьютеров послужило катализатором для бурного роста локальных сетей. Ещё одной важной разработкой этого десятилетия стало появление стека протоколов TCP/IP, становление Интернета, стандартизация технологий локальных сетей, и более интенсивное развитие сетевых операционных систем (OS-Net фирмы Nowell, OS/2 фирм Microsoft и IBM).

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

    Особое место уделяется корпоративным ОС, им отводится основная роль в развитии ОС в ближайшем будущем. Такая ОС должна устойчиво работать в крупных сетях больших предприятий. Для корпоративных систем характерна высокая степень масштабируемости, поддержка сетевой работы, развитые средства обеспечения безопасности, способность работать в гетерогенной среде. К корпоративным ОС в настоящее время относят Windows 2000, Windows NT, различные Unix-системы.

    Эволюция операционных систем состоит из следующих этапов:

    • Последовательное выполнение заданий
    • Простая пакетная обработка
    • Мультипрограммирование в пакетных системах
    • Разделение времени
    • Современные ОС

    Первая фаза развития ОС

    Время ЭВМ дороже времени человека

    • Один пользователь в один момент времени работает напрямую с консолью
    • Первые «ОС» — общие библиотеки вв/выв
    • Простой монитор пакетной обработки – убрать пользователя от компьютера. ОС – программа для загрузки и исполнения пользовательских заданий и сохранения результатов
    • Каналы данных, прерывания, одновременное выполнение операций вв/выв и вычислений
    • Защита памяти позволяет реализовывать многозадачность: несколько пользователей используют одну систему
    • ОС должна управлять взаимодействием, параллельностью
    • К середине 60х ОС становятся большими и сложными
    • Область ОС становится важной дисциплиной со своими принципами

    Вторая фаза развития ОС

    Время человека дороже времени ЭВМ

    • Интерактивное разделение времени: удобные файловые системы, проблемы с временем ответа
    • Персональные компьютеры: они дешевые, поэтому каждый терминал – ПК
    • Сеть позволяет организовать общий доступ и взаимодействие между машинами
    • Встроенные устройства: компьютеры помещаются в сотовые телефоны, стерео проигрыватели, телевизоры и пр.
    • Насколько там нужны сложные алгоритмы разделения времени.

    Настоящее и будущее ОС

    Будущее в научном развитии ОС

    • Очень маленькие ОС (для мобильных устройств)
    • Очень большие ОС (центр обработки данных, облачные вычисления)

    Характеристики текущих ОС

    • Огромные миллионы строк исходного кода, 100-1000 человеко-лет разработки
    • Сложные: асинхронные, зависимые от аппаратного обеспечения, ориентированные на высокую производительность
    • Плохо понимаемые

    Направление исследований

    Постоянно возникают новые направления исследований

    • Встраиваемые системы (iPоd – плеер компании Apple потребовал разработки собственной унифицированной ОС)
    • Системы сенсоров (очень низкое энергопотребление, жесткие требования в памяти)
    • Одноранговые сети
    • Беспроводные сети
    • Маштабируемые системы, кластерные системы

    Старые проблемы требуют новых подходов к решению

    • Эволюция смартфонов повторяет эволюцию ПК, которая повторяла эволюцию миникомпьютеров, а они в свою очередь минифреймов

    История ОС насчитывает примерно полвека. Она во многом определялась и определяется развитием элементной базы и вычислительной аппаратурой.

    Первое поколение.

    40-е годы. Первые цифровые вычислительные машины без ОС. Организация вычислительного процесса решается программистом с пульта управления.

    Второе поколение.

    50-е годы. Появление прообраза ОС - мониторные системы, реализующие систему пакетной обработки заданий.

    Пакетный режим

    Необходимость оптимального использования дорогостоящих вычислительных ресурсов привела к появлению концепции «пакетного режима» исполнения программ. Пакетный режим предполагает наличие очереди программ на исполнение, причём ОС может обеспечивать загрузку программы с внешних носителей данных в оперативную память, не дожидаясь завершения исполнения предыдущей программы, что позволяет избежать простоя процессора.

    Третье поколение.

    1965-1980 г.г. Переход к интегральным схемам. IBM/360. Реализованы практически все основные концепции, присущие современным ОС: разделение времени и многозадачность , разделение полномочий , реальный масштаб времени , файловые структуры и файловые системы . Реализация мультипрограммирования потребовала внесения очень важных изменений в аппаратуру компьютера: привилегированный и пользовательский режимы, средства защиты областей памяти, развитой системы прерываний.

    Разделение времени и многозадачность

    Уже пакетный режим в своём развитом варианте требует разделения процессорного времени между выполнением нескольких программ. Необходимость в разделении времени (многозадачности, мультипрограммировании) проявилась ещё сильнее при распространении в качестве устройств ввода-вывода телетайпов (а позднее, терминалов с электронно-лучевыми дисплеями) (1960-е годы). Поскольку скорость клавиатурного ввода (и даже чтения с экрана) данных оператором много ниже, чем скорость обработки этих данных компьютером, использование компьютера в «монопольном» режиме (с одним оператором) могло привести к простою дорогостоящих вычислительных ресурсов.

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

    Разделение полномочий

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

    Реализация разделения полномочий в ОС была поддержана разработчиками процессоров, предложивших архитектуры с двумя режимами работы процессора - «реальным» (в котором исполняемой программе доступно всё адресное пространство компьютера) и «защищённым» (в котором доступность адресного пространства ограничена диапазоном, выделенном при запуске программы на исполнение).

    Реальный масштаб времени

    Применение универсальных компьютеров для управления производственными процессами потребовало реализации «реального масштаба времени» («реального времени») - синхронизации исполнения программ с внешними физическими процессами.

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

    Такие операционные системы получили название Операционные системы с планированием в реальном масштабе времени или сокращенно ОСРВ .

    Файловые системы и структуры

    Постепенная замена носителей с последовательным доступом (перфолент , перфокарт и магнитных лент) накопителями произвольного доступа (на магнитных диск)

    Четвертое поколение.

    Конец 70-х. Создан рабочий вариант стека протоколов TCP/IP. В 1983 году он был стандартизирован. Независимость от производителей, гибкость и эффективность, доказанные успешной работой Интернет, сделала этот стек протоколов основным стеком для большинства ОС.

    Начало 80-х. Появление персональных компьютеров. Бурный рост локальных сетей. Поддержка сетевых функций стала необходимым условием.

    80-е годы. Приняты основные стандарты на коммуникационные технологии локальных сетей: Ethernet, Token Ring, FDDI. Это позволило обеспечить совместимость сетевых ОС на нижних уровнях.

    Начало 90-х. Практически все ОС стали сетевыми. Появились специализированные сетевые ОС (например IOS, работающая в маршрутизаторах)

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

    Первый период (1945 -1955)

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

    – машинное время стоило очень дорого, и возникали трудности с определением необходимого количества машинного времени для выполнения той или иной задачи. Необходимо было рассчитать время работы компьютера, таким образом, чтоб его хватило на выполнение программы, и при этом компьютер не простаивал бы, если выполнение программы заканчивалось быстрее, чем было запланировано.

    Запуск программы (задание – job) требовал большой подготовительной работы – загрузки в память компилятора и программы, сохранения, загрузки и компоновки объектного кода с библиотечными функциями. При возникновении ошибки на одном из этапов весь подготовительный процесс приходилось начинать заново.

    Такой режим работы назывался последовательной обработкой данных.

    Второй период (1955 - 1965)

    С середины 50-х годов начался новый период в развитии вычислительной техники, связанный с появлением новой технической базы - полупроводниковых элементов. Компьютеры второго поколения стали более надежными, теперь они смогли непрерывно работать настолько долго, чтобы на них можно было возложить выполнение действительно практически важных задач. Чтобы повысить эффективность работы была предложена концепция пакетной обработки данных. Суть концепции состоит в том, что все программы на перфоносителе (карте или ленте) передавались оператору компьютера, который собирал задания в пакеты и помещал их в устройства ввода данных. Программы передавались в управление монитору (monitor), который автоматизировал запуск одной программы за другой. Его работа основана на возможности процессора выбирать команды из различных областей основной памяти. Системы пакетной обработки явились прообразом современных операционных систем и стали первыми системными программами, предназначенными для управления вычислительным процессом. В ходе реализации систем пакетной обработки был разработан формализованный язык управления заданиями, с помощью которого программист сообщал системе и оператору, какую работу он хочет выполнить на вычислительной машине. Первые пакетные системы были разработаны в середине 50-х годов компанией General Motors для машин IBM 701. В начале 60-х годов была разработана пакетная операционная система IBSYS фирмы IBM, разработанная для компьютеров 7090/7094.

    Третий период (1965 - 1981)

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

    Другое нововведение - спулинг (spooling). Спулинг в то время определялся как способ организации вычислительного процесса, в соответствии с которым задания считывались с перфокарт на диск в том темпе, в котором они появлялись в помещении вычислительного центра, а затем, когда очередное задание завершалось, новое задание с диска загружалось в освободившийся раздел.

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

    Четвертый период (1981 - настоящее время)

    Следующий период в эволюции операционных систем связан с появлением больших интегральных схем (БИС). В эти годы произошло резкое возрастание степени интеграции и удешевление микросхем. Компьютер стал доступен каждому пользователю - наступила эра персональных компьютеров. С точки зрения архитектуры персональные компьютеры ничем не отличались от класса миникомпьютеров типа PDP-11, но их цена была значительно ниже. Компьютеры стали широко использоваться неспециалистами, что потребовало разработки "дружественного" программного обеспечения, то есть такого пользовательского интерфейса, который удовлетворил бы большинство пользователей - неспециалистов.

    На рынке операционных систем доминировали две системы: MS-DOS и UNIX. Однопрограммная однопользовательская ОС MS-DOS широко использовалась для компьютеров, построенных на базе микропроцессоров Intel 8088, а затем 80286, 80386 и 80486. Мультипрограммная многопользовательская ОС UNIX доминировала в среде компьютеров, построенных на базе высокопроизводительных RISC-процессоров.

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

    Конец работы -

    Эта тема принадлежит разделу:

    Конспект лекций по дисциплине Операционные системы и среды

    Астраханской области среднего профессионального образования.. Астраханский колледж вычислительной техники.. Конспект лекций по дисциплине Операционные системы и среды семестр..

    Если Вам нужно дополнительный материал на эту тему, или Вы не нашли то, что искали, рекомендуем воспользоваться поиском по нашей базе работ:

    Что будем делать с полученным материалом:

    Если этот материал оказался полезным ля Вас, Вы можете сохранить его на свою страничку в социальных сетях:

    Все темы данного раздела:

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

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

    Ядро и вспомогательные модули ОС
    Современные ОС имеют архитектуру, основанную на разделении всех ее модулей на две группы: - ядро – модули, выполняющие основные функции ОС; - модули, выполняющие вспомог

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

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

    Концепция микроядерной архитектуры
    Микроядерная архитектура является альтернативой рассмотренному выше способу построения операционной системы, в соответствии с которой все основные функции операционной системы, составляющие многосл

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

    Создание процессов и потоков
    К созданию процесса могут привести следующие события - необходимость выполнения некоторой функции, которая требуется для программы пользователя (создание процесса операционной системой) или распара

    Управляющая информация процесса
    o Информация по планированию и состоянию – включает информацию о состоянии процесса, приоритете процесса, об используемом алгоритме планирования, информация о событии, из-за которого процесс находи

    Состояния процессов
    В многозадачной (многопроцессной) системе процесс может находиться в одном из пяти основных состояний (рис.2.2.): - ВЫПОЛНЕНИЕ - активное состояние процесса, во время которого процесс обла

    Вытесняющие и невытесняющие алгоритмы планирования
    Non-preemptive multitasking - невытесняющая многозадачность - это способ планирования процессов, при котором активный процесс выполняется до тех пор, пока он по собственной инициативе, не от

    Алгоритмы планирования, основанные на квантовании
    В основе многих вытесняющих алгоритмов планирования лежит концепция квантования. В соответствии ней каждому процессу поочередно для выполнения предоставляется ограниченный непрерывный период процес

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

    Управление процессами и потоками в Windows 2000
    Процессы в ОС W2K организованы так, чтобы обеспечить поддержку различных операционных сред. К важным характеристикам процессов в ОС относят реализацию процессов как объектов, возможность порождения

    Процессы в Linux
    В ОС Linux используются две категории процессов: системные и пользовательские. Для их выполнения требуются два режима - пользовательский и режим ядра. Пользовательские процессы выполняются как в по

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

    Обработка прерываний
    Прерывание вызывает ряд событий, которые происходят как в аппаратном, так и в программном обеспечении. На рис. 1.6 показана типичная последовательность этих событий. После завершения работы устройс

    Цели и средства синхронизации
    Основные вопросы, возникающие перед разработчиками операционных систем, связаны, в основном, с управлением процессами и потоками. Необходимо учитывать, что к современным ОС предъявляются, как миним

    Методы борьбы с тупиками
    Проблема тупиков является чрезвычайно серьезной и сложной. Борьба с тупиковыми ситуациями основывается на одной из трех стратегий: - предотвращение тупиков; - обход тупиков;

    Типы адресов
    Для идентификации переменных и команд используются символьные имена (метки), виртуальные адреса и физические адреса. Символьные имена присваивает пользователь при написании программ

    Понятие виртуальной памяти
    Необходимым условием для того, чтобы программа могла выполняться, является ее расположение в оперативной памяти. Большое количество задач, необходимое для высокой загрузки процессора, требует больш

    Страничное распределение памяти
    На рисунке 3.3. показана схема страничного распределения памяти. Виртуальное адресное пространство каждого процесса делится на части одинакового, фиксированного размера, называемые виртуальными стр

    Сегментное распределение памяти
    При страничной организации виртуальное адресное пространство процесса делится механически на равные части. Это не позволяет дифференцировать способы доступа к разным частям программы (сегментам), а

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

    Принцип действия кэш-памяти
    Рассмотрим одну из возможных схем кэширования (рис. 1.8.). Содержимое кэш-памяти представляет собой совокупность записей обо всех загруженных в нее элементах данных из основной памяти. Каждая запис

    Внутреннее устройство кэша
    Рассмотрим основные элементы кэша. При изучении вопросов внутреннего устройства кэша имеет значение: - размер кэша; - размер блока; - функция отображения; - алго

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

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

    Физическая организация устройств ввода-вывода
    Устройства ввода-вывода делятся на два типа: блок-ориентированные устройства и байт-ориентированные устройства. Блок-ориентированные устройства хранят информацию в блоках фиксированного разм

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

    Физическая организация накопителей на МД
    Любой накопитель на магнитном диске имеет один или несколько физических дисков на одной оси с перемещающимся вдоль радиуса блоком головок, по одной на каждую рабочую поверхность (рис. 4.4).

    Принципы записи информации на МД
    Дисковая память для файлов не резервируется, а выделяется по мере необходимости. Такоймеханизм распределения памяти называется динамическим. Чем больше размер кластера, тем нерациональнее используе

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

    Файловая система FAT
    Жесткий диск, имея значительно больший объем, чем гибкий МД, имеет и более сложную структуру - он может быть разбит на несколько разделов, выступающих в системе как самостоятельные (логические) дис

    Основные логические области диска
    Стартовый сектор (сектор начальной загрузки, Вооt - сектор), Таблица размещения файлов (FAT - File Allocation Table), Корневой Каталог (Root-Directory), Область данных (о

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

    Том NTFS и файловая структура
    NTFS использует следующие концепции дискового хранения: Сектор. Наименьшая единица физического хранения на диске. Размер данных в байтах является степенью двойки и почти всегда раве

    Физическая организация s5 и ufs
    Файловые системы s5 и ufs используют очень близкую физическую модель. Это не удивительно, так как ufs является развитием системы s5. При изучении данной темы вместо понятия кластер будет и

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

    Настройка имени компьютера и рабочей группы
    В сетевом окружении каждый компьютер имеет своё имя. Это имя можно Вы можете выбрать сами. Рекомендуется ассоциировать имя компьютера с Вашими именем или фамилией, никнеймом, однако, в общем случае

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

    Системный подход к обеспечению безопасности
    Построение и поддержка безопасной системы требует системного подхода. В соответствии с этим подходом прежде всего необходимо осознать весь спектр возможных угроз для конкретной сети и для каждой из

    Политика безопасности
    Важность и сложность проблемы обеспечения безопасности требует выработки политики информационной безопасности, которая подразумевает ответы на следующие вопросы: Какую информацию защищать?

    Обзор Windows 2000
    Windows 2000 - это многоцелевая ОС со встроенной поддержкой одноранговых сетей и сетей с выделенным сервером. Реализованные в ней техтехнологии позволяют снизить совокупную стоимость владения (tota

    Управление
    Windows 2000 позволяет создать более согласованную среду для конечных пользователей, обеспечив их необходимыми программами, данными и параметрами ОС. Следует отметить следующие новинки в у

    Поддержка аппаратуры
    Microsoft Windows 2000 Professional в настоящее время поддерживает более 7 тыс. моделей устройств, включая устройства инфракрасной связи, сканеры, цифровые камеры и современные мультимедийные устро

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

    Безопасность
    Windows 2000 Professional - наиболее защищенная настольная ОС семейства Windows. Вот некоторые отличительные особенности и усовершенствования в области безопасности, которыми она отличается.

    Домены и рабочие группы
    Windows 2000 поддерживает защищенную сетевую среду, в которой пользователю может быть предоставлен доступ к общим ресурсам, вне зависимости от размера сети. Windows 2000 поддерживает сети двух типо

    Перед началом установки
    Прежде всего изучите аппаратные требования для установки Windows 2000 Professional и убедитесь, что ваш компьютер удовлетворяет этим требованиям; определите, входят ли ваши аппаратные средства в сп

    Файловые системы
    После создания установочного раздела Setup предложит выбрать файловую систему под которую будет отформатирован этот раздел. Windows 2000 поддерживает три файловые системы: NTFS, FAT и FAT32.

    Лицензирование
    Помимо лицензий на использование Windows 2000 Server и лицензий на использование ОС на каждом клиентском компьютере, каждое клиентское подключение к серверу должно быть также лицензировано.

    Использование консоли управления и Task Scheduler
    Основными средствами администрирования Microsoft Windows 2000 являются консоль управления (ММС), Task Scheduler (Планировщик задач) и Control Panel (Панель управления). Консоль упр

    Папка Administrative Tools
    По умолчанию Windows 2000 сохраняет файлы пользовательских консолей с расширением.msc в папке Administrative Tools (Администрирование). Даже после того, как для нового пользователя, зарегистрирова

    Оснастки
    Оснастка- это средство администрирования, включенное в ММС. Существует два вида оснасток: изолированные и расширения. Изолированная оснастка применяется для выполнения задач

    Создание и изменение профиля оборудования
    Для создания и изменения профилей оборудования применяется программа System (Система) из Control Panel (Панель управления). Чтобы посмотреть список доступных профилей дважды щелкните значок System

    Активизация профиля оборудования
    Если в списке Available Hardware Profiles (Имеющиеся профили оборудования) присутствует два или более профилей, то во время загрузки вам будет предложено выбрать один из них. Вы можете задать время

    Виртуальная память
    Модель памяти Windows 2000 основана на плоском линейном 32-разряд- ном адресном пространстве. Для управления памятью Windows 2000 использует систему управления виртуальной памятью (virtual memory m

    Виртуальное адресное пространство
    Виртуальный адрес (virtual address) - это адресное пространство, которое приложение использует для ссылки на память. Когда в Windows 2000 запускается процесс, VMM предоставляет ему 4 Гб виртуальног

    Подкачка
    Процесс перемещения данных в ОЗУ и обратно называется подкачкой (paging). Когда физическая память заполняется и потоку требуется доступ к коду или данным, отсутствующим в настоящий момент в ОЗУ, VM

    Размер файла подкачки
    Когда вы устанавливаете Windows 2000, Setup создает файл подкачки виртуальной памяти Pagefile.sys; в системном разделе. Минимальный размер файла подкачки составляет 2 Мб, Рекомендуемый размер файла

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

    Поддеревья реестра
    Чтобы быстро найти определенные разделы и значения в реестре, следует знать назначение каждого поддерева. На рис. 5-3 редактором реестра отображаются следующие пять поддеревьев: HKEY_LOCAL

    Программа Regedt32.exe
    Setup размещает редактор реестра (программу Regedt32.exe) в папке systemroot\&yst&m32. Однако, поскольку большинство пользователей не редактирует реестр, он не появляется в меню Stan (Пуск)

    Базовая структура
    Традиционный промышленный стандарт предусматривает разбиение жесткого диска на разделы (рис. 6-1). Раздел (partition) - это часть диска, функционирующая как самостоятельное хранилище данных. В Wind

    Установка и конфигурирование сетевых протоколов
    Пакет протоколов TCP/IP Пакет протоколов TCP/IP обеспечивает межсетевое взаимодействие компьютеров с разной аппаратной архитектурой и операционными системами. Реализация протокола TCP/IP,

    Совместное использование утилит ipconfig и ping
    Совместно применяя ipconng и ping, можно проверять конфигурацию компьютера и тестировать соединения с маршрутизатором.

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

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

    Правила именования учетных записей
    Прежде всего, нужно знать, как пользователи идентифицируются в домене. Логичные и последовательные правила помогут вам и вашим пользователям запомнить имена для входа в систему и найти их в списках

    Требования к паролям
    Чтобы упорядочить доступ к ресурсам системы, каждой учетной записи надо сопоставить пароль. Перечислим основные принципы назначения паролей. - Всегда назначайте пароль для учетной записи A

    Локальные группы
    Локальная группа (Local group) - это набор учетных записей пользователей на локальном компьютере, предназначенный для предоставления разрешений доступа к ресурсам на компьютере, где эта группа созд

    Разрешения доступа к общим папкам
    Change Создавать палки, добавлять к ним файлы, изменять и (Изменение) добавлять данные в файлах, изменять атрибуты файла, удалять папки (файлы) и выполнять действия, допускаемые разрешением Read.

    Применение разрешений доступа к общей папке
    Вид доступа к обшей папке зависит от разрешений, назначенных учетным записям пользователей и групп. Далее рассматриваются последствия применения разных разрешений. - Несколько разрешений с

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

    Папки программ
    Общие папки программ (application folders) применяют для серверных приложений, к которым может обращаться компьютер клиента. Главный плюс общих приложений в том, что вам не нужно устанавливать и по

    Назначение разрешений доступа к общей папке
    Открыв доступ к папке, надо назначить соответствующие разрешения учетным записям пользователей и группам. 1. На вкладке Sharing (Доступ) диалогового окна свойств папки щелкните кнопку Perm

    Подключение к общей папке
    Подключаться к общей папке можно с помощью команды Run (Выполнить), значка My Network Places (Мое сетевое окружение) или мастера Map Network Drive (Подключение сетевого диска). В последнем случае с

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

    Существуют следующие основные направления политики аудита
    1. Определитесь, нужно ли отслеживать тенденции использования системы. Если да, то планируйте архивировать журналы событий. Это позволит, например, просмотреть, как используются системные ресурсы,

    Архивация Windows
    В Windows 2000 имеются инструменты архивации и восстановления - программа Backup. В состав программы входит Backup Wizard (Мастер архивации) - служебная программа, существенно облегчающая архивиров

    Планирование архивации
    Архивация планируется и проводится в соответствии с потребностями и нуждами предприятия. Основная цель резервного копирования - возможность при необходимости восстановить данные, поэтому любой план

    Типы архивации
    Backup Wizard (Мастер архивации) предоставляет пять типов архивии, отличающихся выбором данных. Например, можно архивировать только файлы, которые изменились со времени последнего резервного копиро

    Восстановление данных
    Обеспечить успешное восстановление данных можно, только придерживаясь определенных правил, например таких, как полное документирование всех мероприятий по архивации. Подгот

    Выбор архивов и подлежащих восстановлению данных
    Перед запуском восстановления необходимо выбрать нужные данные. Можно выбирать как отдельные файлы или папки, так и целое задание архивации или несколько наборов. Архивный набор (backup se

    Изучение возможностей утилиты cmd
    Командная оболочка - это отдельный программный продукт, который обеспечивает прямую связь между пользователем и операционной системой (ОС). Текстовый пользовательский интерфейс в виде командной стр

    Режимы работы
    COMMAND.COM имеет два режима работы. Первый режим - интерактивный, когда пользователь вводит с клавиатуры команды, которые немедленно выполняются. Второй режим -пакетный, когда COMMAND.COM выполняе

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

    Всероссийский Заочный Финансово – Экономический Институт

    Факультет: финансово – кредитный

    Специальность: финансы и кредит группа вечерняя

    Курсовая работа

    по дисциплине «Информатика»

    на тему «Назначение, классификация и эволюция операционных систем»

    Москва – 2008г.

    Введение

    1 Назначение операционных систем 5

    2 Перечислим основные функции операционных систем 9

    2.2 Обслуживание всех операций ввода-вывода 9

    3 Эволюция и классификация ОС

    Заключение 2

    Список использованной литературы 22

    Введение

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

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

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

    1 Назначение операционных систем

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

    Аналогично, и вывод результатов может быть организован, например, на соответствующие устройства и в форме, удобной для восприятия ее человеком. Либо результаты расчетов будут отправляться программой на какие-нибудь исполнительные устройства, которые управляются компьютером. Наконец, мы можем организовать запись полученных значений на некие устройства хранения данных (с целью их дальнейшей обработки).

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

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

    В 50-е годы взаимодействие пользователей с вычислительным комплексом было совершенно иным, чем ныне. Программист-кодер (от англ. coder – кодировщик) – специально подготовленный специалист, знающий архитектуру компьютера и язык(и) программирования, - по заказу составлял текст программы, часто по уже готовому алгоритму, разработанному программистом-алгоритмистом. Текст этой программы затем отдавался оператору, который набирал его на специальных устройствах и переносил на соответствующие носители. Чаще всего в качестве носителей использовались перфокарты или перфолента. Далее колода с перфокартами передавалась в вычислительный зал, где для вычислений по этой программе требовать следующие действия:

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

    2. Транслятор считывал исходную программу, осуществлял лексический разбор исходного текста, и промежуточные результаты процесса трансляции зачастую так же выводили на перфокарты (перфоленту). Трансляция – сложный процесс, часто требующий нескольких проходов. Порой для выполнения очередного прохода приходилось в память компьютера загружать с перфокарт и следующую часть транслятора, и промежуточные результаты трансляции. Ведь результат трансляции выводился также на носители информации, поскольку объем оперативной памяти был небольшим, а задача трансляции – это очень сложная задача.

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

    Для автоматизации труда программиста (кодера) стали разрабатывать специальные алгоритмические языки высокого уровня, а для автоматизации труда оператора вычислительного комплекса была разработана специальная управляющая программа, загрузив которую в память один раз оператор мог ее далее использовать неоднократно и более не обращаться к процедуре программирования ЭВМ через пульт оператора. Именно эту управляющую программу и стали называть операционной системой. Со временем на нее стали возлагать все больше и больше задач, она стала расти в объеме. Прежде всего разработчики стремились к тому, чтобы операционная система как можно более эффективно распределяла вычислительные ресурсы компьютера, ведь в 60-е годы операционные системы уже позволяли организовать параллельное выполнение нескольких программ. Помимо задач распределения ресурсов появились задачи обеспечения надежности вычислений. К началу 70-х годов диалоговый режим работы с компьютером стал преобладающим, и у операционных систем стремительно начали развиваться интерфейсные возможности. Термин интерфейс (interface) обозначает целый комплекс спецификаций, определяющих конкретный способ взаимодействия пользователя с компьютером.

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

    2 Перечислим основные функции операционных систем

    Прием пользователя (или оператора системы) заданий, или команд, сформулированных на соответствующем языке, и их обработка. Задания могут передаваться в виде текстовых директив (команд) оператора или в форме указаний, выполняемых с помощью манипулятора (например, с помощью мыши). Эти команды связаны с запуском (приостановкой, остановкой) программ, с операциями над файлами (получить перечень файлов в текущем каталоге, создать, переименовать, скопировать, переместить тот или иной файл и др.), хотя имеются и иные команды.

    Распределение памяти, а в большинстве современных систем и организация виртуальной памяти.

    Запуск программы (передача ей управления, в результате чего процессор исполняет программу).

    Прием и использование различных запросов от выполняющихся приложений. Операционная система умеет выполнять очень большое количество системных функций (сервисов), которые могут быть запрошены из выполняющейся программы. Обращение к этим сервисам осуществляется по соответствующим правилам, которые и определяют интерфейс прикладного программирования (Application Program Interface, API) этой операционной системы.