Что такое информатика 8 страница

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

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

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

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

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

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

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

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

Исходя из задач ОС, неотделимо связанных с данным определени­ем, можно выделить основные функции ОС, среди которых:

• определение интерфейса пользователя,

• обеспечение разделения аппаратных ресурсов между пользовате­лями,

• предоставление возможности работы с общими данными,

• планирование доступа пользователей к общим ресурсам,

• обеспечение эффективного выполнения операций ввода/вывода,

• осуществление восстановления информации и вычислительного процесса в случае ошибок.

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

Пассивные ресурсы - управляемые ресурсы:

• процессоры,

• память,

• устройства ввода/вывода,

• данные.

Активные ресурсы - управляющие ресурсы:

• операторы ЭВМ,

• различные программисты (прикладные, системные),

• административный персонал,

• программы пользователя.

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

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

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

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

1. Поддержка многозадачности

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

• однозадачные (например, MS-DOS, MSX) и

• многозадачные (OC EC, OS/2, UNIX, Windows 95).

Однозадачные ОС в основном выполняют функцию предоставления

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

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

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

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

• невытесняющая многозадачность (NetWare, Windows 3.x);

• вытесняющая многозадачность (Windows NT, OS/2, UNIX).

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

2. Поддержка многопользовательского режима

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

• однопользовательские (MS-DOS, Windows 3.x, ранние версии OS/2);

• многопользовательские (UNIX, Windows NT).

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

3. Многопроцессорная обработка

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

Функции поддержки многопроцессорной обработки данных имеются в таких операционных системах, как: OS/2 фирмы IBM, Windows NT фирмы Microsoft, NetWare 4.1 фирмы Novell и некоторых других.

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

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

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

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

1. Первую категорию составляют операционные системы для пер­сональных компьютеров. Их работа заключается в предоставлении удобного интерфейса для одного пользователя. Такие системы широко используются для работы с текстом, электронными таблицами и доступа в Интернет. Наиболее яркие примеры - это Windows XP, MacOS и Linux.

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

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

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

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

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

Операционные системы для мэйнфреймов в основном ориентиро­ваны на обработку множества одновременных заданий по операциям ввода-вывода. Примером операционной системы для мэйнфрейма яв­ляется 0S/390, произошедшая от 0S/360.

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

5.4 Операционные системы для мобильных устройств

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

1. Symbian OS

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

Каждый разработчик создавал свой дистрибутив этой операционной системы в зависимости от ограничений аппаратной платформы, под ко­торую она разрабатывалась. Так появились версии Series 60, Series 80, Series 90, UIQ и MOAP. Каждая версия обладала своими особенностями, что делало необходимым под каждую версию разрабатывать свои при­ложения. Это было неудобно, поэтому после появления Windows Mobile, Android и iPhoneOS утратила свою популярность среди производителей мобильных девайсов. Так, в этом году компании Sony Ericsson и Samsung объявили, что не будут больше поддерживать эту операционную систему. На данный момент из крупных производителей мобильных де­вайсов только компания Nokia использует эту ОС для своих смартфонов.

Достоинства:

• низкие требования к памяти и процессору;

• функция освобождения неиспользуемой памяти;

• стабильность;

• малое количество вирусов для этой платформы;

• быстро выходят новые версии и исправляются нестабильности;

• большое количество программ.

Недостатки:

• для связи с ПК нужно устанавливать дополнительный софт;

• несовместимость программ для старых и новых версий.

2. Windows Mobile

Эта операционная система разработана компанией Microsoft. Эта система использует такой же программный интерфейс, что и настольная версия. Это делает написание программ более знакомым, а пользова­телям нравится удобный и понятный интерфейс, знакомый им с на­стольной Windows. Windows Mobile является компонентной, многозадач­ной, многопоточной и многоплатформенной операционной системой. Благодаря этому она снискала широкое распространение на мобильных устройствах.

Достоинства:

• схожесть с настольной версией;

• удобная синхронизация;

• в комплекте идут офисные программы;

• многозадачность.

Недостатки:

• высокие требования к оборудованию,

• наличие большого числа вирусов,

• нестабильность в работе.

3. Android

Это одна из ОС, основанная на базе операционной системы Linux и разрабатываемая Open Handset Alliance (OHA) при поддержке Google. Исходный код находится в открытом доступе, благодаря чему любой разработчик может создать свою версию этой мобильной ОС. Разработ­чикам приложений выдвинуто небольшое количество ограничений, бла­годаря чему существует множество как платных, так и бесплатных при­ложений, которые можно удобно загрузить с Android Market.

Достоинства:

• гибкость;

• открытые исходные коды;

• множество программ;

• высокое быстродействие;

• удобное взаимодействие с сервисами от Google;

• многозадачность.

Недостатки:

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

• высокая предрасположенность к хакерским атакам из-за открыто­сти кода;

• почти всегда требует доработок.

4. iOS

Мобильная операционная система от компании Apple. Данная сис­тема получила распространение только на продуктах компании Apple. Применяется в iPhone, iPod, iPad а также телевизионной приставке AppleTV.

Достоинства:

• удобное использование;

• качественная служба поддержки;

• регулярные обновления, устраняющие многие проблемы в работе;

• возможность купить в App Store множество различных программ.

Недостатки:

• заблокированный характер ОС;

• отсутствие многозадачности;

• нет встроенного редактора документов.

5. Palm OS

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

Достоинства:

• не требовательна к ресурсам;

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

• удобная синхронизация с ПК;

• надежность.

Недостатки:

• отсутствует полноценная многозадачность;

• не развиты мультимедийные функции;

• система не развивается (хотя возможно компания HP сможет это преодолеть).

6. BlackBerry OS

Операционная система работает исключительно на устройствах, выпускаемых компанией Research In Motion Limited (RIM). Ориентирова­на на корпоративных пользователей. Свое название получила от смартфонов, для которых создавалась. Смартфоны с этой операцион­ной системой получили распространение в корпоративной среде, благо­даря сложности перехвата сообщений.

Достоинства:

• удобное пользование электронной почтой;

• легкая синхронизация с ПК;

• широкие возможности настроек безопасности.

Недостатки:

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

• не очень удобный браузер.

Технические характеристики устройства отнюдь не главный пара­метр при выборе мобильного устройства.

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

Некоторые смарт-карты являются Java-ориентированными. Это оз­начает, что ПЗУ (ROM, Read Only Memory - память только для чтения) смарт-карт содержит интерпретатор виртуальной машины Java (Java Virtual Mashine). Апплеты Java (маленькие программы) загружаются на карту и выполняются JVM-интерпретатором. Некоторые из таких карт могут одновременно управлять несколькими апплетами Java, что приво­дит к многозадачности и необходимости планирования. Из-за одновре­менной работы двух и более программ возникает необходимость в управлении ресурсами и защитой. Соответственно, все эти задачи вы­полняет обычно крайне примитивная операционная система, находя­щаяся на смарт-карте.

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

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

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

• системы пакетной обработки (например, OC EC);

• системы разделения времени (UNIX, VMS);

• системы реального времени (QNX, RT/11).

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

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

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

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

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

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

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

1. Способы построения ядра системы

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

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

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

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

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

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

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

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








Дата добавления: 2016-03-20; просмотров: 420;


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

При помощи поиска вы сможете найти нужную вам информацию.

Поделитесь с друзьями:

Если вам перенёс пользу информационный материал, или помог в учебе – поделитесь этим сайтом с друзьями и знакомыми.
helpiks.org - Хелпикс.Орг - 2014-2024 год. Материал сайта представляется для ознакомительного и учебного использования. | Поддержка
Генерация страницы за: 0.044 сек.