Домой / Группы / Операционные системы и их основные функции. Архитектура, назначение и функции операционных систем

Операционные системы и их основные функции. Архитектура, назначение и функции операционных систем

Операционная система (ОС) – это комплекс взаимосвязанных системных программ для организации взаимодействия пользователя с компьютером и выполнения всех других программ. ОС относятся к составу системного программного обеспечения и являются основной его частью. Операционные системы: MS DOS 7.0, Windows Vista Business, Windows 2008 Server, OS/2, UNIX, Linux.

Основные функции ОС:

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

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

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

ведение файловой структуры.

пользовательский интерфейс, т.е. диалог с пользователем.

Дополнительные функции:

параллельное или псевдопараллельное выполнение задач (многозадачность).

взаимодействие между процессами: обмен данными, взаимная синхронизация.

защита самой системы, а также пользовательских данных и программ от злонамеренных действий пользователей или приложений.

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

Операционная среда Windows разработана фирмой Microsoft для IBM-совместимых компьютеров.

Windows выполняет следующие основные функции:

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

Особенности Windows:

  • Правила написания программы . Для работы в среде Windows программа должна быть написана по определенным правилам, существенно отличающимся от принятых в MS-DOS.

Windows позволяет запускать и программы, написанные для MS DOS, но при этом программы не могут использовать преимущества Windows.

  • Графический интерфейс пользователя в Windows основан на идее оконного интерфейса, принятого так же и в ряде других современных ОС (например, UNIX). Каждая программа имеет собственное окно, в котором и происходит обмен сообщений с пользователем. Для наглядности в Windows широко применяются иконки (пиктограммы), изображающие отдельные программы.

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

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

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

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

Системный блок.

В системном блоке находятся все основные узлы компьютера:

Материнская плата;

Электронные схемы (процессор, контроллеры устройств и т.д.);

Блок питания;

Дисководы (накопители).

Характеристики основных модулей ПК

Материнская плата

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

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

Порт – многоразрядный вход или выход в устройстве.

Процессор

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

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

Функции процессора :

1.обработка данных по заданной программе – функция АЛУ;

2.программное управление работой устройств ЭВМ – функция УУ (устройства управления).

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

Регистры выполняют две функции:

Кратковременное хранение числа или команды;

Выполнение над ними некоторых операций.

Производительность CPU характеризуется следующими основными параметрами:

1. тактовой частотой;

2. степенью интеграции;

3. внутренней и внешней разрядностью обрабатываемых данных;

4. памятью, к которой может адресоваться CPU.

Память

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

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

Периферийные устройства можно разделить на несколько групп по функциональному назначению:

1. Устройства ввода-вывода – предназначены для ввода информации в ПК, вывода в необходимом для оператора формате или обмена информацией с другими ПК. К такому типу ПУ можно отнести внешние накопители, модемы.

2. Устройства вывода – предназначены для вывода информации в необходимом для оператора формате. К этому типу периферийных устройств относятся: принтер, монитор, аудиосистема.

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

4. Дополнительные ПУ – такие как манипулятор «мышь», который лишь обеспечивает удобное управление графическим интерфейсом операционных систем ПК и не несет ярковыраженных функций ввода либо вывода информации; WEB-камеры, способствующие передаче видео и аудио информации в сети Internet, либо между другими ПК. Последние, правда, можно отнести и к устройствам ввода, благодаря возможности сохранения фото, видео и аудио информации на магнитных или магнитооптических носителях.

Графические редакторы

