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

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

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

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

Добавлен: 30.06.2023

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

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

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

В качестве примера аппаратно-зависимого модуля можно привести (правда, с некоторыми оговорками) известную систему BIOS (Basic Input/Output System) для процессоров Intel. Эта система представляет собой программный код, реализующий простейшие низкоуровневые операции с основными устройствами ввода/вывода (клавиатура, мышь, монитор, диски), но на их основе можно строить более сложные подпрограммы [3].

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

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

Наконец, самый верхний уровень ядра образуют системные API-вызовы. С точки зрения разработчика ПО эти вызовы оформлены как обычные функции, часто – с передачей входных параметров и возвратом результата отработки вызова. Число таких системных вызовов может быть весьма различным. Например, набор API-функций в системах семейства Windows (Win32 API) насчитывает до 2000 вызовов, реализующих практически все аспекты функционирования систем данного класса.

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

В последнее время большую популярность получают системы с микроядерной организацией. Микроядро – это минимально необходимый набор подпрограмм, реализующих в привилегированном режиме лишь самые необходимые функции. В качестве микроядра можно взять модули уровней 1 и 2 на приведенной выше схеме. Модули уровней 3 и 4 выполняются в пользовательском режиме как обычные прикладные программы. Основой взаимодействия разноуровневых модулей является механизм сообщений, реализованный по технологии «клиент – сервер»:

Клиент в лице приложения или системного диспетчера формирует запрос-сообщение на вызов системной функции или другого диспетчера (запрос серверу).


Этот запрос с помощью диспетчера сообщений, работающего в составе микроядра, передается вызванному системному модулю (серверу) обратно на пользовательский уровень.

После отработки системного запроса сервером его результат опять же через микроядро возвращается клиенту.

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

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

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

Командный модуль — это программа, функцией которой является выполнение команд от пользователя компьютеру.

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

Утилиты - дополнительные программные средства, которые взаимодействуют с ПО для выполнения различных задач.

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

Кроме того, современная операционная система может обладать разной разрядностью 32 и 64.

1.3 Как проходит работа операционной системы

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


Прерывание генерируется от внешнего устройства. Такие «Аппаратные прерывания» информируют процессор о совершении асинхронной операции. Аппаратное прерывание производится параллельно процессам обработки программного кода процессором.

Так действует код ядра ОС и выполняется адресным пространством. Ядро ОС обладает доступом к пространству памяти программы пользователя и только после того, как произойдёт системный вызов, происходит передача адреса памяти этой программы для осуществления вызова в ядро.

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

1.4 Как производится загрузка ОС

Процесс от загрузки до запуска операционных систем можно разделить на три этапа:

Этап первый. ПЗУ системного блока проводит проверку да диске наличие программы-загрузчика ОС и предаёт работу ОЗУ.

Этап второй. Программа загрузчик с помощью ОЗУ обращается к базовому модулю ОС и как следствие работа передаётся ему.

Этап третий. Основной загрузчик в базовом модуле запускает загрузку имеющейся операционной системы и только после этого вступает в свои права на управление командному модулю.

Глава 2 Основные функции, которые выполняет операционная система.

2.1 Краткий список функций

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


Обязательные:

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

Дополнительные:

  • Многозадачность.
  • Эффективное распределение ресурсов.
  • Ограничение доступа процессам к ресурсам.
  • Доступ к системе авторизованному пользователю.
  • Предоставление среды для взаимодействия процессов между собой.
  • Самозащита от случайных или злонамеренных действий пользователей.

2.2 Обработка запросов

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

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

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

Средства проверки дисков

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

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


Логические ошибки файловой структуры имеют два характерных проявления: это потерянные кластеры или общие кластеры. Потерянные кластеры образуются в результате неправильного (или аварийного) завершения работы с компьютером. Так, например, ни в одной операционной системе нельзя выключать компьютер, если на нем запущены приложения, осуществляющие обмен информацией с дисками. Кроме того, в операционных системах Windows также нельзя выключать компьютер, если не исполнена специальная процедура завершения работы с операционной системой. Механизм образования потерянных кластеров выглядит так:

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

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

Ошибка, проявляющаяся как общие кластеры, характеризуется тем, что, согласно данным FAT-таблиц, два или более файлов претендуют на то, что их данные находятся в одном и том же месте диска. При нормальной работе такой ситуации быть не может, и это свидетельствует об ошибке в FAT-таблицах. Причиной появления общих кластеров может стать самопроизвольное изменение данных в FAT-таблицах или некорректное восстановление ранее удаленных данных с помощью внесистемных средств. Некорректность может быть обусловлена нарушением порядка операций восстановления данных или неадекватностью средств восстановления данных (например, использованием средств MS DOS для восстановления файлов, записанных средствами Windows).

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