Problema dei filosofi a cena

Il problema dei filosofi a cena, altrimenti noto come problema dei cinque filosofi, è un esempio che illustra un comune problema di controllo della concorrenza in informatica. Si tratta di un classico problema di sincronizzazione fra processi paralleli.

Descrizione

L'esempio fu descritto nel 1965 da Edsger Dijkstra, che se ne servì per esporre un problema di sincronizzazione.[1] Cinque filosofi siedono ad una tavola rotonda con un piatto di spaghetti davanti e una forchetta a sinistra (o a destra; secondo un'altra versione vi è invece un bastoncino cinese[2][3]). Ci sono dunque cinque filosofi, cinque piatti di spaghetti e cinque forchette.

Illustrazione del problema dei filosofi a cena

Si immagini che la vita di un filosofo consista di periodi alterni di mangiare e pensare, e che ciascun filosofo abbia bisogno di due forchette per mangiare, ma che le forchette vengano prese una per volta. Dopo essere riuscito a prendere due forchette il filosofo mangia per un po', poi lascia le forchette e ricomincia a pensare. Il problema consiste nello sviluppo di un algoritmo che impedisca lo stallo (deadlock) o la morte d'inedia (starvation). Il deadlock può verificarsi se ciascuno dei filosofi tiene in mano una forchetta senza mai riuscire a prendere l'altra. Il filosofo F1 aspetta di prendere la forchetta che ha in mano il filosofo F2, che aspetta la forchetta che ha in mano il filosofo F3, e così via in un circolo vizioso.[1] La situazione di starvation può verificarsi indipendentemente dal deadlock se uno dei filosofi non riesce mai a prendere entrambe le forchette.

La presa di forchette è analoga al blocco di risorse limitate nella programmazione reale, situazione nota con il nome di "concorrenza". Bloccare una risorsa è una tecnica comune per garantirne l'accesso da parte di un programma solo o di una sola porzione di programma alla volta. Se la risorsa richiesta da un programma è già stata bloccata, il programma aspetta fino a quando la risorsa si sblocca. Se il blocco coinvolge più di una risorsa, è possibile che in alcune circostanze si verifichi un deadlock. Come esempio si consideri il caso di un programma che ha bisogno di due file da elaborare. Se due programmi di questo genere bloccano un file ciascuno, entrambi aspetteranno invano che l'altro programma sblocchi l'altro file.

Soluzione

Posizione di filosofi e forchette nella soluzione del problema

Una possibile soluzione è quella di numerare le forchette ed esigere che vengano prese in ordine numerico crescente, analogamente ad un caso di allocazione gerarchica delle risorse. In questa soluzione i filosofi sono denominati F1, F2, F3, F4 e F5, mentre le forchette alla loro sinistra sono rispettivamente f1, f2, f3, f4 e f5. Il primo filosofo F1 dovrà prendere la prima forchetta f1 prima di poter prendere la seconda forchetta f2. I filosofi F2, F3 e F4 si comporteranno in modo analogo, prendendo sempre la forchetta fi prima della forchetta fi+1. Rispettando l'ordine numerico ma invertendo l'ordine delle mani, il filosofo F5 prenderà prima la forchetta f1 e poi la forchetta f5. Si crea così un'asimmetria che serve ad evitare i deadlock.

L'efficacia nella prevenzione della starvation dipende dal metodo di mutua esclusione utilizzato. Le implementazioni che fanno uso di spinlock, ovvero cicli di attesa, possono provocare starvation a causa di problemi di sincronia inerenti a tali metodi. Altri metodi di mutua esclusione che utilizzano code di attesa possono prevenire la starvation in modo più efficiente assicurando uguale accesso alle forchette da parte di tutti e due i filosofi adiacenti.