К программным средствам создания и обработки векторной графики относятся графические редакторы (например Adobe Illustrator, Macromedia Freehand, CorelDraw) и векторизаторы (трассировщики) - специализированные пакеты преобразования растровых изображений в векторные (например Adobe StreamLine, CorelTrace). Векторный редактор Adobe Illustrator является одним из общепризнанных лидеров среди программ этого класса. Его особое преимущество заключается в хорошо отлаженном взаимодействии с другими продуктами компании Adobe, прежде всего с пакетами Photoshop и PageMaker. Эти приложения выполнены в едином стиле и образуют законченный пакет. Векторный редактор Macromedia Freehand с простым и дружественным интерфейсом служит удобным инструментом работы для начинающих. Программа отличается небольшим размером и хорошим быстродействием. Нетребовательность к аппаратным ресурсам позволяет работать на компьютерах среднего уровня. Инструментальные средства программы достаточны для разработки сложных документов и лишь в некоторых элементах уступают более мощным средствам Adobe Illustrator и CorelDraw. Пакет специально адаптирован для совместной работы с программой компьютерной верстки QuarkXPress. Векторный редактор CorelDraw исторически, особенно в России, считается основным пакетом создания и обработки векторной графики на платформе Windows. К его преимуществам относятся развитая система управления и обширные средства настройки параметров инструментов. По возможностям создания самых сложных художественных композиций CorelDraw заметно превосходит конкурентов. Однако интерфейс программы сложен для освоения. Трассировщик Adobe StreamLine по праву занимает ведущее место в своем классе программ. Хотя имеются более мощные пакеты, ориентированные на обработку чертежей, они очень требовательны к аппаратным ресурсам, да и по стоимости много дороже. StreamLine позволяет проводить тонкую настройку параметров векторизации, что улучшает ее точность. Более всего векторизация удобна для преобразования чертежей, черно-белых рисунков и другой простой графики без полутонов. Полутоновые и цветные изображения обрабатываются хуже, и результат требует значительной доработки для приближения к оригиналу. Среди программ для создания изображений на платформе Macintosh стоит отметить пакет для редактирования растровой живописи и изображений PixelPaint Pro компании Pixel Resources. Среди программ компьютерной живописи для графических станций Silicon Graphics (SGI) особое место занимает пакет StudioPaint 3D компании Alias Wavefront, который позволяет рисовать различными инструментами («кистями») в режиме реального времени прямо на трехмерных моделях. Пакет работает с неограниченным количеством слоев изображения и предоставляет 30 уровней отмены предыдущего действия (undo), включает операции цветокоррекции и «сплайновые кисти», «мазок» которых можно редактировать по точкам как сплайновую кривую. StudioPaint 3D поддерживает планшет с чувствительным пером, что дает возможность художнику сделать традиционный эскиз от руки, а затем позволяет перенести рисунок в трехмерные пакеты для моделирования или анимации и построить по эскизу трехмерную модель. Программа создания и обработки трехмерной графики 3D Studio Max фирмы Kinetix изначально создавалась для платформы Windows. Этот пакет считается «полупрофессиональным». Однако его средств вполне хватает для разработки качественных трехмерных изображений объектов неживой природы. Отличительными особенностями пакета являются поддержка большого числа аппаратных ускорителей трехмерной графики, мощные световые эффекты, большое число дополнений, созданных сторонними фирмами. Сравнительная нетребовательность к аппаратным ресурсам позволяет работать даже на компьютерах среднего уровня. Вместе с тем по средствам моделирования и анимации пакет 3D Studio Max уступает более развитым программным средствам.

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

Она опирается на базовое программное обеспечение – базовую систему ввода-вывода BIOS (Base Input-Output System). Программы, работающие под управлением операционной системы, называются приложениями. Под ресурсами вычислительной системы понимаются объем оперативной памяти, процессорное время, объем внешней памяти, внешние устройства.

Операционная система обеспечивает следующие виды интерфейсов:

1. интерфейс между пользователем и программно-аппаратными средствами компьютера (интерфейс пользователя);

2. интерфейс между программным и аппаратным обеспечением (программно-аппаратный интерфейс);

3. интерфейс между разными видами программного обеспечения (программный интерфейс).

Все операционные системы обеспечивают пакетный и диалоговый режим работы.

В пакетном режиме операционная система автоматически исполняет заданную последовательность команд.

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

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

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

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

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

1. возможность одновременного выполнения нескольких приложений;

2. возможность обмена данными между приложениями;

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


Похожая информация.


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

Функция распределения

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

Функция планирования

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

Функция контроля

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

Операционные системы: назначение и основные функции

