Csővezeték (architekturális minta)

A számítógép-programozásban a csővezeték a feldolgozó elemek (folyamatok, rutinok, korutinok, függvények, szálak) egymásutánja, úgy elrendezve, hogy az egyik kimenete a másik bemenete. A fizikai csővezeték megfelelője. A kettő között rendszerint pufferelik az adatokat, amelyek lehetnek rekordok, bájtok vagy bitek folyamai, a csővezeték elemeire pedig gyakran szűrőkként hivatkoznak. A mintát gyakran csövek és szűrők programtervezési mintaként hivatkozzák. Az elemek összekapcsolása a függvénykompozíció megfelelője. A funkcionális nyelvekben a generátor-szűrő alapelem; a minta a nem funkcionális nyelvekben is megvalósítja a funkcionális paradigma egy részét.

Szűkebben véve a csővezeték nem ágazik el, és egyirányú, habár tágabb értelemben általánosabb szerkezetekre is hivatkoznak az elnevezéssel. Az egyirányúságot kiegészítheti egy másik irányú, visszafelé vagy return csatorna, de lehet a cső kétirányú is. Az egyirányú csöveknek lehet faszerkezete vagy irányított kör nélküli szerkezete (aciklikus gráf).

Végrehajtása

A csővezeték szerkezetű programot a többfelhasználós operációs rendszerek gyakran úgy hajtják végre, hogy elemeit önálló szálakként indítják, és automatikusan hajtják végre az adattovábbítást. Az ütemezés minimalizálja a várakozási időt. Egy másik gyakori modellben korutinokként vagy könnyű szálakként hajtják végre az egyes elemeket, hogy csökkentsék az adminisztrációt. Van, ahol közvetlenül az operációs rendszer, van, ahol a szálkezelő végzi a szálak ütemezését, viszont a korutinokat a korutinkezelő ütemezi.

Csővezeték használatakor fontos a megfelelő ütemezés. Az író és az olvasó műveleteket rendszerint blokkolnak, ha az adatokhoz nem lehet hozzáférni, akkor a szál blokkolódik, amíg nem áll rendelkezésére az adatfolyam. Ez holtponthoz vezethet, mivel az olvasó nem tud olvasni, és mivel lefoglalva tartja az adatfolyamot, nem is lehet írni neki. A két szál örökké várna egymásra.

A legtöbb operációs rendszer buffereli az adatokat, így a csővezeték tagjai egy ideig többet írhatnak, mint olvashatnak. A legtöbb Unix és Unix-szerű operációs rendszerben beállítható és optimalizálható a buffer, rendszerint a buffer utasítással. Hasznos, ha az olvasó folyamat lassabb, mint az író. Például az író CD-ről olvassa a nyers hanghullám fájlt, és az olvasó ezt dolgozza fel MP3 formába. Ekkor elég nagy buffer esetén, miután az író befejezte a futást, a CD kiadható, még akkor is, ha az olvasó tovább fut.

Megvalósításai

A buffer utasítás rendszerhívásokkal valósítható meg. A busy waiting elkerülhető poll, select utasításokkal, vagy több szál használatával.

A csővezeték megvalósítását támogató programozási rendszerek:

  • RaftLibC/C++ Apache 2.0 licenc
  • VM/CMS és z/OS - a CMS Pipelines egyszerűbb szintaxist ad csővezetékek megvalósítására VM/CMS és z/OS operációs rendszerekre tervezett programok számára, mint a UNIX héjak

CMS Pipelines

A CMS Pipelines a VM/CMS és z/OS operációs rendszereken támogatja a csővezetékek megvalósítását. Ha bonyolultabb csővezetékekről van szó, akkor szintaxisa egyszerűbb, mint a UNIX rendszerhéjaké, így könnyebb olyan csővezetéket létrehozni, aminek több bemenete és kimenete van.

Az IBM hagyományos alkalmazásaiban nincs szabványos be- és kimenet, amiket át lehetne irányítani. Ehelyett a CMS Pipelines egy könnyű diszpécsert vezet be a beépített programok példányainak párhuzamos végrehajtásával, ami lehetővé teszi a csővezeték használatát. Több, mint 200 beépített program támogatja a UNIX-ra jellemző alkalmazásokat, az eszközök interfészeit és az operációs rendszer szolgáltatásait. Ezek mellett a CMS Pipelines keretrendszert is definiál, ami lehetővé teszi a felhasználó által írt REXX programoknak, hogy be- és kimenő adatfolyamokat használjanak a csővezetékben.

