Прерывания (программные и аппаратные)

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

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

Аппаратные прерывания происходят по запросу периферийных устройств (принтер, мышка, клавиатура и т.д) и называются IRQ (Interrupt Requests).

К аппаратным прерываниям относятся также специальные прерывания, которые генерирует сам процессор. Такие прерывания используются для обработки «исключительных ситуаций» — неверный операнд, неизвестная команда, переполнение и другие непредвиденные операции, когда процессор сбит с толку и не знает, что делать.

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

62) BIOS (Basic Input/Output System) — специальная программа, хранящаяся в микросхеме ПЗУ. (на практике уже давно вместо обычного ПЗУ используется Flash-память, что дает возможность пользователям самим обновлять версии BIOS.

Функции BIOS:

1) После включения выполняет начальное тестирование всех компонентов компьютера (POST).

2) BIOS хранит в специальной микросхеме CMOS -памяти (ОЗУ, питается от батарейки) аппаратную конфигурацию компьютера. (Complementary Metal Oxide Semiconductor)

При включении питания текущая конфигурация сравнивается с сохраненной.

3) Возможность задать параметры и режимы функционирования компонентов компьютера. (BIOS Setup)

4) Обработка операций ввода-вывода

Определяющее значение эти функции имели во времена операционной системы MS-DOS.

70. Утилита (англ. utility или tool) — вспомогательная компьютерная программа в составе общего программного обеспечения для выполнения специализированных типовых задач, связанных с работой оборудования и операционной системы (ОС).

Утилиты предоставляют доступ к возможностям (параметрам, настройкам, установкам), недоступным без их применения, либо делают процесс изменения некоторых параметров проще (автоматизируют его).

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

Виды утилит по связи с ОС

По зависимости от операционной системы можно различать:

Независимые утилиты, не требующие для своей работы операционной системы,

Системные утилиты, входящие в поставку ОС и требующие её наличия

Классификация ОС

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

Ниже приведена классификация ОС по нескольким наиболее основным признакам.

Особенности алгоритмов управления ресурсами

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

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

однозадачные

многозадачные

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

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

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

однопользовательские

многопользовательские.

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

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

невытесняющая многозадачность;

вытесняющая многозадачность.

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

Поддержка многонитевости. Важным свойством операционных систем является возможность распараллеливания вычислений в рамках одной задачи. Многонитевая ОС разделяет процессорное время не между задачами, а между их отдельными ветвями (нитями).

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

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

Особенности аппаратных платформ

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

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

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

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

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

Особенности областей использования

Многозадачные ОС подразделяются на три типа в соответствии с использованными при их разработке критериями эффективности:

системы пакетной обработки

системы разделения времени

системы реального времени

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

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

Системы реального времени применяются для управления различными техническими объектами. Критерием эффективности для систем реального времени является их способность выдерживать заранее заданные интервалы времени между запуском программы и получением результата (управляющего воздействия). Это время называется временем реакции системы, а соответствующее свойство системы - реактивностью. .

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

Особенности методов построения

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

К таким базовым концепциям относятся:

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

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

Наличие нескольких прикладных сред дает возможность в рамках одной ОС одновременно выполнять приложения, разработанные для нескольких ОС. Многие современные операционные системы поддерживают одновременно прикладные среды MS-DOS, Windows, UNIX (POSIX), OS/2 или хотя бы некоторого подмножества из этого популярного набора. Концепция множественных прикладных сред наиболее просто реализуется в ОС на базе микроядра, над которым работают различные серверы, часть которых реализуют прикладную среду той или иной операционной системы.

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

74. Катало́г (англ. directory — справочник, указатель) — объект в файловой системе, упрощающий организацию файлов. Типичная файловая система содержит большое количество файлов и каталоги помогают упорядочить её путём их группировки.

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

Корневой каталог

Каталог, прямо или косвенно включающий в себя все прочие каталоги и файлы файловой системы, называется корневым. В Unix-подобных ОС он обозначается символом / (дробь, слеш), в DOS и Windows исторически используется символ \ (обратный слеш), но с некоторого времени поддерживается и /.

Текущий каталог

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

Для смены текущего каталога на другой используется команда cd.

Родительский каталог

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

Пример (переход в родительский каталог):

cd ..

Каталоги в UNIX

Каталог в UNIX — это файл, содержащий несколько inode и привязанные к ним имена.[1] В современных UNIX-подобных ОС вводится структура каталогов, соответствующая стандарту FHS.