Понятие Операционной системы

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

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

Состав ОС

Структуру ОС составляют следующие модули:

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

т .е. переводит команды с языка программ на язык «машинных кодов», понятый компьютеру

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

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

    драйверы периферийных устройств - программно обеспечивают согласованность работы этих устройств с процессором (каждое периферийное устройство обрабатывает информацию по-разному и в различном темпе);

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

    дополнительные сервисные программы (утилиты) - делают удобным и многосторонним процесс общения пользователя с компьютером

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

Назначение Операционной системы

ОС предназначена для решения следующих задач:

    обслуживания аппаратуры компьютера;

    создания рабочей среды и интерфейса пользователя;

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

    организации ввода/вывода, хранения информации и

    управления файлами и данными.

Согласно определению, все задачи, решаемые ОС, можно разбить на две группы:

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

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

Функции Операционной системы

Основные функции:

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

    Стандартизованный доступ к периферийным устройствам (устройства ввода-вывода).

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

    Управление доступом к данным на энергонезависимых носителях (таких как жёсткий диск, оптические диски и др.), организованным в той или иной файловой системе.

    Обеспечение пользовательского интерфейса.

    Сетевые операции, поддержка стека сетевых протоколов.

Дополнительные функции:

    Параллельное или псевдопараллельное выполнение задач (многозадачность).

    Эффективное распределение ресурсов вычислительной системы между процессами.

    Разграничение доступа различных процессов к ресурсам.

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

    Взаимодействие между процессами: обмен данными, взаимная синхронизация.

    Защита самой системы, а также пользовательских данных и программ от действий пользователей (злонамеренных или по незнанию) или приложений.

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

Эволюция операционных систем и основные идеи

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

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

Операционная система DOS

DOS – первая операционная система для персональных компьютеров, которая получила широкое распространение и была основной для компьютеров IBM PC с 1981 по 1995. Со временем она была практически вытеснена новыми, современными операционными системами Windows и Linux, но в ряде случаев DOS остается удобной и единственно возможной для работы на компьютере (например, в тех случаях, когда пользователь работает с устаревшей техникой или давно написанным программным обеспечением и т.п.)

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

Оболочка – это программа, которая запускается под управлением ОС и помогает пользователю работать с ОС. Программа-оболочка наглядно показывает всю файловую структуру компьютера: диски, каталоги, файлы. Файлы можно искать, копировать, перемещать, удалять сортировать, изменять и запускать всего несколькими клавишами. Одна из самых распространенных – Norton Commander(NC). В графических оболочках Windows 3.1 и Windows 3.11 применяется концепция так называемых «окон», которые можно открывать, перемещать по экрану, закрывать. Эти окна «принадлежат» различным программам и отражают их работу.

В DOS используется файловая система FAT. Одним из ее недостатков являются ограничения на имена файлов и каталогов. Имя может содержать не более 8 символов. Кроме того DOS не делает различий между одноименными строчными и прописными буквами.

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

Операционная система MICROSOFT WINDOWS

Графические оболочки Widows 1.0, Widows 2.0, Widows 3.0, Widows 3.1 и Widows 3.11 запускались под управлением MS DOS, то есть не были самостоятельными операционными системами. Но поскольку с появлением Windows открылись новые возможности, Windows называют не оболочкой, а средой.

Среда Windows характеризуется следующими особенностями, отличающими ее от других программ-оболочек:

    Многозадачность;

    Единый программный интерфейс;

    Единый интерфейс пользователя;

    Графический интерфейс пользователя;

    Единый аппаратно-программный интерфейс.

На смену операционной системе DOS с ее графическими оболочками Windows 3.1 и Windows 3.11 пришли полноценные операционные системы семейства MS Windows (сначала Windows 95, затем Windows 98, Windows 2000, Windows XP). В отличие от Windows 3.1 и Windows 3.11, они запускаются автоматически после включения компьютера.

В MS Windows для хранения файлов используется файловая модификация FAT–VFAT. В ней длина имен файлов и каталогов может достигать 256 символов.