Az IBM keretrendszerekben az adatok rendszerint rekordorientált fájlrendszerben találhatók, és az I/O eszközök inkább rekordokkal, mint streamekkel dolgoznak. Ennek következményeként a CMS Pipelines is rekord módban kezeli az adatokat. Szövegfájlokban egy sor egy rekord. Bufferelés általában nincs, de lock-lépéses rendszerben továbbítja őket. Ez determinisztikus adatfolyamot biztosít egymással összekapcsolt csövek hálózatában.

Objektum csővezetékek

A bájtstream alapú csővezetékek mellett objektum csővezetékek is vannak. Itt az elemek szöveg helyett objektumok. A Windows PowerShell tartalmaz belső objektum csővezetéket, ami objektumokat közvetít a PowerShell futásidejű környezetében futó függvények között. További metafora a Limbo csatornája.

GUI csővezetékek

A RISC OS és a ROX Desktop szintén csővezetékeket használ. Például amikor letöltenek egy fájlt, akkor a fájlrendszert mutató párbeszédablak helyett egy ikon jelenik meg. Ahová azt húzza a felhasznál, oda lesz mentve. Ha egy program ikonjára húzza, akkor az a program megkapja a fájlt további feldolgozásra. Például a felhasználó le akar tölteni egy tömörített képet, feldolgozni majd újra feltölteni. Ekkor az ikont először az archívumkezelőre, utána a képszerkesztőre, végül a feltöltő program ikonjára húzza.

Elvben ugyanezt meg lehetne csinálni hagyományos fájlszerkesztőben is, de akkor a felhasználónak emlékeznie kell, hogy hol találhatók a programjai. Ehhez azonban a programok helyének nyilvánvalónak és könnyen meghatározhatónak kell lennie, ám többnyire nem ez a helyzet, úgyhogy a grafikus csővezetékek ritkák.

További meggondolások

A csővezeték a funkcionális programozásra jellemző. Mivel bájtstreameket adatobjektumként használ, azért az I/O monád egyik megvalósításának tekinthető.[1]

A csővezeték a fizikai csővezetékre utal; az adatok úgy folynak, mint a víz a csővezetékben. Vannak kivételek, például a törött cső jel (broken pipe).

A Cocoon webfejlesztési eszközhöz és a W3C szabvány szerinti XProc implementációban is fontos a csővezeték, mivel így megjelenítés előtt fel lehet dolgozni a forrás streamet.

A minta bátorítja a szövegfájlok használatát be- és kimenetként. Ezt számításba kell venni, ha a szöveges programokhoz grafikus héjat készítenek.

Jegyzetek

Források

Fordítás

Ez a szócikk részben vagy egészben a Pipeline (software) című angol Wikipédia-szócikk fordításán alapul. Az eredeti cikk szerkesztőit annak laptörténete sorolja fel. Ez a jelzés csupán a megfogalmazás eredetét és a szerzői jogokat jelzi, nem szolgál a cikkben szereplő információk forrásmegjelöléseként.

Read other articles:

Comic book series about the history of the world The Cartoon History of the Universe : From the Big Bang to Alexander the Great Gonick's authorial voice is represented by the Professor, pictured on the cover of The Cartoon History of the Universe – From the Big Bang to Alexander the Great.AuthorLarry GonickCountryUnited StatesLanguageEnglishSubjectHistoryGenrenon-fictionPublisherBroadway BooksPublication date1990Pages358ISBN0-385-26520-4OCLC49747633Dewey Decimal902/.07 20LC ClassD...

 

Protes terhadap Union Carbide. Union Carbide Corporation adalah kelompok bisnis kimia Amerika Serikat yang bermarkas di Danbury, Connecticut. Perusahaan ini didirikan pada tahun 1917. Lingkaran kerja utama perusahaan ini adalah terutama produksi zat kimia dasar dan plastik. Union Carbide terkenal atas pemecatan besar-besaran atas racun yang diakibatkan dari kesalahan tindakan dalam Tragedi Bhopal, di negara bagian Madhya Pradesh, India, pada tahun 1984. Ribuan orang tewas dalam insiden ini. D...

 

