Добавил:
Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
Скачиваний:
26
Добавлен:
17.04.2013
Размер:
188.93 Кб
Скачать

5

СПО Лекция 1 [15.07.19]

Литература:

Г.Дейтел Введение в операционные системы (в 2х томах).-М., Мир, 1987

Д.Рихтер Windows для проффесионалов.-1997

Ал.Вильямс Системное программирование в Windows 2000 для профессионалов.- С-Пб, 2001.-624с.

Р. Саймон Windows 2000 API. Энциклопедия программиста.- К.: «ДиаСофт», 2001.-1088с.

Г.Н.Соловьев, В.Д.Никитин Операционные системы.-1989

www.cs.berkeley.edu(CS162)

Лекция 1: Введение

  • Понятие об ОС.

  • Принципы проектирования ОС

  • Зачем изучать ОС.

  • Обзор тем курса.

Что такое ОС?

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

Две основные функции ОС:

  1. Эффективное управление ресурсами ЭВМ

  2. Предоставление набора услуг, отвечающего требованиям пользователей

Ресурсы ОС:

  • Процессор

  • Память

  • Внешние устройства

  • Программы пользователей

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

Прикладная программа

_____________________ Интерфейс виртуальной машины (API)

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

_____________________ Интерфейс с аппаратурой

Аппаратура

Виртуальная машина - это программный эмулятор некоторой другой машины.

  • Используется для выполнения программ, написанных для одной платформы, на другой платформе.

  • Обеспечивает хорошую переносимость.

  • Создает новый (более удобный) интерфейс.

В основе управления ресурсами в современных (мультипрограммных) ОС часто использзуется принцип виртуализации ресурсов путем:

(а) разделения времени (процессор, принтер)

(б) создания копий (программы)

(в) подмены реального устройства виртуальным (спулинг)

Что если ОС нет?

- Загрузить абсолютный загрузчик

- Загрузить транслятор

- Считать исходный текст, на выходе объектные модули

- Загрузить редактор связей

- Считать объектные модули, на выходе загрузочный модуль

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

Простая ОС (однопрограммная)

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

Более сложная ОС (многопрограммная)

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

Ключевыми моментами, на которых строится защита, являются :

  • Аппаратно поддерживаемое преобразование адресов из виртуального пространства пользователя в физическое адресное пространство

  • Разграничение режимов работы (системный/пользовательский)

В простых системах необходимости в разграничении режимов работы нет!

Изменение таблиц трансляции выполняется только в защищенном режиме!

Ниже приведен пример трансляции адресов.

Принципы разработки ОС

Принцип простоты решений при проектировании сложных систем

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

Make it as simple as possible, but not simpler!

But not simpler

DO 10 I=1,10

. . .

10 CONTINUE

Если допустить такую ошибку: DO 10 I=1.10 , то получим синтаксически правильную, но неверно работающую программу. Причины: (а) объявление переменных по умолчанию, (б) уничтожение пробелов компилятором перед синтаксическим разбором.

Что дает простота решений?

  • Надежность

  • Простоту сопровождения и дальнейшего развития

  • Скорость выполнения

  • Снижение стоимости

  • Расширение рынка сбыта (то, что сложно и непонятно труднее продать)

Что мешает нахождению простых решений?

  • «Избыточный IQ», который выражается в решениях, которые мало кто может понять

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

  • Самореклама: включение в систему функций, которых ни у кого нет. А нужны ли они?

Как добиться простоты?

  • Взять за правило критически относиться к сложным решениям

  • Задавать себе вопрос: «А можно ли упростить решение?»

  • Задавать себе вопрос: «А если убрать эту функцию, то что мы потеряем?»

  • Изучать известные решения, анализировать их и находить самые простые пути решения проблем

ОС, ставшие стандартами de facto:

  • CP/M -> MS_DOS

  • RT-11 -> RSX-11 -> VAX/VMS

  • OS360 -> OS370 -> OS/VS

  • UNIX

Зачем изучать ОС?

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

  • Выступает в роли посредника между пользователями, запросы и цели которых часто противоречат друг другу;

  • Играет роль виртуальной машины, которая скрывает от пользователя сложности управления аппаратурой и предоставляет набор услуг существенно упрощающих общение с ЭВМ;

  • Обеспечивает защиту пользователей друг от друга, себя от пользователей и пользователя от самого себя;

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

Обзор тем курса

  • Параллельные последовательные процессы. Планирование, синхронизация процессов.

  • Управление памятью

  • Организация ввода-вывода и файловые системы

  • Распределенные ОС. Проблемы и перспективы.

Соседние файлы в папке вар1