Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
Лекции по ОС.doc
Скачиваний:
5
Добавлен:
06.09.2019
Размер:
508.42 Кб
Скачать

Лекция №1

Введение.

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

ВС состоит:

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

  2. вычислительная система, состоящая из ПО, которое делится на прикладное и системное.

Прикладное ПО – разнообразные банковские и бизнес - программы, игры, текстовые редакторы и т.д.

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

Любой из компонентов прикладного ПО обязательно работает под управлением ОС.

Слои ПО в компьютерной среде:

Под УТИЛИТАМИ понимают специальные системные программы с помощью которых можно обслуживать ОС, выполнять обработку данных, выполнять оптимизацию данных на носителе и т.д.

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

ОС как интерфейс между пользователем и компьютером (виртуальная машина).

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

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

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

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

ОС как менеджер ресурсов.

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

ОС как защитник пользователей и их программ.

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

ОС как постоянно функционирующее ядро.

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

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

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

Краткая история эволюции ВС.

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

I период 1945-55 гг.

Ламповые машины, ОС нет.

В сер. 40-х были созданы первые ламповые вычислительные устройства и появился принцип программы, хранящейся в памяти (Джон Фон Нейман июнь 1945). В то время одна и та же группа людей участвовала в проектировании “эксплуатации и программировании ВС”. Программирование осуществлялось исключительно на машинном уровне, об ОС не было и речи. Все задачи по организации вычислительного процесса решались вручную каждым программистом с пультом управления. Программа загружалась в память машины в лучшем случае с колоды перфокарт, а обычно с помощью панели переключателей. Отладка программ велась с пульта управления с помощью изучения состояния памяти и регистров машин. В конце этого периода появляется первое системное ПО. 51-52 появляются компиляторы фортранов, 54-Assembler. Этот период характеризуется крайней высокой стоимостью ВС, малым количеством и низкой эффективностью использования.

II период(55-нач. 60 гг.)

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

В сер. 50-х начался новый период в развитие вычислительной техники, связанный с появлением новой технической базы - полупроводниковых элементов. Применение транзисторов вместо часто перегоравших электронных ламп привело к повышению надёжности компьютеров. Размеры компьютеров уменьшились, снизилась стоимость эксплуатации и обслуживания вычислительной техники. Началось использование ЭВМ коммерческими фирмами. Наблюдается бурное развитие алгоритмических языков: LISP, COBOL, ALGOL-60, PL-1. Появились первые настоящие компиляторы, редакторы связи, библиотеки математических служебных подпрограмм. В этот период происходит разделение персонала на программистов и операторов, специалистов по эксплуатации и разработчиков ВМ. Изменился сам процесс прогона программы. Пользователь приносит программу с входными данными в виде колонны перфокарт и указывает необходимые ресурсы, такая колода получила название задание. Оператор загружает задание в память машины и запускает его на выполнение. Выходные данные печатаются на принтере. Смена запрошенных ресурсов вызывает приостановку выполнения программ, и процессы часто простаивают. Для повышения эффективности использования компьютера задания с похожими ресурсами собирают вместе, создавая пакет заданий. Появляются 1-ые системы пакетной обработки, которые просто автоматизируют запуск одной программы из пакета за др., тем самым увеличивает коэффициент загрузки CPU. Для реализации таких пакетных систем был разработан формализованный язык управления заданиями. Системы пакетной обработки стали прообразом современных ОС, они были первыми системными программами, предназначенными для управления вычислительными процессами.

III начало 60-ых -1980 гг.

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

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

Из-за низкой скорости устройств ввода/вывода начинают использовать предварительную запись пакета заданий на магнитный диск.

Выходная информация сначала выводится на диск и печатается с него. Вначале эти операции осуществляются в режиме offline, т.е. с помощью др. компонентов. Затем в режиме online, т.е. на компьютере, где выполнились вычисления. Этот прием получил название simultaneous peripheral operation on line (spooling). Этот прием позволили совместить операции ввода/вывода одного задания с выполнением др. задания, что потребовало разработки аппарата прерываний для извещения процессора об окончании этих операций. Появление магнитного диска, для которого не важен порядок чтения информации, привело к возможности выбора очередного задания – пакетные системы стали заниматься планированием задания в зависимости от наличия запрошенных ресурсов, срочности и т.д.

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

  • Реализация защиты

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

  • Наличие прерываний

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

  • Параллелизм в архитектуре

Прямой доступ к памяти и организация каналов вводы вывода освободили CPU от рутинных операций.

При мультипрограммном режиме ОС отвечает за следующие операции:

  1. Организация интерфейса между прикладными программами и ОС при помощи системных вызовов;

  2. Планирование использования процессора заключается в организации очереди из заданий в памяти и выделения процессора одному из заданий;

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

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

  5. Организация хранения информации на внешних носителях в виде файлов и их защита от несанкционированного доступа;

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

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