Semaphore (programming)
http://dbpedia.org/resource/Semaphore_(programming) an entity of type: WikicatOperatingSystems
Un semàfor és una (o tipus abstracte de dades) que constitueix el mètode clàssic per a restringir o permetre l'accés als recursos compartits (per exemple, un recurs d'emmagatzematge del sistema o variables del codi font) en un entorn de múltiples (en què s'executaran diversos processos concurrentment). Van ser inventats per Edsger Dijkstra i es van usar per primera vegada en el sistema operatiu .
rdf:langString
السيمافور أو المُلَوِّح أو تَوْمِئَة في علم الحاسوب، هو متغير أو يوفر تجريدًا بسيطًا لكن مفيد للتحكم في الوصول إلى مورد مشترك بواسطة معالجات متعددة في بيئة حوسبة متوازية. أو للتحكم في الوصول لمورد مشترك تسعى عدة عمليات إلى الوصول إليه في نظام حوسبة متزامنة، ومثال لذلك نظم التشغيل التي تتيح تعدد المهام. فكرة السيمافور اخترعها عالم الحاسوب الهولندي ادسخر دكسترا، وقد لاقت استعمالا واسعا في العديد من أنظمة التشغيل.
rdf:langString
Semafor je v informatice široce používané synchronizační primitivum, které obsahuje celočíselný čítač. Semafor se využívá zejména jako ochrana proti souběhu tím, že chrání přístup do kritické sekce, k čemuž používá dvojici operací V (up) a P (down). Je tak zobecněním instrukce TSL, která používá proměnnou typu boolean. Semafory poprvé popsal nizozemský informatik Edsger Dijkstra v roce 1965.
rdf:langString
Ein Semaphor (von altgriechisch σῆμα sēma, deutsch ‚Zeichen‘ und φέρειν pherein ‚tragen‘ – also etwa „Signalgeber“) ist eine Datenstruktur, die aus einer Ganzzahl und den atomaren Nutzungsoperationen „Reservieren/Probieren“ und „Freigeben“ besteht. Sie eignet sich insbesondere zur Verwaltung beschränkter (zählbarer) Ressourcen, auf die mehrere Prozesse oder Threads zugreifen sollen, wie etwa Erzeuger und Verbraucher, sowie zur Koordination asynchroner Abläufe. Im Gegensatz zu einem Lock bzw. einem Mutex müssen die Aktivitätsträger, die „reservieren“ und „freigeben“, nicht identisch sein.
rdf:langString
Ο σηματοφόρος ή σηματοφορέας ή σημαφόρος (αγγλ. semaphore) είναι μια προγραμματιστική δομή δεδομένων, κύρια χρήση της οποίας είναι ο συγχρονισμός ταυτόχρονα εκτελούμενων διεργασιών ενός προγράμματος, ή ακόμα και ο συγχρονισμός διαφορετικών προγραμμάτων. Συνήθως χρησιμοποιούνται οι δυαδικοί σηματοφορείς οι οποίοι παίρνουν τιμές στο δισύνολο {0, 1}. Η χρήση των σηματοφόρων εξασφαλίζει τον αμοιβαίο αποκλεισμό των ταυτόχρονα εκτελούμενων διεργασιών με αποτέλεσμα τον επιθυμητό συγχρονισμό τους.
rdf:langString
Semaforoa, programazioan, prozesu ezberdinei errekurtso partekatuetara sarrera onartu edo ukatzen dieten metodoa ahalbidetzen duen aldagaia (edo datu mota abstraktua) da. Semaforoa erabiltzen hasteko errekurtsoaren aldibereko erabilpen kopurua finkatu behar da, eta horren arabera, semaforo aldagaia hasieratuko da. Aldibereko prozesu kopuruaren arabera bi semaforo mota ezberdin erabil daitezke: binarioak edo zenbagarriak.Lehenak errekurtsora aldibereko sarrera bakarra onartzen du. Bigarrenak aldiz, sarrera anitz onartzen ditu, eta semaforo aldagaiaren hasieraketan definituko da kopuru hori.
rdf:langString
Un semáforo es una variable especial (o tipo abstracto de datos) 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 en 1965 y se usaron por primera vez en el sistema operativo THEOS[cita requerida].
rdf:langString
Semafor adalah sebuah struktur data komputer yang digunakan untuk proses, yaitu untuk memecahkan masalah di mana lebih dari satu proses atau thread dijalankan secara bersamaan dan harus diatur urutan kerjanya. Semafor dicetuskan oleh Edsger Dijkstra dan pertama digunakan dalam sistem operasi . Nilai semafor diinisialisasi dengan jumlah resource yang dikendalikannya. Dalam kasus khusus di mana ada satu shared resource, semafornya disebut "semafor biner". Semafor adalah solusi klasik dari , walaupun tidak mencegah .
rdf:langString
セマフォ(英: semaphore)とは、計算機科学において、並列プログラミング環境での複数の実行単位(主にプロセス)が共有する資源にアクセスするのを制御する際の、単純だが便利な抽象化を提供する変数または抽象データ型である。
rdf:langString
( 다른 뜻에 대해서는 세마포어 (동음이의) 문서를 참고하십시오.) 세마포어(Semaphore)는 에츠허르 데이크스트라가 고안한, 두 개의 원자적 함수로 조작되는 정수 변수로서, 멀티프로그래밍 환경에서 공유 자원에 대한 접근을 제한하는 방법으로 사용된다. 이는 철학자들의 만찬 문제의 고전적인 해법이지만 모든 교착 상태를 해결하지는 못한다.
rdf:langString
In informatica, un semaforo è un tipo di dato astratto (Abstract Data Type) gestito da un sistema operativo multitasking per sincronizzare l'accesso a risorse condivise tra task (cioè processi o thread).È composto da una variabile intera e dalla sua interfaccia, e da una coda di processi. Tale concetto è stato inventato da Edsger Dijkstra, e usato per la prima volta nel sistema operativo THE.
rdf:langString
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.
rdf:langString
信号量(英語:semaphore)又稱為信号标,是一个同步对象,用于保持在0至指定最大值之间的一个计数值。当线程完成一次对该semaphore对象的等待(wait)时,该计数值减一;当线程完成一次对semaphore对象的释放(release)时,计数值加一。当计数值为0,则线程等待该semaphore对象不再能成功直至该semaphore对象变成signaled状态。semaphore对象的计数值大于0,为signaled状态;计数值等于0,为nonsignaled状态。 信号量的概念是由荷兰计算机科学家艾兹赫尔·戴克斯特拉(Edsger W. Dijkstra)发明的,广泛的应用于不同的操作系统中。在系統中,給予每一個行程一個信号量,代表每個行程目前的狀態,未得到控制權的行程會在特定地方被強迫停下來,等待可以繼續進行的訊號到來。如果信號量是一個任意的整數,通常被稱為計數訊號量(Counting semaphore),或一般訊號量(general semaphore);如果信號量只有二進位的0或1,稱為二進位訊號量(binary semaphore)。
rdf:langString
Семафор — це універсальний механізм для організації взаємодії процесів (в термінології операційних систем сімейства Windows — потоків). Розв'язує задачі взаємного виключення та синхронізації потоків. Він є одним з найстаріших засобів розподілення доступу процесів, що працюють паралельно, до критичних ресурсів. Семафори використовуються для контролю доступу до спільного ресурсу, або для синхронізації процесів (потоків). Визначення семафору зроблено нідерландським вченим Едсгером Дейкстрою, деякий час використовувався термін Семафор Дейкстри.
rdf:langString
In computer science, a semaphore is a variable or abstract data type used to control access to a common resource by multiple threads and avoid critical section problems in a concurrent system such as a multitasking operating system. Semaphores are a type of synchronization primitive. A trivial semaphore is a plain variable that is changed (for example, incremented or decremented, or toggled) depending on programmer-defined conditions.
rdf:langString
Un sémaphore est une variable (ou un type de donnée abstrait) partagée par différents « acteurs », qui garantit que ceux-ci ne peuvent y accéder que de façon séquentielle à travers des opérations atomiques, et constitue la méthode utilisée couramment pour restreindre l'accès à des ressources partagées (par exemple un espace de stockage) et synchroniser les processus 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.
rdf:langString
Semafor – chroniona zmienna lub abstrakcyjny typ danych, który stanowi klasyczną metodę kontroli dostępu przez wiele procesów do wspólnego zasobu w środowisku programowania równoległego. Semafory zostały po raz pierwszy opisane przez Edsgera Dijkstrę jako istotne rozwinięcie algorytmu Dekkera.
rdf:langString
Een semafoor (ook: seinpaal) is een onderdeel van een synchronisatiemechanisme voor parallelle of gedistribueerde programma's ontworpen door Edsger Dijkstra. Bij het ontwerp van gedistribueerde programma's is het normaal dat de verschillende subprogramma's binnen het hoofdprogramma 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.
rdf:langString
Användning av en semafor är inom programmering 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. En binär semafor fungerar ungefär som en , dvs den håller koll på en resurs (eller en bit kod) som endast får användas av en tråd åt gången. Signal-operationen frigör en använd resurs, ökar semaforens värde, samt tar bort en av trådarna från vänte-kön och startar den igen.
rdf:langString
Семафо́р (англ. semaphore) — примитив синхронизации работы процессов и потоков, в основе которого лежит счётчик, над которым можно производить две атомарные операции: увеличение и уменьшение значения на единицу, при этом операция уменьшения для нулевого значения счётчика является блокирующейся. Служит для построения более сложных механизмов синхронизации и используется для синхронизации параллельно работающих задач, для защиты передачи данных через разделяемую память, для защиты критических секций, а также для управления доступом к аппаратному обеспечению.
rdf:langString
rdf:langString
سيمافور (حوسبة)
rdf:langString
Semàfor (informàtica)
rdf:langString
Semafor (synchronizace)
rdf:langString
Semaphor (Informatik)
rdf:langString
Σημαφόρος (υπολογιστές)
rdf:langString
Semáforo (informática)
rdf:langString
Semaforo (programazioa)
rdf:langString
Semafor (pemrograman)
rdf:langString
Semaforo (informatica)
rdf:langString
Sémaphore (informatique)
rdf:langString
세마포어
rdf:langString
セマフォ
rdf:langString
Semafoor (computer)
rdf:langString
Semafor (informatyka)
rdf:langString
Semaphore (programming)
rdf:langString
Semáforo (computação)
rdf:langString
Семафор (программирование)
rdf:langString
Semafor (programmering)
rdf:langString
信号量
rdf:langString
Семафор (програмування)
xsd:integer
164557
xsd:integer
1115440109
rdf:langString
Un semàfor és una (o tipus abstracte de dades) que constitueix el mètode clàssic per a restringir o permetre l'accés als recursos compartits (per exemple, un recurs d'emmagatzematge del sistema o variables del codi font) en un entorn de múltiples (en què s'executaran diversos processos concurrentment). Van ser inventats per Edsger Dijkstra i es van usar per primera vegada en el sistema operatiu .
rdf:langString
السيمافور أو المُلَوِّح أو تَوْمِئَة في علم الحاسوب، هو متغير أو يوفر تجريدًا بسيطًا لكن مفيد للتحكم في الوصول إلى مورد مشترك بواسطة معالجات متعددة في بيئة حوسبة متوازية. أو للتحكم في الوصول لمورد مشترك تسعى عدة عمليات إلى الوصول إليه في نظام حوسبة متزامنة، ومثال لذلك نظم التشغيل التي تتيح تعدد المهام. فكرة السيمافور اخترعها عالم الحاسوب الهولندي ادسخر دكسترا، وقد لاقت استعمالا واسعا في العديد من أنظمة التشغيل.
rdf:langString
Semafor je v informatice široce používané synchronizační primitivum, které obsahuje celočíselný čítač. Semafor se využívá zejména jako ochrana proti souběhu tím, že chrání přístup do kritické sekce, k čemuž používá dvojici operací V (up) a P (down). Je tak zobecněním instrukce TSL, která používá proměnnou typu boolean. Semafory poprvé popsal nizozemský informatik Edsger Dijkstra v roce 1965.
rdf:langString
Ein Semaphor (von altgriechisch σῆμα sēma, deutsch ‚Zeichen‘ und φέρειν pherein ‚tragen‘ – also etwa „Signalgeber“) ist eine Datenstruktur, die aus einer Ganzzahl und den atomaren Nutzungsoperationen „Reservieren/Probieren“ und „Freigeben“ besteht. Sie eignet sich insbesondere zur Verwaltung beschränkter (zählbarer) Ressourcen, auf die mehrere Prozesse oder Threads zugreifen sollen, wie etwa Erzeuger und Verbraucher, sowie zur Koordination asynchroner Abläufe. Im Gegensatz zu einem Lock bzw. einem Mutex müssen die Aktivitätsträger, die „reservieren“ und „freigeben“, nicht identisch sein.
rdf:langString
Ο σηματοφόρος ή σηματοφορέας ή σημαφόρος (αγγλ. semaphore) είναι μια προγραμματιστική δομή δεδομένων, κύρια χρήση της οποίας είναι ο συγχρονισμός ταυτόχρονα εκτελούμενων διεργασιών ενός προγράμματος, ή ακόμα και ο συγχρονισμός διαφορετικών προγραμμάτων. Συνήθως χρησιμοποιούνται οι δυαδικοί σηματοφορείς οι οποίοι παίρνουν τιμές στο δισύνολο {0, 1}. Η χρήση των σηματοφόρων εξασφαλίζει τον αμοιβαίο αποκλεισμό των ταυτόχρονα εκτελούμενων διεργασιών με αποτέλεσμα τον επιθυμητό συγχρονισμό τους.
rdf:langString
Semaforoa, programazioan, prozesu ezberdinei errekurtso partekatuetara sarrera onartu edo ukatzen dieten metodoa ahalbidetzen duen aldagaia (edo datu mota abstraktua) da. Semaforoa erabiltzen hasteko errekurtsoaren aldibereko erabilpen kopurua finkatu behar da, eta horren arabera, semaforo aldagaia hasieratuko da. Aldibereko prozesu kopuruaren arabera bi semaforo mota ezberdin erabil daitezke: binarioak edo zenbagarriak.Lehenak errekurtsora aldibereko sarrera bakarra onartzen du. Bigarrenak aldiz, sarrera anitz onartzen ditu, eta semaforo aldagaiaren hasieraketan definituko da kopuru hori.
rdf:langString
Un sémaphore est une variable (ou un type de donnée abstrait) partagée par différents « acteurs », qui garantit que ceux-ci ne peuvent y accéder que de façon séquentielle à travers des opérations atomiques, et constitue la méthode utilisée couramment pour restreindre l'accès à des ressources partagées (par exemple un espace de stockage) et synchroniser les processus 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. En effet, dans un contexte de multiprogrammation, on ne peut prendre le risque de voir la variable modifiée par un autre processus juste après que le processus courant vient de la tester et avant qu'il ne la modifie.
rdf:langString
Un semáforo es una variable especial (o tipo abstracto de datos) 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 en 1965 y se usaron por primera vez en el sistema operativo THEOS[cita requerida].
rdf:langString
Semafor adalah sebuah struktur data komputer yang digunakan untuk proses, yaitu untuk memecahkan masalah di mana lebih dari satu proses atau thread dijalankan secara bersamaan dan harus diatur urutan kerjanya. Semafor dicetuskan oleh Edsger Dijkstra dan pertama digunakan dalam sistem operasi . Nilai semafor diinisialisasi dengan jumlah resource yang dikendalikannya. Dalam kasus khusus di mana ada satu shared resource, semafornya disebut "semafor biner". Semafor adalah solusi klasik dari , walaupun tidak mencegah .
rdf:langString
In computer science, a semaphore is a variable or abstract data type used to control access to a common resource by multiple threads and avoid critical section problems in a concurrent system such as a multitasking operating system. Semaphores are a type of synchronization primitive. A trivial semaphore is a plain variable that is changed (for example, incremented or decremented, or toggled) depending on programmer-defined conditions. A useful way to think of a semaphore as used in a real-world system is as a record of how many units of a particular resource are available, coupled with operations to adjust that record safely (i.e., to avoid race conditions) as units are acquired or become free, and, if necessary, wait until a unit of the resource becomes available. Semaphores are a useful tool in the prevention of race conditions; however, their use is not a guarantee that a program is free from these problems. Semaphores which allow an arbitrary resource count are called counting semaphores, while semaphores which are restricted to the values 0 and 1 (or locked/unlocked, unavailable/available) are called binary semaphores and are used to implement locks. The semaphore concept was invented by Dutch computer scientist Edsger Dijkstra in 1962 or 1963, when Dijkstra and his team were developing an operating system for the Electrologica X8. That system eventually became known as THE multiprogramming system.
rdf:langString
セマフォ(英: semaphore)とは、計算機科学において、並列プログラミング環境での複数の実行単位(主にプロセス)が共有する資源にアクセスするのを制御する際の、単純だが便利な抽象化を提供する変数または抽象データ型である。
rdf:langString
Een semafoor (ook: seinpaal) is een onderdeel van een synchronisatiemechanisme voor parallelle of gedistribueerde programma's ontworpen door Edsger Dijkstra. Bij het ontwerp van gedistribueerde programma's is het normaal dat de verschillende subprogramma's binnen het hoofdprogramma 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 gedistribueerd programma 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 (Prolaag), met argument x: if x > 0 then x := x - 1 else blokkeer_en_probeer_nogmaals
* Functie V (Verhoog), met argument x: x := x + 1 "Prolaag" is een woord dat Dijkstra heeft bedacht en het betekent "probeer te verlagen". 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.
rdf:langString
( 다른 뜻에 대해서는 세마포어 (동음이의) 문서를 참고하십시오.) 세마포어(Semaphore)는 에츠허르 데이크스트라가 고안한, 두 개의 원자적 함수로 조작되는 정수 변수로서, 멀티프로그래밍 환경에서 공유 자원에 대한 접근을 제한하는 방법으로 사용된다. 이는 철학자들의 만찬 문제의 고전적인 해법이지만 모든 교착 상태를 해결하지는 못한다.
rdf:langString
Semafor – chroniona zmienna lub abstrakcyjny typ danych, który stanowi klasyczną metodę kontroli dostępu przez wiele procesów do wspólnego zasobu w środowisku programowania równoległego. 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. Semafor zliczający jest licznikiem zestawu dostępnych zasobów. Każdy z nich może być zastosowany, by zapobiec wystąpieniu zjawiska hazardu lub zakleszczenia (chociaż nie w każdej sytuacji są w stanie wyeliminować te problemy, co ilustruje problem ucztujących filozofów).
rdf:langString
In informatica, un semaforo è un tipo di dato astratto (Abstract Data Type) gestito da un sistema operativo multitasking per sincronizzare l'accesso a risorse condivise tra task (cioè processi o thread).È composto da una variabile intera e dalla sua interfaccia, e da una coda di processi. Tale concetto è stato inventato da Edsger Dijkstra, e usato per la prima volta nel sistema operativo THE.
rdf:langString
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.
rdf:langString
Семафо́р (англ. semaphore) — примитив синхронизации работы процессов и потоков, в основе которого лежит счётчик, над которым можно производить две атомарные операции: увеличение и уменьшение значения на единицу, при этом операция уменьшения для нулевого значения счётчика является блокирующейся. Служит для построения более сложных механизмов синхронизации и используется для синхронизации параллельно работающих задач, для защиты передачи данных через разделяемую память, для защиты критических секций, а также для управления доступом к аппаратному обеспечению. Вычислительные семафоры используются для контроля над ограниченными ресурсами. Двоичные семафоры обеспечивают взаимное исключение исполнения критических секций, а их упрощённой реализацией являются мьютексы, которые более ограничены в использовании. Помимо взаимного исключения в общем случае семафоры и мьютексы могут использоваться во множестве других типовых алгоритмов, включая сигнализирование другим задачам, разрешение прохождения определённых контрольных точек только для одной задачи единовременно по аналогии с турникетом, задачу производителя и потребителя, подразумевающую передачу данных от одних задач другим, барьеры, позволяющие синхронизировать группы задач в определённых контрольных точках, условные переменные для оповещения других задач о каких-либо событиях и блокировки чтения и записи, разрешающие одновременное чтение данных, но запрещающих их одновременное изменение. Типовыми проблемами использования семафоров являются одновременное блокирование двух задач в ожидании друг друга и ресурсное голодание, в результате чего ресурс может быть периодически недоступен для одних задач из-за его использования другими задачами. При использовании в процессах с приоритетом реального времени может возникнуть инверсия приоритетов, которая может привести к неограниченной по времени блокировке процесса с более высоким приоритетом из-за захвата семафора процессом с более низким приоритетом, в то время как процессорное время отдаётся процессу со средним приоритетом, решением чего является наследование приоритетов.
rdf:langString
Användning av en semafor är inom programmering 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. En binär semafor fungerar ungefär som en , dvs den håller koll på en resurs (eller en bit kod) som endast får användas av en tråd åt gången. En räknande semafor behandlar resurser som kan användas av flera trådar samtidigt. Semaforens värde representerar antalet lediga resurser.Räknarsemaforer har två operationer: wait och signal, dessa kallas även up och down. Wait-operationen körs när en process begär åtkomst till resursen. Semaforens värde minskas med 1 för att indikera att en resurs används. Värdet 0 indikerar att resurserna är slut (värdet kan alltså aldrig bli negativt).Om en tråd försöker komma åt resurser då semaforen har värdet 0 kommer tråden att försättas i sovläge och läggas i semaforens vänte-kö, i väntan på att en resurs frigörs. Signal-operationen frigör en använd resurs, ökar semaforens värde, samt tar bort en av trådarna från vänte-kön och startar den igen.
rdf:langString
信号量(英語:semaphore)又稱為信号标,是一个同步对象,用于保持在0至指定最大值之间的一个计数值。当线程完成一次对该semaphore对象的等待(wait)时,该计数值减一;当线程完成一次对semaphore对象的释放(release)时,计数值加一。当计数值为0,则线程等待该semaphore对象不再能成功直至该semaphore对象变成signaled状态。semaphore对象的计数值大于0,为signaled状态;计数值等于0,为nonsignaled状态。 信号量的概念是由荷兰计算机科学家艾兹赫尔·戴克斯特拉(Edsger W. Dijkstra)发明的,广泛的应用于不同的操作系统中。在系統中,給予每一個行程一個信号量,代表每個行程目前的狀態,未得到控制權的行程會在特定地方被強迫停下來,等待可以繼續進行的訊號到來。如果信號量是一個任意的整數,通常被稱為計數訊號量(Counting semaphore),或一般訊號量(general semaphore);如果信號量只有二進位的0或1,稱為二進位訊號量(binary semaphore)。
rdf:langString
Семафор — це універсальний механізм для організації взаємодії процесів (в термінології операційних систем сімейства Windows — потоків). Розв'язує задачі взаємного виключення та синхронізації потоків. Він є одним з найстаріших засобів розподілення доступу процесів, що працюють паралельно, до критичних ресурсів. Семафори використовуються для контролю доступу до спільного ресурсу, або для синхронізації процесів (потоків). Визначення семафору зроблено нідерландським вченим Едсгером Дейкстрою, деякий час використовувався термін Семафор Дейкстри.
xsd:nonNegativeInteger
19844