
- •История операционных систем
- •Первое поколение (1945-55): электронные лампы и коммутационные панели
- •Второе поколение (1955-65): транзисторы и системы пакетной обработки
- •Третье поколение (1965-1980): интегральные схемы и многозадачность
- •Четвертое поколение (с 1980 года по наши дни): персональные компьютеры
- •Онтогенез повторяет филогенез
- •1. Классификация ос
- •1.1 Дос (Дисковые Операционные Системы)
- •1.2 Ос общего назначения
- •1.3 Системы виртуальных машин
- •1.4 Системы реального времени
- •1.5 Средства кросс-разработки
- •1.6 Системы промежуточных типов
- •1.7 Семейства операционных систем
- •1.8 Выбор операционной системы
- •1.9 Открытые системы
- •2. Представление данных в вычислительных системах
- •2.1. Введение в двоичную арифметику
- •2.3. Представление текстовых данных
- •2.4. Представление изображений
- •2.5. Представление звуков
- •2.6. Упаковка данных
- •2.7. Контрольные суммы
- •1.8. Введение в криптографию
- •3. Загрузка программ
- •3.1. Абсолютная загрузка
- •3.2. Разделы памяти
- •3.3. Относительная загрузка
- •3.4. Базовая адресация
- •3.5. Позиционно-независимый код
- •3.6. Оверлеи (перекрытия)
- •3.7. Сборка программ
- •3.8. Объектные библиотеки
- •3.9. Сборка в момент загрузки
- •3.10. Динамические библиотеки
- •3.11. Загрузка самой ос
- •4 Управление оперативной памятью
- •4.1. Открытая память
- •4.2. Алгоритмы динамического управления памятью
- •4.3. Сборка мусора
- •4.4. Открытая память (продолжение)
- •4.4.1. Управление памятью в MacOs и Win16
- •4.5. Системы с базовой виртуальной адресацией
- •5. Компьютер и внешние события
- •5.1. Опрос
- •5.2. Канальные процессоры и прямой доступ к памяти
- •1. Мастер шины (bus master), когда устройство имеет свой собственный контроллер пдп,
- •2. Централизованный контроллер, устанавливаемый на системной плате и способный работать с несколькими различными устройствами.
- •5.3. Прерывания
- •5.4. Исключения
- •5.5. Многопроцессорные архитектуры
1.4 Системы реального времени
Это системы, предназначенные для облегчения разработки так называемых приложений реального времени — программ, управляющих некомпьютерным оборудованием, часто с очень жесткими ограничениями по времени. Примером такого приложения может быть программа бортового компьютера fly-by-wire (дословно — "летящий по проволоке", т. е. использующий систему управления, в которой органы управления не имеют механической и гидравлической связи с рулевыми плоскостями) самолета, системы управления ускорителем элементарных частиц или промышленным оборудованием. Подобные системы обязаны поддерживать многопоточность, гарантированное время реакции на внешнее событие, простой доступ к таймеру и внешним устройствам.
Способность гарантировать время реакции является отличительным признаком систем РВ. Важно учитывать различие между гарантированностью и просто высокой производительностью и низкими накладными расходами. Далеко не все алгоритмы и технические решения, даже и обеспечивающие отличное среднее время реакции, годятся для приложений и операционных систем РВ.
По другим признакам эти системы могут относиться как к классу ДОС (RT-11), так и к ОС (OS-9, QNX).
Любопытно, что новомодное течение в компьютерной технике — multimedia — при качественной реализации предъявляет к системе те же требования, что и промышленные задачи реального времени. В multimedia основной проблемой является синхронизация изображения на экране со звуком. Именно в таком порядке. Звук обычно генерируется внешним аппаратным устройством с собственным таймером, и изображение синхронизируется с ним. Человек способен заметить довольно малые временные неоднородности в звуковом потоке, а пропуск кадров в визуальном потоке не так заметен. Расхождение же звука и изображения фиксируется человеком уже при задержках около 30 мс. Поэтому системы высококачественного multimedia должны обеспечивать синхронизацию с такой же или более высокой точностью, что мало отличается от реального времени.
Так называемое "мягкое реальное время" (soft real time), предоставляемое современными Win32 платформами, не является реальным временем вообще, это что-то вроде "осетрины второй свежести". Система "мягкого РВ" обеспечивает не гарантированное, а всего лишь среднее время реакции. Для мультимедийных приложений и игр различие между "средним" и "гарантированным" не очень критично — ну дернется картинка, или поплывет звук. Но для промышленных приложений, где необходимо настоящее реальное время, это обычно неприемлемо.
1.5 Средства кросс-разработки
Это системы, предназначенные для разработки программ в двухмашинной конфигурации, когда редактирование, компиляция, а зачастую и отладка кода производятся на инструментальной машине (в англоязычной литературе ее часто называют host—дословно, "хозяин"), а потом скомпилированный код загружается в целевую систему. Чаще всего они используются для написания и отладки программ, позднее прошиваемых в ПЗУ. Примерами таких ОС являются системы программирования микроконтроллеров Intel, Atmel, PIC и др., системы Windows СЕ, Palm OS и т. д. Такие системы, как правило, включают в себя:
□ набор компиляторов и ассемблеров, работающих на инструментальной машине с "нормальной" ОС;
□ библиотеки, выполняющие большую часть функций ОС при работе программы (но не загрузку этой программы);
□ средства отладки.
Иногда встречаются кросс-системы, в которых компилятор работает не на инструментальной машине, а в целевой системе — так, например, устроена среда разработки для семейства микропроцессоров Transputer компании Inmos.