Виды операционных систем и их базовые понятия




Системное программное обеспечении.

Состав системного программного обеспечения

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

Рис. 1. Классификация программных продуктов

Системное ПО направлено:

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

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

- на проведение диагностики и профилактики аппаратуры компьютера и вычислительных сетей;

- на выполнение вспомогательных технологических процессов (копирование, восстановление и т. п.).

Системное программное обеспечение тесно связано с типом компьютера и является его неотъемлемой частью.

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

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

Базовое ПО в архитектуре компьютера занимает особое положение: оно одновременно является частью аппаратных средств и одним из программных модулей операционной системы. Базовое ПО или BIOS (Basic Input/Output System — базовая система ввода/вывода) представляет программа, которая отвечает за управление всеми компонентами, установленными на материнской плате. Она может быть отнесена к особой категории компьютерных компонентов, занимающих промежуточное положение между аппаратурой и программным обеспечением. BIOS поддерживает процесс ввода/вывода и процедуру тестирования всего установленного на материнской плате оборудования, проводимую после каждого включения компьютера.

Это тестирование включает:

- проверку работоспособности системы управления электропитанием;

- инициализацию системных ресурсов и регистров микросхем;

- тестирование оперативной памяти;

- подключение клавиатуры;

- тестирование портов;

- инициализацию контроллеров, подключение жестких дисков.

В процессе тестирования оборудования данные системной конфигурации сравниваются с информацией, хранящейся в CMOS — специальной энергонезависимой памяти, разновидности ПЗУ, расположенной на системной плате. Содержимое CMOS изменяется специальной программой Setup, находящейся в BIOS, и обновляется всякий раз при изменении каких-нибудь настроек BIOS.

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

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

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

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

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

Рис. 2. Схема аппаратно-программных средств компьютера

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

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

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

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

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

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

Виды операционных систем и их базовые понятия

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

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

Следующую категорию составляют ОС для персональных компьютеров. Их работа заключается в предоставлении удобного интерфейса для одного пользователя. Основные ОС в этой категории — Windows98, Windows 2000, Linux.

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

Базовыми понятиями операционных систем являются понятия:

- процесса;

- памяти;

- файла.

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

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

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

 

Процессы и потоки

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

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

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

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

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

Рис. 3. Модель процессов

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

- о состоянии процесса;

- счетчик команд;

- распределение памяти;

- состояние открытых файлов;

- указатель стека;

- об использовании и распределении ресурсов.

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

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

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

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

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

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

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

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

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

 

Управление памятью

Памятьв компьютере имеет иерархическую структуру. Небольшая ее часть, находящаяся прямо в центральном процессоре, представляет собой очень быструю энергозависимую кэш-память. Далее идет более обширная энергозависимая оперативная память — ОЗУ(RAM), следующая ступень иерархии — медленная энергонезависимая память на жестких дисках (ПЗУ), объем которой может достигать сотен гигабайт.

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

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

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

В этом случае имеется несколько стратегий управления памятью:

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

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

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

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

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

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



Поделиться:




Поиск по сайту

©2015-2024 poisk-ru.ru
Все права принадлежать их авторам. Данный сайт не претендует на авторства, а предоставляет бесплатное использование.
Дата создания страницы: 2022-11-01 Нарушение авторских прав и Нарушение персональных данных


Поиск по сайту: