2.Операционная система
Операционная система (ОС) - это взаимосвязанный комплекс программ, который организует в компьютере вычислительный процесс, выполняя две по существу малосвязанные функции:
• повышение эффективности использования компьютера путем рационального управления его ресурсами;
• обеспечение пользователю удобного интерфейса для работы с компьютером.
В общем случае операционная система состоит из большого числа программных модулей, часть из которых является обязательными, а часть может и отсутствовать. Некоторые модули используются очень часто и поэтому должны постоянно находиться в оперативной памяти (резидентные программы), а некоторые выполняются, время от времени, и поэтому могут храниться на диске и вызываться в оперативную память по мере необходимости (транзитные программы).
Среди программ операционной системы можно выделить программы, полностью не зависящие от аппаратуры, которые могут работать на ЭВМ с любой архитектурой; надо лишь переписать их на соответствующем машинном языке. Но есть программы, отражающие детали функционирования аппаратных средств конкретной модели компьютера, например, наличие нескольких процессоров или особенности подключения внешних устройств.
Резидентная часть операционной системы, содержащая наиболее часто используемые модули, называется ядром. Очень часто все наиболее близкие к аппаратуре модули операционной системы содержатся в ядре.
Важнейшей функцией операционной системы является организация рационального использования всех аппаратных и программных ресурсов системы. К основным ресурсам могут быть отнесены: процессоры, память, внешние устройства, информация (данные и программы). Располагающая одними и теми же ресурсами, вычислительная система может работать с разной степенью эффективности под управлением различных ОС. Поэтому знание внутренних механизмов операционной системы позволяет косвенно судить о ее эксплуатационных возможностях и характеристиках.
Управление ресурсами включает решение двух общих, не зависящих от типа ресурса задач:
планирование ресурса - то есть определение, кому и когда необходимо выделить данный ресурс; для делимых ресурсов, таких как магнитные и оптические диски, надо также определить и количество выделяемого ресурса;
отслеживание состояния ресурса - то есть поддержание оперативной информации о том, занят или не занят ресурс, а для делимых ресурсов, какое количество ресурса уже распределено, а какое свободно.
Для решения этих общих задач управления ресурсами разные ОС используют различные алгоритмы, что, в конечном счете, и определяет их облик в целом, включая характеристики производительности, область применения и даже пользовательский интерфейс. Так, например, алгоритм управления процессором в значительной степени определяет, является ли ОС системой разделения времени, системой пакетной обработки или системой реального времени.
- Управление основной памятью
Память компьютера представляет собой иерархию запоминающих устройств (внутренние регистры процессора, различные типы сверхоперативной и оперативной памяти, диски, ленты), отличающихся средним временем доступа и стоимостью хранения данных в расчете на один бит. Среднее время доступа – техническая характеристика, которая характеризует скорость работы памяти.
Оперативной (иначе – основной или main memory) памятью называют такую, в которой размещается выполняемая в данный момент программа и ее внутренние данные. Она является важнейшим ресурсом компьютера, требующим тщательного управления со стороны мультипрограммной операционной системы.
Распределению подлежит вся оперативная память, не занятая операционной системой. Обычно ОС располагается в самых младших адресах, однако может занимать и самые старшие адреса. На рис.1 приведен пример разделения памяти на две част: первая служит для размещения в ней компонент операционной системы, а вторая – для размещения прикладных программ.
Перечислим функции ОС по управлению памятью:
отслеживание свободной и занятой памяти;
выделение памяти процессам и освобождение памяти при завершении процессов;
вытеснение процессов из оперативной памяти на диск, когда размеры основной памяти недостаточны для размещения в ней всех процессов, и возвращение их в оперативную память, когда в ней освобождается место;
Внешние устройства рассматриваются операционной системой как устройства ввода-вывода. В современных компьютерах различают:
блок-ориентированные устройства
байт-ориентированные устройства
Многозадачные ОС подразделяются на три типа в соответствии с использованными при их разработке критериями эффективности:
• системы пакетной обработки;
• системы разделения времени;
• системы реального времени.
Интерфейс операционной системы
Одной из важных задач операционной системы является задача общения с пользователем. Общение призвано предоставить пользователю возможность вводить команды на выполнение компьютером требуемой ему работы. Термин интерфейс пользователя как раз и характеризует форму и средства для этого общения. Интерфейс пользователя у разных операционных систем различаются. На сегодняшний день разработчиками ОС реализуются два вида интерфейсов: командный и графический (WIMP).
Командный интерфейс. Командный интерфейс называется так по тому, что в этом виде интерфейса человек подает "команды" компьютеру, а компьютер их выполняет и выдает результат человеку. Командный интерфейс реализован в виде пакетной технологии и технологии командной строки.
WIMP - интерфейс (Window - окно, Image - образ, Menu - меню, Pointer - указатель). Характерной особенностью этого вида интерфейса является то, что диалог с пользователем ведется не с помощью команд, а с помощью графических образов - меню, окон, других элементов. Хотя и в этом интерфейсе подаются команды компьютеру, но это делается "опосредственно", через графические образы. Этот вид интерфейса реализован на двух уровнях технологий: простой графический интерфейс и "чистый" WIMP - интерфейс.
Интерфейс операционной системы может быть дружественным (hardly) и недружественным.
Дружественным считается такой интерфейс, при котором общение происходит таким образом, чтобы у пользователя не возникало ситуации, при которой он не знает, что от него требуется компьютеру (операционной системе). А если даже он ввел ошибочную команду, то система выведет диагностическое сообщение, поясняющее причину отказа и, при возможности, подсказку о том, как выйти из этого положения. Вывести такую подсказку ОС может не при любой ситуации. И чтобы помочь пользователю разобраться в причинах ошибки и выбрать корректное продолжение работы, в состав ОС введена обширная справочная служба. Примером ОС с дружественным интерфейсом является MS Windows.
В отличие от сказанного, ОС с недружественным интерфейсом предлагает ограниченный набор команд с жестким синтаксисом, описание которого не входит в состав встроенного программного обеспечения. И при вводе некорректной команды просто отвергает ее, выводя малоинформативное сообщение типа «некорректная или неопознанная команда» и т.п.
В качестве примера ОС с недружественным интерфейсом можно назвать MS DOS. В ее состав входит командный процессор (command.com), команды для которого вводятся в виде текстовой строки. Структура любой команды состоит из команды и параметров, записанных в коде ASCII через пробелы. Перечень команд невелик и малоинформативен для рядового пользователя. На рис.3 приведен внешний вид экрана при вводе команды для командного процессора MS DOS.
Для облегчения общения с MS DOS разработаны так называемые программы-оболочки, выступающие посредниками между ОС и пользователем, предоставляющие ему некоторый набор команд для более удобного общения с компьютером при выполнении целого ряда часто встречающихся действий, и обеспечивающие преобразование таких команд в правильные синтаксически команды процессора командного языка. В качестве примера можно привести широко известный в нашей стране Norton Commander. На рис.4 приведен пример интерфейса этой программы-оболочки.