В статье есть список источников, но не хватает сносок. Без сносок сложно определить, из какого источника взято каждое отдельное утверждение. Вы можете улучшить статью, проставив сноски на источники, подтверждающие информацию. Сведения без сносок могут быть удалены. (21 ию...

Narges Mohammadi Información personalNombre en persa نرگس محمدی Nacimiento 21 de abril de 1972 (51 años)Zanjan (Irán pahlaví) Nacionalidad IraníReligión Islam FamiliaCónyuge Taghi Rahmani (desde 1999) Hijos 2 EducaciónEducada en Imam Khomeini International University Información profesionalOcupación Activista por los derechos humanos y periodista Empleador Defenders of Human Rights Center Distinciones International Alexander Langer Award (2009)Premio Per Anger...

 

Countries usually participating in Pan American championships. A Pan American Championship is a top level international sports competition between athletes or sports teams representing their respective countries or professional sports clubs in the Americas. Typically these championships are recurring, the most common formats being annual, biennial and quadrennial. The Pan American Games is the highest level sporting competition for the region. It is common for there to be sport-specific gover...

 

Shanghai Disneyland ParkEnchanted Storybook Castle, markah tanah Shanghai DisneylandLokasiShanghai Disney Resort, Pudong, Shanghai, TiongkokKoordinat31°08′38″N 121°39′25″E / 31.1440°N 121.6570°E / 31.1440; 121.6570TemaCerita dongeng dan karakter DisneyPemilikShanghai Shendi Group (57%)[1]The Walt Disney Company (43%)[1]OperatorShanghai Shendi Group[1]Walt Disney Parks, Experiences and Consumer Products[1]Dibuka16 Juni 2016; G...

Anugerah Musik Indonesia 2008Tanggal15 April 2008LokasiIstora Senayan, Jakarta PusatNegaraIndonesiaPembawa acaraDaniel Mananta & Luna MayaIkhtisarPenghargaan terbanyakUngu (3)Karya Produksi Terbaik-TerbaikAndai Ku Tahu – UnguAlbum Terbaik-TerbaikGita Gutawa – Gita GutawaPendatang Baru Terbaik-TerbaikGita GutawaLegend AwardAmien WidjajaSitus webami-awards.comSiaran televisi/radioSaluranRCTIWaktu tayang180 menitProduserYayasan Anugerah Musik Indonesia← 2006 Anugerah Musik Indonesi...

 

1960 film by George Sidney Who Was That Lady?Original film posterDirected byGeorge SidneyWritten byNorman KrasnaProduced byNorman KrasnaStarringTony CurtisDean MartinJanet LeighCinematographyHarry StradlingEdited byViola LawrenceMusic byAndré PrevinDistributed byColumbia PicturesRelease dateApril 15, 1960 (1960-04-15)Running time115 minutesCountryUnited StatesLanguageEnglishBox office$3,100,000 (US/Canada rentals)[1] Who Was That Lady? is a 1960 black and white America...

 

For the chain of fitness studios, see SoulCycle. 1970 studio album by Cedar WaltonSoul CycleStudio album by Cedar WaltonReleased1970RecordedJuly 25, 1969New York CityGenreJazzLength37:24LabelPrestigePR 7693ProducerDon SchlittenCedar Walton chronology The Electric Boogaloo Song(1969) Soul Cycle(1970) Breakthrough!(1972) Soul Cycle is an album by pianist Cedar Walton, which was recorded in 1969 and released on the Prestige label.[1] Reception Professional ratingsReview scoresSou...

Artikel ini sebatang kara, artinya tidak ada artikel lain yang memiliki pranala balik ke halaman ini.Bantulah menambah pranala ke artikel ini dari artikel yang berhubungan atau coba peralatan pencari pranala.Tag ini diberikan pada Desember 2022. SyekhMuhammad Sholehشيخ محمد صلحGelarSyekhNama lainSyekh Gunung SantriInformasi pribadiLahirMuhammad Sholeh1475M / 880HMeninggal1550M / 958HBojonegara, Bojonegara, Serang, BantenMakamSyekh Muhammad Sholeh Gn. SantriAgamaIslamKebangsaanIndone...

 

Geografía de Tayikistán TayikistánLocalizaciónContinente AsiaRegión Asia CentralCaracterísticas geográficasSuperficie 143 100 km²  141 510 km² (tierra)  2590 km² (agua)Línea de costa 0 kmCaracterísticas singularesLago más grande Karakul, 380 km²Principales ciudades Dusambé, Juyand, Qurghonteppa, KhorughPuntos extremosPunto más bajo Sir Daria (300 m)Punto más alto Pico Ismail Samani (7496 m)Fronteras territorialesInternacionales 3651 km • Repúbl...

 

Licensed establishment that serves alcoholic drinks O'Donoghue's Pub, Dublin, Ireland The Joymount Arms, Carrickfergus, County Antrim In Ireland, a pub is an establishment licensed to serve alcoholic drinks for consumption on the premises. Irish pubs are characterised by a unique culture centred around a casual and friendly atmosphere, hearty food and drink, Irish sports, and traditional Irish music.[citation needed] Their widespread appeal has led to the Irish pub theme spreading aro...

Prison in Manchester, UK Strangeways redirects here. For other uses, see Strangeways (disambiguation). Manchester PrisonLocationStrangeways, ManchesterSecurity classAdult Male/Category A+B Capacity744Population~624 (as of October 2021[1])Opened1868Former nameStrangewaysManaged byHM Prison ServicesGovernorRob KnightWebsiteManchester at justice.gov.uk HM Prison Manchester is a Category A and B men's prison in Manchester, England, operated by His Majesty's Prison Service. It is still...

 

Railway station in Pretoria, South Africa PretoriaRailway stationGeneral informationLocationScheiding Street, PretoriaCoordinates25°45′29″S 28°11′21″E / 25.75806°S 28.18917°E / -25.75806; 28.18917Owned byPRASALine(s)Shosholoza Meyl:   Johannesburg–Komatipoort   Johannesburg–Musina Gautrain:   North–South Line Metrorail:   Johannesburg–Pretoria   Pretoria–Mabopane/De Wildt   Pretoria–Pie...

 

Founder of the Rosicrucian Order Christian Rosenkreuz is seen to have been Lazarus/St. John in his previous life, the Beloved Disciple whom the Christ had raised from the dead and who would remain active until the Lord's return.[1][2][3] Christian Rosenkreuz (also spelled Rosenkreutz, Rosencreutz, Christiani Rosencreütz and Christian Rose Cross) is the legendary, possibly allegorical, founder of the Rosicrucian Order (Order of the Rose Cross).[4] He is present...

American television series For other uses, see Corner. The CornerThe Corner DVD coverGenreDramaBased onThe Corner: A Year in the Life of an Inner-City Neighborhoodby David SimonEd BurnsWritten byDavid SimonDavid MillsDirected byCharles S. DuttonStarringT. K. CarterKhandi AlexanderSean NelsonTheme music composerCorey HarrisCountry of originUnited StatesOriginal languageEnglishNo. of episodes6ProductionProducersRobert F. ColesberryDavid MillsDavid SimonNina Kostroff NobleProduction locationBalt...

 

South Korean actress In this Korean name, the family name is Yoo. Yoo In-naYoo in 2023Born (1982-06-05) June 5, 1982 (age 41)Seongnam, Gyeonggi, South KoreaOccupationActressYears active2006–presentAgentYG EntertainmentKorean nameHangul유인나Hanja劉寅娜Revised RomanizationYu In-naMcCune–ReischauerYu Inna Yoo In-na (Korean: 유인나; born June 5, 1982) is a South Korean actress. After supporting roles in High Kick! Through the Roof (2009–10) and Secret Garden (20...

 

8th episode of the 7th season of South Park South Park Is Gay!South Park episodeFrom left to right: Kenny, Stan, Kyle, and Cartman as metrosexuals.Episode no.Season 7Episode 8Written byTrey ParkerFeatured musicAll Things (Just Keep Getting Better) by WidelifeProduction code708Original air dateOctober 22, 2003 (2003-10-22)Episode chronology ← PreviousRed Man's Greed Next →Christian Rock Hard South Park (season 7)List of episodes South Park Is Gay! is the eight...

Kacang merah Vicia faba Lentil Kacang komak Kecipir Grafik yang menunjukan besarnya kandungan protein, serat, dan zat besi pada beberapa jenis kacang-kacangan per 100 gram sajian. Kacang-kacangan adalah sebutan untuk biji yang berukuran relatif lebih besar dibandingkan serealia dan digunakan untuk bahan pangan bagi manusia dan hewan ternak. Kacang-kacangan umumnya didapatkan dari tanaman famili Fabaceae. Namun tanaman kacang-kacangan yang dipanen muda seperti kapri, buncis, dan edamame tidak ...

 

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) The topic of this article may not meet Wikipedia's general notability guideline. Please help to demonstrate the notability of the topic by citing reliable secondary sources that are independent of the topic and provide significant coverage of it beyond a mere trivial mention. If notability cannot be shown, the article is likely to be merged,...

 

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