В ОС Windows при работе с окнами и приложениями широко применяется манипулятор «мышь», в MS DOS используется только клавиатура.

Также в MSWindowsприсутствует панель задач (Taskbar). Она делает нагляднвм механизм многозадачности и намного ускоряет процесс переключения между приложениями.

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

Операционная система LINUX

Linux – это операционная система для IBM-совместимых персональных компьютеров и рабочих станций. Это многопользовательская операционная система с сетевой оконной графической системой X Window System. Операционная система Linux поддерживает стандарты открытых систем и протоколы сети Интернет и совместима с системами Unix, DOS, MS Windows.

Будучи традиционной оперативной системой, Linux выполняет многие из функций, характерных для DOS и Windows, однако эта операционная система отличается особой мощью и гибкостью. Linux предоставляет в распоряжение пользователя ПК скорость, Эффективность и гибкость UNIX, используя при этом все преимущества персональных машин. При работе с мышью активно используются все три кнопки, в частности, средняя кнопка используется для вставки фрагментов текста.

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

Операционные системы UNI X

UNIX– группа переносимых, многозадачных и многопользовательских операционных систем.

Первая система UNIX была разработана в 1969 г. в подразделении Bell Labs компании AT&T. С тех пор было создано большое количество различных UNIX-систем.

Некоторые отличительные признаки UNIX-систем включают в себя:

    использование простых текстовых файлов для настройки и управления системой;

    широкое применение утилит, запускаемых в командной строке;

    взаимодействие с пользователем посредством виртуального устройства - терминала;

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

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

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

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

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

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

Операционная система компьютера

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

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

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

Современные операционные системы обеспечивают:

¨ установку операционной системы на компьютере;

¨ включение и исключение функциональных компонент в составе ОС;

¨ настройку параметров операционной системы;

¨ загрузку операционной системы при включении компьютера;

¨ тестирование устройств компьютера и функциональных подсистем ОС и исправление возможных нарушений;

¨ автоматическое определение текущей конфигурации устройств компьютера (Plug And Play);

¨ управление памятью;

¨ управление выполнением программ;

¨ управление вводом-выводом;

¨ управление файловой системой;

¨ обработку прерываний;

¨ управление работой аппаратных устройств компьютера;

¨ взаимодействие с ОС пользователей и программ (пользовательский интерфейс ОС);

¨ многозадачный режим;



¨ многопользовательский режим;

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

¨ корректность совместного владения данными несколькими программами или пользователями;

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

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

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

¨ определить номер порта ввода-вывода, соответствующего устройству;

¨ проверить физическое наличие устройства;

¨ установить, включено или выключено требуемое устройство;

¨ проверить, установлен ли на этом устройстве носитель информации (например, магнитный диск);

¨ сверить код носителя информации;

¨ найти место требуемой информации на носителе;

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

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

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

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

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

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

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

Еще одной типовой функцией при работе на компьютере служит управление различными внешними устройствами (винчестерами, гибкими дисками, мониторами, клавиатурой и т.д.). Эти устройства выпускаются самыми различными фирмами. Одинаковые по назначению устройства могут иметь различные характеристики и управляться совершенно разным способом. Для управления внешним устройством марки определенной фирмы требуется своя специальная программа, которая называется драйвером устройства. Существуют драйверы принтеров, драйверы дисководов, драйверы мыши и т.д. Если компьютер комплектуется определенным набором внешних устройств каких-то марок, то одновременно его программное обеспечение должно включать соответствующие драйверы. Современные операционные системы включают большой набор разнообразных типовых драйверов. Более того, они умеют при включении компьютера автоматически определять тип используемого устройства и подключать к работе соответствующий драйвер (эта услуга называется Plug and Play). Естественно, это возможно только в случае, если устройство «умеет» отвечать на вопрос о своей марке (основные производители компьютерной техники эту услугу предусматривают).

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

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

¨ параллельного (псевдопараллельного) выполнения нескольких программ;

¨ постановки заданий (то есть программ) в очередь на выполнение;

