Студопедия

КАТЕГОРИИ:


Архитектура-(3434)Астрономия-(809)Биология-(7483)Биотехнологии-(1457)Военное дело-(14632)Высокие технологии-(1363)География-(913)Геология-(1438)Государство-(451)Демография-(1065)Дом-(47672)Журналистика и СМИ-(912)Изобретательство-(14524)Иностранные языки-(4268)Информатика-(17799)Искусство-(1338)История-(13644)Компьютеры-(11121)Косметика-(55)Кулинария-(373)Культура-(8427)Лингвистика-(374)Литература-(1642)Маркетинг-(23702)Математика-(16968)Машиностроение-(1700)Медицина-(12668)Менеджмент-(24684)Механика-(15423)Науковедение-(506)Образование-(11852)Охрана труда-(3308)Педагогика-(5571)Полиграфия-(1312)Политика-(7869)Право-(5454)Приборостроение-(1369)Программирование-(2801)Производство-(97182)Промышленность-(8706)Психология-(18388)Религия-(3217)Связь-(10668)Сельское хозяйство-(299)Социология-(6455)Спорт-(42831)Строительство-(4793)Торговля-(5050)Транспорт-(2929)Туризм-(1568)Физика-(3942)Философия-(17015)Финансы-(26596)Химия-(22929)Экология-(12095)Экономика-(9961)Электроника-(8441)Электротехника-(4623)Энергетика-(12629)Юриспруденция-(1492)Ядерная техника-(1748)

Понятие источников права




Else

Пример.

 

Программа-отправитель создает семафор в «занятом» состоянии и по нажатию клавиши освобождает его.

 

#include <windows.h>

#include <conio.h>

void main()

{

HANDLE Sem=CreateSemaphore(NULL,0,1,"Semaphore1");

while (!kbhit())

{ }

ReleaseSemaphore(Sem,1,NULL);

return;

}

 

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

 

# include <windows.h>

# include <iostream.h>

void main()

{

HANDLE Sem=OpenSemaphore(SYNCHRONIZE,

FALSE,"Semaphore1");

if (Sem!=NULL)

{

if (WaitForSingleObject(Sem,INFINITE)==WAIT_OBJECT_0)

{

cout << "Семафор открыт " << endl;

}

}

{ cout << “Семафор не найден” << endl;

return;

}

return;

}

 

 

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

 

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

Для решения этой проблемы Ч.А. Хоаром и Бринчем Хансеном в 1974 году был предложен механизм мониторов.

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

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

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

Внутренние данные монитора могут быть как глобальными (т.е. доступными всем процедурам монитора), так и локальными (доступными только определенной процедуре). Концепция мониторов идеально сочетается с концепцией объектно-ориентированного программирования (ООП).

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

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

 

1. структуры данных, входящие в монитор, могут быть доступны только для процедур, входящих в этот монитор (таким образом, монитор представляет собой некоторый аналог объекта в объектно-ориентированных языках и реализует инкапсуляцию данных);

2. процесс «входит» в монитор путем вызова одной из его процедур;

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

 

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

 

Различают естественное и позитивное право.

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

2. Позитивное право, т.е. правила поведения, определяемые государством и облекаемые в определенную форму.

Право всегда социально обусловлено. Принято выделять три основных вида такой обусловленности:

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

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

- непосредственной основой возникновения права служит также юридическая практика.

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

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

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

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

 




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


Дата добавления: 2014-01-06; Просмотров: 270; Нарушение авторских прав?; Мы поможем в написании вашей работы!


Нам важно ваше мнение! Был ли полезен опубликованный материал? Да | Нет



studopedia.su - Студопедия (2013 - 2024) год. Все материалы представленные на сайте исключительно с целью ознакомления читателями и не преследуют коммерческих целей или нарушение авторских прав! Последнее добавление




Генерация страницы за: 0.017 сек.