С помощью какого предустановленного в системе свойства осуществляется

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

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

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

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

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

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

1. Блок питания – обеспечивает электрическое питание всех компонентов системного блока. Стоит отметить, что на момент написания данного урока выпускают блоки питания мощностью 450, 550 и 750 Вт. К примеру, блоки питания мощностью 1500 Вт целесообразно применять в серверах. Покупая блок питания,  прежде всего, необходимо учитывать требования, которые предъявляются видеокарте. Если блок питания подходит под параметры видеокарты, то тогда распределение мощности происходит равномерно и для других элементов системы.

2. Материнская плата  — считается «основой» компьютера, поскольку именно материнская плата осуществляет объединение и функционирование всех составных частей компьютера. Также материнскую плату называют еще – системная плата или основная плата. Такая согласованная работа обеспечивается благодаря – чипсету, который в основном состоит из двух микросхем, которые называются северным и южным мостом. Итак, предлагаю рассмотреть эти две микросхемы.

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

Южный мост – называется периферийный контроллер, служащий своеобразным устройством ввода-вывода для подключения дополнительных составных компонентов. К примеру, клавиатура обеспечивается соединением с системой через южный мост. Поэтому когда вы выбираете для себя компьютер, желательно узнать, на какой основе чипсета была изготовлена материнская плата. В настоящее время чипсеты производятся такими крупными фирмами: Nvidia, ATI/AMD, Intel, SiS. То есть чипсет на материнской плате должен быть изготовлен более известной фирмой. На рисунке представлен вид материнской платы.

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

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

Еще следует отметить присутствие на материнской плате микросхемы ПЗУ или, как ее еще называют, базовая система ввода-вывода BIOS (Basic Input Output System). BIOS считается фундаментом управления и взаимодействия всех элементов системного блока. Другим словами процесс запуска компьютера и обеспечение взаимодействия с внешними устройствами происходит за счет определенных настроек, которые заранее заложены в самой системе.

Например, в BIOS мы можем установить запрет чтения и распознавания флешек, оптических дисков, а также полностью изменить порядок загрузки операционной системы. Причем сам BIOS может запускаться даже при отсутствии в системном блоке жесткого диска. Также существует такое понятие как «обнуление BIOS», что это значит? Отвечаю Вам, что обнуление BIOS представляет собой возврат системы к первоначальным настройкам. Для обнуления достаточно извлечь батарейку из материнской платы на 10-15 минут. На плате эта батарейка одна, думаю Вы найдете ее, не ошибетесь.
3. Процессор – является главной частью компьютера, можно сказать, что является «мозгом» компьютера, которое выполняет вычисления и обработку информации. Процессор характеризуется двумя параметрами:

1. Разрядность – количество информации, обрабатываемые процессором за один прием.

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

4. Видеокарта – служит своеобразным звеном для связи монитора с материнской платой. Основным назначением видеокарты в компьютере является обработка графической информации. Еще видеокарту называют графическим редактором. В настоящее время производителями видеокарт являются американская компания Nvidia (также известны как GeForce ) и канадская ATI Technologies. Видеокарты  компании ATI Technologies  еще называют Radeon. Далее рассмотрим основные части графического адаптера:

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

2. Видеоконтроллер – обеспечивает формирование и передачу данных из видеопамяти на цифро-аналоговый преобразователь (ЦАП).

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

4. Цифро-аналоговый преобразователь (ЦАП) – основная задача является преобразование цифровых сигналов видеокарты в аналоговый.

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

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

5. Модули ОЗУ (оперативно запоминающие устройства) — представляют собой платы с размещенными на них микросхемы. Основная задача оперативной памяти является временное хранение данных для процессора. Другими словами ОЗУ осуществляют обработку команд процессора. Модули ОЗУ можно расположить на плате в зависимости от конфигурации материнской платы.

Скорость оперативной памяти представляется частотой ее шины. Существуют следующие виды ОЗУ: SDRAM, DDR2, DDR3.

Устанавливаются модули ОЗУ в специальные разъемы в материнской плате, которые называются слотами.

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

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

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

Читайте также:  Какие клетки обладают свойством бессмертности

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

1. Объем хранения данных – данный параметр определяет количество информации, которое может помещаться на диск.

