Някой ако има информация - Семафори(програмиране)

vinsbg

Registered
Първо да се извиня за името на темата ама неможах по подходящо да измисля.
Та ако някой може да ми намери повече инфо за Семафорите моля да даде аз неможах.Имам само това, а то е доста малко...
http://en.wikipedia.org/wiki/Semaphore_(programming)
 
Защитена променлива.
Може да бъде променяна само от мястото къде е дефинирана.
Правиш функция, която дефинира семафора.
При пускане на програмата, семафората се създава, като до нея имаш достъп само от функцията.
Никой друг няма достъп.
Нито от другаде в програмата, нито от друга програма.
При извиквания на функцията, семафората има същата стойност като при последното извикване, а не се дефинира наново.

Както е описано това е основен начина на решаване на проблема с това колко свободна РАМ памет е останала.
Бавно е да се брои.
За това се прави такава семафора, която пази стойността - при заделяне на памет се намалява, а при гарбич-кълектор - увеличава.
 
vinsbg каза:
radio_stun4fun каза:
Какво е това?

Ето още информация..
http://www.greenteapress.com/semaphores/downey08semaphores.pdf

Най-общо мисля, че е програмиране в компютрите(софтуера), синхронизации на памети,процесори,буфери и незнам си какво още с цел да се увеличи или осигури производителността на компютъра..
Да ме поправи някой ако греша де..
 
Компютъра може да прави бързи сметки.
Това е предимството му.
Но не знае какво да пресметне.
Това е недостатъка му.
Човека знае какво да пресметне, но го прави бавно.
Софтуера е комуникацията между двете, така че компютъра да разбере какво трябва да сметне, а човека бързо да получи резултата.

Когато компютъра може да смята 1 нещо едновременно, няма проблеми с подреждането на процесите.
Първо се изпълняват процесите, за които всички условия са изпълнени.
Чисто и просто.
Проблема настъпва, когато няколко компютъра зависят един от друг в цикличност - такъв проблем е този с Вечерящите философи.
Тук трябва да се получи синхронизация, така че да не се получава ситуация циклична ситуация - Гошо, зависи от Пешо, който пък зависи от от Пенчо, който зависи от вече споменатия Гошо. (Дори прочитането на това е трудно :D ) и проблема настъпва, когато го правят едновременно, защото за никой не е изпълнено условието и просто спират да правят какво и да било (deadlock)

Семафорите са начин на съхранение на данни, чрез който до известна степен се решава проблема с Вечерящите философи.

Програмирането и синхронизацията предотвратяват такива зацикляния (deadlocks).
Увеличаването на производителността зависи от това как е направена защитата от такива ситуации.
 

Back
Горе