Inter-process communication (original) (raw)
La comunicació entre processos, en anglès IPC (Inter-process Communication), és una funció bàsica dels sistemes operatius. Els processos poden comunicar-se entre ells mitjançant la compartició d'espais de memòria, ja siguin variables compartides o buffers, o mitjançant les eines proveïdes per les rutines d'IPC.
Property | Value |
---|---|
dbo:abstract | في علوم الحاسب الألي، أنظمة التشغيل تدعم التواصل الداخلي بين التطبيقات الحاسوبية IPC للسماح لها بتبادل البيانات أو المشاركة في الذاكرة. التطبيقات تستخدم هذه الآلية بتصنيف الخادم والعميل، بحيث ان العميل يطلب البيانات والخادم يستجيب لهذه الطلبات. كثير من التطبيقات الجديدة تضم صفتي الخادم والعميل وخاصة تلك التطبيقات التي نراها في الحوسبة الموزعة.تصنف الأساليب التي تهدف إلي تواصل بين العمليات إلى عدة فئات تعتمد على متطلبات برامج الحاسب الآلي ( برمجيات ) كمتطلبات الأداء و النمطية والظروف تحدث في النظام مثل النطاق الترددي للشبكة وكمن الشبكة ( أي الزمن الذي تستغرق فيه الرسائل في الانتقال بين المرسل والمرسل إليه * مثال يوضح ربط نظام الحوسبة الشبكية للعديد من أجهزة الكمبيوتر الشخصية عبر الإنترنت باستخدام شبكة الاتصالات بين عملية IPC هو مهم جدا لتصميم تعريفات وطرق مرتبطة بالتواصل الداخلي بين التطبيقات (ar) Meziprocesová komunikace (anglicky Inter-Process Communication, IPC) je v informatice sada technik pro výměnu dat mezi dvěma nebo více procesy nebo thready. Komunikace může probíhat i mezi různými počítači propojenými počítačovou sítí. IPC může být též označována jako mezithreadová komunikace (anglicky inter-thread communication) a meziaplikační komunikace (anglicky inter-application communication). IPC techniky můžeme rozdělit na metody pro zasílání zpráv, synchronizace, sdílená paměť a vzdálené volání procedur (RPC). Metoda použitá pro IPC může záviset na datové propustnosti, latenci komunikace mezi thready a typem dat, která je potřeba přenášet a podobně. (cs) La comunicació entre processos, en anglès IPC (Inter-process Communication), és una funció bàsica dels sistemes operatius. Els processos poden comunicar-se entre ells mitjançant la compartició d'espais de memòria, ja siguin variables compartides o buffers, o mitjançant les eines proveïdes per les rutines d'IPC. (ca) Der Begriff Interprozesskommunikation (englisch interprocess communication, kurz IPC) bezeichnet in der Informatik verschiedene Verfahren des Informationsaustausches zwischen den Prozessen eines Systems. Mithilfe eines Shared Memory erfolgt die Kommunikation dadurch, dass mehrere Prozesse auf einen gemeinsamen Datenspeicher zugreifen können, beispielsweise gemeinsame Bereiche des Arbeitsspeichers. Bei einer Message Queue dagegen werden Nachrichten von einem Prozess an eine Nachrichtenschlange geschickt, von wo diese von einem anderen Prozess abgeholt werden können. Die Kommunikation zwischen den Prozessen sollte in einer gut strukturierten Weise erfolgen. Um Race Conditions zu vermeiden, sollten die kritischen Abschnitte, in denen auf gemeinsam genutzten Speicher zugegriffen wird, vor einem (quasi-)gleichzeitigen Zugriff geschützt werden. Dies kann durch verschiedene Mechanismen wie Semaphore oder Monitore realisiert werden. Wenn jedoch jeder Prozess aus einer Menge von Prozessen auf ein Ereignis wartet, das nur ein anderer Prozess aus der Menge auslösen kann, entsteht eine Deadlock-Situation. Klassische Problemstellungen der Interprozesskommunikation sind das Erzeuger-Verbraucher-Problem, das Philosophenproblem und das Leser-Schreiber-Problem. (de) Διαδιεργασιακή επικοινωνία (αγγλ.: InterProcess Communication, IPC) ονομάζεται στην πληροφορική ένα σύνολο μηχανισμών που παρέχουν τα λειτουργικά συστήματα των ηλεκτρονικών υπολογιστών, οι οποίοι διευκολύνουν την ανταλλαγή δεδομένων και τον συγχρονισμό μεταξύ ταυτοχρόνως εκτελούμενων διεργασιών μέσω δομών δεδομένων του πυρήνα. Τέτοιοι μηχανισμοί είναι απαραίτητοι στα μοντέρνα λειτουργικά συστήματα όπου, χάρη στον μηχανισμό της εικονικής μνήμης, κάθε διεργασία έχει τον δικό της ιδιωτικό χώρο εικονικών διευθύνσεων στον οποίον έχει πρόσβαση μόνο αυτή και ο πυρήνας. Προκειμένου να υπάρχει μία στοιχειώδης προστασία μνήμης μεταξύ διαφορετικών διεργασιών, καμία διεργασία δεν έχει δικαίωμα ανάγνωσης ή εγγραφής στον χώρο διευθύνσεων των υπολοίπων. Αν λοιπόν χρειάζεται δύο διαφορετικές διεργασίες να επικοινωνήσουν μεταξύ τους ή να ανταλλάξουν δεδομένα, αυτό μπορεί να γίνει μόνο μέσω του συστήματος αρχείων (π.χ. μία διεργασία να γράψει ένα αρχείο και μία άλλη να το διαβάσει) ή μέσω μίας μεθόδου διαδιεργασιακής επικοινωνίας. Με το προγραμματιστικό μοντέλο των υποδοχών (sockets) οι διεργασίες οι οποίες επικοινωνούν μπορούν να εκτελούνται σε διαφορετικούς υπολογιστές που διασυνδέονται μέσω ενός δικτύου. Σε πολλές περιπτώσεις ένα εκτελούμενο πρόγραμμα (η μητρική ή γονική διεργασία) δημιουργεί δευτερεύουσες (θυγατρικές) διεργασίες ώστε να εκμεταλλευτεί πιθανά οφέλη από τον ταυτοχρονισμό. Με αυτόν τον τρόπο, σε ένα παράλληλο σύστημα οι υπολογισμοί που απαιτούνται από μία εφαρμογή μπορούν να κατανεμηθούν σε πολλαπλούς επεξεργαστές με τον καθένα να εκτελεί διαφορετική διεργασία, ενώ σε ένα σειριακό σύστημα αν μία διεργασία ανασταλεί (π.χ. σε μία κλήση συστήματος) καθώς περιμένει την απελευθέρωση ενός πόρου (π.χ. πρόσβαση στον σκληρό δίσκο) ή μία από τον χρήστη), κάποια άλλη διεργασία μπορεί να συνεχίσει τους υπολογισμούς. Είναι φανερό επομένως ότι η διαδιεργασιακή επικοινωνία δεν είναι απαραίτητη μόνο για την ανταλλαγή δεδομένων μεταξύ ανεξάρτητων διεργασιών, αλλά και για τον συντονισμό στενά συνεργαζόμενων διεργασιών οι οποίες εκτελούνται παράλληλα, σε συστήματα πολλαπλών επεξεργαστών, ή ψευδοπαράλληλα, δηλαδή με ταχύτατη και διαφανή εναλλαγή πολλαπλών ταυτοχρόνως εκτελούμενων διεργασιών στον μοναδικό επεξεργαστή. (el) La comunicación entre procesos (comúnmente IPC, del inglés Inter-Process Communication) es una función básica de los sistemas operativos. Los procesos pueden comunicarse entre sí a través de compartir espacios de memoria, ya sean variables compartidas o buffers, o a través de las herramientas provistas por las rutinas de IPC. La IPC provee un mecanismo que permite a los procesos comunicarse y sincronizarse entre sí, normalmente a través de un sistema de bajo nivel de paso de mensajes que ofrece la red subyacente. La comunicación se establece siguiendo una serie de reglas (protocolos de comunicación). Los protocolos desarrollados para internet son los mayormente usados: IP (capa de red), protocolo de control de transmisión (capa de transporte) y protocolo de transferencia de archivos, protocolo de transferencia de hipertexto (capa de aplicación). La forma básica de comunicación entre dos procesos o hilos en un sistema operativo con micronúcleo son los mensajes. Un mensaje incluye una cabecera que identifica a los procesos remitente y receptor y un cuerpo que contiene directamente los datos, un puntero a un bloque de datos, o alguna información de control del proceso. Normalmente podemos pensar que las IPC se fundamentan en puertos asociados a cada proceso. Un puerto es, en esencia, una cola de mensajes destinada a un proceso particular; un proceso puede tener múltiples puertos. Asociada a cada puerto existe una lista que indica qué procesos se pueden comunicar con éste. Las identidades y funcionalidades de cada puerto se mantienen en el núcleo. Un proceso puede concederse nuevas funcionalidades mandando un mensaje al núcleo con las nuevas funcionalidades del puerto. Los procesos pueden estar ejecutándose en una o más computadoras conectadas a una red. Las técnicas de IPC están divididas dentro de métodos para: paso de mensajes, sincronización, memoria compartida y llamadas de procedimientos remotos (RPC). El método de IPC usado puede variar dependiendo del ancho de banda y latencia (el tiempo desde el pedido de información y el comienzo del envío de la misma) de la comunicación entre procesos, y del tipo de datos que están siendo comunicados. (es) In computer science, inter-process communication or interprocess communication (IPC) refers specifically to the mechanisms an operating system provides to allow the processes to manage shared data. Typically, applications can use IPC, categorized as clients and servers, where the client requests data and the server responds to client requests. Many applications are both clients and servers, as commonly seen in distributed computing. IPC is very important to the design process for microkernels and nanokernels, which reduce the number of functionalities provided by the kernel. Those functionalities are then obtained by communicating with servers via IPC, leading to a large increase in communication when compared to a regular monolithic kernel. IPC interfaces generally encompass variable analytic framework structures. These processes ensure compatibility between the multi-vector protocols upon which IPC models rely. An IPC mechanism is either synchronous or asynchronous. Synchronization primitives may be used to have synchronous behavior with an asynchronous IPC mechanism. (en) Komunikasi antarproses (bahasa Inggris: Inter-Process Communication, biasa disebut IPC) adalah mekanisme pertukaran data antara satu proses dengan proses lainnya, baik itu proses yang berada di dalam komputer yang sama, atau komputer jarak jauh yang terhubung melalui jaringan. IPC terdiri atas protokol yang menjamin sebuah respons dari sebuah permintaan. Contoh dari IPC adalah , , dalam sistem operasi , dalam OS/2, dalam sistem operasi Windows, dalam sistem operasi Novell, dalam sistem operasi Apple Macintosh (khususnya ) dan beberapa komponen perangkat lunak seperti atau . Meskipun IPC secara otomatis dilakukan oleh program, sebuah fungsi yang sama juga dapat dilakukan secara interaktif ketika pengguna melakukan operasi copy-cut-paste dari satu proses ke proses lainnya dengan menggunakan . (in) En informatique, la communication inter-processus (inter-process communication, IPC, en anglais) regroupe un ensemble de mécanismes permettant à des processus concurrents de communiquer. Ces mécanismes peuvent être classés en trois catégories : * les mécanismes permettant l'échange de données entre les processus ; * les mécanismes permettant la synchronisation entre les processus (notamment pour gérer le principe de section critique) ; * les mécanismes permettant l'échange de données et la synchronisation entre les processus. (fr) 프로세스 간 통신(Inter-Process Communication, IPC)이란 프로세스들 사이에 서로 데이터를 주고받는 행위 또는 그에 대한 방법이나 경로를 뜻한다. IPC는 마이크로커널과 나노커널의 디자인 프로세스에 매우 중요하다: 마이크로커널은 커널이 제공하는 기능의 수를 줄여준다. 해당 기능들은 IPC를 통해 서버와 통신함으로써 얻으며 일반적인 모놀리딕 커널에 비해 IPC의 수가 극적으로 증가된다. (ko) プロセス間通信(プロセスかんつうしん、IPC、英: interprocess communication)はコンピュータの動作において、複数プロセス(の複数スレッド)間でデータをやりとりする仕組み。通信プロセスは、同一コンピュータ内で帰結するローカル、ネットワーク接続された別のコンピュータと相互にリモート、などのほかに多様な観点で分類され、スレッド間の通信帯域幅とレイテンシや扱うデータの種類も多種多様である。メッセージパッシング、同期、共有メモリ、RPCなどのメカニズムやプリミティブがある。 プロセス間通信の目的と理由は * 情報の共有 * 計算の高速化 * モジュール性の向上 * 利便性 * であり、「スレッド間通信」や「アプリケーション間通信」と呼ぶこともある。 IPCとアドレス空間のコンセプトの組合せは、アドレス空間分離の基盤である。 (ja) In informatica l'espressione comunicazione tra processi (in inglese inter-process communication o IPC) si riferisce a tutte quelle tecnologie software il cui scopo è consentire a diversi processi di comunicare tra loro scambiandosi dati e informazioni. I processi possono risiedere sullo stesso computer o essere distribuiti su una rete. Tutti i sistemi operativi multitasking forniscono qualche meccanismo fondamentale di IPC; altri meccanismi più sofisticati o orientati a particolari tipi di sistemi software possono essere forniti da tecnologie middleware, linguaggi di programmazione o a livello applicativo, basandosi sui meccanismi forniti dal sistema operativo. In modo equivalente, questi metodi vengono utilizzati per la gestione dei thread. (it) Interprocescommunicatie (IPC) is de onderlinge communicatie tussen threads in één of meerdere proces(sen) in een multitasking-besturingssysteem. Deze communicatie dient om data door te geven of de toegang naar gedeelde bronnen (resources) te synchroniseren. Grofweg zijn er vier categorieën interprocescommunicatie: * message passing - het doorgeven van berichten via pipes, mailbox of soortgelijke mechanismen * synchronisatie - een systeem van signalen (semaphores, vlaggen, signals) die door processen gezet en uitgelezen kunnen worden * shared memory of gedeeld geheugen - een stuk van het werkgeheugen van de computer dat voor meerdere processen toegankelijk is * remote procedure calls (RPC) - het aanroepen van procedures (deelprogramma's) met parameters die acties in een ander proces tot gevolg hebben (nl) Komunikacja międzyprocesowa (ang. inter-process communication, IPC) – umowna nazwa zbioru sposobów komunikacji pomiędzy procesami systemu operacyjnego. Procesy mogą używać różnych sposobów komunikacji, a najpowszechniejsze z nich to: * pliki i – najprostsza i najstarsza forma IPC * (ang. signals) – w niektórych systemach (jak np. DOS) znane jako * semafory (ang. semaphores) * potoki nienazwane (ang. pipes) – znane też jako łącza komunikacyjne * potoki nazwane (ang. named pipes) – znane też jako nazwane łącza komunikacyjne * systemy kolejkowe (ang. message queues) * pamięć dzielona (ang. shared memory) – znane też jako segmenty pamięci dzielonej (ang. shared memory segments) * gniazda dziedziny Uniksa (ang. Unix domain sockets) Ponieważ procesy mogą komunikować się nie tylko w obrębie jednego systemu, możemy wyróżnić też: * gniazda (ang. sockets) * RPC Mechanizmy IPC opierają się na budowaniu w pamięci lub na nośniku dynamicznych struktur, które są używane w celu przesyłania pomiędzy procesami komunikatów, np. o blokadzie obiektów systemowych, stanie wykonywanych wątków, wzbudzania zaprogramowanych w aplikacjach procedur i innych. IPC nie posiada sztywnej specyfikacji. System operacyjny udostępnia niezbędne obiekty (jak semafor), zaś programista wykorzystuje je w celu przekazania komunikatu, którego znaczenie dla aplikacji ustala samodzielnie, zgodnie z przyjętą koncepcją architektury programu, a więc inaczej niż w wypadku np. protokołów sieciowych, gdzie znaczenie poszczególnych flag w nagłówku pakietu jest określone przez specyfikację protokołu. IPC używa się najczęściej w rozbudowanych wielowątkowych aplikacjach (np. bazach danych, serwerach WWW, czy serwerach aplikacyjnych). IPC zostało wprowadzone jako część jądra systemu operacyjnego w systemie operacyjnym System V. W podobny sposób zbudowana została implementacja IPC w jądrze Linux. Z uwagi na implementację w jądrze cała komunikacja wykonywana jest w kontekście jądra, co z jednej strony ułatwia synchronizację, z drugiej zaś powoduje obniżenie wydajności. Każda operacja IPC wymaga , co obarczone jest sporym narzutem czasu (przy założeniu, że przełączanie kontekstów jest sporym narzutem). Implementacja w jądrze ma jednak tę zaletę, że komunikacja IPC jest bardziej niezawodna, a w niektórych przypadkach (np. semafory) wydaje się jedyną słuszną strategią, gdyż zapewnia atomowość operacji, zapobiegając powstawaniu sytuacji kolizji w dostępie czy sytuacji wyścigu o nieustalonym rezultacie. Pojęcie komunikacji międzyprocesowej może odnosić się do wymiany informacji między procesami w obrębie jednego systemu operacyjnego, klastra, a nawet systemów odległych (połączonych siecią). W przypadku tej ostatniej kategorii potrzebne są metody, które pozwolą jednoznacznie identyfikować zdalne procesy. Najczęściej używane strategie to użycie numerów portów (dla gniazd działających w warstwach transportowych modelu TCP/IP, np. TCP lub UDP) lub użycie zdefiniowanych wcześniej unikalnych nazw (dla RPC). (pl) A comunicação entre processos, em inglês Inter-Process Communication (IPC), é o grupo de mecanismos que permite aos processos transferirem informação entre si. A execução de um processo pressupõe por parte do sistema operativo, entre outras coisas, a criação de um contexto de execução próprio que, de certa forma, abstrai o processo dos componentes reais do sistema. Devido a esta virtualização dos recursos, o processo não tem conhecimento acerca dos outros processos e, como tal, não consegue trocar informação. (pt) Interprocesskommunikation (inter-process communication (IPC)) är en rad olika tekniker som används för att skicka data mellan minst två trådar i en eller flera processer i ett operativsystem. Processerna kan köras på en eller ett flertal datorer ihopkopplade via ett nätverk. Metoderna som används inom IPC varierar beroende på krav och tillgång på bandbredd mellan trådarna och vilken fördröjning som kan accepteras. (sv) Межпроцессное взаимодействие (англ. inter-process communication, IPC) — обмен данными между потоками одного или разных процессов. Реализуется посредством механизмов, предоставляемых ядром ОС или процессом, использующим механизмы ОС и реализующим новые возможности IPC. Может осуществляться как на одном компьютере, так и между несколькими компьютерами сети. Из механизмов, предоставляемых ОС и используемых для IPC, можно выделить: * механизмы обмена сообщениями; * механизмы синхронизации; * механизмы разделения памяти; * механизмы удалённых вызовов (RPC). Для оценки производительности различных механизмов IPC используют следующие параметры: * пропускная способность (количество сообщений в единицу времени, которое ядро ОС или процесс способно обработать); * задержки (время между отправкой сообщения одним потоком и его получением другим потоком). IPC может называться терминами межпотоковое взаимодействие (англ. inter-thread communication) и межпрограммное взаимодействие (англ. inter-application communication). Межпроцессное взаимодействие, наряду с механизмами адресации памяти, является основой для разграничения адресного пространства между процессами. (ru) Взаємодія між процесами (англ. Inter-Process Communication, скорочено англ. IPC) — набір засобів обміну повідомленнями між процесами. Засоби IPC можуть використовуватись для взаємодії процесів: * які виконуються на одному комп'ютері (для багатомашинних систем — під управлінням однієї операційної системи), також відомі як власне IPC; * які виконуються на різних комп'ютерах (для багатомашинних систем — під управлінням окремих операційних систем), також відомі як ; * для забезпечення взаємодії процесу з самим собою — наприклад, для синхронізації або обміну даними між різними нитками одного процесу. (uk) 进程间通信(英語:Inter-Process Communication,简称IPC),指至少两个进程或线程间传送数据或信号的一些技术或方法。 进程是计算机系统分配资源的最小单位(严格说来是线程)。每个进程都有自己的一部分独立的系统资源,彼此是隔离的。为了能使不同的进程互相访问资源并进行协调工作,才有了进程间通信。通常,使用进程间通信的两个应用可以被分为客户端和服务器(见主從式架構),客户端进程请求数据,服务端响应客户端的数据请求。有一些应用本身既是服务器又是客户端,这在分布式计算中,时常可以见到。这些进程可以运行在同一计算机上或网络连接的不同计算机上。 IPC对微内核和nano内核的设计过程非常重要。 微内核减少了内核提供的功能数量。 然后通过IPC与服务器通信获得这些功能,与普通的宏内核相比,IPC的数量大幅增加。 (zh) |
dbo:thumbnail | wiki-commons:Special:FilePath/ArchitectureCloudLinksSameSite.png?width=300 |
dbo:wikiPageExternalLink | http://dipc-2.sourceforge.net/ http://technotif.com/basic-guide-interprocess-communication-pipes/ http://www.inspirel.com/yami4 http://linux.die.net/man/5/ipc https://doc.qt.io/qt-5/ipc.html http://www.yendor.com/programming/unix/unp/unp.html https://openwrt.org/docs/techref/ubus http://msdn.microsoft.com/en-us/library/aa365574(VS.85).aspx http://ieeexplore.ieee.org/xpls/abs_all.jsp%3Farnumber=242738 http://portal.acm.org/citation.cfm%3Fid=30371&coll=portal&dl=ACM |
dbo:wikiPageID | 152106 (xsd:integer) |
dbo:wikiPageLength | 11201 (xsd:nonNegativeInteger) |
dbo:wikiPageRevisionID | 1111665273 (xsd:integer) |
dbo:wikiPageWikiLink | dbr:QNX dbr:Message_passing dbr:MCAPI dbr:Message_loop_in_Microsoft_Windows dbr:SOAP_(protocol) dbr:Algorithmic_efficiency dbr:Anonymous_pipe dbr:Desktop_communication_protocol dbr:Dynamic_Data_Exchange dbr:Inode dbr:Mach_kernel dbr:.NET_Remoting dbr:Common_Object_Request_Broker_Architecture dbr:Communicating_Sequential_Processes dbr:Component_Object_Model dbr:SIMPL dbr:Object_Linking_and_Embedding dbr:Operating_System_Embedded dbr:Electron_(software_framework) dbr:Enduro/X dbr:Enlightenment_(software) dbr:GRPC dbr:Apple_Computer dbr:Libt2n dbr:Linux dbr:Stdin dbr:Client–server_model dbr:Computer_file dbr:Computer_network_programming dbr:Computer_science dbr:ZeroC dbr:Named_pipe dbr:Protected_procedure_call dbr:Semaphore_(programming) dbr:MailSlot dbr:Synchronization_(computer_science) dbr:Transparent_Inter-process_Communication dbr:Microkernel dbr:Microsoft_Message_Queuing dbc:Inter-process_communication dbr:C++ dbr:Data_Distribution_Service dbr:W._Richard_Stevens dbr:Windows_Communication_Foundation dbr:Distributed_Component_Object_Model dbr:Distributed_Computing_Environment dbr:Distributed_Ruby dbr:Distributed_computing dbr:Latency_(engineering) dbr:Local_Inter-Process_Communication dbr:9P_(protocol) dbr:ActiveX dbr:D-Bus dbr:ENEA_AB dbr:Bandwidth_(computing) dbr:Novell dbr:PHP dbr:POSIX dbr:Transmission_Control_Protocol dbr:Process_(computing) dbr:Remote_procedure_call dbr:XML-RPC dbr:Asynchronous_System_Trap dbr:Internet_Communications_Engine dbr:JSON dbr:Java_(programming_language) dbr:Java_RMI dbr:ARexx dbr:KDE dbr:LINX_(IPC) dbr:JSON-RPC dbr:Java_remote_method_invocation dbr:Software_design dbr:Doors_(computing) dbr:Apple_events dbr:Plan_9_from_Bell_Labs dbr:Solaris_(operating_system) dbr:Nanokernel dbr:Dartmouth_Time-Sharing_System dbr:IPX/SPX dbr:Microsoft dbr:OpenWrt dbr:Operating_system dbr:RAM dbr:RISC_OS dbr:Shared_memory_(interprocess_communication) dbr:CORBA dbr:OpenBinder dbr:Memory-mapped_file dbr:Message_Passing_Interface dbr:Message_queue dbr:Microsoft_Transaction_Server dbr:Mmap dbr:Network_socket dbr:Unix_domain_socket dbr:User_Datagram_Protocol dbr:Local_Procedure_Call dbr:M-Bus_(EN_13757) dbr:SCTP dbr:Software_requirements dbr:ØMQ dbr:Thrift_(protocol) dbr:File_(computing) dbr:System_V dbr:Signal_(computing) dbr:Remote_method_invocation dbr:ONC_RPC dbr:COM+ dbr:Memory_(computing) dbr:MSRPC dbr:File:ArchitectureCloudLinksSameSite.png |
dbp:wikiPageUsesTemplate | dbt:Web_syndication dbt:! dbt:Anchor dbt:Div_col dbt:Div_col_end dbt:ISBN dbt:Main dbt:More_footnotes dbt:Other_uses dbt:Portal dbt:Prose dbt:Refbegin dbt:Refend dbt:Reflist dbt:Short_description dbt:Snd dbt:Inter-process_communication |
dcterms:subject | dbc:Inter-process_communication |
rdf:type | yago:WikicatOperatingSystems yago:Abstraction100002137 yago:Code106355894 yago:CodingSystem106353757 yago:Communication100033020 yago:OperatingSystem106568134 yago:Writing106359877 yago:WrittenCommunication106349220 dbo:MusicGenre yago:Software106566077 |
rdfs:comment | La comunicació entre processos, en anglès IPC (Inter-process Communication), és una funció bàsica dels sistemes operatius. Els processos poden comunicar-se entre ells mitjançant la compartició d'espais de memòria, ja siguin variables compartides o buffers, o mitjançant les eines proveïdes per les rutines d'IPC. (ca) En informatique, la communication inter-processus (inter-process communication, IPC, en anglais) regroupe un ensemble de mécanismes permettant à des processus concurrents de communiquer. Ces mécanismes peuvent être classés en trois catégories : * les mécanismes permettant l'échange de données entre les processus ; * les mécanismes permettant la synchronisation entre les processus (notamment pour gérer le principe de section critique) ; * les mécanismes permettant l'échange de données et la synchronisation entre les processus. (fr) 프로세스 간 통신(Inter-Process Communication, IPC)이란 프로세스들 사이에 서로 데이터를 주고받는 행위 또는 그에 대한 방법이나 경로를 뜻한다. IPC는 마이크로커널과 나노커널의 디자인 프로세스에 매우 중요하다: 마이크로커널은 커널이 제공하는 기능의 수를 줄여준다. 해당 기능들은 IPC를 통해 서버와 통신함으로써 얻으며 일반적인 모놀리딕 커널에 비해 IPC의 수가 극적으로 증가된다. (ko) プロセス間通信(プロセスかんつうしん、IPC、英: interprocess communication)はコンピュータの動作において、複数プロセス(の複数スレッド)間でデータをやりとりする仕組み。通信プロセスは、同一コンピュータ内で帰結するローカル、ネットワーク接続された別のコンピュータと相互にリモート、などのほかに多様な観点で分類され、スレッド間の通信帯域幅とレイテンシや扱うデータの種類も多種多様である。メッセージパッシング、同期、共有メモリ、RPCなどのメカニズムやプリミティブがある。 プロセス間通信の目的と理由は * 情報の共有 * 計算の高速化 * モジュール性の向上 * 利便性 * であり、「スレッド間通信」や「アプリケーション間通信」と呼ぶこともある。 IPCとアドレス空間のコンセプトの組合せは、アドレス空間分離の基盤である。 (ja) In informatica l'espressione comunicazione tra processi (in inglese inter-process communication o IPC) si riferisce a tutte quelle tecnologie software il cui scopo è consentire a diversi processi di comunicare tra loro scambiandosi dati e informazioni. I processi possono risiedere sullo stesso computer o essere distribuiti su una rete. Tutti i sistemi operativi multitasking forniscono qualche meccanismo fondamentale di IPC; altri meccanismi più sofisticati o orientati a particolari tipi di sistemi software possono essere forniti da tecnologie middleware, linguaggi di programmazione o a livello applicativo, basandosi sui meccanismi forniti dal sistema operativo. In modo equivalente, questi metodi vengono utilizzati per la gestione dei thread. (it) A comunicação entre processos, em inglês Inter-Process Communication (IPC), é o grupo de mecanismos que permite aos processos transferirem informação entre si. A execução de um processo pressupõe por parte do sistema operativo, entre outras coisas, a criação de um contexto de execução próprio que, de certa forma, abstrai o processo dos componentes reais do sistema. Devido a esta virtualização dos recursos, o processo não tem conhecimento acerca dos outros processos e, como tal, não consegue trocar informação. (pt) Interprocesskommunikation (inter-process communication (IPC)) är en rad olika tekniker som används för att skicka data mellan minst två trådar i en eller flera processer i ett operativsystem. Processerna kan köras på en eller ett flertal datorer ihopkopplade via ett nätverk. Metoderna som används inom IPC varierar beroende på krav och tillgång på bandbredd mellan trådarna och vilken fördröjning som kan accepteras. (sv) Взаємодія між процесами (англ. Inter-Process Communication, скорочено англ. IPC) — набір засобів обміну повідомленнями між процесами. Засоби IPC можуть використовуватись для взаємодії процесів: * які виконуються на одному комп'ютері (для багатомашинних систем — під управлінням однієї операційної системи), також відомі як власне IPC; * які виконуються на різних комп'ютерах (для багатомашинних систем — під управлінням окремих операційних систем), також відомі як ; * для забезпечення взаємодії процесу з самим собою — наприклад, для синхронізації або обміну даними між різними нитками одного процесу. (uk) 进程间通信(英語:Inter-Process Communication,简称IPC),指至少两个进程或线程间传送数据或信号的一些技术或方法。 进程是计算机系统分配资源的最小单位(严格说来是线程)。每个进程都有自己的一部分独立的系统资源,彼此是隔离的。为了能使不同的进程互相访问资源并进行协调工作,才有了进程间通信。通常,使用进程间通信的两个应用可以被分为客户端和服务器(见主從式架構),客户端进程请求数据,服务端响应客户端的数据请求。有一些应用本身既是服务器又是客户端,这在分布式计算中,时常可以见到。这些进程可以运行在同一计算机上或网络连接的不同计算机上。 IPC对微内核和nano内核的设计过程非常重要。 微内核减少了内核提供的功能数量。 然后通过IPC与服务器通信获得这些功能,与普通的宏内核相比,IPC的数量大幅增加。 (zh) في علوم الحاسب الألي، أنظمة التشغيل تدعم التواصل الداخلي بين التطبيقات الحاسوبية IPC للسماح لها بتبادل البيانات أو المشاركة في الذاكرة. التطبيقات تستخدم هذه الآلية بتصنيف الخادم والعميل، بحيث ان العميل يطلب البيانات والخادم يستجيب لهذه الطلبات. كثير من التطبيقات الجديدة تضم صفتي الخادم والعميل وخاصة تلك التطبيقات التي نراها في الحوسبة الموزعة.تصنف الأساليب التي تهدف إلي تواصل بين العمليات إلى عدة فئات تعتمد على متطلبات برامج الحاسب الآلي ( برمجيات ) كمتطلبات الأداء و النمطية والظروف تحدث في النظام مثل النطاق الترددي للشبكة وكمن الشبكة ( أي الزمن الذي تستغرق فيه الرسائل في الانتقال بين المرسل والمرسل إليه (ar) Meziprocesová komunikace (anglicky Inter-Process Communication, IPC) je v informatice sada technik pro výměnu dat mezi dvěma nebo více procesy nebo thready. Komunikace může probíhat i mezi různými počítači propojenými počítačovou sítí. IPC může být též označována jako mezithreadová komunikace (anglicky inter-thread communication) a meziaplikační komunikace (anglicky inter-application communication). (cs) Διαδιεργασιακή επικοινωνία (αγγλ.: InterProcess Communication, IPC) ονομάζεται στην πληροφορική ένα σύνολο μηχανισμών που παρέχουν τα λειτουργικά συστήματα των ηλεκτρονικών υπολογιστών, οι οποίοι διευκολύνουν την ανταλλαγή δεδομένων και τον συγχρονισμό μεταξύ ταυτοχρόνως εκτελούμενων διεργασιών μέσω δομών δεδομένων του πυρήνα. Τέτοιοι μηχανισμοί είναι απαραίτητοι στα μοντέρνα λειτουργικά συστήματα όπου, χάρη στον μηχανισμό της εικονικής μνήμης, κάθε διεργασία έχει τον δικό της ιδιωτικό χώρο εικονικών διευθύνσεων στον οποίον έχει πρόσβαση μόνο αυτή και ο πυρήνας. Προκειμένου να υπάρχει μία στοιχειώδης προστασία μνήμης μεταξύ διαφορετικών διεργασιών, καμία διεργασία δεν έχει δικαίωμα ανάγνωσης ή εγγραφής στον χώρο διευθύνσεων των υπολοίπων. Αν λοιπόν χρειάζεται δύο διαφορετικές διεργασίες να (el) Der Begriff Interprozesskommunikation (englisch interprocess communication, kurz IPC) bezeichnet in der Informatik verschiedene Verfahren des Informationsaustausches zwischen den Prozessen eines Systems. Mithilfe eines Shared Memory erfolgt die Kommunikation dadurch, dass mehrere Prozesse auf einen gemeinsamen Datenspeicher zugreifen können, beispielsweise gemeinsame Bereiche des Arbeitsspeichers. Bei einer Message Queue dagegen werden Nachrichten von einem Prozess an eine Nachrichtenschlange geschickt, von wo diese von einem anderen Prozess abgeholt werden können. (de) In computer science, inter-process communication or interprocess communication (IPC) refers specifically to the mechanisms an operating system provides to allow the processes to manage shared data. Typically, applications can use IPC, categorized as clients and servers, where the client requests data and the server responds to client requests. Many applications are both clients and servers, as commonly seen in distributed computing. An IPC mechanism is either synchronous or asynchronous. Synchronization primitives may be used to have synchronous behavior with an asynchronous IPC mechanism. (en) La comunicación entre procesos (comúnmente IPC, del inglés Inter-Process Communication) es una función básica de los sistemas operativos. Los procesos pueden comunicarse entre sí a través de compartir espacios de memoria, ya sean variables compartidas o buffers, o a través de las herramientas provistas por las rutinas de IPC. La IPC provee un mecanismo que permite a los procesos comunicarse y sincronizarse entre sí, normalmente a través de un sistema de bajo nivel de paso de mensajes que ofrece la red subyacente. (es) Komunikasi antarproses (bahasa Inggris: Inter-Process Communication, biasa disebut IPC) adalah mekanisme pertukaran data antara satu proses dengan proses lainnya, baik itu proses yang berada di dalam komputer yang sama, atau komputer jarak jauh yang terhubung melalui jaringan. IPC terdiri atas protokol yang menjamin sebuah respons dari sebuah permintaan. Contoh dari IPC adalah , , dalam sistem operasi , dalam OS/2, dalam sistem operasi Windows, dalam sistem operasi Novell, dalam sistem operasi Apple Macintosh (khususnya ) dan beberapa komponen perangkat lunak seperti atau . (in) Komunikacja międzyprocesowa (ang. inter-process communication, IPC) – umowna nazwa zbioru sposobów komunikacji pomiędzy procesami systemu operacyjnego. Procesy mogą używać różnych sposobów komunikacji, a najpowszechniejsze z nich to: Ponieważ procesy mogą komunikować się nie tylko w obrębie jednego systemu, możemy wyróżnić też: * gniazda (ang. sockets) * RPC IPC używa się najczęściej w rozbudowanych wielowątkowych aplikacjach (np. bazach danych, serwerach WWW, czy serwerach aplikacyjnych). (pl) Interprocescommunicatie (IPC) is de onderlinge communicatie tussen threads in één of meerdere proces(sen) in een multitasking-besturingssysteem. Deze communicatie dient om data door te geven of de toegang naar gedeelde bronnen (resources) te synchroniseren. Grofweg zijn er vier categorieën interprocescommunicatie: (nl) Межпроцессное взаимодействие (англ. inter-process communication, IPC) — обмен данными между потоками одного или разных процессов. Реализуется посредством механизмов, предоставляемых ядром ОС или процессом, использующим механизмы ОС и реализующим новые возможности IPC. Может осуществляться как на одном компьютере, так и между несколькими компьютерами сети. Из механизмов, предоставляемых ОС и используемых для IPC, можно выделить: * механизмы обмена сообщениями; * механизмы синхронизации; * механизмы разделения памяти; * механизмы удалённых вызовов (RPC). (ru) |
rdfs:label | Inter-process communication (en) التواصل بين العمليات (ar) Comunicació entre processos (ca) Meziprocesová komunikace (cs) Interprozesskommunikation (de) Διαδιεργασιακή επικοινωνία (el) Comunicación entre procesos (es) Communication inter-processus (fr) Komunikasi antar proses (in) Comunicazione tra processi (it) 프로세스 간 통신 (ko) プロセス間通信 (ja) Interprocescommunicatie (nl) Komunikacja międzyprocesowa (pl) Comunicação entre processos (pt) Межпроцессное взаимодействие (ru) Interprocesskommunikation (sv) Взаємодія між процесами (uk) 行程間通訊 (zh) |
owl:sameAs | freebase:Inter-process communication yago-res:Inter-process communication wikidata:Inter-process communication dbpedia-ar:Inter-process communication dbpedia-az:Inter-process communication dbpedia-ca:Inter-process communication dbpedia-cs:Inter-process communication dbpedia-de:Inter-process communication dbpedia-el:Inter-process communication dbpedia-es:Inter-process communication dbpedia-fa:Inter-process communication dbpedia-fi:Inter-process communication dbpedia-fr:Inter-process communication dbpedia-he:Inter-process communication dbpedia-id:Inter-process communication dbpedia-it:Inter-process communication dbpedia-ja:Inter-process communication dbpedia-kk:Inter-process communication dbpedia-ko:Inter-process communication dbpedia-nl:Inter-process communication dbpedia-no:Inter-process communication dbpedia-pl:Inter-process communication dbpedia-pt:Inter-process communication dbpedia-ru:Inter-process communication dbpedia-sh:Inter-process communication dbpedia-sk:Inter-process communication dbpedia-sr:Inter-process communication dbpedia-sv:Inter-process communication dbpedia-tr:Inter-process communication dbpedia-uk:Inter-process communication dbpedia-vi:Inter-process communication dbpedia-zh:Inter-process communication https://global.dbpedia.org/id/4ujL9 |
prov:wasDerivedFrom | wikipedia-en:Inter-process_communication?oldid=1111665273&ns=0 |
foaf:depiction | wiki-commons:Special:FilePath/ArchitectureCloudLinksSameSite.png |
foaf:isPrimaryTopicOf | wikipedia-en:Inter-process_communication |
is dbo:genre of | dbr:Desktop_communication_protocol dbr:SIMPL dbr:Libt2n dbr:D-Bus dbr:OpenBinder |
is dbo:knownFor of | dbr:Nico_Habermann |
is dbo:wikiPageDisambiguates of | dbr:IPC dbr:Communication_(disambiguation) |
is dbo:wikiPageRedirects of | dbr:Interprocess_communication dbr:Messaging_system dbr:Mbus_(RFC_3259) dbr:Mbus_(message_bus) dbr:Inter-Process_Communication dbr:Inter-process_Communication dbr:Message_Bus_(Mbus) dbr:Message_Bus_(RFC_3259) dbr:Interprocess_Communication dbr:Inter-application_communication dbr:Inter-application_connection dbr:Inter-thread_communication dbr:Inter_Process_Communication dbr:Inter_process_communication dbr:Interapplication_communication |
is dbo:wikiPageWikiLink of | dbr:Cap'n_Proto dbr:Carl_Sassenrath dbr:Behavior_tree dbr:Qt_version_history dbr:Robot_Operating_System dbr:Robotics dbr:List_of_computer_scientists dbr:List_of_computing_and_IT_abbreviations dbr:List_of_features_removed_in_Windows_Vista dbr:Mock_object dbr:BeRTOS dbr:Dconf dbr:History_of_the_graphical_user_interface dbr:Huawei dbr:List_of_Dutch_inventions_and_innovations dbr:Phantom_OS dbr:DEC_Text_Processing_Utility dbr:DNIX dbr:DSP/BIOS_Link dbr:Udev dbr:Ultrix dbr:Unix dbr:Vanguard_(microkernel) dbr:Venix dbr:Version_7_Unix dbr:Vertical_bar dbr:Visual_Basic_for_Applications dbr:Desktop_communication_protocol dbr:Dynamic-link_library dbr:Ioctl dbr:List_of_programmers dbr:Null_session dbr:ScREC dbr:Robotics_middleware dbr:.NET_Remoting dbr:Command-line_interface dbr:Component_Object_Model dbr:Contiki dbr:Convergent_Technologies_Operating_System dbr:Copland_(operating_system) dbr:Memory_management dbr:SIMPL dbr:SQLite dbr:Electron_(software_framework) dbr:Embedded_hypervisor dbr:Enlightenment_Foundation_Libraries dbr:GNOME dbr:GNOME_1 dbr:GNU_Hurd dbr:Gamma-ray_Burst_Coordinates_Network dbr:Genode dbr:Gernot_Heiser dbr:Glossary_of_computer_science dbr:Process_isolation dbr:Process_migration dbr:TimesTen dbr:Apache_Portable_Runtime dbr:AppleScript dbr:Berkeley_sockets dbr:Libt2n dbr:Libuv dbr:Linux dbr:Linux_kernel dbr:MQX dbr:Mach_(kernel) dbr:Signal_(IPC) dbr:Single_system_image dbr:Client_(computing) dbr:Client–server_model dbr:Comparison_of_user_features_of_operating_systems dbr:Computer_program dbr:ZeroMQ dbr:Kernel_(operating_system) dbr:OLE_Automation dbr:Sleeping_barber_problem dbr:Named_pipe dbr:Parallel_computing dbr:Pipeline_(Unix) dbr:Plumber_(program) dbr:STREAMS dbr:Symbolic_execution dbr:Tiling_window_manager dbr:Transparent_Inter-process_Communication dbr:Microkernel dbr:Microsoft_DNS dbr:Synthetic_file_system dbr:Avant_Window_Navigator dbr:Burroughs_MCP dbr:Administrative_share dbr:AirDine dbr:Thoth_(operating_system) dbr:Trainer_(games) dbr:Tuxedo_(software) dbr:Type–length–value dbr:UNIX_System_V dbr:Data_communication dbr:Database-as-IPC dbr:Database-centric_architecture dbr:Wayland_(display_server_protocol) dbr:Windows_NT_3.1 dbr:Windows_on_Windows dbr:Distributed_algorithm dbr:Distributed_computing dbr:Distributed_operating_system dbr:GENIVI_Alliance dbr:Local_Inter-Process_Communication dbr:Software_lockout dbr:Supercomputing_in_Pakistan dbr:W^X dbr:Accessibility_Toolkit dbr:Adaptive_Communication_Environment dbr:Amiga dbr:AmigaOS dbr:Cubesat_Space_Protocol dbr:D-Bus dbr:DBM_(computing) dbr:Darling_(software) dbr:Dartmouth_Time_Sharing_System dbr:EROS_(microkernel) dbr:Erlang_(programming_language) dbr:Exception_handling dbr:Exec_(Amiga) dbr:Fiwix dbr:Nico_Habermann dbr:List_of_Folding@home_cores dbr:Unix_file_types dbr:Process_(computing) dbr:Procfs dbr:Remote_procedure_call dbr:Screen_reader dbr:HAL_(software) dbr:HelenOS dbr:Internet_Explorer dbr:Interprocess_communication dbr:Interrupt dbr:JX_(operating_system) dbr:BSD_Authentication dbr:Assistive_Technology_Service_Provider_Interface dbr:Accent_kernel dbr:Access_token dbr:Advanced_Programming_in_the_Unix_Environment dbr:Cgroups dbr:Aleph_kernel dbr:Job_control_(computing) dbr:K42 dbr:KDE_Platform_4 dbr:Kamaelia dbr:L4_microkernel_family dbr:Lanedo dbr:Launchd dbr:BlackPOS_Malware dbr:Sway_(window_manager) dbr:SymbOS dbr:System dbr:Systemd dbr:Hollywood_(graphics_chip) dbr:JavaScript_OSA dbr:Telepathy_(software) dbr:Temporary_file dbr:Thread_(computing) dbr:XARA dbr:XTS-400 dbr:Windows_USER dbr:Diomidis_Spinellis dbr:Direct_Rendering_Infrastructure dbr:Direct_Rendering_Manager dbr:Doors_(computing) dbr:C_POSIX_library dbr:Pilot_(operating_system) dbr:Plan_9_from_Bell_Labs dbr:SpiderMonkey dbr:Spring_(operating_system) dbr:Messaging_system dbr:I3_(window_manager) dbr:Kross_(software) dbr:Microsoft_POSIX_subsystem dbr:Midgard_(software) dbr:Netlink dbr:OSF/1 dbr:ObjectDatabase++ dbr:OpenBMC dbr:RC_4000_multiprogramming_system dbr:RTX_(operating_system) dbr:RailML dbr:Services_menu dbr:WxWidgets dbr:X.Org_Server dbr:XNU dbr:OpenBinder dbr:IPC dbr:SIGHUP dbr:MBus dbr:Message_queue dbr:Server_Message_Block dbr:Service_Request_Block dbr:Network_socket dbr:Shared_resource dbr:Unix_domain_socket dbr:Stratus_VOS dbr:Virtual_DOS_machine dbr:Symobi dbr:FBus dbr:Communication_(disambiguation) dbr:List_of_web_service_frameworks dbr:Event_loop dbr:Shared_memory dbr:TNSDL dbr:Web_API dbr:Mbus_(RFC_3259) dbr:Mbus_(message_bus) dbr:Inter-Process_Communication dbr:Inter-process_Communication dbr:Scripting_Bridge dbr:Process_substitution dbr:Supercomputer_architecture dbr:UNIX_Network_Programming dbr:Xynth dbr:SK8_(programming_language) dbr:Message_Bus_(Mbus) dbr:Message_Bus_(RFC_3259) dbr:User_space_and_kernel_space dbr:Sigaction dbr:Interprocess_Communication dbr:Inter-application_communication dbr:Inter-application_connection dbr:Inter-thread_communication dbr:Inter_Process_Communication dbr:Inter_process_communication dbr:Interapplication_communication |
is dbp:genre of | dbr:Desktop_communication_protocol dbr:SIMPL dbr:Libt2n dbr:D-Bus dbr:OpenBinder |
is foaf:primaryTopic of | wikipedia-en:Inter-process_communication |