2. Скорость вращения шпинделя – представляет собой количество оборотов, совершаемое пластиной за одну минуту. Характеристика определяет такие параметры как надежность, производительность. Следует отметить, что в стационарных компьютерах скорость вращения шпинделя составляет до 15 000 об/мин. Если Вы покупаете ноутбук, то рекомендую Вам обращать внимание на скорость вращения шпинделя (чем меньше тем лучше), чтобы обеспечить себе работу за компьютером без шума и вибрации.

3. Взаимосвязь с основной платой – предполагает собой способ подключение к основной плате. Первые жесткие диски соединялись при помощи интерфейса PATA. В настоящее же время все большей популярностью является SATA интерфейс.

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

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

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

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

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

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

Подписывайтесь на канал, ставьте лайки)

Источник

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

Итак, самые полезные и основные системные утилиты:

Сведения о системе.

В сети Интернет очень много сторонних программ для получения максимальных сведений о системе, характеристиках самого компьютера и его составляющих, установленного программного обеспечения и так далее. Но, для получения всех базовых сведений и характеристик, достаточно вызвать системную утилиту «Сведения о системе»: Win+R → msinfo32 → Enter

Конфигурация системы.

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

Win+R → msconfig → Enter

Средство проверки памяти.

Название говорит само за себя – встроенная утилита позволяет проверить оперативную память компьютера на наличие ошибок и повреждений. Windows 10 автоматически обнаруживает возможные неисправности в памяти ПК и запрашивает разрешение на запуск Средства диагностики памяти Windows, но можно протестировать память и «вручную».

Win+R → mdsched.exe → «OK» или Enter.

Монитор стабильности системы.

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

Win+R → perfmon /rel → «OK» или Enter.

Очистка диска.

Win+R → cleanmgr → «OK» или Enter. Выбираете нужный диск и очищаете от мусора.

Управление дисками.

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

Win+R → diskmgmt.msc→ «OK» или Enter.

Разбить диск в установленной Windows 10 можно и с помощью специальных программ: Aomei Partition Assistant Free или Minitool Partition Wizard Free.

Монитор ресурсов.

Утилита позволяет максимально подробно посмотреть и оценить использование ресурсов компьютера запущенными процессами . Включить экран утилиты можно: либо перейти на вкладку «Производительность» в диспетчере задач и нажать внизу окна «Монитор ресурсов», либо Win+R → perfmon /res → «OK» или Enter.

Просмотр событий.

Всё, что происходит на ПК под управлением ОС Windows (клик мыши, нажатие клавиши, запуск программы, etc…), – это события (events). Наиболее важные (с точки зрения Windows!) события (например, неполадки оборудования, приложений и системы) фиксируются операционной системой в так называемых журналах событий.

Win+R → eventvwr.msc→ «OK» или Enter. Позволит вам посмотреть все события, происходившие во время работы компьютера, а также выявить причины системных сбоев и ошибок.

Планировщик заданий.

Win+R → taskschd.msc→ «OK» или Enter. Настройка запуска (по графику или расписанию) всевозможных задач, тех или иных действий.

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

Управление компьютером.

Утилита содержит различные средства администрирования.

Win+R → compmgmt.msc→ «OK» или Enter.

Источник

Свойства и классификация процессов

По динамическим свойствам процессы разделяются:

– реального времени (для них необходимо обеспечивать завершение к определённому времени)

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

– пакетные (все остальные процессы, никаких требований к интервалу существования не определяется)

По варианту организации процессов:

Между процессами могут устанавливаться связи в результате их порождения

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

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

– порождающий (родительский)

– порождённый (дочерний)

По результатам работы:

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

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

Читайте также:  Какие морковь и свекла обладают лучшими кулинарными свойствами

Если у тождественных процессов совпадают трассы, то они считаются равными.

В остальных случаях процессы различные.

По взаимодействию

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

Если интервалы существования не пересекаются во времени, то такие процессы считаются последовательными относительно друг друга

Если на выбранном участке времени существуют оба процесса, то они считаются параллельными.

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

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

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

Если процессы используют одни и те же ресурсы, то они считаются конкурирующими.

Свойства и классификация ресурсов. Потребляемые и восстанавливаемые ресурсы

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

Схема работы:

– запрос

– использование

– освобождение

Если состояние ресурса не сохранится после использования процессом, то такой ресурс — потребляемый.

Схема работы:

– освобождение (создание ресурса)

– запрос

– использование

Типовые задачи синхронизации. Взаимное исключение

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

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

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

Задача взаимного исключения

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

1) Одновременно внутри критической области должно находиться не более одного процесса

2) Критическая область параллельных процессов не должны иметь приоритетов относительно друг друга

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

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