Questa soluzione può anche essere generalizzata al caso in cui si voglia consentire ad un qualsiasi numero di agenti di ottenere accesso esclusivo ad un qualsiasi numero di risorse. È necessario che gli agenti si attengano a queste regole:

  1. Tutti gli agenti devono richiedere accesso alle risorse in ordine crescente, prima cioè di richiedere l'accesso ad una risorsa di ordine maggiore, l'agente deve aver ottenuto l'accesso alle risorse di ordine minore di cui ha bisogno.
  2. Prima di richiedere l'accesso a una risorsa di ordine minore, l'agente deve rilasciare le risorse di ordine maggiore alle quali sta accedendo.
  3. Se non ha accesso a una risorsa di ordine maggiore, l'agente deve rilasciare le risorse di ordine minore alle quali sta accedendo.

Note

  1. ^ a b Dijkstra, Edsger W. EWD-1000. E.W. Dijkstra Archive. Center for American History, University of Texas at Austin.
  2. ^ (EN) Axel Jantsch, Modeling Embedded Systems and SoC's: Concurrency and Time in Models of Computation, Elsevier, 2003, p. 85, ISBN 9780080511825.
  3. ^ (EN) Kevin R. Burton, Net Common Language Runtime Unleashed, Sams Publishing, 2002, p. 312, ISBN 9780672321245.

Bibliografia

Voci correlate

Altri progetti

Collegamenti esterni

  Portale Informatica: accedi alle voci di Wikipedia che trattano di informatica

Read other articles:

1897 farce by George Broadhurst What Happened to JonesWritten byGeorge BroadhurstDate premiered30 August 1897Place premieredManhattan TheatreOriginal languageEnglish Caricature of George C. Boniface, Jr. as JonesWhat Happened to Jones is an 1897 farce by George Broadhurst. It was his first successful play and remained popular for many years, and was also adapted into three silent films.[1] Production What Happened to Jones was Broadhurst's second play to be staged, after the flop of h...

 

 

