Добавил:
Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
Скачиваний:
124
Добавлен:
20.06.2014
Размер:
6.61 Mб
Скачать
  1. СПО.

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

1. ОС

2. Системы управления файлами.

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

4. Системы программирования.

5. Утилиты.

ОС – специальный уровень ПО. ОС отвечает (функции):

- за управление внешними устройствами

- обеспечивает пользователя программами с простым доступным интерфейсом для работы с аппаратурой.

Уровень физ. устройства состоит из интегральных микросхем, источники питания, ЭЛТ и т.д.

За работу этих устройств отвечают инженеры-электронщики.

Микро архитектурный уровень. Здесь физ. устройства рассматриваются с точки зрения функциональных единиц. Это уровень внутр. регистров CPU, АЛУ.

На каждом такте ЦП из регистров выбираются 1 или 2 операнда, которые обрабатываются в АЛУ, результат заносится в регистр. Операции над данными на этом уровне могут контролироваться программными приложениями, которые называются микропрограммами или программными цепями. Команды, видимые для работающего на assembler программиста, формируют уровень ISA. Управление устройствами на этом уровне осуществляется с помощью загрузки определенной величины в регистры устройств. Большую роль на этом уровне играют временные соотношения.

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

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

Компиляторы и редакторы запускаются в режиме пользователя. Существуют системы, в которых понятие режим ядра “размыто”. Это встроенные или интерпретируемые системы. (Подобно основанным на JAVA ОС). В них для разделения компонентов используется интерпретация, а не оборудование. В некоторых ОС файловая система работает в пространстве ядра или в пространстве пользователя.

На верху структуры расположены прикладные программы.

  1. Ос в общей структуре компьютера.

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

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

  1. История операционных систем.

1 поколение. 1945-1955 гг. Эл. лампы и коммутационные панели. В Пенсильванском университете Эккерт и Мочли и одновременно в Принстоне Фон Нейман, в Германии Цузе. Все вели работу по созданию выч. машины. Сначала использовались мех. реле. Длительность такта – несколько секунд. Потом реле заменили эл. лампами. Каждую машину строила, программировала и эксплуатировала одна команда. Все программирование на абсолютном машинном языке. Управление основными функциями машины осуществлялось при помощи соединения коммутационных панелей. К нач. 50-х появляются перфокарты.

2 поколение. 1955-1965 гг. Элементно это транзисторы и системы пакетной обработки. С появлением и применением транзисторов компьютеры становятся более надежными, могут работать долго и появляется разделение труда. Машины называют мейнфреймами. Располагаются в спец комнатах с кондиционированием и обслуживаются профессиональными операторами и электронщиками. Машинное время тратилось крайне не эффективно, и общим решением для повышения эффективности стала система пакетной обработки. Общий замысел в сборе полного подноса задания (колоды перфокар). Затем переписать их на магнитную ленту, используя небольшой, недорогой компьютер, например, IBM-1401 для ввода/вывода. За 1 час шла сборка заданий на магнитную ленту, которую ставили на дорогостоящую машину и оператор загружал специальную программу – прообраз сегодняшней ОС. Она считывала первое задание, запускала его и выход отправляла на другую ленту, затем считывала следующее задание и т.д. Типичная ОС Fortran Monitor System.

3 поколение. 1965-1980 гг. Элементно-интегрированные схемы. К началу 60-х изготовили компьютеры по 2 направлениям:

- научные или крупномасштабные (пословная обработка текста для числовых вычислений IBM-7094

- коммерческие компьютеры с посимвольной обработкой IBM-1401. Для сортировки и поиска информации.

Фирма IBM попыталась объединить эти разработки и выпустила серию машин 360. Все эти компьютеры были программно совместимы. Линия использовала мелкомасштабные интегральные микросхемы. Была разработана ОС OS360. Она содержала тысячи ошибок. В ней самое важное достижение – многозадачность. Решение заключалось в разбиении памяти на несколько частей, называемых разделами. Каждому разделу давалось свое задание. Если в ОЗУ содержалось достаточное количество заданий – ЦП мог быть загружен почти на 100%. Сразу возникает проблема защиты памяти. OS360 имела аппаратные средства защиты. ОС имела способность считывать задания с перфокарт на диск по мере того, как их приносили в машинный зал. Всегда, когда текущее задание заканчивалось, ОС могла загружать следующее задание с диска в освободившийся раздел ОЗУ и запускать его, т.е. осуществляла подкачку заданий с диска в ОЗУ. Несмотря на эти плюсы, многие программисты тосковали по 1 поколению, когда было монопольное владение машиной. Решение этой проблем привело к разработке режима разделения времени – вариант многозадачности, при котором у каждого пользователя есть свой диалоговый терминал. При работе в таком режиме чаще выдаются короткие команды (компиляция) чем длинные (сортировка). Тогда появляется фоновый режим, когда ЦП не занят др. заданиями. Первая ОС с режимом разделения времени – CTSS. Разработка Массачусетского технологического института. До тех пор, пока не были распространены необходимые технические средства защиты, ОС не могла получить популярности. Институт вместе с General Electrics и Белли-лабс начали разработку компьютерного предприятия общественного пользователя. Машина поддерживала сотни пользователей в режиме распределения времени. ОС называлась Multics. Разаработчики представляли ее себе как огромную выч. машину, воспользоваться которой мог любой человек в районе Бостона. Пошел рост миникомпьютеров. Первая миниЭВМ PDP-1 (1961г). Последняя PDP-11. Эта серия была не совместима между собой. Математик К.Томпсон взял за основу проект Multics и PDP-7. Он решил написать усеченную однопользовательскую версию системы Multics. Эта работа перешла в Unix. Большой плюс – доступность исходного кода. Выделились две линии в развитии:

- System V (компания AT&T)

- BSD

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

4 поколение. 1980 – по наши дни. Это ПК. Появление БИС. В 1974г компания Intel выпустила первый универсальный 8р ЦП Intel 8080. Для него потребовалась ОС. У Intel был консультант Генри Килдерт, он составил дисковую ОС – CP/M. В начале 80-х корпорация IBM разработала ПК IBM PC и начала искать ПО. IBM сразу обратилась к Б. Гейтсу с просьбой получить лицензию на право использования его интерпретатора Basic. Потом попросили его написать ОС. Гейтс создал пакет программ DOS/Basic и пакет был куплен IBM. Гейтс пригласил Т. Патерсона для изменения системы. Первый вариант системы – MSDOS. Паттерсон стал первым сотрудником Microsoft. Самым мудрым оказалось решение Гейтса продать MSDOS компьютерным компаниям для установки вместе с их продуктом, а не конечным пользователям. Microsoft продавала свою версию Unix – XENIX. ОС CP/M, MSDOS и др. полностью основывались на исполнении командной строки. В НИИ Стенфорда был изобретен графический интерфейс пользователя GUI (окна, значки). Наиболее удачная разработка GUI – Apple Macintosh. Компанией Microsoft была разработана оболочка поверх MSDOS –Windows 3.x. В 95г появляется первая полноценная Win 95, в ядро была включена графическая оболочка. В 98 г. выходит Win 98, множество программ для 16р ЦП. Другой ОС была Win NT, в ней полностью переписано ядро. Это целиком 32р система. Популярность получила 4 версия. На определенном уровне NT4.0 совместима с Win 95. Версия NT5.0 была переименована в Win2000. Была выпущена Win Me.

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

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