5) Относительная скорость развития процессов независимо от производной

6) Любой процесс может переходить в любое состояние вне пределов своей критической области.

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

Решение задачи взаимного исключения:

В языке предоставлены некоторые вещи для решения задачи взаимного исключения: любой объект, метод или участок кода может быть объявлен со спецификатором synchronized. Участок кода, выделенный таким образом всегда выполняется, по отношению к другим потокам, в режиме взаимного исключения, т. е. Если этот участок вызван потом из потока ни в одном другом потоке этот участок выполняться не будет до момента выхода из него первого потока. Для синхронизации потоков так же можно использовать синхронизирующие операторы, например для метода или объекта можно использовать методы wait() и notify(). Так же могут использоваться семафоры.

Типовые задачи синхронизации. Производитель-потребитель

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

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

Типовые задачи синхронизации. Читатели и писатели

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

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

Механизмы синхронизации. Использование механизма прерываний

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

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

Такое решение не эффективно, т. к. всё сводится к однозадачному решению.

Указанного недостатка лишена двуступенчатая схема.

Событийные переменные в java.

Семафоры в java.

Семафор со счетчиком позволяет n задачам одновременно обращаться к ресурсу. Можно считать, что семафор «выдает разрешение» на использование ресурса, хотя никаких реальных объектов в этой схеме нет. Класс Semaphore содержится в библиотеке java.concurrent. Объект класса Semaphore в java имеет метод acquire() для закрытия и release() для открытия. При создании объекта семафора конструктору класса передается целое значение — начальное состояние семафора и логическое значение, определяющее будут ли потоки выполняться в порядке очереди, или в произвольном порядке.

Организация подзадач в Win

Win 32: Create Thread

Delphi/C Builder function: Begin Thread

Deplhi/C Builder Class: Tthread

Организация подзадач в ОС Windows возможна на 3 уровнях:

1) Базовый — непосредственное использование средств ОС

2) Подразумевает использование низкоуровневых средств, встроенных в системы программирования

3) Использование специализированных классов

Рассмотрим организацию подзадач осуществляется вызовом функции Begin Thread.

Sa — указатель на запись, описывающий права доступа, имеет смысл знач. NiL

stacksize размер стека, выделяемой подзад. (0 по умолчанию)

Thread Function — указатель на функцию потока содерж. Ссылку на функцию, кот. Выполн-ся в рамках подзадачи

р — указатель на область памяти, содержащий параметры функции потока

creationFlag1 — режим созд. Подзадач.

1) Создание и запуск

2) Созд. Приост. Передач. Которое нужно старт.

Function Begin Thread(

sa: Pointer;

stacksize: Integer;

ThreadFunction: TthreadFunc;

p: pointer;

creationflag1: Integer;

var Threadld: Integer

): Thadle;

var Threadld: Integer — индикатор создания подзад.

): Функция возвращает дескриптор, созданный подзадачей т. е. Это указатель на ячейку кот. Содержит

Создание подзад. Доступна через дескриптор.

Функция подзадачи:

ThreadFunction: TthreadFunc;

type TthreadFunc = function(parameter: pointer):Integer; // возвращаем результат

Указатель на параметр(параметры)

p: pointer; p-> array(record)

Подзад. Работает до тех пор пока выполняется функция подзадачи

Операции для подзадачи:

function SuspendThread(threadHandle: TthreadID): Dword //приостанавливает

function ResumeThread(threadHandle: TthreadID): Dword //запустить

результат — код ошибки

Приоритеты подзадачей Чтобы получить значение текущего приоритета используют функцию get, а что бы установить приоритет — set.

Приоритеты для подзадач являются относительные (± относительно приоритета основной задачи)

Подзадачи завершаются, когда добавляется функция потока.

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

Чтобы безопасно остановить подзадачу необходимо переодически проверять состояние флагов.

Окончательное удаление подзадачи из системы осуществляется вызовом фкнции CloseHandle(Handle)

Читайте также:  Камень родонит фото свойства и значение какому знаку зодиака

В ОС Windows большинство системных объектов сообщают о своем состоянии с помощью сигналов. Другими словами объект может находится в сигнализирующем или несигнализирующем состоянии.

Подзадача переходит в сигнализирующее состояние в момент завершения.

Function WaitForSingleObject(

1 параметр — дескриптор

2 параметр: timeout — время в течении которого ожидается сигнал

Handle:Thandle;

dw Milliseconds:LongInt): DWORD;

