Алгоритм Пітерсона

Алгоритм Пітерсона, також відомий як розв'язок Пітерсона (англ. Peterson's algorithm, Peterson's solutionалгоритм паралельного програмування для взаємного виключення, який дозволяє двом процесам спільно використовувати одновикористовний ресурс без конфліктів, застосовуючи лише спільну пам'ять для зв'язку. Сформульовано Гарі Л. Пітерсоном 1981 року[1]. Хоча у початковому формулюванні алгоритм Пітерсона працює лише з двома процесами, його можна узагальнити на декілька процесів[2].

Алгоритм

flag[0] = 0;
flag[1] = 0;
turn;
   
P0: flag[0] = 1;                                        P1: flag[1] = 1;
    turn = 1;                                               turn = 0;
    while (flag[1] == 1 && turn == 1)                       while (flag[0] == 1 && turn == 0)
    {                                                       {
           // очікуваня                                             // очікування
    }                                                       }                                 
    // критична секція                                      // критична секція 
       ...                                                     ...
    // кінець критичної секції                              // кінець критичної секції
    flag[0] = 0;                                            flag[1] = 0;

Алгоритм має дві змінні flag і turn. Якщо flag встановлений в 1, то процес намагається увійти до критичної секції. Вхід до критичної секції надається процесу P0, якщо P1 не намагається увійти до своєї критичної секції або P1 надав пріоритет P0 встановленням turn в 0.

Алгоритм задовільняє трьом головним критеріям розв'язку задачі критичної секції[3]:

  1. Взаємне виключення
  2. Прогрес
  3. Обмежене очікування

Взаємне виключення

Процеси не можуть перебувати в критичній секції одночасно: якщо P0 у своїй критичній секції, тоді flag[0] дорівнює 1 і:

  • або flag[1] дорівнює 0 (значить P1 вже завершив свою критичну секцію)
  • або turn дорівнює 0 (значить P1 намагається увійти до критичної секції, але змушений очікувати).

В обох випадках, P1 не може перебувати в своїй критичній секції.

Прогрес

Прогрес визначається таким чином: якщо жоден процес не виконує свою критичну секцію і деякі процеси намагаються увійти до своєї критичної секції, тоді лише ці процеси враховуються під час прийняття рішення, хто з них увійде до критичної секції наступним. Це рішення не може відкладатися необмежено[3]. Процес не може увійти до критичної секції одразу після виходу з неї, якщо інший процес вже встановив свій прапорець, висловивши цим своє бажання також увійти до критичної секції.

Обмежене очікування

Обмежене очікування означає, що «після здійснення будь-яким процесом запиту на вхід до критичної секції і до того, як цей запит буде задоволено, обмежується кількість входів до критичної секції, дозволених іншим процесам»[3]. В алгоритмі Пітерсона процес очікуватиме входу до критичної секції не довше, ніж один вхід іншого процесу.

Зауваження

У випадку роботи на апаратному рівні, алгоритм Пітерсона зазвичай не потребує атомарного доступу. Деякі процесори мають особливі команди, такі як test-and-set або compare-and-swap, які, шляхом блокування шини пам'яті, може бути застосовано для забезпечення взаємного виключення в SMP системах.

Примітки

  1. G. L. Peterson: "Myths About the Mutual Exclusion Problem", Information Processing Letters 12(3) 1981, 115–116
  2. As discussed in Operating Systems Review, January 1990 ("Proof of a Mutual Exclusion Algorithm", M Hofri).
  3. а б в Silberschatz. Operating Systems Concepts: Seventh Edition. John Wiley and Sons, 2005., Pages 194


Read other articles:

  「云浮」重定向至此。关于旧县名,请见「雲浮縣」。 云浮市云地级市云浮市街景云浮市在广东省的地理位置坐标:22°54′56″N 112°02′41″E / 22.9155°N 112.0447°E / 22.9155; 112.0447坐标:22°54′56″N 112°02′41″E / 22.9155°N 112.0447°E / 22.9155; 112.0447国家 中华人民共和国省广东省設立1994年4月4日政府駐地云城区下级行政区2市轄區、2县...

 

250ox Howard DGA-3 Pete, alias Damned Good Airplane - 3, Baker Special, dan Little Audrey adalah pesawat terbang ketiga yang dibangun oleh Ben Howard, dan yang pertama dalam serangkaian pesawat balap. Howard mengklaim kapal itu begitu cepat dari penggunaan nya Go Grease. Referensi Wikimedia Commons memiliki media mengenai Howard DGA-3.

 

