Реферат по предмету "Разное"


1, Этапы развития спо

1, Этапы развития СПО. Ручное программирование в кодах. Создание ассемблеров. Создание абсолютных и перемещающих загрузчиков. Использование библиотек объектных модулей. Использование макросредств. Разработка алгоритмических языков высокого уровня. 60-70гг СССР ЭВМ СПО М20 Мир Минск Бэсм Наири ….. Отдельные Системные программы ЕС ЭВМ (IBM) ЭВМ СПО ЕС 1020 1030 ….. 1033 1040 ….. 1061 DOS ECOC ECCBM Mainframe IBM Создание дисковой операц. системы. Переход от однопрограммного режима к мультипрограммному. Мини ЭВМ Dec (digital) PDP-11 СПО СМ ЭВМ …. cm 4 …. cm 1420 ОС РВРАФОС ….. Специализация операц. систем. Супер мини ЭВМ (32 р) VAX-11 CM-1700 VAX-VMS Democ Мини ЭВМ (16 разр) PDP-11 CM-4 CM-1420 …. RT-11 PSX-11 Unix …. Микро ЭВМ (16 р) Электроника-60 ДВК ПЛОС ОСДВК -Развитие сервисного ПО -Развитие принципа независимости логического и физического представле -ния о системе. 10. Переход к персональным системам. 1. Переоценка ценностей. Развитие принципа персональности Персональные компьютеры(ПК): IBM PC-Intel x86, Pentium… DEC - ALFA AXP APPLE – Mac (Motorola 68x) SUN Hewlitt Packard 2. Развитие интерфейса^ ОС: MS-DOS, DR-DOS, PC-DOS 3. Возврат к многозадачным системам. Windows, OS/2 4. Широкое развитие сетевых средств. Lan manager, Windows for workgroups, OS/2 warp, Windows NT. 11. Комплексирование разнообразного аппаратного обеспечения в сетевые структуры. 12. Многопроцессорные структуры. SMP-симметричная многопроцессорная структура. 13. Создание глобальных сетей. 3. Назначение и функции ОС.Под ОС понимают комплекс программ, к-рые управляют аппаратурой, осущ-ют эффектив. использов-е ресурсов, контролируют процессы выпол-я прикладных пр-м, создают программные и пользовательские интерфейсы. Функции ОС: Управление процессами, данными, памятью, процессорами, устр-ми, файловой сис-мой, пользователями. Распределение реурсов. Организация многозадачных режимов. Интерфейсные ф-ции: (1. API-Application Program Interface; 2. пользовательский интерфейс(текстовый, графический, GUI); 3. Сетевой) Инструментальные средства Коммуникационные и сетевые ср-ва ОС ПК Ядро Системные программные данные. -драйверы -файловая система -система обработки и обслуживания программ (утилиты) -системные библиотеки.4. Классификация ОС. 1. По организации управления процессами. -однозадачные ОС (в каждый момент времени в системе вып-ся 1 задача). MS-DOS, MSX, … - многозадачные ОС (ОС ЕС, OS/2, Unix, Windows NT, …) 2. По поддержке многопользовательского режима. -однопользовательские (MS-DOS, Windows 3.x, 9.x, OS/2) -многопользовательские (Unix, Windows NT, Linux, VMS…) 3. По методу организации многозадачного режима. - невытесняющая многозадачность или кооперативная (nonpreemptive) Win. 3.x, Novell, Netware. - вытесняющая многозадачность (preemptive) OS/2, NT, Unix… 4. По поддержке многопотоковости (multithread) - поддерживающие (Windows NT, OS/2) - неподдерживающие 5. По многопроцессорной обработке -симметричная ОС (обознач. СМП). В такой системе ОС децентрализована и распределяет системные и прикладные задачи по всем имеющимся пр-рам. - ассимметричная ОС. Прикладные задачи вып-ся на одно пр-ре, а системные на другом. 6. По особенностям аппаратных платформ. По типу оборудования ОС делятся на: - ОС мобильных компьютеров (и карманных тоже) PALM OS. - ОС персональных, настольных комп-ров (Windows, CE) - ОС миникомпьютеров (VAX фирмы Digital E.C.) - Кластеры Кластером наз. слабосвязанная совокуп-ть неск. вычислит. систем, работающих совместимо для выполнения общих приложений и представляющаяся пользователю единой системой. 2 задачи у кластеров: 1. Повышение произв-ти. 2. Повышение надежности и безотказности работы. 1-ые разработчики таких систем-Digital E.C. на VAX системах. Аппаратная задача создания кластеров: обеспечение обратной связи (быстрые шины). Прогр-ная задача: соотв. ОС. Первые ОС: Qualix Group-Octopus HA, Microsoft -Wolfpack (NT). -DB2 IBM-Parallel Sysplex. -Oracle Parallel Server 8. -Microsoft Censter Service -Caldera Open Unix, Sun Soloris, Compac Tru 64, Compac Alpha VMS, HP PA-RISC Cluster. 7. По особенностям ОС по режимам вып-я заданий. - системы пакетной обработки. Пакет заданий готовится автономно заранее и вып-ся независимо от пользователя. Пакетный режим наиболее эффективен с т. зрения исп-ния ресурсов комп-ра. -системы разделения времени. Здесь исп-ся диалоговый (или интерактивный) способ работы пользователя. Здесь эффект-ть работы зависит и от комп-ра, и от чел-ка. -системы реального времени. В режиме реальн. времени вып-ся процессы, взаимодействующие с внеш. объектами, функционирующие в физическ. времени. Основное требование к процессам реальн. времени- гарантированное время ответа на внеш. событие. В таких ОС набор задач фиксирован, необходимые пр-мы, устр-ва и данные заранее определены, а процессы реальн. времени постоянно присутствуют в ОП. К ним относятся: QNX, RTX (NT Embedded), RT Linux, VMS. В такие системы встраив-ся ср-ва обнаружения и обработки аварийных ситуаций, резервирование. Системы реальн. врем. имеют развитую систему диспетчеризации на основе динамических приоритетов, развитые системы временного обслуживания. 8. По особенностям методов построения. - способ построения ядра. (1. Монолитное ядро. Ядро исп-ся как одна резидентная пр-ма, работ-щая в привилегиров. режиме. Такой подход дает произв-ть. 2. Микроядерный подход. Микроядро содержит т. минимум ф-ций по упр-нию аппаратурой. Высокоуровневые ф-ции ОС вып-ют специализированные компоненты (серверы), кот. работают в пользовательском режиме. Такой подход работает более медленно из-за переключения режимов, но этот подход дает большую защищенность, гибкость и модифицированность. - Наличие неск. прикладных сред. В рамках одной ОС м. вып-ть приложения для разнородных ОС. (WIN NT: MS-DOS, WIN-16, WIN-32,OS/2,POSIX) - Распределенная орг-ция ОС. ОС разделена по узлам сети, но для пользов-ля вся сеть предстает как один комп-р с объединенными ресурсами. Для реализации требуется наличие единой справочной службы разделяемых ресурсов, единая служба времени, мех-зм удаленного вызова процедур (RPC). Т.ж. нужна многопотоковая обработка и другие распределенные службы.5. Понятие вычислительного процесса, состояние процесса, типовые операции над процессами.Процессор-любое устр-во, способное автом-ки вып-ть допустимые для него действия по прогр-ме, хранящейся в памяти и непоср-но доступной такому активному устр-ву. Для каждой пр-мы, исп-щей процессор вводится понятие процесс, у к-рого есть 2 момента: во-1ых, процесс является носителем данных, а во-2ых, выполняет операции. Вычислит. процесс- развивается во времени в нек-рой аппаратно-программной среде, состоящей из набора ресурсов. К ресурсам относятся функциональные возможности устр-в, программ и набора данных. Если внутри ОС присутствуют неск. процессов, то м/д ними возникает конкуренция за обладание тем или иным ресурсом, в первую очередь за время ЦП. Сущ-ют след. режимы работы: 1) Однозадачный-в этом режиме вычисления носят последов-ный характер, ресурсы не разделяются, а полностью предоставлены одному процессу. 2) Фоново-оперативный. Процессы делятся на 2 типа. 1 тип-оперативные процессы или процессы переднего плана (foreground). 2 тип- фоновые процессы (background). 3) многозадачный режим.^ Состояния процесса. При выполнении различают след. состояния процессов: 1. Порождение. Здесь подготавливаются условия для 1-ого выполнения на процессоре. Когда в систему поступает задание, она создает процесс, к-рый устанавливается в очередь готовых процессов. Когда процесс оказ-ся 1-ым в очереди ему выделяется квант времени ЦП. при этом говорят, что произошел запуск процесса. 2.Состояние выполнение (или активное). Когда процессу выделен квант времени ЦП. 3. Готовность- когда процесс не исполняется, но для вып-ния предоставлены все ресурсы, кроме ЦП. 4. Блокировка (или сост-е ожидания). Процесс не вып-ся по причине занятости нек-рого ресурса. Процесс ожидает наступление события. 5. Окончание- нормальное или аварийное завершение процесса. Изобразим развитие процесса в виде графа конечного автомата: Если активному процессу нужен ресурс, к-рый оказ-ся занятым, то процесс сам себя блокирует и ожидает наступление события по освобождению нужного ресурса. в схеме т. один переход от активного к блокирован вып-ся по причинам самого процесса. все остальные переходы происх. по внеш. сигналам. Один процесс м. быть приостановлен другим процессом исп-ся в ОС для исключения процессов в момент пиковой нагрузки. При приостановке ресурсы освобождаются частично. Возобновление- действие подготовки к повторному запуску в точке приостановки.6. Методы реализации многозадачного режима. Многопотоковость. Если внутри ОС присутствуют неск. процессов, то м/д ними возникает конкуренция за обладание тем или иным ресурсом, в первую очередь за время ЦП. Сущ-ют след. режимы работы: 1) Однозадачный-в этом режиме вычисления носят последов-ный характер, ресурсы не разделяются, а полностью предоставлены одному процессу. 2) Фоново-оперативный. Процессы делятся на 2 типа. 1 тип-оперативные процессы или процессы переднего плана (foreground). 2 тип- фоновые процессы (background). 3) многозадачный режим. При реализации многозадачного режима исп-ся 2 метода: 1. Переключение по событию. При переключении по событию ОС не опред-ет момент смены текущей задачи, т.е переключение м. добровольно инициировать активный процесс, приостанавливающий свое выполнение при обращении к ОС. Типичным случаем наступления события явл. операция вв/выв. При таком методе возможна ситуация, когда один процесс захватывает упр-ние и не передает его ОС. Чтобы избежать этой ситуации сигналы д. быть внешними, и надо установить систему приоритетов. 2. Разделение времени. Переключение процессов происходит под действием внеш. сигнала, поступающего через опред-ный квант времени Т. Обычно этот сигнал- аппаратное прер-е от таймера. Планировщик, получив упр-ние по прер-нию прекращает работу активного процесса и сохраняет всю инф-цию, необходимую для его продолжения (контекст процесса). Потом планировщик анализирует очереди задач и по определен. правилам выбирает след. активный процесс. Переключение процессов- передиспетчеризация. Объединение этих 2-ых механизмов можно выполнить, если считать событием в системе след. ситуации: 1) прерывание от таймера по истечению кванта времени. 2) активный процесс запрашивает операцию вв/выв. 3) активный процесс освобождает ресурс, к-рый ожидался более приоритетной задачей. 4) аппаратное прер-е сигнализирует об освобождении устр-ва вв/выв. Многопотоковость.(thread-поток). ОС выполняет защиту процессов др. от друга, разделяет их, но м. предоставлять сец. ср-ва взаимодействия. Другой прием распараллеливания состоит в организации потоков в рамках одного процесса, т.е потоки м. быть организованы для совместного взаимод-вия, а не для конкурирования. Разделение времени проц-ра идет по потокам и тогда поток- минимальная вычислит. задача для диспетчеризации. Потоки вып-ся в общем контексте, поэт. они имеют общее адресное простр-во, общие глобальные переменные, общие открытые файлы. Но потоки имеют различные: программный счетчик, стек, локальные переменные, рег-ры, текущее состояние . 1) Многопотоковая обработка повышает эффективность работы системы за счет распараллеливания. 2) Некоторые прикладные задачи легче программировать, используя потоки. 3) Реальное распараллеливание в многопроцессорных системах повышает эффективность многопотоковых программ. Hyper-Threading- Гиперпотоковые технологии разраб-ся компанией Intel для повышения производ-ти серверных систем. Simul tameous multi threading technology- мн-во потоков вып-ся одновременно на одном проц-ре. Работа неск. потоков достигается за счет дублирования архитектурных состояний проц-ра при совместном исп-нии единого набора ресурсов. Под ресурсом понимаются функциональные модули проц-ра. Логический проц-р- архитектурное состояние, к-рое м. быть заполнено. Это реализовано в семействе проц-ров Intel Xeon, где аппаратно заложена поддержка технологии Hyper-Threading. В проц-ре имеются диспетчеры, к-рые формируют логические проц-ры как архитектурные состояния ресурсов одного процессорного ядра, поэт. добавляются схемы дублирования рег-ров и расширенный контроллер управ-ния прер-ем (APIC), к-рый назначает прер-я для обработки разными процессами в многопроцессорной системе.7. Управление процессами в Unix. Unix, как сис-ма разделения времени включает диспетчер, выполняющий переключение процессов. Вся инф-ция о процессах сосредоточена в а) дескриптор процесса-содержит идентифиц. данные. Мн-во дескрипторов обрабатывает таблицу процессов в сис-ме. б) контекст-совокуп-ть описат. инф-ции, харак-щей текущ. сост-е виртуальной машины проц-ра. В контекст входят: идентификац. номера пользователя, указ-ли на адресное простр-во, содержимое стеков, содержимое рег-ров проц-ра, глобальные переменные, ссылки на системную таблицу файлов, список реакций на сигналы, привилегии доступа, др. используемые ресурсы. Иерархия процессов в Unix. Все процессы организованы в связанную иерархическ. стр-ру.В корне дерева находится процесс INIT, имеющий идент-тор PID=1. Порождение любого процесса осущ-ся с помощью системного вызова форм: fork( ) В сист. каждый процесс имеет след. идент-ры: 1. PID-идент-тор процесса 2. PPID-идент-тор отца (осущ-ет связь м/д отцом и сыном) Пользовательские процессы объединены в группы: 3. GID- иден-тор группы. У группы м.быть лидер терминальной группы. 4. TGID- иден-тор терминальной группы. 5. UID- иден-тор пользователя(user), UID=0-«супер пользователь» (root-имя).Взаимод-вие процессов в Unix. Процесс-родитель порождает другой процесс системным вызовом fork, при этом сын наследует все св-ва отца, как корни процесса. Затем происх-дит вызов кода процесса сына из файла с помощью вызова exec. Прим: main(){ int status if (fork()==0)-вызов сист. вызова exec l (“/bin/ primer”,0); wait (& status);} primer-файл, bin-каталог. После порождения сына, отец ожидает завершение его, исп-зуя системный вызов wait. exit()-завершение процесса этим системным вызовом. Загружающий процесс состоит из 3-х частей. 1) код(текст) 2) данные (их области связаны с сегментами прог-мы [сегм. кода, сегм. неиц данных) 3) стек (эта обл-ть созд-ся динамич.ядром системы). Процессы выпол-ся в 2-х режимах: 1. режим ядра (супервизора)-привилегиров. 2. режим задачи (пользовательский)-непривилегиров. Для каждого строится свой стек, тюею стек задачи содержит параметры вызова ф-ций, выпол-ных в режиме задачи. Если происходит вызов системной ф-ции, то вып-ся переключение в режим ядра и задействуется стек ядра. ВUnix исп-ся страничная вирт. память-память выделенная процессу, описана в табл. обл-тей. Табл. имеет двухуровневую стр-ру (см. рис.) Промежуточный уровень позволяет независ. процессам использ. разделяемые обл-ти памяти. Записи в табл. обл-тей описывают св-ва памяти. Св-ва: код или данные, раздел. или неразделенная обл-ть, имеются указ-ли физической памяти и др. инф-ция. “Проблема отцов и детей” при завершении процессов: 1) нормальное завершение-процесс-отец по wait ожидает завершение сына, а сын завершает свое вып-ние ф-цией exit. 2) ненормальное завешение- сын вызывает exit, когда отец не нах-ся в состоянии wait. Запись процесса сына в табл. процессов сохран-ся, хотя сам процесс уже удален из системы (завершен). Такой процесс назыв-ся зомби. 3) преждевременный выход- ситуация, когда отец завершается раньше своих сыновей, возникают процессы-сироты (они не входят в дерево). обычно они перенаправляются процессу init (в корень). Процессы делятся на: а) пользовательские б) системные (в режиме суперпользователя) в) процессы-демоны- резидентные процессы, вып-щие специфическ. действия администрирования и упр-ния. Порожденный процесс наследует атрибуты (св-ва) предка: 1. идент-ры пользователя и группы. Эти идент-ры берутся командой-интерпретатором shell при регистрации пользователя из спец. файла опис-я пользователей, к-рый находится в каталоге letc/ passwol. Идент-тор исп-ся для контроля доступа к ресурсам для проверки привилегий, учета ресурсов и т.д. 2. текущий каталог-тот каталог, куда идет запись “по умолчанию”. 3.открытые файлы. все процессы, имеющие доступ к унаследов. файлу, разделяют единствен. указ-ль чтение/запись. Если один процесс закрывает доступ к файлу, для др. процессов файл остается открытым.8. Физические и виртуальные ресурсы. Задачи распределения ресурсов. Вычислит. систему можно представить как ограничен. последов-ть функциональных эл-тов, обладающих возможностью выполнения действий по обработке, хранению и передаче данных. Различают физические и виртуальные ресурсы. Физические ресурсы реально сущ-ют и при распределении обладают всеми присущими им физическими харак-ми. Виртуальные ресурсы-программная аппаратная модель конкретных ресурсов. Цель виртуализации: 1) достижение незав-ти ПО от аппаратных средств. 2) Эффективное исп-ние физических ресурсов. 3) Уменьшение конфликтов при управлении процессами. 4) обеспечение работы пользователя с системой. 5) Освобождение пользователя от рутинных процедур при обращении к ресурсам. Сущ-ет 2 формы организации виртуального ресурса: 1. Пользователь обеспечивается ресурсом, к-рый реально не существует или сущ-ет, но с худшими характеристиками (печать без принтера) 2. Для неск. параллельных процессов создается иллюзия одновременного исп-ния ресурсов (центр. проц-р-многозадачность). Примеры вирт. ресурсов: 1. Накопители на магнитных лентах (НМА). Нужно создать услов. имя накопителя (логическое) и исп-ть его в прогр-ме, связывать и перенаправлять на физическ. имя. 2. Интервальный таймер. В момент t0 поступает запрос и указ-ся интервал времени ∆t1, после возникает прер-е. Обычный таймер- устр-во, к-рое вырабатывает сигнал прер-я при истечении заданного интервала времени. В многозадачной системе м. организовать виртуальный таймер для каждой задачи на базе одного физического. К распределителю интервального таймера выстраивается очередь запросов в порядке возрастания времени генерир-я прерыв-ний. После очередного прер-я t1, на интервальный таймер устанавл. интервал, равный разности (t2-t1). 3. Спулинг-буферизация вывода на печать. Т.к. принтер работает медленно, нужно буферизировать печать на быстром устр-ве (диске). Или если неск-ко пр-мм исп-ют принтер. Преимущества спулинга: а) организует виртуальный принтер для кажд. процесса. Эти св-ва отличаются от реального быстродействием. б) позволяет управ-ть заданиями на печать, эффективно распределять ресурс принтера. 4.NUL-фиктивное устр-во. Программная заглушка, имитирующая работу устр-ва вв/выв. 5. Вирт. диски- диск, к-рый явл-ся файловым устр-вом и формируется в ОП. В DOS –RAMDPV.SYS. Вирт. диск не может сохранить инф-цию после выключения питания.6. Вирт. память. Суть концепции Вирт. памяти заключ-ся в том, что адреса, к к-рым обращ-ся выполняющийся процесс, отделяются от адресов, реально сущ-щих в ОП. Вводится понятие адресного постр-ва. Диапазон вирт. адресов, к к-рым м.обращаться выполняющ-ся процесс наз. вирт. адресным простр-вом (ВАП). Диапазон реальных адресов ОП, существующих в конкретной вычислит. системе наз. физическ . адресным простр-вом (ФАП). 7. Концепция вирт. машины-как бы призвана вып-ть желания пользов-ля идеальной машине. Вирт. машина: вирт. поцессор, вирт. ОП, вирт. механизмы обращения к внеш. устр-вам (вирт. внеш. устр-ва), среда ОС. 9. Дисциплины распределения ресурсов. Примеры функционирования систем планирования и диспетчеризации. Дисциплина распределения ресурсов складывается из дисциплины формирования очередей и дисциплины обслуживания. Система массового обслуживания (СМО)-теория правила об упр-нии и распред-нии ресурсов. Дисциплина формир-ия очереди зависит от инф-ции о классах и приоритетах задач. Дисциплина обслуживания делится на системы со статическими приоритетами (приоритеты назнач. до обработки запроса), системы с динамическ. приоритетами (приоритеты меняются в процессе вып-ния запроса). Дисциплина обслуживания с абсолютными приоритетами предусматр-ет прер-ния обслужив-я низкоприоритетной заявки при поступлении более приоритетной. Дисциплина обслуживания с относительными приоритетами-обслуж-ние более приоритетной заявки начинается только после окончания обслуж-я менее приоритетной заявки.^ Типовые дисциплины обслуживания. 1. одноочередные а) очередь в порядке поступления FIFO.Недостаток: запросы м. быть разными по времени обслуживания.б) очередь по принципу стека LIFOПлюс: простота реализации, среднее время ожидания не зависит от типа запроса, дает минимум дисперсии времени ожидания. в) круговой циклический алгоритм. Тк-квант времени. Если запрос за Тк не успел обслуж-ся, то он встает в конец очереди. Такая схема исп-ся при реализации разделения времени процессора, нет явных приоритетов, но в более выгодных условиях оказ-ся более выгодные запросы.2. многоочередные а) бесприоритетные. Новый запрос поступает в конец оч.1. На обслуживание выбир-ся запрос из очереди с номером i, если все очереди с младшим номером пустые. Не до конца обслуж-ныйзапрос возвращ-ся в очередь с номером i+1. Минус: затраты времени при перемещении запросов из одной очереди в другую. Плюс: более быстрое обслуживание коротких запросов. б) приоритетные. Новый запрос помещается в очередь i, соотв-щую приоритету запроса. Приоритет задается числом-номером. ур.пр.=0 более приоритетный, чем ур.пр.=1. Такие схемы исп-ся чаще всего.Пр. Диспетчеризация в системе VAX/VMS. Имеется 32 уровня приоритета, для каждого из к-рых нужно построить очереди. При создании процесса опред-ся его начальный приоритет, помещ-ся в очередь соотв-щего уровня, планировщик предоставляет Тк процессу из очереди с наивысшим приоритетом. Чтобы высокоприоритетный процесс не захватил процессор полностью, в системе вып-ся динамическое изменение приоритетов. Уменьшение приоритета м. происх-ть по истечению Тк ; завершение терминального вв/вывода, завершение обмена с внеш. устр-вом, освобождение ресурса приводит к увеличению приоритета. Динамич. приоритеты изменяются внутри своего класса и не м.быть ниже начального приоритета. Диспетчер-извлекает процессы, а планировщик-строит процессы.10. Взаимодействие процессов. Синхронизация процессов на уровне примитивов семафора и сигнала. Тупики. Задача взаимодействия процессов: 1. процессы взаимод-ют по передаче упр-ния. 2. процессы взаимод-ют по данным. В обоих случаях нужно синхронизировать работу. Напр, взаимод-вие по схеме поставщик-потребитель. а) Для исключения одновременного обращения к общему ресурсу исп- ся механизм семафоров. Семафор-двоичная переменная. S=0, если ресурс недоступен и S=1, если ресурс доступен. Если S=0- приостановленный процесс, помещается в очередь с данным семафором. б) Сигнал- двоичная переменная, исп-емая для сообщения др. процессу о совершении некоторого события. Сигналы выполняют синхронизацию процессов. (е=0 или е=1) в) флаг события. Примитивы семафор и сигнал реализуют низкий уровень управления процессами. Схема обращения к буферу с исп-нием семафора и сигнала: I. Проверка семафора делается 2-мя процедурами: 1. оградить (s). Суть этой процедуры-проверка состояния переменной семафора. if (s==1) then s=0; else приостановить процесс в очередь (s). 2. освободить (s). Проверяется очередь, связанная с семафором. if (очередь (s) пуста) then s=1 else возобновить 1-ый процесс. II. 1. Послать (е)-устанавливает сигнал. if (очередь (е) пуста) then e=1 else возобновить 1-ый процесс. 2. Ждать (е) if (e=1) then e=0 else приостановить процесс, поместив его в очередь (е). В терминах примитивов семафор и сигнал задача поставщик-потребитель может решаться след. образом: Поставщик: Объявления: данные: х; семафор: s; Сигнал: {неполон, непуст} do выработать (х) оградить (s) if (полон) then освободить (s); ждать (неполон); оградить (s); занести (х); освободить (s); послать (не пуст); enddo end Потребитель: Объявления: данные: х; семафор: s; Сигнал: {неполон, непуст} do оградить (s) if (пуст) then освободить (s); ждать (непуст); оградить (s); endif выбрать (х); освободить (s); послать (не полон); enddo end Критической секцией наз. часть прог-мы, в к-рой осущ-ся доступ к разделяемым ресурсам. Чтобы исключить эффект гонок в критической секции по отношению к опред-ному ресурсу должен находиться т. один процесс Тупик (deadlocks или clinch)-взаимная блокировка процессов. Пр. Пусть 2-ум процессам в многозадачном режиме нужно исп-ть 2 ресурса: принтер и диск. Процесс А: А1-занять принтер; А2-занять диск; А3-освободить принтер; А4-освободить диск. Процесс В: В1- занять диск; В2- занять принтер; В3- освободить диск; В4- освободить принтер.Могут быть 3 ситуации: а) последовательное вып-ние проессов, никакой блокировки нет. б) Протекают 2 процесса А, затем идет прер-е и вып-ся проц-с В1, но дальше он не может выполняться, т.к. ресурс занят и происх. блокировка и заускается процесс А3, А4. Потом ресурс освободился и продолжается проц. В в) произошла взаимная блокировка (тупик) Проблема тупиков включает задачи: - предотвращение тупиков - распознавание тупиков - восстановление системы после тупиков. ОС при распознавании тупика можно 1) снять часть процессов 2) может быть совершен откат процесса до контрольной точки 3)нек-рые процессы можно вернуть в обл-ть лоадинга. Для упр-я ресурсами желательно исп-ть высокоуровневые ср-ва синхронизации, называемые мониторами. Монитор включает набор процедур и стр-ру данных. Внеш. процесс м. вызывать процедуры монитора, но не иметь доступа к данным. Только 1 процесс м. быть активен по отношению к монитору в данный момент.11. Сравнение реализации взаимодействующих процессов и многопотокового приложения. Для каждой пр-мы, исп-щей процессор вводится понятие процесс, у к-рого есть 2 момента: во-1ых, процесс является носителем данных, а во-2ых, выполняет операции. Вычислит. процесс- развивается во времени в нек-рой аппаратно-программной среде, состоящей из набора ресурсов. К ресурсам относятся функциональные возможности устр-в, программ и набора данных. Если внутри ОС присутствуют неск. процессов, то м/д ними возникает конкуренция за обладание тем или иным ресурсом, в первую очередь за время ЦП. Различают след. состояния процессов: порождение, состояние выполнение (или активное), готовность, блокировка (или сост-е ожидания), окончание- нормальное или аварийное завершение процесса. Если активному процессу нужен ресурс, к-рый оказ-ся занятым, то процесс сам себя блокирует и ожидает наступление события по освобождению нужного ресурса. Один процесс м. быть приостановлен другим процессом исп-ся в ОС для исключения процессов в момент пиковой нагрузки. При приостановке ресурсы освобождаются частично. Задача взаимодействия процессов: 1. процессы взаимод-ют по передаче упр-ния. 2. процессы взаимод-ют по данным. В обоих случаях нужно синхронизировать работу. Напр, взаимод-вие по схеме поставщик-потребитель. а) Для исключения одновременного обращения к общему ресурсу исп- ся механизм семафоров. Семафор-двоичная переменная. S=0, если ресурс недоступен и S=1, если ресурс доступен. Если S=0- приостановленный процесс, помещается в очередь с данным семафором. б) Сигнал- двоичная переменная, исп-емая для сообщения др. процессу о совершении некоторого события. Сигналы выполняют синхронизацию процессов. (е=0 или е=1) в) флаг события. Примитивы семафор и сигнал реализуют низкий уровень управления процессами. При взаимод-вии процессов могут возникнуть тупики. Тупик (deadlocks или clinch)-взаимная блокировка процессов. Проблема тупиков включает задачи: - предотвращение тупиков - распознавание тупиков - восстановление системы после тупиков. ОС при распознавании тупика можно 1) снять часть процессов 2) может быть совершен откат процесса до контрольной точки 3)нек-рые процессы можно вернуть в обл-ть лоадинга. Для упр-я ресурсами желательно исп-ть высокоуровневые ср-ва синхронизации, называемые мониторами. Монитор включает набор процедур и стр-ру данных. Внеш. процесс м. вызывать процедуры монитора, но не иметь доступа к данным. Только 1 процесс м. быть активен по отношению к монитору в данный момент.Многопотоковость.(thread-поток). ОС выполняет защиту процессов др. от друга, разделяет их, но м. предоставлять спец. ср-ва взаимодействия. Другой прием распараллеливания состоит в организации потоков в рамках одного процесса, т.е потоки м. быть организованы для совместного взаимод-вия, а не для конкурирования. Разделение времени проц-ра идет по потокам и тогда поток- минимальная вычислит. задача для диспетчеризации. Потоки вып-ся в общем контексте, поэт. они имеют общее адресное простр-во, общие глобальные переменные, общие открытые файлы. Но потоки имеют различные: программный счетчик, стек, локальные переменные, рег-ры, текущее состояние . 1) Многопотоковая обработка повышает эффективность работы системы за счет распараллеливания. 2) Некоторые прикладные задачи легче программировать, используя потоки. 3) Реальное распараллеливание в многопроцессорных системах повышает эффективность многопотоковых программ. Hyper-Threading- Гиперпотоковые технологии разраб-ся компанией Intel для повышения производ-ти серверных систем. Simul tameous multi threading technology- мн-во потоков вып-ся одновременно на одном проц-ре. Работа неск. потоков достигается за счет дублирования архитектурных состояний проц-ра при совместном исп-нии единого набора ресурсов. Под ресурсом понимаются функциональные модули проц-ра. Логический проц-р- архитектурное состояние, к-рое м. быть заполнено. Это реализовано в семействе проц-ров Intel Xeon, где аппаратно заложена поддержка технологии Hyper-Threading. В проц-ре имеются диспетчеры, к-рые формируют логические проц-ры как архитектурные состояния ресурсов одного процессорного ядра, поэт. добавляются схемы дублирования рег-ров и расширенный контроллер управ-ния прер-ем (APIC), к-рый назначает прер-я для обработки разными процессами в многопроцессорной системе. Минус потоков заключ-ся в том, что они плохо защищены др. от друга.12. Средства взаимод-вия процессов в Unix. В слож.вычислит. среде общая задача разделяется на отд. процессы, к-рые имеют точки взаимод-я и м. обмениваться данными. Необходимо реал-ть ср-ва взаимод-я, и надо исключить нежелат. влияние одного процесса на другой. IPC- Inter- Process Communication. Элементы Unix:1. Сигналы вUnix.-ср-ва, позволяющ. передать уведомление о наступлении нек-го опред. события. Kill_signo_PID передает указ. сигнал процессу с идентификац. номером PID. Процесс, получивший сигнал может: игнорировать его, вызвать обработку по умолчанию, перехватить сигнал и самост-но обработать его. Сигнал позволяет вызвать опред. процедуру при наступлении нек-го события. В таком мех-ме есть 2 фазы: 1. Генерация и отправление сигнала в одном процессе. 2. Доставка и обработка в другом процессе. В промежутках м/д фазами сигнал ожидает доставки. Чаще всего сигналы исп-ся для уведомления об аварийных или особых ситуациях. Напр, терминальное прер-е: с клав-ры ctrl+c, ctrl+\, del. Другие прим: превышение процессом квоты вычислит. ресурсов, уведомление о готовности устр-ва, сигналы от интервального таймера(алармы), сигналы завершения процесса. Сигналы достаточно ресурсоемкое ср-во, число их ограничено, слабо информативны.2. Семафоры-упр-ют совместным доступом к разделяемым ресурсам. Семафоры доступны через набор системных ф-ций. Семафоры в Unix облад. след. св-ми: -семафор- группа неск. счетчиков, объединенных общими признаками. -Кажд. счетчик принимает неотр. значение в заданных пределах. Над семафорами возможны 3 операции: увеличение на n>0 (безусловное выполнение), ожидание (n=0) пока семафор не обнулится (проверка условия), условное вып-ние при n Процесс ожидает пока знач. семафора не станет больше или равным ׀n׀. Затем из знач-я семафора вычит-ся ׀n׀. Кроме самого знач-я семафора в его стр-ре данных хранится: 1) PID процесса, вызвавшего послед. операцию над семафором 2) число процессов, ожидающих увеличения знач-я семафора 3) число процессов, ожидающих нулевого знач-я семафора. При работе с семафором взаимод-щие процессы д. договориться о совместном исп-нии. Напр, м. договориться о том, какое знач. семафора явл. разрешающим, а какое запрещающим.3. Каналы (pipes)-эт^ Распределение памяти разделами с фиксированными границамиРаспределение памяти разделами с фиксированными границами В каждом разделе в каждый момент времени может располагаться по одной про­грамме (задаче). В этом случае по отношению к каждому разделу можно приме­нить все те методы создания программ, которые используются для однопро­граммных систем. Возможно использование оверлейных структур, что позволяет создавать большие сложные программы и в то же время поддерживать коэффи­циент мультипрограммирования! (под коэффициентом мультипрограммирова­ния (ti) понимают количество параллельно выполняемых программ) на должном уровне. Первые мультипрограммные ОС строились по этой схеме. Использова­лась эта схема и много лет спустя при создании недорогих вычислительных систем, ибо она является несложной и обеспечивает возможность параллельного выполнения программ. Иногда в некотором разделе размещалось по несколько небольших программ, которые постоянно в нем и находились. Такие программы назывались ОЗУ-резидентными (или просто — резидентными). Они же исполь­зуются и в современных встроенных системах; правда, для них характерно, что все программы являются резидентными и внешняя память во время работы вы­числительного оборудования не используется. При небольшом объеме памяти и, следовательно, небольшом количестве раз­делов увеличить количество параллельно выполняемых приложений (особенно когда эти приложения интерактивны и во время своей работы они фактически не используют процессорное время, а в основном ожидают операций ввода/вы­вода) можно за счет своппинга (swapping). При своппинге задача может быть це­ликом выгружена на магнитный диск (перемещена во внешнюю память), а на ее место загружается либо более привилегированная, либо просто готовая к выпол­нению другая задача, находившаяся на диске в приостановленном состоянии. При своппинге из основной памяти во внешнюю (и обратно) перемещается вся программа, а не ее отдельная часть. Серьезная проблема, которая возникает при организации мультипрограммного режима работы вычислительной системы, — это защита как самой ОС от ошибок и преднамеренного вмешательства задач в ее работу, так и самих задач друг от друга. В самом деле, программа может обращаться к любым ячейкам в пределах своего виртуального адресного пространства. Если система отображения памяти не со­держит ошибок и в самой программе их тоже нет, то возникать ошибок при вы­полнении программы не должно. Однако в случае ошибок адресации, что не так уж и редко случается, исполняющаяся программа может начать «обработку» чу­жих данных или кодов с непредсказуемыми последствиями. Одной из простей­ших, но достато


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

Поделись с друзьями, за репост + 100 мильонов к студенческой карме :

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

Читайте также:
Виды рефератов Какими бывают рефераты по своему назначению и структуре.