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

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

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

- взаимодействие между пользователем с одной стороны и программным и аппаратным обеспечением ЭВМ с другой стороны, называемое интерфейсом пользователя;

- взаимодействие между программным и аппаратным обеспечением, называемое аппаратно-программным интерфейсом;

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

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

ОС можно подразделить по типу аппаратного обеспечения, на котором ОС работают.

Серверные ОС одновременно обслуживают множество пользователей и позволяют им делить между собой программно-аппаратные ресурсы сервера. Серверы также предоставляют возможность работы с печатающими устройствами, файлами или сетью Интернет. У Интернет-провайдеров обычно работают несколько серверов для того, чтобы поддерживать одновременный доступ к сети множества клиентов. На серверах хранятся страницы веб-сайтов и обрабатываются входящие запросы. Unix и специальная серверная версия ОС Windows являются примерами серверных ОС. Теперь для этой цели стала использоваться и ОС Linux.

Следующую категорию составляют ОС для персональных компьютеров. Их работа заключается в предоставлении удобного интерфейса для одного пользователя. Такие системы широко используются и повседневной работе. Основными ОС в этой категории являются Windows XP / Vista / 7, Apple MacOS и Linux.



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

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

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

Основными функциями ОС являются:



1) распределение ресурсов ЭВМ между процессами – выделение процессам ресурсов ЭВМ в зависимости от их приоритета;

2) поддержание файловой системы – организация хранения и поиска программ и данных на внешних носителях;

3) обеспечение интерфейса пользователя – прием и выполнение команд пользователя.

Рассмотрим эти функции ОС подробнее.

10.3.2. Распределение ресурсов ЭВМ
между процессами

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

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

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

- выполение – непосредственное исполнение процессором;

- ожидание по причине занятости какого-либо требуемого ресурса;

- готовность – процесс не исполняется, но все необходимые для выполнения процесса, кроме времени процессора, предоставлены;

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

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

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

Пример распределения времени процессора между процессами представлен на рис. 10.3.

Процесс 1 – высокий приоритет.

Процесс 2 – средний приоритет.

Процесс 3 – низкий приоритет.

Рис. 10.3. Пример распределения времени процессора
между процессами

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

Пример распределения ОЗУ между процессами представлен на рис. 10.4.

Рис. 10.4. Пример распределения ОЗУ
и виртуальной памяти между процессами

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

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

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

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


7831447772667033.html
7831492007519465.html
    PR.RU™