Файл: Функции операционных систем персональных компьютеров (Определения и свойства операционных систем).pdf

ВУЗ: Не указан

Категория: Курсовая работа

Дисциплина: Не указана

Добавлен: 25.04.2023

Просмотров: 263

Скачиваний: 2

ВНИМАНИЕ! Если данный файл нарушает Ваши авторские права, то обязательно сообщите нам.

В операционной системе MS-DOS драйверы устройств загружались как резидентные программы, напрямую работающие с процессором и другими устройствами материнской платы. Участие операционной системы сводилось к предоставлению пользователю возможности загрузки драйвера, после чего драйвер перехватывал прерывания, используемые для обращения к устройству, и управлял его взаимодействием с вызывающей программой. Загрузка драйверов устройств осуществлялась двумя способами. Ручная загрузка производилась после первоначальной загрузки компьютера, когда пользователь сам выдавал команды на загрузку драйверов. Автоматическая загрузка реализовалась с помощью команд на загрузку и настройку драйверов, включенных в состав файлов, автоматически читаемых при загрузке компьютера.

Современные операционные системы берут на себя все функции по установке драйверов устройств и передаче им управления от приложений. Во многих случаях операционная система не нуждается в драйверах, полученных от разработчика устройства, так как использует драйверы из собственной базы данных. Каждое подключенное устройство может использовать до трех аппаратных ресурсов устройств материнской платы: адресов внешних портов процессора, прерываний процессора и каналов прямого доступа к памяти. Если устройство подключается к материнской плате через шину PCI, имеется техническая возможность организовать между ним и материнской платой обратную связь. Это позволяет операционной системе анализировать требования устройств о выделении им ресурсов и гибко реагировать на них, исключая захват одних и тех же ресурсов разными устройствами. Такой принцип динамического распределения ресурсов операционной системой получил название plug-and-play, а устройства, удовлетворяющие этому принципу, называются самоустанавливающимися.

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

2.7 Обслуживание компьютера.

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

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


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

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

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

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

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


2.8 Прочие функции операционных систем.

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

– возможность поддержки функционирования локальной компьютерной сети без специального программного обеспечения;

– обеспечение доступа к основным службам Интернета средствами, интегрированными в состав операционной системы;

– возможность создания системными средствами сервера Интернета, его обслуживание и управление посредством удаленного соединения;

– наличие средств защиты данных от несанкционированного доступа, просмотра и внесения изменений;

– возможность оформления рабочей среды операционной системы, в том числе и средствами, относящимися к категории мультимедиа;

– возможность обеспечения комфортной поочередной работы различных пользователей на одном персональном компьютере с сохранением персональных настроек рабочей среды каждого из них;

– возможность автоматического исполнения операций обслуживания компьютера по заданному расписанию или под управлением удаленного сервера;

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

Кроме перечисленных функций, операционные системы могут включать минимальный набор прикладного программного обеспечения, которое можно использовать для исполнения простейших практических задач:

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

Конкретный выбор операционной системы определяется совокупностью предоставляемых функций и конкретными требованиями к рабочему месту. По мере развития аппаратных средств вычислительной техники и средств связи, функции операционных систем непрерывно расширяются, а средства их исполнения совершенствуются.

3. Требования к операционным системам


3.1 Расширяемость

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

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

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

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

Средства вызова удаленных процедур (RPC) также дают возможность расширить функциональные возможности ОС. Новые программные процедуры могут быть добавлены в любую машину сети и немедленно поступить в распоряжение прикладных программ на других машинах сети.

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


3.2 Переносимость

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

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

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

В-третьих, важно минимизировать или, если возможно, исключить те части кода, которые непосредственно взаимодействуют с аппаратными средствами. Зависимость от аппаратуры может иметь много форм. Некоторые очевидные формы зависимости включают прямое манипулирование регистрами и другими аппаратными средствами.

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

Для легкого переноса ОС при ее разработке должны быть соблюдены следующие требования:

  • Переносимый язык высокого уровня. Большинство переносимых ОС написано на языке С (стандарт ANSI X3.159-1989). Разработчики выбирают С потому, что он стандартизован, и потому, что С-компиляторы широко доступны. Ассемблер используется только для тех частей системы, которые должны непосредственно взаимодействовать с аппаратурой (например, обработчик прерываний) или для частей, которые требуют максимальной скорости (например, целочисленная арифметика повышенной точности). Однако непереносимый код должен быть тщательно изолирован внутри тех компонентов, где он используется.
  • Изоляция процессора. Некоторые низкоуровневые части ОС должны иметь доступ к процессорно-зависимым структурам данных и регистрам. Однако код, который делает это, должен содержаться в небольших модулях, которые могут быть заменены аналогичными модулями для других процессоров.
  • Изоляция платформы. Зависимость от платформы заключается в различиях между рабочими станциями разных производителей, построенными на одном и том же процессоре. Должен быть введен программный уровень, абстрагирующий аппаратуру вместе со слоем низкоуровневых программ таким образом, чтобы высокоуровневый код не нуждался в изменении при переносе с одной платформы на другую.