¨ разделение между программами ресурсов процессора, памяти и доступа к внешним устройствам.

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

¨ разделение ресурсов процессора, памяти и доступа к внешним устройствам в соответствии с запросами и приоритетами пользователей;

¨ защиту данных одного пользователя от доступа со стороны других пользователей.

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

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

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

Операционные системы очень сильно эволюционировали с момента своего возникновения. Вначале эксплуатировались несколько вариантов операционной системы на вычислительных машинах различных фирм. В силу ряда причин к середине 70-х годов в большинстве компьютеров использовалась система машинных команд и операционная система компании IBM, названная дисковой операционной системой (DOS). Эта же фирма была одним из пионеров в разработке персональных компьютеров. Те модели персональных компьютеров, которые позаимствовали архитектуру и систему команд фирмы IBM, стали называться IBM PC-совместимыми компьютерами. На основе операционной системы DOS для таких компьютеров были разработаны несколько операционных систем. В дальнейшем практически все PC-совместимые персональные компьютеры стали обслуживаться операционной системой компании MicroSoft, называемой MS DOS. С течением времени появлялись новые версии MS DOS, включающие все новые и новые услуги, однако в целом концепция операционной системы этой фирмы осталась неизменной.

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

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

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

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

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

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

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

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

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

Часть самых существенных функций операционной системы более подробно будет рассмотрена в следующих параграфах.

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

Операционная система - это комплекс программ, обеспечивающих:

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

Такое определение операционной системы уже апеллирует к ее функциям, поэтому рассмотрим эти функции подробнее.

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

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

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

Все эти аппаратные устройства обобщенно называют ресурсами компьютера.

В сравнении с оперативной памятью внешние запоминающие устройства обладают практически неограниченной емкостью. Так, емкость встроенного накопителя персональных компьютеров - винчестера - обычно в 50-100 раз больше объема оперативной памяти. Для других устройств - накопителей на гибких магнитных дисках и оптических дисках - используются сменные носители информации, однако время доступа к информации на внешних запоминающих устройствах значительно больше, чем к информации в оперативной памяти (в тысячи раз). Медленнее, чем центральный процессор, работают и устройства ввода - вывода.

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

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

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

При многозадачном режиме:

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

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

Суть режима разделения времени состоит в следующем. Каждой программе, находящейся в оперативной памяти и готовой к исполнению, выделяется для исполнения фиксированный, задаваемый в соответствии с приоритетом пользователя интервал времени (интервал мультиплексирования). Если программа не выполнена до конца за этот интервал, ее исполнение принудительно прерывается, и программа переводится в конец очереди. Из начала очереди извлекается следующая программа, которая исполняется в течение соответствующего интервала мультиплексирования, затем поступает в конец очереди и т.д. в соответствии с циклическим алгоритмом. Если интервал мультиплексирования достаточно мал (~200 мс), а средняя длина очереди готовых к исполнению программ невелика (~10), то очередной квант времени выделяется программе каждые 2 с. В этих условиях ни один из пользователей практически не ощущает задержек, так как они сравнимы со временем реакции человека.

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

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

Остановимся на некоторых понятиях, важных для понимания принципов функционирования всех операционных систем (ОС).

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

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

Рис. 1.

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

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

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

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

При обработке каждого прерывания должна выполняться следующая последовательность действий:

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

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

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

Основные функции:

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

Дополнительные функции:

  • · Параллельное или псевдопараллельное выполнение задач (многозадачность).
  • · Эффективное распределение ресурсов вычислительной системы между процессами.
  • · Разграничение доступа различных процессов к ресурсам.
  • · Организация надёжных вычислений (невозможности одного вычислительного процесса намеренно или по ошибке повлиять на вычисления в другом процессе), основана на разграничении доступа к ресурсам.
  • · Взаимодействие между процессами: обмен данными, взаимная синхронизация.
  • · Защита самой системы, а также пользовательских данных и программ от действий пользователей (злонамеренных или по незнанию) или приложений.
  • · Многопользовательский режим работы и разграничение прав доступа (см. аутентификация, авторизация).