KR101955727B1 - 기술적 유닛들의 어셈블리 설치 방법 - Google Patents
기술적 유닛들의 어셈블리 설치 방법 Download PDFInfo
- Publication number
- KR101955727B1 KR101955727B1 KR1020120072650A KR20120072650A KR101955727B1 KR 101955727 B1 KR101955727 B1 KR 101955727B1 KR 1020120072650 A KR1020120072650 A KR 1020120072650A KR 20120072650 A KR20120072650 A KR 20120072650A KR 101955727 B1 KR101955727 B1 KR 101955727B1
- Authority
- KR
- South Korea
- Prior art keywords
- units
- technical
- unit
- assembly
- mutex
- Prior art date
Links
Images
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F9/00—Arrangements for program control, e.g. control units
- G06F9/06—Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
- G06F9/46—Multiprogramming arrangements
- G06F9/50—Allocation of resources, e.g. of the central processing unit [CPU]
- G06F9/5005—Allocation of resources, e.g. of the central processing unit [CPU] to service a request
- G06F9/5011—Allocation of resources, e.g. of the central processing unit [CPU] to service a request the resources being hardware resources other than CPUs, Servers and Terminals
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F13/00—Interconnection of, or transfer of information or other signals between, memories, input/output devices or central processing units
- G06F13/14—Handling requests for interconnection or transfer
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F13/00—Interconnection of, or transfer of information or other signals between, memories, input/output devices or central processing units
- G06F13/38—Information transfer, e.g. on bus
Landscapes
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Software Systems (AREA)
- Physics & Mathematics (AREA)
- General Engineering & Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Small-Scale Networks (AREA)
- Information Transfer Systems (AREA)
- Hardware Redundancy (AREA)
- Multi Processors (AREA)
Abstract
본 발명은 기술적 유닛(12, 14, 16)의 어셈블리(10)의 설치 방법 및 이 어셈블리(10)에 관한 것이다. 상기 방법은 기술적 유닛(12, 14, 16)의 어셈블리(10)의 자동 설치 및 실행에 이용되며, 기술적 유닛(12, 14, 16)은 시스템 통신 버스(50)에 의해 서로 연결되어 있으며, 문의하는 유닛(12, 14, 16)은 시스템 리소스에 대한 문의를 다른 모든 유닛(12, 14, 16)에게 보내고, 다른 모든 유닛은 리소스가 이미 유닛(12, 14, 16)에 직접 할당되었는지 여부를 검사하고, 문의받은 모든 유닛(12, 14, 16)은 그에 상응하는 대답을 문의하는 유닛(12, 14, 16)으로 보내고, 다른 유닛(12, 14, 16) 중 어느 것도 시스템 리소스를 이미 할당받지 않았으면, 유닛에 시스템 리소스가 할당된다.
Description
본 발명은 기술적 유닛들 특히 전기 및/또는 전자 유닛들의 어셈블리 설치 방법에 관한 것으로서, 유닛들이 설치되면 하나의 시스템을 형성한다. 또한, 본 발명은 상기 어셈블리에 관한 것이다.
기술적 유닛이란 예를 들어 기술적 실행 과정들의 폐루프 및/또는 개루프 제어를 위해 또는 기술적 함수들의 변환을 위해 이용되는 기술적 장치를 의미한다. 복잡한 함수와 기능을 실현하기 위해, 개별 장치 또는 유닛은 하나의 시스템으로, 예를 들어 적층 시스템 또는 랙 시스템(Rack-system)으로 조합된다. 시스템이란 어셈블리 또는 구조 및 요소들의 총체이며, 이 요소들은 상호 관련되어 있으며 과제, 의미 또는 목적과 연관된 유닛을 형성하고 이런 관점에서 환경에 대해 구분되는 방식으로 상호 작용한다.
그와 같이 조합된 시스템들은 일반적으로 제어 및 관리 기관을 필요로 한다. 현재 제어 및 관리 기능은 시스템 내에 이를 위해 제공된 제어 및 관리 장치, 즉 많은 경우에 이를 위해서만 제공된 장치에 제공되어 있다.
제어 및 관리 과제를 하나의 장치에 그와 같이 고정 할당할 때, 이용되어야 하는 상기 장치가 일반적으로 전체 시스템의 기능에 기여하지 않는다는 단점이 있다. 오히려 이러한 장치는 에너지를 공급받아야 하고, 장치는 부가적으로 열을 발생하며 공간을 필요로 한다.
특허문헌 제EP 1 199 632 A1호는 리소스 액세스의 시간적 비교를 위한 방법 및 유닛을 기술하고 있다. 이때 컴퓨팅 환경에서 복수의 스레드가 실행된다. 그 외에도 복수의 뮤텍스가 제공되고, 하나의 뮤텍스에 하나의 스레드만이 할당된다. 상기 방법의 범위에서 제어 프로그램은, 리소스 액세스를 문의하는 해당 스레드에 뮤텍스가 할당되도록 실행된다.
이런 배경하에서 본 발명은 제1항에 따른 방법 및 제6항의 특징을 가지는 어셈블리에 관한 것이다. 실시예들은 종속항들 및 상세한 설명에 제시된다.
본 발명에 의한 방법에 따르면 제어 및 관리 과제를 충족하는 고정적으로 할당되는 유닛이 없다. 이런 유닛은, 필요한 제어 및 관리 함수의 동적 분배가 이루어지고, 더 정확하게는 시스템 리소스 및 함수를 어셈블리에 제공된 유닛에 분배하는 것에 의해 대체된다.
시스템의 설치시 필요한 제어 및 관리 함수(시스템 함수)는 몇몇 또는 심지어 모든 기존의 유닛에 의해 실행된다. 이런 유닛들은 전체 시스템의 시스템 함수들에 참가한다. 즉 시스템 함수들은 유닛들에 동적으로 할당된다. 전술한 방법은 이런 유닛들 중 어느 하나만이 특정한 시스템 함수에 대한 실행 권한을 얻는 것을 보장한다. 상기 유닛은 상기 권한을 다시 포기할 수 있다. 에러의 경우에 다시 다른 유닛들이 실행 권한을 얻을 수 있다.
중요한 요소는 소위 시스템 뮤텍스(상호 배제)이다. 뮤텍스는 모든 유닛을 위해 이용될 수 있으며 운영 시스템과 무관하다. 시스템 뮤텍스를 얻은 유닛은 그와 관련된 제어 및 관리 함수를 실행할 실행 권한을 얻는다. 즉 할당될 수 있는 각각의 시스템 함수에 하나의 시스템 뮤텍스가 할당된다. 시스템 뮤텍스를 얻은 유닛은 시스템 함수를 실행할 수 있다.
시스템 뮤텍스를 실행하기 위해, 모든 장치는 시스템 관리 버스 또는 통신 버스에 의해 연결되어야 한다. 상기 버스는 멀티마스터 기능을 제공하여야 한다. 이는 복수의 유닛이 통신 매체를 위해 경쟁하여 하나만이 성취하는 것을 의미한다.
이제 물리적 뮤텍스 메모리는, 뮤텍스도 할당되어 있는 곳에만 이제 존재한다. 이는 에러 발생시 무효화가 준 자동적으로 이루어지는 장점을 갖는다. 이때 모든 유닛은 시스템 통신 버스와 연결되어 있다. 상기 시스템 통신 버스는 소위 멀티마스터 기능을 가지며, 모든 유닛을 위한 뮤텍스의 할당이 멀티마스터 기능을 이용하여 제어될 수 있다. 이와 같은 방식으로 시스템 함수가 모든 유닛에 분배될 수 있다.
본 발명의 그 외 장점들 및 실시예들은 상세한 설명 및 첨부 도면에 제시된다.
앞서 언급하였고 하기에서 설명하려는 특징들은 본 발명의 범위를 벗어남이 없이 각각의 경우 제시된 조합으로뿐만 아니라 다른 조합으로도 또는 단독으로 이용될 수 있음은 자명하다.
도 1은 본 발명에 따른 어셈블리의 실시예를 도시한 도면이다.
도 2는 시스템 기능을 도시한 도면이다.
도 3은 시스템 뮤텍스의 할당을 도시한 도면이다.
도 4는 시스템 함수의 할당을 도시한 도면이다.
도 2는 시스템 기능을 도시한 도면이다.
도 3은 시스템 뮤텍스의 할당을 도시한 도면이다.
도 4는 시스템 함수의 할당을 도시한 도면이다.
본 발명은 실시예들을 이용해 도면에 개략적으로 도시되어 있으며 하기에서 도면을 참고로 상술된다.
도 1에는 전체적으로 도면 부호 "10"으로 표시된 적층 가능한 어셈블리의 실시예가 도시되어 있다. 어셈블리(10)는 제1 기술적 유닛(12), 제2 유닛(14) 및 제3 유닛(16)을 포함한다. 어셈블리(10)의 기술적 유닛들(12, 14, 16)은 적층 가능한 시스템 또는 랙 시스템을 형성한다.
베이스 유닛 또는 하부 유닛이라고도 하는 제1 유닛(12)은 시스템 통신 버스 마스터(20)와 시스템 통신 버스 슬레이브(22) 및 열거 또는 카운팅을 통해 얻는 어드레스(24)를 갖는다. 그에 상응하게 제2 유닛(14)은 시스템 통신 버스 마스터(30)와 시스템 통신 버스 슬레이브(32) 및 제2 유닛(14)의 어드레스(34)를 갖는다. 또한, 시스템 함수(z 36)가 제공되어 있다. 상부 유닛 또는 탑 유닛이라고도 할 수 있는 제3 유닛(16)은 시스템 통신 버스 마스터(40)와 시스템 통신 버스 슬레이브(42) 및 어드레스(44)를 갖는다. 또한, 시스템 함수(x 46) 및 시스템 함수(y 48)가 제공되어 있다.
유닛(12, 14, 16)은 시스템 통신 버스(50) 및 데이터 라인(52)과 연결되어 있으며, 유닛(12, 14, 16)의 고장에 대한 정보 및 이에 따른 어셈블리(10) 또는 어셈블리(10)를 통해 형성된 시스템의 고장에 대한 정보가 데이터 라인에 전송된다.
도시된 어셈블리(10) 및 시스템은 하드웨어 유닛을 위해, 이 경우에는 유닛(12, 14 및 16)을 위해 개발되었다. 유닛(12, 14 및 16)은 단독으로 또는 어셈블리(10) 내에서 동작할 수 있다. 시스템 내에 유닛(12, 14, 16)을 조합하면, 시스템의 거동을 관리할 필요성이 증가한다. 전용 시스템 제어기가 존재하지 않기 때문에, 유닛(12, 14, 16)은 자체적으로 시스템 함수를 커버해야 한다. 그러므로 유닛(12, 14, 16)은 시스템 기능의 로컬 설치를 시도한다. 구체적인 시스템 함수가 복수의 유닛(12, 14, 16)에서 실행되지 않도록 보장하기 위해, 각 시스템 함수는 시스템 뮤텍스를 통해 보호된다. 시스템 뮤텍스가 시스템 내에서 실행되면, 유닛(12, 14, 16)은 시스템 관련 정보를 공동으로 이용해야 한다. 정보를 교환하기 위한 매체는 시스템 통신 버스(50)이다.
도시된 실시예에서 시스템 통신 버스(50)는 적절한 통신 기법을 이용한다. 각각의 통신 유닛 또는 유닛(12, 14, 16)은 고유 어드레스를 필요로 한다. 시스템 내에서 어드레스(24, 34, 44)는 하드웨어 카운팅을 통해 얻게 된다. 카운팅 함수는 어셈블리(10) 내 각 유닛(12, 14, 16)에 고유 번호 또는 고유 어드레스를 제공한다. 이는 제1 유닛(12)을 통해 하측에서 개시되고 최상측 유닛(16)에서 종료할 때까지 잇따라 계속된다. 이런 프로세스는 어셈블리(10)의 실행 시간 동안 발생할 수 있는 변화를 커버하기 위해 순환적으로 반복된다. 그러므로 본 발명에 따른 방법은 어셈블리(10)의 초기화 및/또는 작동을 위해 실행될 수 있다.
이용된 시스템 통신 버스(50)는 기본적으로 하기의 특징을 가져야 했다:
- 멀티마스터 성능
시스템 내 모든 유닛은 버스 마스터일 수 있다. 버스로의 액세스는 마스터에 의해 "획득된" 중재 단계를 통해 제어된다. 그 후부터 다른 모든 마스터는 그 한 마스터가 버스를 다시 해제할 때까지 슬레이브로서 거동한다.
- 동기화
아비트레이션이 모든 시점에서 확실히 기능하도록, 마스터들은 동시에 클럭 발생기로서 동작하며 자신의 클럭을 서로 동기화하여야 한다. 발생하는 클럭은 가장 느린 마스터를 통해 결정된다. 클럭의 주파수 및 펄스/휴지 비율이 모든 클럭 주기에 따라 변할 수 있다.
- 원자적 시퀀스
버스를 가지고 있는 마스터는 다음의 시퀀스 즉 동기화 또는 다른 모든 노드에 대한 정보의 동시적 판독을 원자적으로 실행할 수 있으며, 정보는 열성 상태(리세시브 상태(1))를 가지거나 우성 상태(도미넌트 상태(0))를 갖는다. 이때 각 노드는 버스에서 정보의 로컬 상태를 동시에 이용한다. 이때 우성 상태는 열성 상태를 덮어쓰기 한다. 마스터는 버스에서 정보의 상태를 평가하고, 그에 상응하는 로컬 액션을 도입하고 마스터의 로컬 상태를 적절하게 갱신한다. 그 후에야 비로소 마스터는 버스를 다시 해제한다. 이때 정보는 "이용가능" 상태 또는 "점유" 상태를 가지는 시스템 뮤텍스에 상응한다. 우성 상태가 점유되어 있다. 열성 상태의 "이용가능"이 버스에서 판독되면, 시스템 함수는 로컬 스타트된다. 이때 시스템 뮤텍스의 로컬 상태는 "점유"로 세팅된다.
시스템 정보를 수신 및/또는 제공하기 위해, 모든 유닛(12, 14, 16)은 버스 슬레이브(22, 32, 42)를 가져야 한다. 시스템 정보를 능동적으로 문의 또는 제공하기 위해, 추가의 선택적 버스 마스터(20, 30, 40)가 필요하다. 모든 유닛(12, 14, 16) 내에 마스터(20, 30 또는 40) 및 슬레이브(22, 32 또는 42)는 동일 어드레스(24, 34, 44)를 이용한다.
시스템 통신 버스(50)의 통신 메커니즘은 유니캐스트 및 브로드캐스트 메커니즘을 포함한다. 하기 액섹스 모두는 시스템의 원자적 프로세스이다.
브로드캐스트 | 유니캐스트 | 원자적 액세스 | |
판독 | 지원되지 않음 | 1슬레이브의 1마스터 | 예 |
기록 | 1마스터 대 모든 슬레이브 | 1마스터 대 1슬레이브 | 예 |
시스템 뮤텍스 할당 | 1마스터 대 모든 슬레이브 - 모든 슬레이브 대 1마스터 | 지원되지 않음 | 예 |
시스템에 뮤텍스 기능을 제공하기 위해, 브로드캐스트 모드에서 뮤텍스 할당은 특수한 메커니즘이다. 원자적 프로세스를 분배하는 유닛(12, 14, 16)은 액세스 또는 문의를 호출하므로 시스템 전체 뮤텍스에 대한 원자적 판독-변경자-기록-액세스를 실행할 수 있다.
동적으로 분배된 부가적 시스템 과제를 인식하는데 이용되는 전용 기능을 갖는 유닛 역시 제공될 수 있다.
도 2에는 시스템 기능을 설명하기 위해 전체적으로 도면 부호 60으로 표시된 유닛의 가능한 구조가 도시되어 있다. 유닛(60)은 시스템 함수를 위한 외부 클라이언트(62)와 연결되어 있다. 도면에 네트워크 액세스를 위한 인터페이스(64), 시스템 함수 프레임(66), 뮤텍스 서버(68), 시스템 버스 리소스 매니저(70), 버스 마스터와 슬레이브 모듈(72) 및 하드웨어 카운터(74)가 도시되어 있다. 시스템 함수 프레임(66) 내에 네트워크 액세스를 위한 제1 함수(76), 시스템 함수 프로토콜을 위한 제2 함수(78), 제1 시스템 함수(80), 제2 시스템 함수(82), 제3 시스템 함수(84), 하드웨어 액세스를 위한 제3 함수(86) 및 하드웨어 액세스를 위한 제4 함수(88)가 제공되어 있다. 또한, 도면에 선택적 제1 하드웨어 유닛(92) 및 선택적 제2 하드웨어 유닛(94)이 도시되어 있다.
실행된 시스템 통신이 각각의 유닛(60)에서 리소스 매니저(70)를 통해 처리되는데, 하드웨어 액세스를 위한 함수(90)는 리소스 매니저 내에 제공되어 있다. 리소스 매니저(70)는 특정한 시점에서 하나의 개별 내부 클라이언트를 위한 시스템 통신 버스에 대한 액세스를 보장한다. 다른 것들은 줄 서있다.
뮤텍스 서버(68)는 그와 같은 내부 클라이언트이며, 부가의 클라이언트가 있을 수 있다. 리소스 매니저(70)는 시스템 통신 버스 프로토콜의 일부를 이용한다.
시스템의 시스템 통신 버스는 멀티마스터 멀티슬레이브 통신을 이용한다. 모든 유닛은 버스 슬레이브와 버스 마스터를 포함한다. 유닛이 데이터 교환을 전혀 개시하지 않으면, 마스터는 생략될 수 있다. 유닛의 마스터와 슬레이브는 동일 어드레스를 이용한다. 유닛의 각각의 어드레스는 하드웨어 카운팅의 경우에 얻었던 유닛 수에 상응한다.
시스템 통신 버스에서 데이터 교환은 브로드캐스트 또는 유니캐스트 통신으로서 이루어질 수 있다. 브로드캐스트 모드의 경우에 일반적인 브로드캐스트 어드레스가 이용된다. 유니캐스트의 경우에 콘택하려는 슬레이브의 유니케스트가 이용된다. 시스템 통신 버스가 멀티마스터 시스템을 나타내기 때문에, 버스에서 아비트레이션을 보장하기 위해, 전송 개시자의 어드레스를 각각의 메시지에 기록하는 것이 필요하다.
시스템 통신 버스의 통신은 모든 유닛이 카운팅된 경우에만 허용된다. 이는, 카운팅이 성공적으로 실행되자마자, 최상측 유닛에 의해 전송되는, 고유 시스템 관리 버스 메시지를 통해 표시된다. "카운팅 실행" 상태는 각각의 유닛에 의해 수신되고 그 유닛에 저장된다. 이 정보는 일정한 시간 후에 유효성을 상실하고 규칙적인 간격으로 갱신되어야 한다. 하드웨어 카운팅이 순환적으로 실행되기 때문에, 상기 상태 역시 순환적으로 확대된다.
어드레스하려는 슬레이브(장치 대기)의 "디바이스-업" 상태는 초기화하는 유닛 내에서 세팅되기 전에, 유니캐스트 통신이 실행되어서는 안된다. 그러므로 유니캐스트 작동을 이용하는 각각의 유닛은 유닛의 "디바이스-업" 브로드캐스트 메시지를 모니터링하고, 이것은 유닛과 접촉하려는 계획을 갖는다. 마찬가지로 이런 상태는 일정한 시간 후 무효화되는 정보를 의미하므로 규칙적인 간격으로 갱신되어야 한다.
한 유닛 내에서 하나의 기관만이 시스템 통신 버스에 관한 정보를 요구하거나 이해할 수 있다는 것에 유의해야 한다. 또한, 상기 유닛은 상기 정보를 평가하고 그에 상응하는 액션을 도입할 수 있어야 한다. 이때 정보는 시스템 뮤텍스의 상태에 상응하고 액션은 시스템 함수에 상응한다. 일반적으로 기관은 소프트웨어이다. 그러나 순수한 하드웨어 기관도 생각할 수 있다.
하기의 표에는 가능한 시스템 통신 버스 메시지의 개관이 제시되어 있다.
메시지 | 메시지 유형 | 전송 개시자 | 데이터 수신자 | 전송 조건 |
카운팅 실행 | 브로드캐스트 | 상부 유닛 | 모든 유닛 | 하드웨어 카운팅이 성공적으로 상부 유닛에 도달하는 경우 매번 |
디바이스 업 | 브로드캐스트 | 모든 유닛 | 모든 유닛 | 카운팅이 실행되고 유닛이 통신시 참여하고 시스템 함수를 실행할 수 있는 동안 순환적으로 |
시스템 뮤텍스 문의 | 브로드캐스트 | 모든 유닛 | 모든 유닛 | 카운팅 실행이 있고 뮤텍스 서버가 어떤 시스템 뮤텍스를 문의하면 |
유닛들이 공통으로 이용할 수 있는 어떤 리소스를 할당하고 이용하기 위해, 할당된 시스템 뮤텍스가 처음에 할당되어야 한다. 시스템 리소스는 일정한 시스템 함수의 기관이거나 공동으로 이용되는 하드웨어 특성, 예를 들어 트리거 채널일 수 있다. 고유의 시스템 뮤텍스가 각각의 시스템 리소스에 할당된다. 시스템 뮤텍스는 독특한 뮤텍스 ID 및 불 잠금(Boolean interlocking) 상태를 통해 정해진다.
각 유닛에 단지 하나의 뮤텍스 서버가 있다. 각 시점에서 하나의 문의만이 처리된다. 다른 문의들은 줄 서있다. 시스템 내 모든 뮤텍스 서버가 일정한 뮤텍스의 할당을 아비트레이션한다. 아비트레이션은 "뮤텍스 액세스" 메시지에 의해 실행된다. 이런 메시지에서 문의하는 유닛은 뮤텍스 ID를 전송하며, 이를 모든 유닛에 알리기 위해, 이것은 뮤텍스 ID를 요구한다. 각각의 유닛은 유닛이 뮤텍스를 뮤텍스 서버 안에 할당하였는지를 검사하고 로컬 시스템 뮤텍스 점유 상태 또는 잠금 상태로 응답한다. "시스템 뮤텍스 점유"는 버스 응답에서 도미넌트 비트와 같으며, 그 반면에 "시스템 뮤텍스 없음"은 리세시브이다. 유닛이 시스템 뮤텍스를 잠갔다면, 이의 우성 응답(도미넌트 응답)은 다른 유닛들의 동시적으로 전송된 열성 응답(리세시브 응답)을 덮어쓰기 할 것이다.
그러면 문의하는 유닛은 시스템 뮤텍스가 이미 점유되고 시스템 리소스가 이용되지 않는다는 것이 확인된다. 응답이 열성인 경우(리세시브한 경우) 시스템 뮤텍스는 없음 상태이다. 그러면 문의하는 유닛이 시스템 뮤텍스 점유 상태를 뮤텍스 서버 내에서 "시스템 뮤텍스 점유"로 업데이트한 다음, 버스 전송을 종료하고 버스를 해제한다. "시스템 뮤텍스 점유"는 단지 뮤텍스 소유자의 뮤텍스 서버 내에만 저장된다. 시스템 뮤텍스에 대한 액세스는 펌웨어와 시스템 통신 버스에서의 원자적 연산이다. 시스템 뮤텍스 점유 상태가 뮤텍스 액세스의 결과에 근거하여 업데이트되었다면, 뮤텍스 액세스는 그 후에만 버스에서 종료될 수 있다. 유닛의 리셋 후에 상태는 "뮤텍스 없음" 상태이다.
도 3에 시스템 뮤텍스의 할당이 도시되어 있다. 이때 n번째 유닛(100)과 k번째 유닛(102)이 도시되어 있다. 카운팅 실행되자마자, 제1 단계(104)에서 뮤텍스 문의가 시스템 함수를 통해 이루어진다. 이는 원자적 연산을 의미한다. 버스 마스터(108)에서 뮤텍스(n)에 관한 문의(화살표 106)가 이루어지고, 버스 마스터는 시스템 통신 버스(110)와 연결되어 있다. 이는 화살표(121) 및 화살표(124)에 상응한다. 버스 마스터(108)로부터 뮤텍스(n)에 대해 보고가 반송되고(화살표 112) 뮤텍스(n)가 없다는 할당이 이루어진다(화살표 114). 또한, 도면은 버스 슬레이브(118)를 도시한다.
또한, 그 외 유닛(102')이 다시 주어지고, 이의 거동은 유닛(102)의 거동에 상응한다.
k번째 유닛(102) 및 그 외 유닛(102')에서 뮤텍스(n)에 대한 문의시(화살표 124와 124') 뮤텍스(n)에 대한 메모리 유닛(122) 및 메모리 유닛(122')이 판독되고 저장된 값(화살표 126과 126')이 시스템 통신 버스 슬레이브(132와 132')에 의해 출력된다. 이때 응답(126과 126')은 동시적으로 시스템 통신 버스(110)에 의해 전송된다. k번째 유닛(102) 또는 그 외 유닛(102')의 시스템 통신 버스 마스터(130 또는 130')는 관련되어 있지 않다.
그러므로 화살표(106)로 표시된 문의는 k번째 유닛(102) 또는 그 외 유닛(102')의 경우 입력(화살표 124와 124')에 상응한다. 그에 대한 반응, k번째 유닛(102 또는 102')의 출력(화살표 126과 126')은 n번째 유닛(100)의 경우 입력(화살표 112)을 전제한다. 꺽쇠 괄호 표시(140)로 원자적 액세스가 포함된다.
화살표(114)는 우성 응답(도미넌트 응답)이 존재하지 않아서, 뮤텍스가 없으며 할당되어 있는 경우에 대한 출력을 나타낸다. 이 할당은 메모리 유닛(116) 안에 기록된다.
운영 시스템 및 하드웨어 플랫폼의 상이한 종류의 이식성(portability)이 보장되도록 시스템 함수가 구성되어야 한다. 그러므로 운영 시스템 메커니즘과 하드웨어 액세스는 논리적 기능에 의해 분리되어야 한다. 각각의 시스템 함수는 함수 라이브러리로서 대표된다. 시스템 함수 라이브러리는 시스템 함수의 논리적 부분만을 포함한다. 이는 목표 시스템 및 운영 시스템과 무관하다. 각각의 하드웨어 특성은 고유 목표 라이브러리로 이동된다. 시스템 함수로 외부 통신은 매체 고유 인터페이스 함수 라이브러리를 통해 실현될 수 있다. 모든 시스템 함수, 인터페이스 라이브러리 및 목표 고유의 함수 라이브러리는 시스템에 고유하게 시스템 함수 프레임 내에서 실행된다.
각각의 시스템 함수의 활성화는 전용 시스템 뮤텍스를 통해 보호된다. 할당된 시스템 뮤텍스가 성공적으로 점유되거나 차단되는 경우에만, 시스템 함수가 동작할 수 있다.
유닛 내에서 시스템 함수의 활성화는 시스템 에러 신호의 스위칭온, 리셋, 해제의 경우 이루어질 수 있다. 활성화는 바람직하게는 고성능의 유닛에서 이루어져야 한다. 활성화(시스템 에러 신호가 리셋되고 유닛의 카운팅이 이루어진다)를 위한 조건이 충족된 후, 활성화는 유닛의 성능에 의존적인 지연 시간을 통해 달성될 수 있으며, 이때 고성능의 유닛들은 가장 짧은 반응 시간 또는 지연 시간을 갖는다. 지연 후 시스템 함수 프레임은 이용가능한 함수에 대한 시스템 뮤텍스를 점유하려 시도한다. 그러면 성공적으로 점유된 각각의 시스템 뮤텍스에 대해 각 시스템 함수가 활성화된다.
시스템 에러 신호는 시스템 전체적으로 이용되는 하드웨어 신호이다. 이것은, 임의의 유닛이 리셋되면, 차단시 카운팅되지 않았거나 유닛이 시스템 함수를 실행할 수 없으면, 상기 유닛을 통해 세팅된다. 이것이 유선의 OR 신호이고 이 신호가 각각의 유닛을 리셋하기 전에는 리셋되지 않는다.
시스템 함수의 활성화를 위한 시스템 에러 신호를 이용하면, 유닛에 에러가 있는 경우, 시스템 함수의 활성화가 새롭게 이루어지는 것이 보장된다. 시스템 에러 신호가 리셋되었고(시스템 통신 버스에서 어드레스 할당에 상응한다) 카운팅이 이루어지면, 각각의 유닛에서 고유 지연 시간이 새롭게 흐른다. 그 후 각각의 유닛은 다시 여전히 활성화되지 않은 시스템 함수를 위한 시스템 뮤텍스를 점유하려 시도한다. 에러를 통해 영향을 받지 않았던 유닛들은 이미 활성화된 시스템 함수를 갖는다. 에러 있는 유닛에서 실행된 시스템 함수는 새로이 동일 유닛에서 활성화되거나 에러 있는 유닛이 다시 동작하거나 시스템에 의해 제거되었으면 다른 유닛이 이를 넘겨받을 수 있다.
도 4에 시스템 함수의 활성화시 진행 과정이 그래프로 재현되어 있다. 종축(200)의 신호 파형이 횡축(202)의 도시간에 대해 시되어 있다. 제1 곡선(204)은 유닛(x)의 시스템 에러를 나타낸다. 제2 곡선(206)은 유닛(y)에서 시스템 에러를 나타낸다. 제3 곡선(208)은 유닛(z)의 에러를 나타낸다. 제4 곡선(210)은 첫번째 3개의 곡선(204, 206, 208)의 OR 결합이고 시스템 에러를 나타낸다. 제5 곡선(212)은 "카운팅 실행" 신호의 값을 제공한다. 그러므로 메시지 "카운팅 실행"은 시점(214)에서 송출한다.
유닛(x)에 대해 제1 시간 간격(220)은 유닛(x)의 성능에 의존적인 지연을 나타낸다. 제2 시간 간격(222)에서 시스템 뮤텍스에 따른 문의가 이루어진다. 제3 시간 간격(224)에서 시스템 함수의 초기화가 이루어진다.
유닛(y)에 대해 제1 시간(230)은 유닛(y)의 성능에 의존적인 지연을 나타낸다. 제2 시간(232)에서 시스템 뮤텍스에 따른 문의가 이루어진다. 제3 시간 간격(234)에서 시스템 함수의 초기화가 이루어진다.
유닛(z)에 대해 제1 시간 간격(240)은 유닛(z)의 성능에 의존적인 지연을 나타낸다. 제2 시간 간격(242)에서 시스템 뮤텍스에 따른 문의가 이루어진다. 제3 시간 간격(244)에서 시스템 함수의 초기화가 이루어진다.
Claims (11)
- 적어도 세 개의 기술적 유닛(12, 14, 16, 60, 100, 102, 102')의 어셈블리(10)의 자동 설치 방법이며,
상기 적어도 세 개의 기술적 유닛(12, 14, 16, 60, 100, 102, 102')은 시스템 통신 버스(50, 110)에 의해 서로 연결되어 있으며,
어셈블리의 제1 기술적 유닛으로부터 어셈블리의 적어도 두 개의 나머지 기술적 유닛에 시스템 리소스에 대한 문의를 보내는 단계로서, 상기 적어도 세 개의 기술적 유닛의 각각은 시스템 기능을 선택적으로 수행하도록 구성되고, 상기 적어도 세 개의 기술적 유닛 중 하나에 시스템 리소스가 할당된 경우에만 상기 적어도 세 개의 기술적 유닛 중 상기 하나에 의해 상기 시스템 기능이 수행되는, 시스템 리소스에 대한 문의를 보내는 단계와,
상기 적어도 두 개의 나머지 기술적 유닛에 대해, 상기 제1 기술적 유닛에 의해, 상기 적어도 두 개의 나머지 기술적 유닛 중 하나에 시스템 리소스가 이미 할당되었는지 여부를 검사하는 단계와,
상기 적어도 두 개의 나머지 기술적 유닛 각각으로부터 상기 제1 기술적 유닛으로 상응하는 대답을 보내는 단계와,
상기 적어도 두 개의 나머지 기술적 유닛 중 어느 것에도 시스템 리소스가 이미 할당되지 않았으면, 상기 제1 기술적 유닛에 시스템 리소스가 할당되는 단계를 포함하는, 기술적 유닛의 어셈블리의 자동 설치 방법. - 제1항에 있어서, 각각의 시스템 리소스에 하나의 시스템 뮤텍스가 할당되고 상기 제1 기술적 유닛은 시스템 리소스에 대한 문의시 상기 시스템 뮤텍스를 지정하는, 기술적 유닛의 어셈블리의 자동 설치 방법.
- 제1항 또는 제2항에 있어서, 시스템 리소스가 이미 상기 적어도 두 개의 나머지 기술적 유닛 중 하나에 할당된 경우, 시스템 리소스가 할당된 상기 적어도 두 개의 나머지 기술적 유닛 중 상기 하나는 시스템 통신 버스(50, 110)에 우성 응답을 주고,
시스템 리소스가 상기 적어도 두 개의 나머지 기술적 유닛 중 적어도 하나에 할당되지 않은 경우, 시스템 리소스가 할당되지 않은 상기 적어도 두 개의 나머지 기술적 유닛 중 상기 적어도 하나는 시스템 통신 버스에 열성 응답을 주는, 기술적 유닛의 어셈블리의 자동 설치 방법. - 제1항 또는 제2항에 있어서, 어셈블리(10)의 초기화를 위해 실행되는 기술적 유닛(12, 14, 16, 60, 100, 102, 102')의 어셈블리(10)의 자동 설치 방법.
- 제1항 또는 제2항에 있어서, 어셈블리(10)의 작동을 위해 실행되는, 기술적 유닛의 어셈블리의 자동 설치 방법.
- 복수의 기술적 유닛(12, 14, 16, 60, 100, 102, 102')을 구비한 어셈블리이며,
복수의 기술적 유닛은 시스템 통신 버스(50, 110)에 의해 서로 연결되어 있으며, 시스템 통신 버스는 멀티마스터 성능을 가지며,
기술적 유닛(12, 14, 16, 60, 100, 102, 102') 중 어느 한 유닛이 다른 모든 기술적 유닛(12, 14, 16, 60, 100, 102, 102')에 대하여 문의하는 것을 허용하고, 상기 기술적 유닛(12, 14, 16, 60, 100, 102, 102') 중 어느 한 유닛에 대한 다른 모든 기술적 유닛(12, 14, 16, 60, 100, 102, 102')의 동시적 응답을 허용하는, 복수의 기술적 유닛을 구비한 어셈블리. - 제6항에 있어서, 시스템 통신 버스(50, 110)로서 I2C 버스가 이용되는, 복수의 기술적 유닛을 구비한 어셈블리.
- 제6항에 있어서, 각각의 기술적 유닛(12, 14, 16, 60, 100, 102, 102')은 할당된 시스템 뮤텍스가 저장되어 있는 뮤텍스 서버(68)를 가지는, 복수의 기술적 유닛을 구비한 어셈블리.
- 제6항에 있어서, 기술적 유닛(12, 14, 16, 60, 100, 102, 102')이 랙 내에 배치되는, 복수의 기술적 유닛을 구비한 어셈블리.
- 제6항에 있어서, 동적으로 분배된 부가의 시스템 과제를 검출하는데 이용되는 전용 기능을 가지는 기술적 유닛(12, 14, 16, 60, 100, 102, 102')이 제공되는, 복수의 기술적 유닛을 구비한 어셈블리.
- 복수의 기술적 유닛(12, 14, 16, 60, 100, 102, 102')을 구비한, 제1항 또는 제2항에 따른 방법의 실행을 위한 어셈블리이며, 상기 복수의 기술적 유닛이 시스템 통신 버스(50, 110)에 의해 서로 연결되어 있으며, 시스템 통신 버스는 멀티마스터 성능을 가지며,
기술적 유닛(12, 14, 16, 60, 100, 102, 102') 중 어느 한 유닛의 다른 모든 기술적 유닛(12, 14, 16, 60, 100, 102, 102')에 대한 문의를 허용하고, 상기 하나의 기술적 유닛(12, 14, 16, 60, 100, 102, 102')에 대한 다른 모든 기술적 유닛(12, 14, 16, 60, 100, 102, 102')의 동시적 응답을 허용하는, 복수의 기술적 유닛을 구비한 어셈블리.
Applications Claiming Priority (2)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
DE102011078630A DE102011078630A1 (de) | 2011-07-05 | 2011-07-05 | Verfahren zum Einrichten einer Anordnung technischer Einheiten |
DE102011078630.9 | 2011-07-05 |
Publications (2)
Publication Number | Publication Date |
---|---|
KR20130005235A KR20130005235A (ko) | 2013-01-15 |
KR101955727B1 true KR101955727B1 (ko) | 2019-03-07 |
Family
ID=47426420
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
KR1020120072650A KR101955727B1 (ko) | 2011-07-05 | 2012-07-04 | 기술적 유닛들의 어셈블리 설치 방법 |
Country Status (6)
Country | Link |
---|---|
US (1) | US8938471B2 (ko) |
JP (1) | JP6092536B2 (ko) |
KR (1) | KR101955727B1 (ko) |
CN (1) | CN103019851B (ko) |
DE (1) | DE102011078630A1 (ko) |
FR (1) | FR2978849B1 (ko) |
Families Citing this family (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
EP3076194B1 (en) * | 2015-03-31 | 2019-06-19 | ABB Schweiz AG | Method and system for coherent aggregation and synchronization of gathered data from spread devices |
Citations (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20080010643A1 (en) * | 2006-07-07 | 2008-01-10 | Nec Electronics Corporation | Multiprocessor system and access right setting method in the multiprocessor system |
Family Cites Families (12)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JPH04332065A (ja) * | 1991-05-08 | 1992-11-19 | Matsushita Electric Ind Co Ltd | データ転送方法 |
US6754736B1 (en) * | 1999-06-23 | 2004-06-22 | Fujitsu Limited | Information processing apparatus, data inputting/outputting method, and program storage medium therefor |
US6823472B1 (en) * | 2000-05-11 | 2004-11-23 | Lsi Logic Corporation | Shared resource manager for multiprocessor computer system |
EP1199632A1 (en) | 2000-10-20 | 2002-04-24 | Sun Microsystems, Inc. | Method and apparatus for resource access synchronization |
JP2002175287A (ja) * | 2000-12-08 | 2002-06-21 | Matsushita Electric Ind Co Ltd | 排他制御装置及び排他制御方法 |
JP2002207714A (ja) * | 2001-01-11 | 2002-07-26 | Mitsubishi Electric Corp | マルチプロセッサ装置 |
US20050015430A1 (en) * | 2003-06-25 | 2005-01-20 | Rothman Michael A. | OS agnostic resource sharing across multiple computing platforms |
US7275121B1 (en) * | 2005-04-05 | 2007-09-25 | Nvidia Corporation | System and method for hardware assisted resource sharing |
DE102005061392A1 (de) * | 2005-12-22 | 2007-06-28 | Robert Bosch Gmbh | Bus-Guardian eines Teilnehmers eines Kommunikationssystems, sowie Teilnehmer für ein Kommunikationssystem |
EP2174221A2 (en) * | 2007-07-24 | 2010-04-14 | GE Aviation Systems LLC | High integrity and high availability computer processing module |
US8220004B2 (en) * | 2009-04-17 | 2012-07-10 | Nokia Corporation | Method, apparatus and computer program product for sharing resources via an interprocess communication |
US8627331B1 (en) * | 2010-04-30 | 2014-01-07 | Netapp, Inc. | Multi-level parallelism of process execution in a mutual exclusion domain of a processing system |
-
2011
- 2011-07-05 DE DE102011078630A patent/DE102011078630A1/de active Pending
-
2012
- 2012-07-03 US US13/540,848 patent/US8938471B2/en active Active
- 2012-07-03 FR FR1256344A patent/FR2978849B1/fr active Active
- 2012-07-04 KR KR1020120072650A patent/KR101955727B1/ko active IP Right Grant
- 2012-07-04 JP JP2012150554A patent/JP6092536B2/ja active Active
- 2012-07-04 CN CN201210228848.0A patent/CN103019851B/zh active Active
Patent Citations (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20080010643A1 (en) * | 2006-07-07 | 2008-01-10 | Nec Electronics Corporation | Multiprocessor system and access right setting method in the multiprocessor system |
Also Published As
Publication number | Publication date |
---|---|
FR2978849B1 (fr) | 2018-05-18 |
KR20130005235A (ko) | 2013-01-15 |
FR2978849A1 (fr) | 2013-02-08 |
DE102011078630A1 (de) | 2013-01-10 |
JP6092536B2 (ja) | 2017-03-08 |
US20130013632A1 (en) | 2013-01-10 |
CN103019851A (zh) | 2013-04-03 |
US8938471B2 (en) | 2015-01-20 |
CN103019851B (zh) | 2018-05-22 |
JP2013016180A (ja) | 2013-01-24 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US20150106822A1 (en) | Method and system for supporting resource isolation in multi-core architecture | |
US20040249913A1 (en) | System and method for application programming interface for extended intelligent platform management | |
US9100397B2 (en) | BACnet MS/TP automatic MAC addressing | |
CN103297456A (zh) | 一种分布式系统下共享资源的访问方法及分布式系统 | |
EP3698537A1 (en) | Iot cloud to cloud architecture | |
CN103051470B (zh) | 一种集群及其磁盘心跳的控制方法 | |
CN102843259A (zh) | 集群内中间件自管理热备方法及系统 | |
EP2360614B1 (en) | Information processing device and hardware setting method for said information processing device | |
CN105554142B (zh) | 消息推送的方法、装置及系统 | |
WO2014173364A1 (zh) | 共享资源访问方法和装置 | |
JP2010239597A (ja) | Ipアドレス割当制御プログラム、ipアドレス割当制御装置およびipアドレス割当制御方法 | |
CN111090600B (zh) | 一种总线共享的方法 | |
WO2015116077A1 (en) | Access controlled memory region | |
CN104461705B (zh) | 一种业务访问的方法及存储控制器、集群存储系统 | |
JP5531487B2 (ja) | サーバシステム及びサーバシステムの管理方法 | |
KR101955727B1 (ko) | 기술적 유닛들의 어셈블리 설치 방법 | |
JP2015517140A (ja) | 分散リアルタイムシステムにおけるソフトウェア故障封じ込めユニット(SWFCUs)を形成するための方法および装置 | |
JP5734421B2 (ja) | 管理情報生成方法、管理情報生成プログラムおよび管理情報生成装置 | |
CN112433968A (zh) | 一种控制器共享同步方法和装置 | |
WO2019088226A1 (ja) | 制御システム、排他制御方法、対象装置 | |
CN104202443A (zh) | 对ip地址冲突进行容灾处理的方法和装置、以及相应设备 | |
US20220311672A1 (en) | Communication system comprising a plurality of processors and at least one switch, and associated communication method | |
KR20170039346A (ko) | 소프트웨어 정의 네트워크에서 분산 컨트롤러를 운용하는 방법, 장치 및 컴퓨터 프로그램 | |
US9990323B2 (en) | Configuring a communication interconnect for electronic devices | |
CN115309335A (zh) | 一种多端口固态硬盘管理方法、装置、设备及存储介质 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
A201 | Request for examination | ||
E902 | Notification of reason for refusal | ||
E701 | Decision to grant or registration of patent right |