Linux에서 rpc는 Remote Procedure Call의 약어인 Remote Procedure Call을 의미합니다. 특히 Linux에서 프로시저 호출 중에 실제 통신 세부 정보를 숨기는 IPC 방식을 의미하며, RPC는 비공유 메모리를 최대한 활용할 수 있습니다. 다중 처리 서버 환경을 통해 시스템 자원 활용도를 향상시킵니다.
이 튜토리얼의 운영 환경: linux7.3 시스템, Dell G3 컴퓨터.
RPC: (Remote Procedure Call) Remote Procedure Call
RPC(Remote Procedure Call) 중국어 전체 이름은 원격 프로시저 호출입니다. Linux에는 간단한 응용 프로그램인 rpcbind 소프트웨어가 있습니다. 예를 들어, 네트워크 스토리지 NFS와 관련된 소프트웨어입니다. 사용자가 NFS 스토리지를 찾으려면 먼저 RPCBIND에 액세스해야 합니다.
구체적으로는 프로시저 호출 중에 실제 통신 내용을 숨기는 IPC 방법을 말합니다. 클라이언트는 로컬 메서드를 호출하며 이 로컬 메서드는 원격 서버와의 투명한 절차간 통신을 담당합니다. 이 로컬 메소드는 관련 매개변수를 메시지에 순서대로 묶은 다음 서버에서 제공하는 메소드로 메시지를 보냅니다. 서버 메소드는 메시지에서 직렬화된 매개변수를 추출한 다음 동일한 메소드를 실행합니다. 메서드의 반환 값을 클라이언트에 보내는 데 사용됩니다.
RPC를 통해 비공유 메모리 다중 프로세서 환경(예: LAN을 통해 연결된 여러 워크스테이션)을 최대한 활용할 수 있으므로 애플리케이션을 여러 워크스테이션에 쉽게 배포할 수 있으며 애플리케이션이 여러 워크스테이션에서 실행되는 것과 같습니다. 워크스테이션의 프로세서는 컴퓨터와 동일합니다. 프로세스 코드 공유를 쉽게 실현하고 시스템 리소스 활용도를 향상시킬 수 있으며, 강력한 처리 기능을 갖춘 시스템에서 다수의 수치 처리 작업을 실행할 수 있어 프런트엔드 기계의 부담을 줄일 수 있습니다.
지식 확장:
IPC: (프로세스 간 통신) 크로스 프로세스 통신
이 개념은 일반적으로 프로세스 간의 모든 형태의 통신 동작을 의미하며 모든 곳에서 사용할 수 있는 용어입니다. 여기에는 다양한 형태의 메시지 전달이 포함될 뿐만 아니라 공유 리소스뿐만 아니라 동기화 개체(뮤텍스 또는 기타 유사한 것, 즉 공유 리소스에 대한 안전한 동시 액세스를 보장함(즉, 두 개 이상의 개체가 동일한 리소스에 대해 공동 작업) 데이터 멤버가 수정되어 데이터가 파괴되거나 동료가 데이터를 읽거나 쓸 때 경쟁 조건이 발생하여 오류가 발생합니다.)
LPC (Local Procedure Call)
LPC는 "Local Procedure Call"의 약자입니다. 소위 "로컬 프로시저 호출"은 "원격 프로시저 호출", 즉 RPC에 상대적입니다. RPC는 광범위합니다. RPC는 서로 다른 호스트 간에 또는 동일한 호스트에서 발생할 수 있습니다. 따라서 유닉스 환경에서는 LPC라는 것이 존재하지 않는다. 동일한 호스트에서 발생하더라도 RPC라고도 한다.
역사적으로 RPC는 "Unix DCE(Unix Distributed Computing Environment)"를 구현하기 위해 "Open Software Foundation(OSF)"에서 설계하고 제안한 표준입니다. 실제로 Microsoft의 DCOM 기술은 RPC를 기반으로 합니다. Win2000의 RPC는 TCP/IP, SPX, NetBIOS, 명명된 파이프 및 "로컬"을 기본 통신 방법으로 사용할 수 있습니다.
한편, Windows는 많은 마이크로커널 시스템 기능을 갖춘 운영 체제입니다(커널은 마이크로커널은 아니지만). 시스템에는 잘 알려진 csrss, 관리 등 많은 "시스템 수준" 서비스 프로세스가 있습니다. 사용자가 로그인 등을 위해 사용하는 "로컬 보안 인증 서비스" 프로세스 LSASS, Microsoft에서 제공하는 사용자 프로세스 및 시스템 도구 소프트웨어는 이러한 서비스 프로세스에서 제공하는 서비스를 호출해야 하는 경우가 많으며 LPC는 여기서 중요한 역할을 합니다.
LPC의 기본은 "포트"라는 프로세스 간 통신 메커니즘으로, 로컬(Unix 도메인) 소켓과 유사합니다. 이 포트 메커니즘은 메시지 전달을 지향하는 프로세스 간 통신을 제공하며, LPC는 프로세스 간 프로시저 호출을 제공하기 위해 이를 기반으로 구축된 고급 메커니즘입니다. 여기서 말하는 "크로스 프로세스 프로시저 호출"은 앞서 언급한 "프로세스 간 작업"과 다릅니다. 전자는 양 당사자가 합의하고 특정 절차를 따르는 통제된 서비스 조항입니다. 수신자는 외부 세계에 어떤 서비스가 제공되는지, 즉 어떤 기능 호출이 제공되는지에 대해 독립적입니다. 반면 후자는 수행될 수 있습니다. 자신도 모르게 이용되고 조작되고 있습니다. 전자는 양성이지만 후자는 악성일 수 있습니다.
관련 추천: "Linux 비디오 튜토리얼"
위 내용은 리눅스에서 rpc는 무엇을 의미합니까?의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!