Renang pada Pekan Olahraga Nasional 2016LokasiKolam Renang FPOK UPI, Kota BandungTanggal14–20 September 2016← 20122021 → Renang pada PON XIX/2016 akan berlangsung dari 14 sampai 20 september[1] di Kolam Renang FPOK UPI, Kota Bandung, Jawa Barat. Perlombaan renang akan mempertandingkan 40 nomor pertandingan (20 putra dan 20 putri) di kolam renang lintasan panjang ukuran olimpiade, dengan panjang lintasan 50 m. Pertandingan Sebanyak 40 nomor pertandingan (20 putr...

 

 

AucasBerkas:Aucas.pngNama lengkapSociedad Deportiva AucasJulukanOrientales, El idolo del pueblo (Idola Masyarakat)BerdiriFebruary 6, 1945StadionEstadio Sociedad Deportiva AucasQuito, Ekuador(Kapasitas: 22,000)KetuaRamiro GordonManajerJulio AsadLigaSerie B2012Segunda Categoría, 1st Juara Kostum kandang Kostum tandang Superclásico di Quito, 2005 Sociedad Deportiva Aucas adalah tim sepak bola profesional asal Ekuador yang bermukim di Quito dan kini berkompetisi di kasta kedua di Ekuador. Tim i...

العلاقات الأوغندية السيراليونية أوغندا سيراليون   أوغندا   سيراليون تعديل مصدري - تعديل   العلاقات الأوغندية السيراليونية هي العلاقات الثنائية التي تجمع بين أوغندا وسيراليون.[1][2][3][4][5] مقارنة بين البلدين هذه مقارنة عامة ومرجعية للدولتين:...

 

 

Glen Alpine Springs circa 1915 The Glen Alpine Springs trailhead or Glen Alpine trailhead is located off Highway 89 a few miles north of South Lake Tahoe, California, at Fallen Leaf Lake just to the west of Lake Tahoe. The road to the trailhead is not plowed in winter. Some of the destinations most accessed by the trailhead are Susie Lake (five miles) and Grass Lake (two miles), as well as the rest of the Desolation Wilderness. External links USDA Forest Service Trailhead Information 38°52�...

 

 

Dante Di Nanni Dante Di Nanni (Torino, 27 marzo 1925 – Torino, 18 maggio 1944) è stato un partigiano italiano, insignito della Medaglia d'oro al valor militare. Appartenuto ai Gruppi di Azione Patriottica (GAP), ricercato dai nazifascisti per aver partecipato a una missione di sabotaggio con esplosivi, quando i nemici vennero ad arrestarlo si barricò nell'abitazione che fungeva da base gappista e si difese tenacemente resistendo per più di un'ora e mezza all'assedio, condotto con forze s...

Alexz JohnsonLahirAlexzandra Spencer Johnson04 November 1986 (umur 37)New Westminster, British Columbia, KanadaPekerjaanPenyanyi, penulis lagu, aktrisTahun aktif1997–sekarangAnak1Karier musikGenrePop, Folk-Pop, Indie Pop, Alternative Rock, Punk Rock, duniaInstrumenVocals, GuitarLabelEpic, Capitol, inDiscover Recordings, Orange Lounge Recording Co.Situs webSitus web resmi Alexzandra Spencer Alexz Johnson (lahir 4 November 1986)[1][2][3] adalah penyanyi-penu...

 

 

Coastal Plain League baseball team This article is about the collegiate summer baseball team. For the former minor league baseball franchise, see High Point-Thomasville Hi-Toms. High Point-Thomasville HiTomsInformationLeagueCoastal Plain League (West)LocationThomasville, North CarolinaBallparkHistoric Finch FieldFounded1937, 1999 – amateur franchiseLeague championships2006, 2007, 2008ColorsScarlet and Navy BlueMascotTomKatOwnershipGreg SuireManagementGreg Suire (President)ManagerSc...

 

 

Cet article est une ébauche concernant les transports en commun et la Seine-Maritime. Vous pouvez partager vos connaissances en l’améliorant (comment ?) selon les recommandations des projets correspondants. Funiculaire du Tréport Le funiculaire vu de la rue Amiral-Courbet. Géographie Pays France Région Normandie Département Seine-Maritime Communes Le Tréport Franchit Falaises de craie de la Côte d'Albâtre Coordonnées du départ 50° 03′ 38″ N, 1°...

Questa voce sull'argomento stagioni delle società calcistiche italiane è solo un abbozzo. Contribuisci a migliorarla secondo le convenzioni di Wikipedia. Segui i suggerimenti del progetto di riferimento. Voce principale: Unione Sportiva Poggibonsi. Unione Sportiva PoggibonsiStagione 2008-2009Sport calcio Squadra Poggibonsi Allenatore Luciano Chiarugi poi Riccardo Giacopelli poi Francesco Buglio Presidente Mario Volterrani Lega Pro Seconda Divisione15º posto nel girone B. Maggior...

 

 

English footballer For other people named Nick Powell, see Nick Powell (disambiguation). Nick Powell Nick Powell, Stockport County FCPersonal informationFull name Nicholas Edward Powell[1]Date of birth (1994-03-23) 23 March 1994 (age 30)[2]Place of birth Crewe, EnglandHeight 6 ft 0 in (1.83 m)[3]Position(s) Attacking midfielderstrikerTeam informationCurrent team Stockport CountyNumber 11Youth career1999–2010 Crewe AlexandraSenior career*Years Team...

 

 

1952 United States Senate elections ← 1950 September 8[a] & November 4, 1952 1954 → 35 of the 96 seats in the United States Senate49 seats needed for a majority   Majority party Minority party   Leader Styles Bridges[b] Ernest McFarland(Lost re-election) Party Republican Democratic Leader since January 8, 1952 January 3, 1951 Leader's seat New Hampshire Arizona Seats before 47 49 Seats after 49 47 Seat change 2 2 Po...

Argentine figurative artist (1905–1981) Antonio BerniBornDelesio Antonio Berni(1905-05-14)14 May 1905Rosario, ArgentinaDied13 October 1981(1981-10-13) (aged 76)Buenos Aires, ArgentinaKnown forPainting, Engraving, Illustration, CollageNotable workJuanito LagunaRamona MontielLa ManifestaciónStyleSurrealismMovementNuevo Realismo Delesio Antonio Berni (14 May 1905 – 13 October 1981) was an Argentine figurative artist. He is associated with the movement known as Nuevo Realismo (New...

 

 

Italian-Japanese automotive parts manufacturer This article's lead section contains information that is not included elsewhere in the article. If the information is appropriate for the lead of the article, this information should also be included in the body of the article. (September 2019) (Learn how and when to remove this message) Marelli Holdings, Co., Ltd.Native nameマレリホールディングス株式会社Romanized nameMareri Hōrudingusu Kabushiki kaishaFormerly Calsonic Kansei Cor...

 

 

Mural of Hugo Chávez and his ascension into heaven In Venezuela, a cult of personality has been created around the late President Hugo Chávez, where his supporters venerate him.[1] Chávez largely received his support through his charisma and by spending Venezuela's oil funds on the poor.[2] Since his death, followers known as Chavistas[3] refer to his death as a transition to immortality, commonly calling Chávez the eternal commander.[4] Among his followers...

此條目可能包含不适用或被曲解的引用资料,部分内容的准确性无法被证實。 (2023年1月5日)请协助校核其中的错误以改善这篇条目。详情请参见条目的讨论页。 各国相关 主題列表 索引 国内生产总值 石油储量 国防预算 武装部队(军事) 官方语言 人口統計 人口密度 生育率 出生率 死亡率 自杀率 谋杀率 失业率 储蓄率 识字率 出口额 进口额 煤产量 发电量 监禁率 死刑 国债 ...

 

 

Zulfiqar Zulfiqar-3 Angkatan Darat Iran pada 2013 Jenis Tank tempur utama Sejarah pemakaian Digunakan oleh Republik Islam Iran Sejarah produksi Perancang Ministry of Defence and Armed Forces Logistics (Iran) Tahun 1993- Zulfiqar-1 2012- Zulfiqar-3 Produsen Kompleks Industri Shahid Kolah Dooz Diproduksi 1996–sekarang Jumlah produksi ~150 Zulfiqar-1 pada 2012[1] 100 Zulfiqar-3 Varian Zulfiqar 1, Zulfiqar 2, Zulfiqar 3 Spesifikasi (Zulfiqar 3) Berat 52 ton Panjang 9,20 ...

 

 

Частина серії проФілософіяLeft to right: Plato, Kant, Nietzsche, Buddha, Confucius, AverroesПлатонКантНіцшеБуддаКонфуційАверроес Філософи Епістемологи Естетики Етики Логіки Метафізики Соціально-політичні філософи Традиції Аналітична Арістотелівська Африканська Близькосхідна іранська Буддій�...

Artikel ini tidak memiliki referensi atau sumber tepercaya sehingga isinya tidak bisa dipastikan. Tolong bantu perbaiki artikel ini dengan menambahkan referensi yang layak. Tulisan tanpa sumber dapat dipertanyakan dan dihapus sewaktu-waktu.Cari sumber: Gereja Duta Injil – berita · surat kabar · buku · cendekiawan · JSTORArtikel ini berisi konten yang ditulis dengan gaya sebuah iklan. Bantulah memperbaiki artikel ini dengan menghapus konten yang diangga...

 

 

Pyroxene mineral This article is about the mineral. For other uses, see Jadeite (disambiguation). JadeiteJadeite from MyanmarGeneralCategoryPyroxene groupFormula(repeating unit)NaAlSi2O6 or Na(Al,Fe3+)Si2O6IMA symbolJd[1]Strunz classification9.DA.25Crystal systemMonoclinicCrystal classPrismatic (2/m) (same H-M symbol)Space groupC2/cIdentificationColorApple-green, emerald-green, bluish green, leek-green, purplish blue, greenish white, white, black, may show green spots, rarely blue or ...