In computer science, a semaphore is a protected variable or abstract data type which constitutes the classic method for restricting access to shared resources such as shared memory in a parallel programming environment. A counting semaphore is a counter for a set of available resources, rather than a locked/unlocked flag of a single resource. It was invented by Edsger Dijkstra.
| Property | Value |
| dbpprop:abstract
|
- In computer science, a semaphore is a protected variable or abstract data type which constitutes the classic method for restricting access to shared resources such as shared memory in a parallel programming environment. A counting semaphore is a counter for a set of available resources, rather than a locked/unlocked flag of a single resource. It was invented by Edsger Dijkstra. Semaphores are the classic solution to preventing race conditions in the dining philosophers problem, although they do not prevent resource deadlocks Citation needed|date=August 2009.
- Ein Semaphor ist eine Datenstruktur mit zwei speziellen Nutzungsoperationen. Semaphore werden bei der Programmierung zur Prozesssynchronisation eingesetzt, also zur Lösung von Aufgaben, bei denen die parallele Ausführung mehrerer Prozesse/Threads eine zeitliche Abstimmung der Ausführungen erfordert.
- Semafor je synchronizační primitivum obsahující celočíselný čítač, který si lze představit například jako počítadlo volných prostředků. Poskytuje atomické operace „up“ a „down“. Operace „down“ sníží čítač o jedničku, v případě, že už je nulový (nedostává se prostředků), se proces zablokuje a přidá do fronty procesů čekajících na daný semafor. Operace „up“ zkontroluje frontu, a v případě, že je neprázdná, vybere jeden proces čekající ve frontě a odblokuje jej (ten pak pokračuje za svou operací „down“); je-li fronta prázdná, zvýší hodnotu čítače o jedničku. Příklad implementace v pseudokódu: P(Semaphore s) čekej dokud není s > 0 pak s = s-1; /* musí být atomické jakmile je zjištěno, že s > 0 */ V(Semaphore s) s = s+1; /* musí být atomické */ Init(Semaphore s, Integer v) s = v; Názvy operací P a V jsou tradiční a pochází od Edsgera Dijkstry, který semafory vymyslel. Jsou odvozeny od holandských slov „prolaag“ (složeno z probeer te verlagen, zkus a sniž) a „verhoog“, zvyš.
- Un semáforo es una variable especial protegida que constituye el método clásico para restringir o permitir el acceso a recursos compartidos (por ejemplo, un recurso de almacenamiento del sistema o variables del código fuente) en un entorno de multiprocesamiento (en el que se ejecutarán varios procesos concurrentemente). Fueron inventados por Edsger Dijkstra y se usaron por primera vez en el sistema operativo THEOS.
- Un sémaphore est une variable protégée (ou un type de donnée abstrait) et constitue la méthode utilisée couramment pour restreindre l'accès à des ressources partagées (par exemple un espace de stockage) dans un environnement de programmation concurrente. Le sémaphore a été inventé par Edsger Dijkstra et utilisé pour la première fois dans le système d'exploitation THE Operating system. Les sémaphores fournissent la solution la plus courante pour le fameux problème du « dîner des philosophes », bien qu'ils ne permettent pas d'éviter tous les interblocages (ou deadlocks). Pour pouvoir exister sous forme logicielle, ils nécessitent une implémentation matérielle (au niveau du microprocesseur), permettant de tester et modifier la variable protégée au cours d'un cycle insécable. [[Image:Semaphore SEM. png|thumb|Le sémaphore SEM, sa liste L et son compteur K, SEM est accessible aux opérations :
- A szemafor a számítógép-programozásban használt változó vagy absztrakt adattípus, amit az osztott erőforrásokhoz való hozzáférések szabályozásához használnak a többfeladatos környezetekben. Megalkotása Edsger Dijkstra holland matematikusnak, a programozás egyik úttörőjének nevéhez fűződik.
- In informatica, un semaforo è una struttura dati gestita da un sistema operativo multitasking per sincronizzare l'accesso a risorse condivise tra task (cioè processi o thread). È composta da una variabile intera e da una coda di processi. Tale concetto è stato inventato da Edsger Dijkstra, e usato per la prima volta nel sistema operativo THEOS.
- セマフォ(Semaphore)は、コンピュータにおいて、古典的でかつ現在も利用される同期機構の一種。エドガー・ダイクストラが考案した。 一般には、並列処理の実行環境において、排他区間を確保し、資源に同時アクセスできる上限を規定したい時に用いる。 語源のSemaphoreの大元は手旗信号で、それから派生した鉄道の腕木信号に由来する。 日本語でのセマフォは本用途(コンピュータ、プログラミング関連)に限られる。 ファイル:Udegishiki Tokushima. jpg 語源の腕木式信号機
- Een semafoor is een onderdeel van een synchronisatiemechanisme voor parallelle of multiprogramma's ontworpen door Edsger Dijkstra. Bij het ontwerp van multiprogramma's is het normaal dat de verschillende programma's binnen het multiprogramma op de een of andere manier rekening met elkaar moeten houden. Dat "rekening houden" kan betrekking hebben op het delen van geheugen of toegang tot andere hardware, of gewoon dat een programma moet wachten tot een ander programma een bepaald punt heeft bereikt in zijn code. Beschouwen we het probleem van wederzijdse uitsluiting ("mutual exclusion"). Het probleem komt er in het kort op neer dat er een aantal programma's zijn in een multiprogramma met de volgende vorm: programma p: KRITIEKE_SECTIE. p NIET_KRITIEKE_SECTIE. p Van al die programma's mag er ten hoogste één op ieder moment bezig zijn aan zijn kritieke sectie. Wat we dus willen dat die programma's doen, is dit: Gedeeld: variabele s : integer {s houdt bij hoeveel programma's bezig zijn aan hun kritieke sectie} programma p: if s = 0 then s := s + 1 KRITIEKE_SECTIE. p s := s - 1 else blokkeer_en_probeer_nogmaals NIET_KRITIEKE_SECTIE. p Natuurlijk moeten de controle van de waarde van s en de toekenningen aan s (de verhoging en verlaging van s) atomaire instructies zijn. Als we nu het programma—om historische redenen—wat aanpassen, krijgen we het volgende: Gedeeld: variabele s : integer {s houdt bij hoeveel programma's bezig zijn aan hun kritieke sectie} r : integer {r = 1 - s} programma p: if r > 0 {dan is s dus 0} then r, s := r - 1, s + 1 KRITIEKE_SECTIE. p r, s := r + 1, s - 1 else blokkeer_en_probeer_nogmaals NIET_KRITIEKE_SECTIE. p Nu heeft r de functie van s overgenomen in het bovenstaande programma: r bewaakt nu de uitsluitende toegang tot de kritieke secties van de verschillende programma's. We kunnen nu s uit het programma verwijderen. In het volgende programma geven we met gebroken haken stukken aan die atomair moeten zijn: Gedeeld: r : integer programma p: < if r > 0 then r := r - 1 > KRITIEKE_SECTIE. p <r := r + 1> else blokkeer_en_probeer_nogmaals > NIET_KRITIEKE_SECTIE. p Nu vatten we een aantal dingen samen in een tweetal functies: Functie P (Probeer), met argument x: if x > 0 then x := x - 1 else blokkeer_en_probeer_nogmaals Functie V (Verhoog), met argument x: x := x + 1 We komen nu aan de laatste versie van het programma: Gedeeld: r : seinpaal programma p: P(r) KRITIEKE_SECTIE. p V(r) NIET_KRITIEKE_SECTIE. p En zo komen we aan Dijkstra's seinpalen: natuurlijke getallen met atomaire operaties die de waarden van een seinpaal met één verhogen of verlagen, maar blokkeren als gepoogd wordt de seinpaal een waarde te geven lager dan 0. Semaforen worden niet alleen gebruikt voor de wederzijdse uitsluiting van kritieke secties, maar ook voor andere synchronisatieproblemen zoals het producer-consumer-probleem. Hierbij geeft het ene programma gegevens door aan een ander programma, via een gedeeld buffer dat niet onder- of over- mag lopen. Bij zulke toepassingen kunnen de semaforen ook een waarde hoger dan 1 hebben.
- Semafor to jeden ze sposobów komunikacji międzyprocesowej. Semafory zostały po raz pierwszy opisane przez Edsgera Dijkstrę jako istotne rozwinięcie algorytmu Dekkera. Typowy semafor implementowany jest jako zmienna typu całkowitego. Semafory dzieli się na binarne i zliczające. Semafor binarny może przyjmować wartości całkowite ze zbioru {0, 1}, zliczający – również większe niż 1. Modyfikacja wartości semafora jest możliwa za pomocą trzech operacji: init, wait oraz signal. Dwie ostatnie muszą być realizowane nieprzerwanie, czyli atomowo, aby uniknąć jednoczesnego sprawdzenia i modyfikacji przez więcej niż jedno zadanie. type semaphore = integer; procedure wait; begin (* cała procedura nie może być przerwana inną *) repeat until semafor == 0; dec(semafor); end; procedure signal; begin (* ta procedura również musi być operacją atomową *) inc(semafor); end; procedure init; begin semafor := wartość; end; Operację wait oznacza się również literą 'P', a signal literą V, które zwykle są kojarzone z niderlandzkimi słowami: passeren (przejść), proberen (próbować), vrijgeven (zwolnić), verhoog (zwiększać). Jednakże sam Dijkstra użycie liter P i V wyjaśniał nieco inaczej.
- Em ciência da computação, semáforo é uma variável especial protegida (ou tipo abstrato de dados) que tem como função o controle de acesso a recursos compartilhados (por exemplo, um espaço de armazenamento) num ambiente multitarefa. A invenção desse tipo de variável é atribuída a Edsger Dijkstra, em 1965 e foi utilizado inicialmente no sistema operacional THEOS.
- Семафо́р — объект, позволяющий войти в заданный участок кода не более чем n потокам. Определение введено Э. Дейкстрой.
- Användning av en semafor är inom datorprogrammering en teknik som används för att begränsa åtkomsten till en delad resurs eller process för flera samtidigt pågående processer under multikörning. Semaforer används i flera operativsystem som en primitiv synkroniseringsmetod.
- Семафор - об'єкт, що дозволяє увійти у задану ділянку коду не більше ніж n потокам.
- 信號標(semaphore)又稱為號誌,是一種不需要使用忙錄等待(busy waiting)方式的一種方法。 在系統中,給予每一個行程(process)一個號誌,代表每個行程目前的狀態,以確保行程在存取共享資料(shared data)時,碰撞(collisions)的情況不會發生。
|
| dbpprop:hasPhotoCollection
| |
| dbpprop:package
| |
| dbpprop:reference
| |
| dbpprop:wikiPageUsesTemplate
| |
| rdfs:comment
|
- In computer science, a semaphore is a protected variable or abstract data type which constitutes the classic method for restricting access to shared resources such as shared memory in a parallel programming environment. A counting semaphore is a counter for a set of available resources, rather than a locked/unlocked flag of a single resource. It was invented by Edsger Dijkstra.
- Ein Semaphor ist eine Datenstruktur mit zwei speziellen Nutzungsoperationen. Semaphore werden bei der Programmierung zur Prozesssynchronisation eingesetzt, also zur Lösung von Aufgaben, bei denen die parallele Ausführung mehrerer Prozesse/Threads eine zeitliche Abstimmung der Ausführungen erfordert.
- Semafor je synchronizační primitivum obsahující celočíselný čítač, který si lze představit například jako počítadlo volných prostředků. Poskytuje atomické operace „up“ a „down“. Operace „down“ sníží čítač o jedničku, v případě, že už je nulový (nedostává se prostředků), se proces zablokuje a přidá do fronty procesů čekajících na daný semafor.
- Un semáforo es una variable especial protegida que constituye el método clásico para restringir o permitir el acceso a recursos compartidos (por ejemplo, un recurso de almacenamiento del sistema o variables del código fuente) en un entorno de multiprocesamiento (en el que se ejecutarán varios procesos concurrentemente). Fueron inventados por Edsger Dijkstra y se usaron por primera vez en el sistema operativo THEOS.
- Un sémaphore est une variable protégée (ou un type de donnée abstrait) et constitue la méthode utilisée couramment pour restreindre l'accès à des ressources partagées (par exemple un espace de stockage) dans un environnement de programmation concurrente. Le sémaphore a été inventé par Edsger Dijkstra et utilisé pour la première fois dans le système d'exploitation THE Operating system.
- A szemafor a számítógép-programozásban használt változó vagy absztrakt adattípus, amit az osztott erőforrásokhoz való hozzáférések szabályozásához használnak a többfeladatos környezetekben. Megalkotása Edsger Dijkstra holland matematikusnak, a programozás egyik úttörőjének nevéhez fűződik.
- In informatica, un semaforo è una struttura dati gestita da un sistema operativo multitasking per sincronizzare l'accesso a risorse condivise tra task (cioè processi o thread). È composta da una variabile intera e da una coda di processi. Tale concetto è stato inventato da Edsger Dijkstra, e usato per la prima volta nel sistema operativo THEOS.
- Een semafoor is een onderdeel van een synchronisatiemechanisme voor parallelle of multiprogramma's ontworpen door Edsger Dijkstra. Bij het ontwerp van multiprogramma's is het normaal dat de verschillende programma's binnen het multiprogramma op de een of andere manier rekening met elkaar moeten houden.
- Semafor to jeden ze sposobów komunikacji międzyprocesowej. Semafory zostały po raz pierwszy opisane przez Edsgera Dijkstrę jako istotne rozwinięcie algorytmu Dekkera. Typowy semafor implementowany jest jako zmienna typu całkowitego. Semafory dzieli się na binarne i zliczające. Semafor binarny może przyjmować wartości całkowite ze zbioru {0, 1}, zliczający – również większe niż 1. Modyfikacja wartości semafora jest możliwa za pomocą trzech operacji: init, wait oraz signal.
- Em ciência da computação, semáforo é uma variável especial protegida (ou tipo abstrato de dados) que tem como função o controle de acesso a recursos compartilhados (por exemplo, um espaço de armazenamento) num ambiente multitarefa. A invenção desse tipo de variável é atribuída a Edsger Dijkstra, em 1965 e foi utilizado inicialmente no sistema operacional THEOS.
- Семафо́р — объект, позволяющий войти в заданный участок кода не более чем n потокам. Определение введено Э. Дейкстрой.
- Användning av en semafor är inom datorprogrammering en teknik som används för att begränsa åtkomsten till en delad resurs eller process för flera samtidigt pågående processer under multikörning. Semaforer används i flera operativsystem som en primitiv synkroniseringsmetod.
- Семафор - об'єкт, що дозволяє увійти у задану ділянку коду не більше ніж n потокам.
- 信號標(semaphore)又稱為號誌,是一種不需要使用忙錄等待(busy waiting)方式的一種方法。 在系統中,給予每一個行程(process)一個號誌,代表每個行程目前的狀態,以確保行程在存取共享資料(shared data)時,碰撞(collisions)的情況不會發生。
|
| rdfs:label
|
- Semaphore (programming)
- Semaphor (Informatik)
- Semafor (synchronizace)
- Semáforo (informática)
- Sémaphore (informatique)
- Szemafor (programozás)
- Semaforo (informatica)
- セマフォ
- Semafoor (computer)
- Semafor (informatyka)
- Semáforo (computação)
- Семафор (информатика)
- Semafor (programmering)
- Семафор (програмування)
- 信號標
|
| owl:sameAs
| |
| skos:subject
| |
| foaf:page
| |
| is dbpedia-owl:Person/knownFor
of | |
| is dbpedia-owl:knownFor
of | |
| is dbpprop:disambiguates
of | |
| is dbpprop:knownFor
of | |
| is dbpprop:redirect
of | |