Провулок Джорджа ОрвеллаКиїв Місцевість СирецьРайон ШевченківськийНазва на честь Джорджа ОрвеллаКолишні назви 883-тя Нова, Орловський провулокЗагальні відомостіПротяжність 187 мКоординати початку 50°28′22″ пн. ш. 30°26′18″ сх. д. / 50.47286333° пн. ш. 30.4383513...

Coordenadas: 41° 44' 7 N 8° 18' 7 O  Portugal Gondoriz    Freguesia   Localização GondorizLocalização de Gondoriz em Portugal Coordenadas 41° 44' 7 N 8° 18' 7 O Região Norte Sub-região Cávado Distrito Braga Município Terras de Bouro Código 031009 Administração Tipo Junta de freguesia Características geográficas Área total 8,38 km² População total (2021) 296 hab. Densidade 35,3 hab./km² Código postal...

 

British naval officer This article has multiple issues. Please help improve it or discuss these issues on the talk page. (Learn how and when to remove these template messages) This article needs additional citations for verification. Please help improve this article by adding citations to reliable sources. Unsourced material may be challenged and removed.Find sources: Henry Francis Evans – news · newspapers · books · scholar · JSTOR (March 2020) (Learn...

 

  لمعانٍ أخرى، طالع الفردوس (توضيح). الفردوس الإحداثيات 29°17′05″N 47°52′28″E / 29.2846°N 47.8744°E / 29.2846; 47.8744  تقسيم إداري  البلد الكويت  معلومات أخرى منطقة زمنية ت ع م+03:00  تعديل مصدري - تعديل   الفردوس منطقة تابعة لمحافظة الفروانية في دولة الكويت. اسمها ال...

Not to be confused with CONCACAF Nations League. Defunct secondary continental football tournament for clubs in North America Football tournamentCONCACAF LeagueOrganising bodyCONCACAFFounded2017 (2017)Abolished2022 (2022)RegionNorth America, Central America and the CaribbeanNumber of teams22Qualifier forCONCACAF Champions LeagueRelated competitionsCaribbean Club Championship Caribbean Club ShieldLast champions Olimpia (2nd title)Most successful club(s) Olimpia (2 titles)Websitewww.c...

 

Fritzy RosmerianLahirFritzy Rosmerian28 Juli 2008 (umur 15)Jakarta, IndonesiaNama lainFritzyPekerjaanpesulappenyanyimodelTahun aktif2018 - sekarangDikenal atas Indonesia's Got Talent 2022 Anggota JKT48 generasi ke-12 Karier musikGenrePopJ-popInstrumenVokalLabelIndonesia Musik NusantaraArtis terkait The Sacred Riana JKT48 AnggotaJKT48 (2023–sekarang) Fritzy Rosmerian (lahir 28 Juli 2008) adalah seorang pesulap, model, penari dan penyanyi Indonesia kelahiran Jakarta. Pada 2019,...

 

Sepak bola pada Pesta Olahraga Asia 1986Informasi turnamenTuan rumahKorea SelatanJadwalpenyelenggaraan20 September–5 OktoberJumlahtim peserta18Tempatpenyelenggaraan (di 1 kota)Hasil turnamenJuara Korea Selatan (gelar ke-1)Tempat kedua Arab SaudiTempat ketiga KuwaitTempat keempat IndonesiaStatistik turnamenJumlahpertandingan40← 1982 1990 → Asian Games 1986 diadakan di Seoul, Korea Selatan dari 20 September - 5 Oktober 1986. Singapura diboikot dari turname...

Chapter of the New Testament 2 Corinthians 7← chapter 6chapter 8 →A folio of Papyrus 46 (written ca. AD 200), containing 2 Corinthians 11:33–12:9. This manuscript contains almost complete parts of the whole Pauline epistles.BookSecond Epistle to the CorinthiansCategoryPauline epistlesChristian Bible partNew TestamentOrder in the Christian part8 2 Corinthians 7 is the seventh chapter of the Second Epistle to the Corinthians in the New Testament of the Christian Bible. It is aut...

 

1987 studio album by Def LeppardHysteriaStudio album by Def LeppardReleased3 August 1987 (1987-08-03)RecordedFebruary 1984 – January 1987StudioWisseloord (Hilversum)Windmill Lane (Dublin)Studio Des Dames (Paris)Genre Glam metal[1] hard rock[2] pop rock[3] Length62:32LabelPhonogramProducerRobert John Mutt LangeDef Leppard chronology Pyromania(1983) Hysteria(1987) Adrenalize(1992) Singles from Hysteria AnimalReleased: 20 July 1987 WomenReleased: ...

 

Human settlement in EnglandHagmore GreenRoad to Firs FarmHagmore GreenLocation within SuffolkCivil parishBoxfordDistrictBaberghShire countySuffolkRegionEastCountryEnglandSovereign stateUnited Kingdom List of places UK England Suffolk 52°00′59″N 0°50′44″E / 52.0165°N 0.8455°E / 52.0165; 0.8455 Hagmore Green is a hamlet in the civil parish of Boxford, in the Babergh district, in the county of Suffolk, England. The nearest village is Boxford, the A13...

  Rotazione con le claveSaint Louis 1904 Informazioni generaliLuogoFrancis Field, Saint Louis Periodo28 ottobre PartecipantiDato sconosciuto Podio Ed Hennig  Stati Uniti Emil Voigt  Stati Uniti Ralph Wilson  Stati Uniti Edizione precedente e successiva Prima apparizione Non più disputata Voce principale: Ginnastica ai Giochi della III Olimpiade. Ginnastica a Sanit Louis 1904 Individuale Concorso individuale generale Concorso individuale - Tre eventi Concorso individuale -...

 

Letnie Igrzyska Olimpijskie 1904LekkoatletykaBieg na 2590 m z przeszkodami mężczyzn Złoty medal Jim Lightbody Srebrny medal John Daly Brązowy medal Arthur Newton Bieg na 2590 m z przeszkodami rozgrywano tylko jeden raz na igrzyskach olimpijskich – w Saint Louis w 1904, 4 lata wcześniej rozegrano bieg na dystansie o 90 metrów krótszym. Bieg odbył się 29 sierpnia 1904 na stadionie Francis Field należącym do Washington University. Zawodnicy mieli do pokonania płotki oraz rów z wod...

 

American actor and comedian, NFL For the Australian metallurgist, see John Michael Higgins (metallurgist). For other people, see John Higgins (disambiguation). This biography of a living person needs additional citations for verification. Please help by adding reliable sources. Contentious material about living persons that is unsourced or poorly sourced must be removed immediately from the article and its talk page, especially if potentially libelous.Find sources: John Michael Higgins&#...

1910s British piston aircraft engine Cossack Sunbeam Cossack at the National Air and Space Museum Type V-12, 60-degree, water-cooled, piston engine National origin Britain Manufacturer Sunbeam[1] Designer Louis Coatalen[1] First run 1916[1] Major applications Short Type 310[1] Produced 1916–1920[1] Number built UK 350France 150US 1+?Cossack III 14[1] The Sunbeam Cossack was a British 12-cylinder aero engine that was first run in 1916. The Coss...

 

La dispersión en un campo central se refiere al cambio de cantidad de movimiento que sufren dos partículas al interaccionar por medio de un campo central, entendiéndose por campo central, un campo de fuerza con simetría esférica. Para generalizar la solución a los campos centrales más comunes que se estudian en física elemental, vamos a trabajar con un campo cuyo potencial tiene una estructura general: V ( r ) = k r − α {\displaystyle V(r)=kr^{-\alpha }} Aunque pueden co...

 

French actress Emmanuelle BercotEmmanuelle Bercot at the 2016 César AwardsBorn (1967-11-06) 6 November 1967 (age 56)Paris, FranceOccupation(s)Actress, film director, screenwriterYears active1991–present Emmanuelle Bercot (born 6 November 1967) is a French actress, film director and screenwriter. Her film Clément was screened in the Un Certain Regard section at the 2001 Cannes Film Festival.[1] Her 2013 film On My Way premiered in competition at the 63rd Berlin Internatio...

Town in Washington, United StatesEatonville, WashingtonTownWelcome sign in EatonvilleLocation of Eatonville, WashingtonCoordinates: 46°52′6″N 122°16′12″W / 46.86833°N 122.27000°W / 46.86833; -122.27000CountryUnited StatesStateWashingtonCountyPierceArea[1] • Total1.84 sq mi (4.78 km2) • Land1.83 sq mi (4.73 km2) • Water0.02 sq mi (0.05 km2)Elevation801 ft (244 ...

 

Species of fly Cynorhinella bella Scientific classification Domain: Eukaryota Kingdom: Animalia Phylum: Arthropoda Class: Insecta Order: Diptera Superfamily: Syrphoidea Family: Syrphidae Subfamily: Eristalinae Tribe: Milesiini Genus: Cynorhinella Species: C. bella Binomial name Cynorhinella bella(Williston, 1882)[1] Synonyms Cynorhinella canadensis (Curran, 1922)[2] Myioletpa bella Williston, 1882[1] Myioletpa carbicolor Lovett, 1920[3] Cynorhinella bella,...

 

Strategi Solo vs Squad di Free Fire: Cara Menang Mudah!