Операционная система как виртуальная машина

Лекция 1

1. Что такое операционная система. 2

1.1. Структура вычислительной системы.. 2

1.2. Что такое ОС.. 2

1.2.1. Операционная система как виртуальная машина. 2

1.2.2. Операционная система как менеджер ресурсов. 3

1.2.3. Операционная система как защитник пользователей и программ.. 3

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

1.3. Краткая история эволюции вычислительных систем.. 4

1.3.1. Первый период (1945–1955 гг.). Ламповые машины. Операционных систем нет. 4

1.3.2. Второй период (1955 г.–начало 60-х). Компьютеры на основе транзисторов. Пакетные операционные системы.. 4

1.3.3. Третий период (начало 60-х – 1980 г.). Компьютеры на основе интегральных микросхем. Первые многозадачные ОС.. 5

1.3.4. Четвертый период (с 1980 г. по настоящее время). Персональные компьютеры. Классические, сетевые и распределенные системы.. 7

1.4. Основные понятия, концепции ОС.. 9

1.4.1. Системные вызовы.. 9

1.4.2. Прерывания. 9

1.4.3. Исключительные ситуации. 9

1.4.4. Файлы.. 10

1.4.5. Процессы, нити. 10

1.5. Архитектурные особенности ОС.. 11

1.5.1. Монолитное ядро. 11

1.5.2. Многоуровневые системы (Layered systems) 11

1.5.3. Виртуальные машины.. 12

1.5.4. Микроядерная архитектура. 12

1.5.5. Смешанные системы.. 13

1.6. Классификация ОС.. 15

1.6.1. Реализация многозадачности. 15

1.6.2. Поддержка многопользовательского режима. 15

1.6.3. Многопроцессорная обработка. 15

1.6.4. Системы реального времени. 16

1.7. Заключение. 16

1.8. Приложение 1. 17

1.8.1. Некоторые сведения об архитектуре компьютера. 17

1.8.2. Взаимодействие с периферийными устройствами. 17

Лекция 1 –Введение в операционные системы – определение, назначение и история развития.

Что такое операционная система

Структура вычислительной системы

Из чего состоит любая вычислительная система? Во-первых, из того, что в англоязычных странах принято называть словом hardware, или техническое обеспечение: процессор, память, монитор, дисковые устройства и т.д., объединенные магистральным соединением, которое называется шиной.

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

Операционная система как виртуальная машина - student2.ru

Рис. 1.1. Слои программного обеспечения компьютерной системы

Что такое ОС

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

Операционная система как виртуальная машина

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

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

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

Наши рекомендации