Иерархия каталогов в Windows

Каталог, который не является подкаталогом ни одного другого каталога, называется корневым. Это значит, что этот каталог находится на самом верхнем уровне иерархии всех каталогов. В Windows каждый из дисков имеет свой корневой каталог (C:\, D:\ и т. д).

Каталоги в Windows бывают системные (служебные, созданные ОС) и пользовательские (созданные пользователем). Пример системных каталогов: «Рабочий стол», «Корзина», «Сетевое окружение», «Панель управления», каталоги логических дисков и т. п.

Термин «Папка»

Значок сетевой папки из темы «GNOME»

Термин папка (англ. folder) был введён для представления объектов файловой системы в графическом пользовательском интерфейсе путём аналогии с офисными папками. Он был впервые использован в Mac OS, а в системах семейства Windows — с выходом Windows 95. Эта метафора стала использоваться в большом числе операционных систем: Windows NT, Mac OS, Mac OS X, а также в средах рабочего стола для систем семейства UNIX (например, KDE и GNOME).

В этой терминологии папка, находящаяся в другой папке, называется подпапка, вложенная папка или дочерняя папка. Все вместе папки на компьютере представляют иерархическую структуру (дерево каталогов). Подобная древообразная структура возможна в операционных системах, не допускающих существование «физических ссылок» (Windows 3.x и 9x допускали только аналог символических ссылок — ярлыков). В общем случае файловая система представляет собой ориентированный граф.

Что такое сервер

Сервер (англ. server от to serve — служить) — аппаратное обеспечение, выделенное и/или специализированное для выполнения на нем сервисного программного обеспечения (в том числе серверов тех или иных задач).

Сервер (аппаратное обеспечение) — специализированное аппаратное решение, направленное на обеспечение максимальной защищенности, доступности и сохранности выполняемых задач. Достигается это путем использования более современных технологий и избыточностью с возможностью «горячей замены». Комбинирование личного сервера с VPN-сетью позволяет значительно увеличить безопасность в сети, а комбинация сервера и VPN с анонимизрующими сетями или открытыми прокси позволяют полностью исключить идентификацию реального местоположения клиента. Возможно, сочетание сервера и VPN с FTP proxy технически невозможно, но это пока на стадии личных предположений.

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

77. Рабо́чая ста́нция (англ. workstation) — комплекс аппаратных и программных средств, предназначенных для решения определённого круга задач.

Sun SPARCstation 1+ c 25 МГц RISC-процессором, начало 1990-х годов

Xerox Alto стал в 1973 первым компьютером, который использовал графический интерфейс пользователя с манипулятором типа «мышь» и сеть Ethernet.

Рабочая станция как место работы специалиста представляет собой полноценный компьютер или компьютерный терминал (устройства ввода-вывода, отделённые и часто удалённые от управляющего компьютера), набор необходимого ПО, по необходимости дополняемые вспомогательным оборудованием: печатающее устройство, внешнее устройство хранения данных на магнитных и/или оптических носителях, сканер штрих-кода и пр.

В советской литературе также использовался термин АРМ (автоматизированное рабочее место), но в более узком смысле, чем «рабочая станция».

Также термином «рабочая станция» обозначают стационарный компьютер в составе локальной вычислительной сети (ЛВС) по отношению к серверу. (В локальных сетях компьютеры подразделяются на рабочие станции и серверы. На рабочих станциях пользователи решают прикладные задачи (работают в базах данных, создают документы, делают расчёты, играют в компьютерные игры. Сервер обслуживает сеть и предоставляет собственные ресурсы всем узлам сети, в том числе и рабочим станциям.)

Признаки конфигураций

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

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

Различные инженерные, архитектурные (в том числе градостроительные) и иные САПР, ГИС, полевая работа и геодезия и т. д.

Научные и инженерно-технические вычисления.

Профессиональные биржевой интернет-трейдинг.

Каждый такой подкласс может иметь присущие ему особенности и уникальные компоненты (в скобках даны примеры областей использования): большой размер видеомонитора (главного видеомонитора) и/или несколько мониторов (САПР, ГИС, биржа), быстродействующая видеокарта (кинематограф (в том числе анимация), компьютерные игры), большой объём накопителей данных (фотограмметрия, анимация), наличие профессионального сканера (фотография), защищённое исполнение (военное применение, эксплуатация в полевых условиях) и пр.

Наши рекомендации