function WaitForMultipleObject(n

IpHandle: pWOHhandleArray;

dWaitAll: BOOL;

dwMilliseconds: LongInt): DWORD

параметр: 1) ссылка для дескриптора

2)

3) режим ожидания dWaitAll

Мониторы Хоара

Монитор — высокоуровневое языковое средство синхронизации процессов.

Б. Хансен — 1973

С. Хоар — 1974

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

Нотации монитора:

<name>: MONITOR;

begin // В описании локальных данных монитора

var… // h набор процедур монитора Y

procedure <name1> (…);

begin… end;

….

procedure <namen> (…);

begin… end;

В инициализации локальных данных} end

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

Условная переменная М:condition реализует некоторую очередь процессы в которой выполняются при М.WAIT. Если какой-то процесс выполнил примитив M.SIGNAL, то первый процесс из очереди переходит в состояние готовности.

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

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

Соответственно после выхода из монитора процесс, который был в очереди ожидания, передает управление «разбудившему» процессу (кот. Выполнил SIGNAL)

Для реализации монитора:

В составе локальных переменных используется ФЛАГ (двоич. Перем.), которая означает есть или нет шифрование (0-пусто, 1-инф. Занес.)

DATA:monitor;

BEGIN

var БАЗА<данные>

флаг:0…1

непуст, пусто: condition

и 2 условные переменные для организации очереди ожидания.

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

Реализация монитора:

Любое высокоуровневое средство синхронизации при взаимодействии процессов может быть построено с помощью низкуровневых средств.

Рассмотрим реализацию монитора с использованием семафора:

1. Если в состав монитора входит n процедур m-условных переменных и k-локальных переменных. Потребуется: один двоичный семафор для реализации взаимного исключения. Начальное значение одно.

2. Один двоичный семафор для решения задачи сигнализации (SIGM)

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

Если имеется очередь условной переменной сигнализирующий процесс должен разбудить 1 процесс из этой очереди и передать ему право входа в монитор. Уступающий — должен перейти в состояние ожидания. Для этого сигнализаций процессора выполняет операцию открытия семафора, а что бы самому остановиться выполнение закрытие этого же семафора соответственно начальному значению семафору = 0. Для учета длины очереди «уступивших процессоров» понадобится перечисление переменных — ПРАВО

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

4. Счетчики для условных переменных (длины очереди)

Распределенное программирование. Основные понятия

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

П1 <=> П2

| |

ЛП1 ЛП2

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

Передача сообщений:

Обмен сообщениями может быть осуществлён в 2 режимах: синхронная передача сообщений и асинхронная передача сообщений.

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

При асинхронной передаче такое подтверждение не требуется.

Соответственно для отправки сообщения используется примитив SEND, для получения сообщения RECIEVE.

SEND — поддерживает асинхронный режим передачи и является неблокирующим примитивом. Для синхронной передачи применяется SYNCH_SEND.

При блокировке — приостановка процесса.

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

Каналы и передача сообщений

Канал

Для описания каналов используется следующая нотация:

chan ch(type1id1,…,typeNidN)

В скобках описываем имена полей и их типы

chan input(char)

chan disk_a(int cyl, int block, int count, char* buf)

chan result[n](int)

Процесс управляет сигналами используя send ch (expr1,…,expr n) //поле сообщ.

Recieve ch (var1,…,varn)

empty(ch)

Так как recieve является блокир. Вводится режим проверки в случае если сообщение в канале отсутствует.

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

Если канал используется как для передачи так и отправления сообщения его называют почтовым ящиком. Если у канала 1 получатель и несколько отправителей используется порт.

Свойства и классификация процессов

По динамическим свойствам процессы разделяются:

– реального времени (для них необходимо обеспечивать завершение к определённому времени)

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

– пакетные (все остальные процессы, никаких требований к интервалу существования не определяется)

По варианту организации процессов:

Между процессами могут устанавливаться связи в результате их порождения

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

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

– порождающий (родительский)

– порождённый (дочерний)

По результатам работы:

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

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

Если у тождественных процессов совпадают трассы, то они считаются равными.

В остальных случаях процессы различные.

По взаимодействию

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

Если интервалы существования не пересекаются во времени, то такие процессы считаются последовательными относительно друг друга

Если на выбранном участке времени существуют оба процесса, то они считаются параллельными.

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

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

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

Если процессы используют одни и те же ресурсы, то они считаются конкурирующими.



Источник