Файл: Функции операционных систем персональных компьютеров, история ЭВМ.pdf
Добавлен: 23.04.2023
Просмотров: 317
Скачиваний: 1
СОДЕРЖАНИЕ
Третье поколение: интегральные схемы
Развитие третьего поколения ЭВМ пришлось на 1965-1985 года.
Аппаратное обеспечение персонального компьютера
Основные функции операционной системы
Архитектура операционных систем
Краткий обзор современных операционных систем
Семейство операционных систем Linux
Как и в классических системах UNIX, Linux содержит макроядро.
СРВ используются сегодня во многих отраслях, таких как промышленность, медицина, робототехника, телекоммуникационное оборудование или бытовая техника. Примерами могут послужить: лазерные принтеры, сканеры, цифровые камеры, кабельные модемы, маршрутизаторы, системы для видеоконференций и Интернет-телефонии, мобильные телефоны, микроволновые печи, музыкальные центры, кондиционеры, системы безопасности.
Иногда СРВ делят на «жесткие» и «мягкие». Их различия заключаются в требованиях к системе. Так в «жесткой» системе, нарушение временного ограничения недопустимо. Тогда как в «мягкой» системе, такое нарушение лишь нежелательно. Однако здесь можно сказать, что не всякие мягкие СРВ вовсе таковыми являются, ведь они не соответствуют первому требованию – четкому ограничению времени.
При этом стоит не путать «системы реального времени» и «операционные системы реального времени» (ОСРВ). ОСРВ в свою очередь не делятся на «жесткие» и «мягкие». Они могут лишь послужить созданию таковой системы реального времени. В свою очередь к системам обращены и разные требования.
Требования к операционной системе реального времени следующие:
- Мультипрограммность и мультизадачность
- Приоритеты задач
- Наследование приоритетов
- Синхронизация процессов и задач
- Предсказуемость
Первое требование – мультипрограмность и мультизадачность. Оно говорит нам о том, что система должна быть многопоточной, а также активно использовать прерывания и диспетчеризацию. Такая мультизадачность повышает производительность ОСРВ, хоть речь идет не столько о скорости системы, сколько о ее способности выдержать ограничение времени, что дает ей большую предсказуемость и говорит о ее соответствии требованиям приложения. К примеру система Windows 3.11 даже на Pentium IV с частотой более 3000 МГц не может функционировать в качестве ОСРВ, ибо одно приложение может практически монопольно захватить центральный процессор и заблокировать систему для остальных вычислений.
Второе требование – приоритетность. Приоритеты необходимы для более эффективной работы ОСРВ. В идеале система понимает, какому процессу в данный момент нужнее ресурсы, и отдает их потоку или драйверу с минимальным крайним сроком. Это называется управлением временным ограничением (Deadline DrivenOS). Однако для этого системе необходимо знать все временные ограничения процессов, производимых в ней. Но такой принцип довольно сложен в реализации. По этой причине было введено понятие уровня приоритетов, и их сведение к временным ограничениям задач.
Третье требование – наследование приоритетов. Наследование необходимо для устранения инверсии потоков. Инверсия потоков представляет собой ситуацию, в которой несколько потоков имеющих разные приоритеты захватывают один ресурс, получается, что один поток блокирует доступ к ресурсу второму потоку. Таким образом время распределения этого ресурса будет зависеть от приоритетов этих потоков, что помешает выдержать ограничение на исполнение того или иного приоритета.
Для решения проблемы, было создано наследование приоритетов. При наследовании, уровень приоритета потока приравнивается к уровню самого потока. В следствии чего, блокирующий ресурс поток, наследует уровень блокируемого потока.
Четвертое требование - синхронизация процессов и задач. Синхронизация необходима при протекании параллельных процессов или же их взаимодействии. Суть синхронизации состоит в том, чтобы распределить системные ресурсы так, чтобы несколько процессов могли, беспрепятственно не мешая друг другу протекать. При этом определённые стадии разных процессов должны совершаться в определённом порядке, либо одновременно.
Пятое требование – предсказуемость. Предсказуемость ОСРВ используется для того чтобы предотвратить ухудшение качества в мультимедийных системах. Таким образом разработчик при создании ОСРВ учитывает многие факторы, в частности времена выполнения системных вызовов и временные характеристики поведения системы в различных обстоятельствах.
Интерфейсы операционных систем
Операционная система сама по себе выступает в качестве интерфейса между пользователем и аппаратурой, что позволяет расширить круг доступных для выполнения пользователем задач, и делает среду работы интеллектуально понятной.
Мы рассмотрим интерфейсы системного и прикладного программирования, которые должны выполнять управление процессами, памятью и вводом-выводом. Конкретнее задачи интерфейсов будут приведены в таблице:
|
Управление процессами |
Управление памятью |
Управление вводом-выводом. |
|
Запуск, приостановка и снятие задачи; |
Запрос на выделение блока памяти; |
Запрос на управление виртуальными устройствами |
|
Задача или изменение приоритета задачи; |
Освобождение памяти; |
|
|
Вызов задач между собой; |
Изменение параметров блока памяти; |
Файловые операции (запросы на создание, изменение и удаление данных, организованных в файлы). |
|
Вызов удаленных процедур. |
Отображение файлов на память; |
Если говорить, об интерфейсе пользователя и операционной системы, то мы узнаем, что он реализован с помощью набора специальных модулей, которые получают команду на определенном языке, и транслируют ее на обычные вызовы, соответствующие основному интерфейсу системы.
Обращения API непосредственно к операционной системе могут осуществляться посредством как вызова подпрограммы и передачи ей необходимых параметров, так и с помощью прерываний программы. Метод организации определяется непосредственно архитектурой платформы.
Интерфейс прикладного программирования API (Application Program Interface), в первую очередь предназначен для получения прикладными программами необходимых системных ресурсов и функций.
Для начал стоит разграничить API на несколько направлений:
- API как высокоуровневый интерфейс (библиотеки RTX);
- API системных и прикладных программ, входящие в поставку операционной системы;
- Прочие API.
Краткий обзор современных операционных систем
Семейство операционных систем Linux
Сегодня Linux является весьма популярной системой среди разработчиков. Это система Unix-подобных операционных систем, которое базируется на ядре Linux (ядро ОС, соответствующее стандартам POSIX). Эти системы имеют модель свободного и открытого программного обеспечения и распространяются бесплатно, в виде дистрибутивов.
Изначально системы использовались для суперкомпьютеров и серверов, сегодня же они применяются для встраиваемых систем, смартфонов и получили небольшую популярность для персональных компьютеров.
Свободное программное обеспечение этой системы привлекает энтузиастов и на сегодняшний день, многие проекты, основанные на ядре Linux, получают всё большую популярность. Примерами являются такие проекты как Linux Mint, Ubuntu, Fedora.
Linux работает на множестве процессоров различных архитектур, таких как ARM, Alpha AXP, SPARC, Motorola 680x0, SuperH, IBM System/390, MIPS, PA-RISC Renesas H8/300, и многих других.
Для защиты программного обеспечения, Linux работает сключительно в защищенном режиме. То есть непосредственный доступ к аппаратному обеспечению имеет только программный код, исполняющийся в нулевом кольце защиты. Пользовательские же или системные программы зачастую работают в третьем кольце защиты.
Как и в классических системах UNIX, Linux содержит макроядро.
Ядро предоставляет свое собственное адресное пространство для каждого процесса, поэтому процесс не имеет надлежащего доступа к данным из других процессов и ядра. Кроме того, сегмент кода, сегмент данных и стек ядра находятся в нулевом кольце защиты. Для доступа к физическим устройствам на компьютере, ядро вызывает соответствующие драйверы, которые управляют оборудованием компьютера. Так как драйверы действуют как часть ядра, их код выполняется в (предпочтительном) нулевом защитном кольце, и они могут пользоваться доступом к аппаратным ресурсам.
Операционные системы Windows
В 1990 году компания Microsoft объявила начале работ над концептуально новой операционной системой, которая разрабатывалась для компьютеров IBM-PC, и должна была иметь среди характеристик следующее:
- Микроядерная архитектура
- Независимость устройств (что обеспечивало хорошую переносимость)
- Возможность запускать приложения, созданные для других операционных систем
- Надежная защита от несанкционированного доступа
- Возможность работы с несколькими файловыми системами
Изначально проект имел название «OS/2 version 3.0», однако в 1993 году он вышел под названием «Windows NT». Существенного прорыва правда это не оказало. Система уступала OS/2 в быстродействии, файловая система FAT не имела возможности присваивания длинных имен файлам.
Потому компания выпускала обновленные версии, надеясь догнать по производительности своих конкурентов. Windows NT 4.0 в этом плане оказалась весьма успешной, однако операционная система требовала большой оперативной памяти.
Существенное развитие NT продолжила Windows 2000. Она имела улучшенное питание, улучшенный интерфейс и добавилась технология Plug-and-Play службы сетевого каталога.
После успеха Windows 2000, компания Microsoft продолжили делать упор на совместимость драйверов и устройств, а также на улучшение интерфейса. Таким образом появилась Windows XP, вытеснив с рынка Windows 98.
Стратегия оказалась успешной, и Windows XP за первые несколько лет своего существования была инсталлирована на сотни тысячах персональных компьютеров.
Разработка Windows Vista стартовала через несколько лет после успеха Windows XP. Однако охват планов был слишком большим, потому разработку пришлось прекратить и начать заново, несколько урезав ее будущий функционал. Объем готового продукта поразил, 70миллионов строк кода, написанного на языках C/C++. Компания стремилась расширить функционал, потому в главном каталоге system32, оказалось 1600 динамически подключаемых библиотек (DLL) и 400 исполняемых файлов (EXE).