Pipeline (software) (original) (raw)
Eine Pipe oder Pipeline (englisch Rohrleitung) ist ein Datenstrom zwischen zwei Prozessen durch einen Puffer mit dem Prinzip First In – First Out (FIFO). Das bedeutet vereinfacht, dass ein Ergebnis eines Computerprogramms als Eingabe eines weiteren Programms verwendet wird. Pipes wurden 1973 von Douglas McIlroy für das Betriebssystem Unix erfunden.
Property | Value |
---|---|
dbo:abstract | En informàtica, una canonada (pipe o '|') consisteix en una cadena de processos connectats de manera que la sortida de cada element de la cadena és l'entrada del pròxim. Permeten la comunicació i sincronització entre processos.És comú l'ús de buffer de dades entre elements consecutius. La comunicació per mitjà de canonades es basa en la interacció productor/consumidor, els processos productors (aquells que envien dades) es comuniquen amb els processos consumidors (que reben dades) seguint un ordre FIFO. Una vegada que el procés consumidor rep una dada, aquest s'elimina de la canonada. Les canonades (pipes) estan implementades en forma molt eficient en els sistemes operatius multitasca, iniciant tots els processos a la vegada, i atenent automàticament els requeriments de lectura de dades per a cada procés quan les dades són escrits pel procés anterior. D'aquesta manera el planificador de curt termini donarà l'ús de la CPU a cada procés a mesura que pugui executar minimitzant els temps morts. Per millorar el rendiment, la majoria dels sistemes operatius implementen les canonades amb buffers, el que permet al procés proveïdor generar més dades que el que el procés consumidor pot atendre immediatament. Podem distingir dos tipus de canonades: * Canonada sense nom: Les canonades sense nom tenen associat un fitxer en memòria principal, per tant, són temporals i s'eliminen quan no s'estan utilitzant ni per productors ni per consumidors. Permeten la comunicació entre el procés que crea una via ii processos fills després de les creació de la canonada. * Canonada amb nom: La seva diferència respecte a les canonades sense nom és que la llera es crea al sistema de fitxers, i per tant no tenen caràcter temporal. És mitjançant ( open, close, read i write) com la resta de fitxers del sistema. Permeten la comunicació entre els processos que utilitzen aquesta canonada, encara que no hi hagi una connexió jeràrquica entre ells. (ca) Roura (též trubka nebo pípa, anglicky pipeline) je v softwarovém inženýrství rozhraní nebo datový kanál mezi dvěma entitami zpracovávajícími data (programy, vlákny, koprogramy atd.), pro který platí, že komunikaci zajišťuje v jednom směru a funguje v režimu fronty. Může se jednat o jistou programovou logikou obhospodařovaný určitý objem paměti, nebo o pouhé symbolické pojmenování způsobu předávání dat mezi dvěma entitami (alternativně k termínu fronta). Datový tok, který skrze rouru proudí, označujeme jako proud (anglicky stream), popř. proud v daném typu roury nejmenší nedělitelné jednotky — proud bitů, proud bajtů, proud zpráv (záznamů), proud objektů apod. V souvislosti s rourami se užívá pojmů kolona a filtr. Kolonou je série entit zpracovávajících data, které jsou propojeny rourami, definici filtru splňuje každá taková entita, jež se vyznačuje tím, že neprovádí nic jiného než dat ze standardního vstupu na standardní výstup (dle svého zkonfigurování před započetím práce); filtry jsou obvykle ty entity v koloně, které nestojí na jejím začátku, výjimečně ani konci. Zpracování dat více entitami v tomto smyslu je popsáno návrhovým vzorem roury a filtry; toto pojmenování má původ v principu, jímž fungují hmotné potrubní instalace (jeden směr toku) a filtry (zachycování elementů). Programová logika, dle které (nikoli symbolická) roura funguje, odpovídá vyrovnávací paměti, resp. kruhovému bufferu — roura disponuje nějakým (obecně konstantním) objemem paměti, přičemž zdroj a odběratel dat pracují principielně různou rychlostí. Programátor roury musí ošetřit stav, kdy roura již není schopna pojmout více dat, a situaci, v níž není schopna další data poskytnout odběrateli. Kruhový buffer se užívá proto, aby nebyl ztrácen výpočetní výkon přesouváním dat v paměti roury. Aby byly minimalizovány události prázdné a plné roury, které při víceprocesorovém zpracování kolony její propustnost snižují, entitám v koloně obvykle věnuje zvláštní pozornost plánovač procesů. (cs) Eine Pipe oder Pipeline (englisch Rohrleitung) ist ein Datenstrom zwischen zwei Prozessen durch einen Puffer mit dem Prinzip First In – First Out (FIFO). Das bedeutet vereinfacht, dass ein Ergebnis eines Computerprogramms als Eingabe eines weiteren Programms verwendet wird. Pipes wurden 1973 von Douglas McIlroy für das Betriebssystem Unix erfunden. (de) En informática, una tubería (pipeline o cauce) consiste en una cadena de procesos conectados de forma tal que la salida de cada elemento de la cadena es la entrada del próximo. Permiten la comunicación y sincronización entre procesos. Es común el uso de búfer de datos entre elementos consecutivos. La comunicación por medio de tuberías se basa en la interacción productor/consumidor, los procesos productores (aquellos que envían datos) se comunican con los procesos consumidores (que reciben datos) siguiendo un orden FIFO. Una vez que el proceso consumidor recibe un dato, este se elimina de la tubería. Características de pipeline "Dentro del Pipeline se puede hablar de niveles de paralelismo que son caracterizados de la siguiente manera: Multiprogramación y Multiprocesamiento: Estas acciones se toman a un nivel de Programa o Trabajo. Tarea o Procedimientos: Acciones que se toman dentro de un mismo programa ejecutándose procesos que son independientes de manera simultánea. Interinstrucciones: Acciones a nivel de instrucción, o sea dentro del mismo proceso o tarea sé que se pueden ejecutar instrucciones independientes de manera simultánea". (es) In software engineering, a pipeline consists of a chain of processing elements (processes, threads, coroutines, functions, etc.), arranged so that the output of each element is the input of the next; the name is by analogy to a physical pipeline. Usually some amount of buffering is provided between consecutive elements. The information that flows in these pipelines is often a stream of records, bytes, or bits, and the elements of a pipeline may be called filters; this is also called the pipes and filters design pattern. Connecting elements into a pipeline is analogous to function composition. Narrowly speaking, a pipeline is linear and one-directional, though sometimes the term is applied to more general flows. For example, a primarily one-directional pipeline may have some communication in the other direction, known as a return channel or backchannel, as in the lexer hack, or a pipeline may be fully bi-directional. Flows with one-directional tree and directed acyclic graph topologies behave similarly to (linear) pipelines – the lack of cycles makes them simple – and thus may be loosely referred to as "pipelines". (en) En génie logiciel, un tube ou une pipeline est un mécanisme de communication inter-processus sous la forme d'une série de données, octets ou bits, accessibles en FIFO. Le patron de conception qui correspond à ce mécanisme s'appelle le filtre. Les tubes des shell, inventés pour UNIX, permettent de lier la sortie d'un programme à l'entrée du suivant dans les shell et permet, tel quel, de créer des filtres. Ces tubes sont réalisés par l'intermédiaire de mécanisme sous-jacent appelé tubes anonymes. Ces tubes sont détruits lorsque le processus qui les a créés disparait, les tubes nommés sont en revanche liés au système d'exploitation et ils doivent être explicitement détruits. Ce type de mécanisme se retrouve bien sûr dans tous les systèmes d'exploitation de type Unix mais aussi dans les systèmes d'exploitation de Microsoft cependant leur sémantique est sensiblement différente. Les tubes sont considérés comme la plus ancienne implémentation non triviale de la programmation modulaire au niveau de l'architecture d'un projet informatique. (fr) In informatica, il concetto di pipeline (in inglese, tubatura — composta da più elementi collegati — o condotto) viene utilizzato per indicare un insieme di componenti software collegati tra loro in cascata, in modo che il risultato prodotto da uno degli elementi (output) sia l'ingresso di quello immediatamente successivo (input). (it) Em engenharia de software, uma canalização (em inglês: pipeline) consiste de uma cadeia elementos de processamento (processos, threads, corotinas, funções etc.), organizados de forma que a saída de cada elemento seja a entrada do próximo. O nome é uma analogia a qualquer canalização física. Normalmente, uma certa quantidade de armazenamento temporário é fornecida entre elementos consecutivos. A informação que flui nessas canalizações geralmente são um fluxo de registros, bytes ou bits, e os elementos de uma canalização podem ser chamados de . Isso também é chamado de padrão de projeto de canalizações e filtros. Conectar elementos em uma canalização é algo análogo à . (pt) Конвеєр програмного забезпечення (англ. Software pipeline) складається з ланцюжка елементів обробки даних (процесів, потоків, співпрограм, функцій, і т.п.), організованих таким чином, що вивід одного елемента є входом іншого, тому їх називають за аналогією до фізичного трубопровода. Зазвичай між суміжними елементами існує певний буфер. Інформація що передається по такому конвеєрі часто є потоком записів, , чи бітів, і елементи конвеєра називаються фільтрами; архітектурний стиль організації програмного забезпечення таким чином називають "pipes and filters". (uk) 管道(pipeline),本源是使用消息传递的进程间通信机制,它构成自链接起来的处理元素(进程、线程、协程和函数等),它们被安置为每个元素的输出都是下一个元素的输入;这个名字类比于物理上的管道运输。在连贯的元素之间,通常会提供一定数量的缓冲区。在管道中流动的信息,经常是记录、字节或位的流(stream),而管道的元素可以叫做。将元素连接成管道类似于。在软件工程中,称之为管道与过滤器设计模式。 (zh) |
dbo:wikiPageExternalLink | http://www.fullchipdesign.com/pipeline_space_time_architecture.htm https://web.archive.org/web/20170301044124/http:/www.futurechips.org/parallel-programming-2/parallel-programming-clarifying-pipeline-parallelism.html |
dbo:wikiPageID | 1241238 (xsd:integer) |
dbo:wikiPageInterLanguageLink | dbpedia-sv:Vertikalstreck |
dbo:wikiPageLength | 10262 (xsd:nonNegativeInteger) |
dbo:wikiPageRevisionID | 1098727556 (xsd:integer) |
dbo:wikiPageWikiLink | dbr:Producer–consumer_problem dbr:Byte_stream dbr:Anonymous_pipe dbr:Unix dbr:VM/CMS dbr:Deadlock dbr:Pipeline_transport dbr:Computer_multitasking dbr:GStreamer dbr:GUI dbr:Graphics_pipeline dbr:Coroutine dbr:The_lexer_hack dbr:Apache_Cocoon dbr:MP3 dbr:Stream_(computing) dbr:Subroutine dbr:Component-based_software_engineering dbr:Z/OS dbr:Function_composition_(computer_science) dbr:Functional_programming dbr:Icon_(computing) dbr:Named_pipe dbr:Pipeline_(Unix) dbr:Pipeline_(computing) dbr:Plumber_(program) dbr:Poll_(Unix) dbr:XML_pipeline dbr:Stream_processing dbr:Software_engineering dbc:Inter-process_communication dbr:CD dbr:Windows_PowerShell dbr:Central_processing_unit dbr:Dialog_box dbr:Flow-based_programming dbr:Kahn_process_networks dbr:Drag-and-drop dbr:Process_(computing) dbr:Record_(computer_science) dbr:Return_channel dbc:Programming_paradigms dbc:Software_design_patterns dbr:Bitstream dbr:Directed_acyclic_graph dbr:Busy_waiting dbr:CMS_Pipelines dbr:Plan_9_from_Bell_Labs dbr:Software_design_pattern dbr:Software_framework dbr:File_descriptor dbr:File_manager dbr:Filter_(software) dbr:Microsoft_.NET dbr:Operating_system dbr:RISC_OS dbr:ROX_Desktop dbr:RaftLib dbr:Channel_(programming) dbr:World-wide_web dbr:XML dbr:System_call dbr:Select_(Unix) dbr:Waveform dbr:Limbo_programming_language dbr:Record-oriented_filesystem dbr:Scheduling_(computing) dbr:XProc dbr:REXX dbr:Iteratees dbr:I/O dbr:Image_editor dbr:Program_(computing) dbr:Thread_(computer_science) dbr:Monads_in_functional_programming dbr:Buffer_(computer_science) |
dbp:wikiPageUsesTemplate | dbt:About |
dct:subject | dbc:Inter-process_communication dbc:Programming_paradigms dbc:Software_design_patterns |
gold:hypernym | dbr:Input |
rdf:type | yago:WikicatOperatingSystems yago:WikicatSoftwareDesignPatterns yago:Abstraction100002137 yago:Code106355894 yago:CodingSystem106353757 yago:Cognition100023271 yago:Communication100033020 yago:Driver106574473 yago:Form105930736 yago:GrammaticalRelation113796779 yago:Inflection113803782 yago:LinguisticRelation113797142 yago:OperatingSystem106568134 yago:Paradigm113804375 yago:Program106568978 yago:PsychologicalFeature100023100 yago:Relation100031921 yago:Writing106359877 yago:WrittenCommunication106349220 yago:Software106566077 yago:Structure105726345 yago:UtilityProgram106581410 yago:WikicatDeviceDrivers yago:WikicatProgrammingParadigms |
rdfs:comment | Eine Pipe oder Pipeline (englisch Rohrleitung) ist ein Datenstrom zwischen zwei Prozessen durch einen Puffer mit dem Prinzip First In – First Out (FIFO). Das bedeutet vereinfacht, dass ein Ergebnis eines Computerprogramms als Eingabe eines weiteren Programms verwendet wird. Pipes wurden 1973 von Douglas McIlroy für das Betriebssystem Unix erfunden. (de) In informatica, il concetto di pipeline (in inglese, tubatura — composta da più elementi collegati — o condotto) viene utilizzato per indicare un insieme di componenti software collegati tra loro in cascata, in modo che il risultato prodotto da uno degli elementi (output) sia l'ingresso di quello immediatamente successivo (input). (it) Конвеєр програмного забезпечення (англ. Software pipeline) складається з ланцюжка елементів обробки даних (процесів, потоків, співпрограм, функцій, і т.п.), організованих таким чином, що вивід одного елемента є входом іншого, тому їх називають за аналогією до фізичного трубопровода. Зазвичай між суміжними елементами існує певний буфер. Інформація що передається по такому конвеєрі часто є потоком записів, , чи бітів, і елементи конвеєра називаються фільтрами; архітектурний стиль організації програмного забезпечення таким чином називають "pipes and filters". (uk) 管道(pipeline),本源是使用消息传递的进程间通信机制,它构成自链接起来的处理元素(进程、线程、协程和函数等),它们被安置为每个元素的输出都是下一个元素的输入;这个名字类比于物理上的管道运输。在连贯的元素之间,通常会提供一定数量的缓冲区。在管道中流动的信息,经常是记录、字节或位的流(stream),而管道的元素可以叫做。将元素连接成管道类似于。在软件工程中,称之为管道与过滤器设计模式。 (zh) En informàtica, una canonada (pipe o '|') consisteix en una cadena de processos connectats de manera que la sortida de cada element de la cadena és l'entrada del pròxim. Permeten la comunicació i sincronització entre processos.És comú l'ús de buffer de dades entre elements consecutius. La comunicació per mitjà de canonades es basa en la interacció productor/consumidor, els processos productors (aquells que envien dades) es comuniquen amb els processos consumidors (que reben dades) seguint un ordre FIFO. Una vegada que el procés consumidor rep una dada, aquest s'elimina de la canonada. (ca) Roura (též trubka nebo pípa, anglicky pipeline) je v softwarovém inženýrství rozhraní nebo datový kanál mezi dvěma entitami zpracovávajícími data (programy, vlákny, koprogramy atd.), pro který platí, že komunikaci zajišťuje v jednom směru a funguje v režimu fronty. Může se jednat o jistou programovou logikou obhospodařovaný určitý objem paměti, nebo o pouhé symbolické pojmenování způsobu předávání dat mezi dvěma entitami (alternativně k termínu fronta). Datový tok, který skrze rouru proudí, označujeme jako proud (anglicky stream), popř. proud v daném typu roury nejmenší nedělitelné jednotky — proud bitů, proud bajtů, proud zpráv (záznamů), proud objektů apod. (cs) En informática, una tubería (pipeline o cauce) consiste en una cadena de procesos conectados de forma tal que la salida de cada elemento de la cadena es la entrada del próximo. Permiten la comunicación y sincronización entre procesos. Es común el uso de búfer de datos entre elementos consecutivos. Características de pipeline "Dentro del Pipeline se puede hablar de niveles de paralelismo que son caracterizados de la siguiente manera: Multiprogramación y Multiprocesamiento: Estas acciones se toman a un nivel de Programa o Trabajo. (es) In software engineering, a pipeline consists of a chain of processing elements (processes, threads, coroutines, functions, etc.), arranged so that the output of each element is the input of the next; the name is by analogy to a physical pipeline. Usually some amount of buffering is provided between consecutive elements. The information that flows in these pipelines is often a stream of records, bytes, or bits, and the elements of a pipeline may be called filters; this is also called the pipes and filters design pattern. Connecting elements into a pipeline is analogous to function composition. (en) En génie logiciel, un tube ou une pipeline est un mécanisme de communication inter-processus sous la forme d'une série de données, octets ou bits, accessibles en FIFO. Le patron de conception qui correspond à ce mécanisme s'appelle le filtre. Les tubes des shell, inventés pour UNIX, permettent de lier la sortie d'un programme à l'entrée du suivant dans les shell et permet, tel quel, de créer des filtres. Ces tubes sont réalisés par l'intermédiaire de mécanisme sous-jacent appelé tubes anonymes. Ces tubes sont détruits lorsque le processus qui les a créés disparait, les tubes nommés sont en revanche liés au système d'exploitation et ils doivent être explicitement détruits. Ce type de mécanisme se retrouve bien sûr dans tous les systèmes d'exploitation de type Unix mais aussi dans les systèm (fr) Em engenharia de software, uma canalização (em inglês: pipeline) consiste de uma cadeia elementos de processamento (processos, threads, corotinas, funções etc.), organizados de forma que a saída de cada elemento seja a entrada do próximo. O nome é uma analogia a qualquer canalização física. (pt) |
rdfs:label | Canonada (informàtica) (ca) Roura (software) (cs) Pipe (Informatik) (de) Tubería (informática) (es) Pipeline software (it) Tube (informatique) (fr) Pipeline (software) (en) Canalização (software) (pt) 管道 (软件) (zh) Конвеєр програмного забезпечення (uk) |
owl:sameAs | freebase:Pipeline (software) yago-res:Pipeline (software) wikidata:Pipeline (software) dbpedia-ca:Pipeline (software) dbpedia-cs:Pipeline (software) dbpedia-de:Pipeline (software) dbpedia-es:Pipeline (software) dbpedia-fa:Pipeline (software) dbpedia-fr:Pipeline (software) dbpedia-hu:Pipeline (software) dbpedia-it:Pipeline (software) dbpedia-pt:Pipeline (software) dbpedia-tr:Pipeline (software) dbpedia-uk:Pipeline (software) dbpedia-zh:Pipeline (software) https://global.dbpedia.org/id/23rXA |
prov:wasDerivedFrom | wikipedia-en:Pipeline_(software)?oldid=1098727556&ns=0 |
foaf:isPrimaryTopicOf | wikipedia-en:Pipeline_(software) |
is dbo:wikiPageDisambiguates of | dbr:Pipeline |
is dbo:wikiPageRedirects of | dbr:Pipeline_Programming dbr:Pipe_and_filter_architecture dbr:Filters_and_pipes dbr:Pipe-and-filter dbr:Pipe_(computer_science) dbr:Pipe_and_Filter_Architecture dbr:Pipe_and_filter dbr:Pipe_and_filters dbr:Pipeline_programming dbr:Pipes_(computing) dbr:Pipes_and_Filters dbr:Pipes_and_filters |
is dbo:wikiPageWikiLink of | dbr:PowerShell dbr:Producer–consumer_problem dbr:Scannerless_parsing dbr:List_of_file_formats dbr:Metagenomics dbr:Selective_Repeat_ARQ dbr:Anonymous_pipe dbr:Uniq dbr:VisTrails dbr:Intercepting_filter_pattern dbr:Lexer_hack dbr:List_of_macOS_built-in_apps dbr:Comparison_of_command_shells dbr:ConQAT dbr:Clojure dbr:Genomics dbr:Glossary_of_computer_science dbr:Gnash_(software) dbr:Concatenative_programming_language dbr:Core_common_area dbr:Coroutine dbr:Apache_Beam dbr:Apache_Cocoon dbr:Apache_Flink dbr:Apache_Pig dbr:Apache_Spark dbr:MSX-DOS dbr:Component-based_software_engineering dbr:Function_composition_(computer_science) dbr:Pattern-Oriented_Software_Architecture dbr:Pipeline dbr:Pipeline_(Unix) dbr:Pipeline_(computing) dbr:Plumber_(program) dbr:Take_Command_Console dbr:COMMAND.COM dbr:Tidyverse dbr:ToaruOS dbr:UIMA dbr:Data-flow_diagram dbr:Data_Version_Control dbr:Faceware_Technologies dbr:Fish_(Unix_shell) dbr:DirectX_Video_Acceleration dbr:Go-Back-N_ARQ dbr:History_of_CP/CMS dbr:List_of_DOS_commands dbr:Microsoft_Data_Access_Components dbr:Gulp.js dbr:Jeffrey_Snover dbr:BioCompute_Object dbr:TACTIC_(web_framework) dbr:Temporary_file dbr:Domain/OS dbr:Art_pipeline dbr:CMS_Pipelines dbr:Pipeline_Programming dbr:Postfix_(software) dbr:SpartaDOS_X dbr:Filter_(software) dbr:OS-9 dbr:Open_XML_Paper_Specification dbr:Pipe_and_filter_architecture dbr:Filters_and_pipes dbr:Pipe-and-filter dbr:Pipe_(computer_science) dbr:Pipe_and_Filter_Architecture dbr:Pipe_and_filter dbr:Pipe_and_filters dbr:Pipeline_programming dbr:Pipes_(computing) dbr:Pipes_and_Filters dbr:Pipes_and_filters |
is foaf:primaryTopic of | wikipedia-en:Pipeline_(software) |