KR930006382B1 - 데이타 처리 시스템 부팅 및 구성 방법과 그 수단을 가진 시스템 - Google Patents

데이타 처리 시스템 부팅 및 구성 방법과 그 수단을 가진 시스템 Download PDF

Info

Publication number
KR930006382B1
KR930006382B1 KR1019900006824A KR900006824A KR930006382B1 KR 930006382 B1 KR930006382 B1 KR 930006382B1 KR 1019900006824 A KR1019900006824 A KR 1019900006824A KR 900006824 A KR900006824 A KR 900006824A KR 930006382 B1 KR930006382 B1 KR 930006382B1
Authority
KR
South Korea
Prior art keywords
configuration
devices
data processing
processing system
entities
Prior art date
Application number
KR1019900006824A
Other languages
English (en)
Other versions
KR900018831A (ko
Inventor
제임스 아콘 루퍼스
매튜 브라우닝 루크
안쏘니 파비오 로버트
패트릭 고울 민-상
클로우드 오킨 3세 죤
매너뱃 밸즈 피터
Original Assignee
인터내셔널 비지네스 머신즈 코포레이션
하워드 지. 피거로아
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by 인터내셔널 비지네스 머신즈 코포레이션, 하워드 지. 피거로아 filed Critical 인터내셔널 비지네스 머신즈 코포레이션
Publication of KR900018831A publication Critical patent/KR900018831A/ko
Application granted granted Critical
Publication of KR930006382B1 publication Critical patent/KR930006382B1/ko

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F9/00Arrangements for program control, e.g. control units
    • G06F9/06Arrangements 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/44Arrangements for executing specific programs
    • G06F9/4401Bootstrapping
    • G06F9/4411Configuring for operating with peripheral devices; Loading of device drivers
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F13/00Interconnection of, or transfer of information or other signals between, memories, input/output devices or central processing units
    • G06F13/10Program control for peripheral devices

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Software Systems (AREA)
  • Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Computer Security & Cryptography (AREA)
  • Information Retrieval, Db Structures And Fs Structures Therefor (AREA)
  • Stored Programmes (AREA)
  • Devices For Executing Special Programs (AREA)

Abstract

내용 없음.

Description

데이타 처리 시스템 부팅 및 구성 방법과 그 수단을 가진 시스템
제1도는 IPL/구성 처리의 부품들이 어떻게 함께 어울리나를 나타내는 블록도.
제2a도는 IPL 및 구성 처리를 도시한 흐름도.
제2b도는 구성 매니저(manager)의 제1단계의 실행을 도시한 흐름도.
제2c도는 구성 매니저의 제2단계를 도시한 흐름도.
제3도는 구성 데이타베이스에 있어서 선정된 구성 정보의 구조를 설명한 도면.
제4a도는 시스템 구성 데이타를 분류하기 위한 콘테이너(container) 그래프 및 장치 그래프를 도시한 도면.
제4b도는 시스템 구성 데이타를 분류하기 위한 장치 그래프.
제4c도는 시스템 구성 데이타를 분류하기 위한 콘테이너 그래프를 도시한 도면.
제5도는 구성 데이타베이스에 있어서 수용된 구성 정보의 구조를 설명한 도면.
제6a도는 규정(define) 방법의 흐름도.
제6b도는 구성(confiqure) 방법의 흐름도.
제6c도는 시작(start) 방법의 흐름도.
제6d도는 정지(stop) 방법의 흐름도.
제6e도는 비구성(unconfiqure) 방법의 흐름도.
제6f도는 비규정(undefine) 방법의 흐름도.
제7도는 구성 규칙 오브젝트를 도시한 도면.
제8도는 장치 상태 전이도.
* 도면의 주요부분에 대한 부호의 설명
10 : 구성 매니저 80 : 핵심부
418 : 디스플레이 424 : 논리 장치
426 : 테이프 436 : 프린터
500 : 수용된 오브젝트
관련 출원의 참조는 알. 제이. 앨콘 등의 이름으로 1989. 5. 15. 출원(IBM 내부 서류 번호 AT9-89-035)된 "An Initial program Load(IPL) Based on An object Abstraction for A Data processing system"에서 구체화되어 있다.
알. 에이. 파비오의 이름으로 1989. 5. 15. 출원(IBM 내부 서류 번호 AT9-89-031)된 "An open system Management Architecture for A Data processing system"에서 구체화되어 있다.
알. 에이. 파비오의 이름으로 1989. 5. 15. 출원(IBM 내부 서류 번호 AT9-89-038)된 "Access control policies for An object oriendted Database"에서 구체화되어 있다.
알. 에이. 파비오의 이름으로 1989. 5. 15. 출원(IBM 내부 서류 번호 AT9-89-039)된 "An object Database-Driver Shell for a Data processing system"에서 구체화되어 있다.
엠. 에이. 오스랜더 등의 이름으로 1987. 11. 30. 출원번호 제126,814호인 "Data processing Method To Create Virtual Disks form NON-Contiguous Groups of Logically contiguous Address-able Blocks of Direct Access Storage Devices"에서 구체화되어 있다.
씨. 에이. 헬스의 이름으로 1989. 1. 6자 출원번호 제296,387호, 1987. 3. 13자 출원 번호 제0,213,911호인 "Computer system With Automatic Initialization of pluggable option cards"에서 구체화되어 있다.
이 특허 서류의 첨부부분은 저작권 보호에 따른 자료를 포함한다. 저작권 소유자는 특허청 서류 또는 기록 문서에서 나타낸 것과 같이 특허 문서 또는 특허 서류의 소정인에 의해 팩시밀리 복사에 이의를 가지지 않지만, 무엇이든지 모든 저작권을 예정해 둔다.
본 발명은 데이타 처리 시스템(data processing system)의 구성에 관한 것으로, 특별히 시스템의 IPL 동안 오브젝트의 동적 구성을 위해 지향 오브젝트 데이타베이스(object oriented database)내의 오브젝트로써 데이타 처리 시스템의 물리적 및 논리적 장치의 표시에 관한 것이다.
데이타 시스템에 대해 시스템에 부착된 장치를 이용하기 위해서, 동작 시스템은 데이타 처리 시스템에 부착된 장치를 알고 있어야만 한다. 데이타 처리 시스템에 부착된 장치 및 부품들은 이의 구성 주변부로서 설명된다. 공지된 동작 시스템은 AT&T에 의해 개발된 UNIX 동작 시스템이다. UNIX 동작 시스템의 핵심부는(Kernel) 장치 구동기와 IPL 처리 사이의 관계가 매우 정적이 되도록 하는 방법으로 설계되었다. IPL시간에서, 시스템은 물리적 엔티티(entities)가 시스템에 부착되는 것을 결정하지만, 핵심부에서 이 인식을 동적으로 반영하지 못할 것이다. 데이타 처리 시스템의 사용자는 물리적 장치가 시스템에 부착되는 것을 알아야만 하며, 정적 형태로 구성을 표시하고, 따라서 시스템에 부착되는 물리적 장치에 어떤 변화(부가 및 삭제)를 인지한 핵심부를 만들어야 한다. 그래서, 사용자는 이용 가능한 시스템 재원을 만들기 위해서 핵심부를 재구성하며 시스템을 다시 부팅해야 한다. 게다가, 이 처리는 물리적 실제 장치에 이용되는 것과 유사 형태로 논리적 엔티티(실제 장치가 아님)의 구성을 수용하지 않는다.
미합중국 특허 제4,649,479호에서 서술된 바와같이, 신규 장치는 UNIX 시스템 구성을 표시하도록 명명된/etc/마스터 및/etc/시스템내에 정적으로 규정된다. 사용자가 이 장치 구성을 수정할 때, 사용자는 이들 구성 변화를 인지하는 핵심부를 만들기 위하여 시스템을 다시 IPL 해야 한다. 이 방법론에 있어서 문제점은 구성이 동적으로 반영되지 않는 것이다. 보다 중요하게, 사용자는 구성의 상태를 적절히 반영하기 위해 UNIX 시스템 구성 화일의 형식 및 언어의 의미를 이해하도록 요구된다.
이전에는 사용자가 구성 처리를 이해하는데 어려웠다. 실제적인 물리적 장치를 구성하기 위해, 사용자는 어댑터 및 장치에 부가되도록 기계를 격납해야 하며, 다시 기계를 동작시켜, 이들 신규 물리적 장치가 부가 되어진 것을 핵심부에 알리도록 구성 화일을 수정하며, 핵심부를 재구성하여 신규 장치와 상호 작용하도록 핵심부는 적당한 정보 및 장치 구동기를 가지며, 그때 시스템을 다시 IPL한다. 이것은 어떻게 이들 일을 실행하는 방법에 대해 사용자에게 특별한 지식을 요구한다. 이들 절차는 시스템에 부착된 물리적 장치는 바람직하게 변화시켜 사용자에게 무엇인가가 요구되어지는 것보다 더 복잡하다. 게다가, 이 절차는 실제 문제, 즉 어떤 엔터티 시스템(논리적, 의사적, 실제적인 중 하나)내로 구성하거나 뿐만 아니라 엔티티 사이의 복잡한 관계를 규정하는 문제를 어드레스하지 못한다.
그러므로, 본 발명의 목적은 일관되게 유사 형태로 물리적 및 논리적 엔티티를 구성하기 위해 개략 오브젝트를 다르는 IPL 처리를 제공하는데 있다.
그러므로, 본 발명의 다른 목적은 오브젝트가 물리적이거나 논리적 엔티티를 표시하는 것과 무관한 오브젝트를 동적으로 규정, 구성, 시작, 정지하는데 있다.
그러므로, 본 발명의 다른 목적은 IPL 처리가 시스템의 동적 성질을 적절히 반영할 수 있도록 오브젝트 사이의 관계를 나타내는데 있다.
본 발명의 다른 목적은 일반적인 기능을 특별한 실행 장치 및 특별한 실행 하드웨어로부터 구별하는 계층화된 시스템을 제공하는데 있다.
본 발명의 다른 목적은 시스템 동작이 다양한 고객-특성 주위 조건에 용이하게 구성되도록 데이타 구동 시스템을 제공하는데 있다.
본 발명의 다른 목적은 시스템 구성을 표시하기 위해 IPL 및 핵심부 재구성을 최소화하며, IPL 동안 핵심부에/에서부터 장치 구동기의 동적 바인드/해제의 장점을 갖는 동적으로 구성 가능한 시스템을 제공하는데 있다.
본 발명의 다른 목적은 신규 장치가 용이하게 부가되는 확장할 수 있는 시스템을 제공하는데 있다.
본 발명의 시스템 및 방법에 있어서 핵심 확장부, 즉, 장치 구동기는 핵심부를 재부팅하지 않고 동적으로 동작 시스템의 핵심부로 로드될 수 있다. 게다가, 본 발명의 시스템 및 방법은 오브젝트 지향된 데이타베이스의 이용에 의해 오브젝트의 일반적 정의를 허용한다. IPL 시간에서, 오브젝트는 논리적 및 물리적 엔티티로써 관측된다. 이것은 하드웨어에 물리적으로 접속된 실제 장치를 나타내며, 게다가 논리적 볼륨 매니저와 같은 논리 장치를 나타내며, 물리적 엔티티에 관계하여 관리하는 TCP/IP와 같은 네트워크를 나타내는 장치의 구성을 허용한다.
본 발명의 구성 처리는 시스템 구성 엔티티를 두 구별 그래프인 콘테이너 그래프, 연결 그래프로 분류하는데 집중된다. 접속 그래프는 물리적 엔티티 접속과 논리적 엔티티에 이들 종속을 묘사하고 있다. 접속 정보는 그래프에서 노드(장치)와 각 노드 사이의 이들 엣지(접속명 스페이스)를 서술한다. 콘테이너 그래프는 장치의 격납을 나타낸다. 예를들면, 물리적 엔티티(카드)는 이들과 연관된 다중 논리 장치(어댑터)를 가질 것이다. 이 방법론은 엔티티가 상기 장치에 의해 포함되는 것을 반영하도록 메카니즘을 제공한다.
본 발명의 시스템 및 방법은 엔티티 사이의 관계, 이들 종속 관계를 나타내는 접속성 및 격납 그래프를 나타내며, 상기 엔티티는 엔티티가 물리적 엔티티나 논리적 엔티티중 하나임에도 불구하고 다른 엔티티내에 포함된다. 게다가, 이들 엔티티는 오브젝트 지향 데이타베이스를 통하여 오브젝트로써 표시된다. 오브젝트 데이타 매니저는 특별한 오브젝트에 적당한 방법을 연과시키도록 지지부를 제공한다.
특별한 동작을 특별한 오브젝트(예를들면, 구성, 비구성, 시작, 정지 등)상에서 실행하기 위해서 상기 방법이 이벤트의 동작 또는 순서를 요구한다. 그래서, 오브젝트(그래프)에 따른 관계와, 이들 오브젝트 방법의 관계를 나타내기 위한 오브젝트 지향 데이타베이스를 이용하면, IPC 처리는 논리적 및 물리적 엔티티를 동적으로 구성할 수 있다.
본 발명의 시스템 및 방법은 시스템이 부팅될 때 동작하는 구성 매니저를 제공한다. 이 구성 매니저는 기본 규칙이며, IPL 시간에서 오브젝트와 같은 것을 규정하여 구성토록 요구된 이트의 순서로 이해된다. 본 발명의 시스템은 마이크로 채널 및 SCSI 설계의 장점을 실행하므로서 시스템에 각 장치를 자동적으로 검출한다. 각각의 신규 장치는 오브젝트 지향 데이타베이스에 오브젝트로서 자동적으로 부가되며 이것의 관계를 다른 오브젝트에 나타낸다. 즉, 이것은 검출된 장치에 근거된 적당한 방법을 요구하는 구성 매니저에 의해 완성된다. 이 기술로, IPL 시간의 끝에서, 핵심부는 어떤 하드웨어가 존재하며 임의의 사용자 상호 작용없이 하드웨어와 즉시 상호 작용할 수 있다.
어떤 장치가 시스템에 부착되어 있는가를 결정하여, 오브젝트 지향 데이타베이스에 오브젝트로써 물리적 및 논리적 장치 둘다를 관찰하고, IPL처리는 초기 프로그램 로드 동안 시스템내에 물리적 및 논리적 엔티티를 자동적으로 구성하는 것을 초래한다. 이 방법에 있어서, 핵심부는 IPL 시간에서, 물리적 및 논리적 엔티티와 통신하도록 요구된 이들 장치 구동기(핵심부 확장)를 포함하는 것을 동적으로 구성한다.
여기에서 이용되는 기술 용어는 다음과 같이 규정된다.
어뎁터는 I/O버스에 부착된 장치이다.
구성 매니저는 IPL 동안 장치 구성을 관리하기 위한 프로그램이다.
콘테이너는 다른 장치 또는 콘테이너를 포함하는 필드 대체 유니트(FRU)이다. 드로우워 및 보드(카드)와 같은 수동 엔티티, 예를들면 네티브 I/O(NIO) 카드가 존재한다. 예를들면, 확장 박스는 다수 어댑터 카드를 포함할 수 있는 콘테이너이다. 비록 콘테이너는 그 자체로 장치가 아니지만, 이것은 장치와 유사한 방법으로 표시된다. 콘테이너는 또한 이것의 구성을 위한 방법을 가질 것이다. 각각의 실제 장치에 대해서, 대체 유니트와 장치 사이의 관계를 결정하기 위한 콘테이너에 격납이라 불리는 관계가 존재한다. 콘테이너는 또한 실제의 FRU 정보용 오브젝트 종류명이다.
수용은 실제 장치 정보용인 오브젝트 종류의 셋이다.
장치는 논리, 접속기 및 와이어와 같은 활성 엔티티이다. 이 명세서를 통해, 장치는 포괄적인 분별시 이용된다. 이것은 멀티플렉서로 불리어진 다른 장치(예를들면, 어댑터, 버스 등)에 물리적으로 접속될 수 있는 장치로써 설명되며 터미널 장치로 불리어진 다른 장치(예를들면, 프린터, 디스크, 디스플레이 등)에 접속될 수 없는 장치로써 설명되고, 의사 장치로 불리어지는 소프트웨어 지향 장치(예를들면, hft, pty)로 설명된다.
장치 구성은 시스템에 이용 가능하며 공지된 장치를 만들도록 실행된 일력의 단계로 설명된다. 소정 단계들은 구성될 장치의 실존을 검출하는 단계와, 구성 데이타베이스에 장치를 규정하는 단계와, 장치 구동기를 초기화하기 위해 요구된 데이타 구조를 장착하는 단계와, 장치 구동기를 로딩하여 장치 구동기를 초기화하는 단계와, 장치 등을 동작 가능케 하는 단계를 포함할 것이다.
동적 구성은 시스템내의 아래의 가능 출력 즉, 그 단계는 장치 상태 변화를 결정하며, IPL 및 수행 시간동안 핵심부로부터 동적으로 장치 구동기를 바인드나 해제할 수 있으며, 하부 하드웨어에서 상호 접속의 변화에 불구하고 시스템을 구성할 수 있고, 핵심부가 재구성되는 것이 아니라 IPL을 요구하지 않고 수행 시간 동안 장치를 구성할 수 있다.
멀티플렉서는 또한 다른 장치에 접속되는 장치이다. 예를들면, SCSI 어댑터는 디스크, 프린터, 디스플레이 등과 같은 터미널 장치에 접속할 수 있는 멀티플렉서이다. 버스는 슬롯상에 어댑터를 접속할 수 있는 다른 멀티플렉서이다.
선정된 것은 시스템으로 이용을 하기 위해 허용 가능한 모든 가능한 논리적 물리적 장치를 규정하는 오브젝트의 세트이며 여기에서 구성을 위해 가능한 모든 장치의 "유니버스(universe)"로서 설명되었다.
의사 장치는 물리적 또는 하드웨어 장치에 반대되는 것으로써 논리 장치이다. 의사 장치는 소프트웨어에서 실행된 비-하드웨어 장치이다. 이들 의사 장치는 터미널 장치(예를들면, pty, 에러) 또는 시스템 콘솔을 멀티플렉싱할 수 있다. 어떤 형태의 의사 장치(예를들면, pty-의사 단말 장치) 동작은 실제 장치와 같으며 IPL 동안 본 발명에서 관리된다.
터미널 장치는 멀티플렉서가 아닌 장치이고 이에 물리적으로 접속될(예를들면, 터미날, 프린터 등) 다른 장치를 허용하지 않는다.
여기에서 참조될 로버트 파비오의 이름으로 1989. 5. 15일자 출원 계류중인(IBM 내부 서류 번호 AT9-89-031) "an open system Management Architecture for Data processing system"에서는 다수의 구성 가능한 영역을 위해 시스템을 관리하며 구성 데이타의 인지를 기억하기 위해 오브젝트 지향 데이타베이스를 이용하는 시스템 매니저먼트 기능을 기술하고 있다. 본 발명은 장치로써 공지된 구성 가능한 영역을 구성하며 실제적 장치와 논리적 장치를 포함하기 위한 시스템 및 방법을 제공한다. 본 발명의 시스템은 마이크로 채널 및 SCSI 설계의 이점으로 시스템에 각 장치를 자동적으로 검출한다. 시스템에서 자동적으로 검출된 장치를 허용하는 마이크로 채널 설계는 히스 등의 이름으로 출원된 1987. 3. 13자 제 07/0과, 391호, 1989. 1. 6자 제 07/296,387호에서 "Computer system with Automatic Initialization of pluggable option Cards"에서 참조된다. 본 발명의 방법은 구성 가능한 영역의 장치를 나타내는 오브젝트의 세트를 식별한다. 두개의 구별 이벤트는 데이타베이스를 발생시켜 구성 가능한 영역의 장치를 만드는 오브젝트의 집합을 표시한다. 오브젝트의 수집은 IPL 시간이나 수행 시간의 세트에 의해 대화 서비스로 규정된다.
본 발명의 시스템 및 방법은 데이타 처리 시스템내에 물리적 엔티티 및 논리적 엔티티를 나타내는 오브젝트를 동적으로 규정하며, 구성, 시작, 정지, 비규정, 비구성한다. 핵심부는 IPL 동안 시스템에 부착된 모든 오브젝트의 인지로 동적으로 제공되어 동작 환경은 데이타 처리 시스템의 종결 사용자에게 이용 가능한 물리적 및 논리적 엔티티를 나타낸다. 이 시스템의 IPL 처리는 물리적 및 논리적 엔티티간을 차별하지 않으며 관념적 감지시 오브젝트를 취급한다.
제공된 구성 처리는 제4a도에서 도시된 바와같이 시스템 구성 데이타를 두 다른 그래프인 콘테이너 그래프와 장치 그래프로 분류하는 가능성 주위에 집중된다. 제4b도는 분리적으로 장치 그래프를 도시하며, 제4c도는 분리적으로 콘테이너 그래프를 도시한다.
제4b도에서의 장치 그래프(400)는 실제 및 의사 장치를 상호 접속한다. 장치 그래프는 물리적 장치간의 연결성 논리적 장치와 물리적 장치 사이의 종속성 및 논리적 장치들간의 종속성을 도시하고 있다. 실선(451)은 연결성을 나타내며, 점선(452)은 종속성을 도시하고 있다. 장치 그래프는 그래프내에서 노드(장치)들과 각 노드 사이의 그들의 엣지(접속명 스페이스)(451,452) 둘다를 서술하는 구성 데이타를 특별히 도시하고 있다. 이들 그래프로 표시되는 장치의 세가지 형태가 기본적으로 존재하며, 다음과 같다. 1) 베서(404), SCSI 어댑터(406), RS(232) 어댑터(430) 등과 같은 멀티플렉서 장치, 2) 터미널, 디스크(428), 프린터(436) 등과 같은 터미널 장치 3) 고기능 단말기(424), pty 등과 같은 의사 장치를 표시하는 3가지 장치의 유형이 존재한다. 모든 장치는 이들 3가지 유형중 하나로 가정된다. 그러므로, 데이타가 표시되는 방법은 장치의 이들 세 형태로 편의를 제공받는 일반적인 구조에 기인하여 단순화 된다. 기본적인 차이점은 각 멀티플렉서 장치(404,406,430)가 이에 통신하는 방법을 나타내는 수단과 같은 이의 접속명 스페이스(451)와 관련하여 서술되는 것이다. 대조적으로, 그 자체로 명명 스페이스를 가지지 않는 터미널 장치(426,428)는 이들이 부착되는 멀티플렉서 장치에서의 이들 관계에 따라 표시되도록 요구되는 특성을 가진다. 의사 장치는 멀티플렉서 장치나 터미널 장치중 하나의 특성을 가진다.
장치 그래프(400)(제4b도)는 다수의 오브젝트 종류에 의해 표시된다. 그러나, 두 주요 종류는, 모든 장치의 정보의 중심, 선정된 오브젝트 종류(300)(제3도), 수용돈 오브젝트 종류(500)(제5도)로서 제공된다. 선정된 오브젝트 종류(300)(제3도)는 모든 가능한 장치 구성용 템플릿(templete), 그들의 접속, 디폴트 값, 선택으로서 작용한다. 수용된 오브젝트(500)(제5)도는 실제 장치 구성으로 표시하기 위해 구성된 적당히 선정된 오브젝트의 세트로 구성된다.
콘테이너 그래프(460)(제4c)도는 필드 대체용 격납 정보를 나타낸다. 콘테이너 그래프는 서로 이들 관계 및 대체 유니트의 계층을 나타낸다. 표시된 관계는 단일 트리가 아니라 집합 트리(401,411,403,405)이다. 장치 그래프에서의 각 노드에서, 일체 유니트와 이에 접속된 장치 사이의 관계를 결정하기 위해서 콘테이너 그래프에 대한 관계가 존재하며 그 역도 성립한다.
콘테이너 그래프(460)(제4도) 장치 그래프를 나타내기 위해 이용된 오브젝트 종류와 유사한 오브젝트 종류에 의해 표시된다. 콘테이너용으로 선정된 오브젝트 종류(300)(제3도)는 두 기본적인 목적이 있다. 즉, 1) 이것은 장치 그래프용으로 선정된 오브젝트 종류와 유사한 모든 유효한 하드웨어 구성의 보관소이며, 2) 이것은 콘테이너 정보와 장치 정보 사이의 맵핑을 제공한다. 선정 콘테이너 오브젝트 종류(320)는 콘테이너 그래프(460)와 장치 그래프(400) 사이의 관계를 나타낸다. 수용된 콘테이너 오브젝트 종류(525)(제5도)는 다수의 트리로써 표시된 실제 콘테이너 정보를 위한 저장소로써 역활한다. 콘테이너 오브젝트 종류는 수용된 구성 데이타베이스에서의 수용된 장치 오브젝트로 병합된다. 논리적 장치를 표시하는 오브젝트는 격납 정보를 가지지 않는다.
제1도는 참조하면, 구성 데이타베이스(15)(제1도)는 지원 장치 구성을 유지하도록 모든 관련된 모든 정보를 기억한다. 장치 관련 정보에 덧붙혀, 구성 데이타베이스는 장치 구성을 실행하는데 구성 매니저를 안내하는 구성 규칙(70)을 포함한다. 구성 데이타베이스는 오브젝트 종류(300,500)의 세트로써 구성 정보의 표시를 항상 분류하는 오브젝트 데이타 매니저(20)를 통해 억세스된다.
구성 데이타베이스(15)는 제3도 및 제5도를 참조하여 도시된 바와같이 선정된(300) 및 수용(500) 장치 구성 정도 둘다를 포함한다. 선정된 정보(300)(제3도)는 시스템에 의해 지탱된 모든 가능한 장치 및 콘테이너의 구성 데이타를 포함한다. 지지된 장치는 구성 데이타베이스에서 선정된 장치, 오브젝트(330)를 가진다. 구성 데이타베이스에서의 정보는 오브젝트 데이타 매니저에서 링크(305)(제3도)를 통하여 내부 연결되어 있다. 수용된 정보(500)(제5도)는 시스템에서 실제로 규정되거나 구성된 장치의 구성 데이타를 포함한다. 구성 데이타베이스(15)를 구성하는 오브젝트 종류의 세트는 장치 구성 정보에 국한되지 않는다. 이것은 구성 규칙(701), 오브젝트 지지 스풀러(spooler) 보조 시스템 및 백엔드, 오브젝트 지지 화일 시스템-논리 볼륨 매니저 구성, 오브젝트 지지 망 구성, 오브젝트 지지 허가 프로그램 생성 구성, 오브젝트 지지 핵심부 구성, 오브젝트 지지 진단 등과 같은 다른 특별한 오브젝트 종류를 포함한다.
수용된 오브젝트 종류(300)는 모든 장치에 대한 정보의 공통부분을 표시한다. 각각의 장치 오브젝트에 대해, 규정(61), 구성(62), 시작(63) 등과 같은 각 오브젝트에 특별한 동작을 실행할 수 있는 방법(60)의 세트가 존재한다. 이들 방법들은 특별한 오브젝트 및 장치 형태로 명확해지며, 이것은 예를들면 scsi-define, scsi-config. scsi-stat, scsi-stop, rs 232-define, rs 232-config 등으로 표시된다. 각 장치에 대해서는 관계(506)(제5도)가 부속물 오브젝트 종류(540)로써 표시된 장치 정보로 존재하며, 관계(505)는 소정 장치에 대해 상태 정보(505)가 존재하며, 장치의 형태에 따라, 관계(505)는 접속명 스페이스를 규정하는 접속 오브젝트 종류(520)가 존재할 것이다. 게다가, 장치의 형태에 따라, 관계(505)는 격납 정보를 규정하는 격납 오브젝트 종류(540)에 존재할 것이다. 장치 구동기를 가진 장치에 대해서, 또한 장치 구동기의 특성을 규정하는 장치 구동기 오브젝트 종류(560)가 존재한다.
제1도를 다시 참조하면, 구성 매니저(10)가 또한 기술되어 있다. 구성 매니저(10)는 선정된 종류(300)(제3도)내에서 규정되는 이들 오브젝트에 동작하며, 수용된 장치, 오브젝트 종류(500)(제5도)에서 발견된다. 선정된 장치(300)는 시스템에 구성될 수 있는 가능 오브젝트의 "유니버스"를 나타내며, 수용된 장치(500)는 유니버스로부터 이용되는 장치의 실제 수용된 세트를 나타낸다. 구성 매니저(10)는 IPL 시간에서 시스템에 발견되어진 물리적 엔티티가 표시되는 것을 증명하도록 수용된 오브젝트(500)를 억세스한다. 물리적 엔티티가 발견되지만 수용된 오브젝트(500)의 세트는 반영되지 않으며, 구성 매니저(10)는 동일 형태의 오브젝트를 발견하도록 선정된 장치 오브젝트(300)를 억세스하며, 이것은 규정 방법(61)을 야기한다. 규정 방법(61)은 선정된 종류(300)로부터 오브젝트 인스턴스를 규정하며 전체의 적당한 부속물과 수용된 종류(500)에 이것을 나타낸다. 이 물리적 엔티티가 수용된 오브젝트 종류의 세트로 규정되면, 물리적 엔티티가 규정되어진다. 핵심부 및 호일 시스템은 물리적 엔티티가 존재하는 것을 알리게 되어진다. 이것은 장치 구동기의 동적 결속을 핵심부 및 특정한 화일의 발생으로 포함한다.
구성 매니저(10)는 특정한 오브젝트에 의해 표시된 그 특별한 물리적 엔티티에 대해 구성 방법(62)을 호출한다. 오브젝트에 대한 구성 방법(62)은 특별한 오브젝트를 표시하는 핵심부(80) 및 화일 시스템을 알리는데 필요한 동작을 수행한다. 구성 방법은 그 오브젝트에 대해 장치 구동기를 로드하도록 핵심부에 알린다. 구성 방법(62)은 오브젝트(규정 방법(61)에 의해 규정됨)에 대해 수용된 장치 오브젝트(500)에 질문하며, 장치 드라이버 통과되는 장치 종속 구조 또는 정보를 발생하며, 매이저 수 및 마이너 수를 얻도록 적당히 낮은 레벨 장치 명령어 또는 루틴을 야기시키며, 장치 구동기를 핵심부내로 바인드토록 시스템 호출을 발생시키며 장치 종속 정보를 이용하는 이것을 초기화한다. 장치 구동기 정보를 이용하여, 매이저 수, 장치 구동기는 장치 스위치 테이블을 통해 핵심부내로 바인드된다. 구성 매니저는 이에 부착된 이들 장치에 대해 접속 정보를 이용한다. 만약 구성 매니저가 어댑터를 구성하면, 어댑터는 이에 부착되는 다른 장치를 가질 것이다. 멀티플렉싱 장치에 대해 구성 방법(62)은 이들 부착된 장치를 발견하며 이들 부착된 장치는 이들 규정 방법(61)을 호출하여 수용된 데이타베이스(500)로 규정되는 것을 보장한다. 그러므로, 구성방법(62)은 이에 부착되는 이들 오브젝트에 대해 다른 규정 방법(61)을 호출한다. 이 처리는 접속 정보화와 함께 데이타베이스를 위치시키며, 특별히 접속 그래프(400)를 설립하며 유지하도록 한다.(제4b도)
제1도를 참조하면, 구성 매니저(10)는 오브젝트 데이타 매니저(20)에 의해 관리되는 오브젝트 지향 데이타베이스(15)에 관련 방법(50) 및 장치 오브젝트(300,500)에 의해 높은 정도로 구동되는 적고, 간단한 프로그램이다. 구성 매니저(10)는 이것이 오브젝트(300,500)의 수집으로써 표시되는 시스템을 구성하기 위해 필요한 이벤트의 순차를 이해하는데 근거된 규칙이다. 덧붙혀, 구성 매니저(10)는 구성 정도에 관계된 오브젝트의 다른 형태의 종속성으로 인식하고 있다. 구성 매니저(10)를 다스리는 규칙은 규칙 오브젝트 종류(70)로 규정된다. 규칙은 config-rules 오브젝트 종류로 발견되며 오브젝트 지향 데이타베이스 능력을 제공하는 오브젝트 데이타 매니저(20)를 이용하여 억세스된다.
호출시에 구성 매니저(10)는, 제7도에서 config-rule 오브젝트 종류(70)를 개방하며, 어떤 순서 및 어떤 구성을 결정하도록 config-rule 오브젝트를 판독한다. config-rule은 이것의 처리 및 지시 수단에 의해 구성 매니저를 안내할 수 있는 일반적인 규칙을 제공한다. 게다가, config-rule은 정보의 다른 부분, 즉 IPL 이전 진단을 할 수 있으며, 특별한 장치가 구성될 필요성이 있는지 및 그들을 언제 구성할지, 사용자 확증없이 자동적으로 재원 대립을 해결하는 법을 포함할 것이다.(디폴트는 자동적으로 대립을 해결할 것이다.)
구성 매니저의 구성 규칙은 다음과 같다. Apex 규칙은 시스템상의 모든 장치가 제4b도에서 도시된 바와 같이 그래프 구조(400)의 소자로써 관찰될 수 있는 것을 구성 매니저에 알린다. 구성 매니저는 Apex로써 특별한 장치를 취하며 그래프에서 모든 장치를 구성하도록 그래프 구도의 하부를 통하여 진행한다.
순차 규칙은 다음과 같다. 실제 장치에 대한 트리 구조에 부가하여, 많은 노드의 클러스터가 존재한다. 각 노드형은 특별한 상관 관계로 일군의 논리적 장치이다. 예를 들면, 노드형은 HFT형,IF형,TCP형,PTY형 등이다. 이 규칙은 이들 노드형이 무엇인지 구성 매니저 및 이들 노드형 사이 우선 순차에 알린다. 구성 매니저는 노드형을 구성할시에 구성 매니저를 가르키는 충분히 수용된 정보가 존재 하지 않을 때 이 규칙을 참조한다. 노드형이 논리장치에 대해 존재할 경우 ; 구성 매니저는 항상 장치에 대해 접속 오브젝트 종류로 종속을 규정하도록 규정 방법을 시작한다. 순차 규칙은 어떤 장치가 IPL에 요구되며 어떤 순서로 구성 매니저에 알린다. 구성 매니저를 모든 실제 장치, 예를 들면 하드디스크, 플로디스크, LED, 키보드 등을 구성하도록 알리는 제1단계 순차 규칙이다. 베이스 장치는 시스템을 설치하는데 필수적인 장치이다. 구성하는 것은 이들 베이스 실제 장치에 대해 적당한 구동기를 핵심부내로 바인드하는 것을 의미한다.
제2단계 순차 규칙은 볼륨군,sys,다른 볼륨군,HFT,TCP/IP등을 구성토록 구성 매니저에 알린다. 이 규칙은 시스템에 있는 모든 볼륨군, 예를 들면 다중 물리적 디스크에서의 볼륨군을 구성한다. 볼륨군은 물리적 디스크를 관리하며, 그래서, 볼륨군은 물리적 엔티티이다. 시스템은 비 베이스 실제 장치, 예를 들면 프린트, 터미널 들을 포함한다. 다른 볼륨군은 마우스, 콘솔, 광펜 등을 관리하여 제어하는 논리 장치인 고 기능 터미널을 포함한다. 이들은 실제 장치이지만 그들은 HFT라 불리는 논리장치에 의해 모두 관리된다. 또한 토큰 링으로써 공지된 망에서 물리적 장치에 걸쳐 실행되는 TCP/IP와 같은 공지된 망에서 논리장치가 될 것이다. 일단 실제 장치가 구성되면, 물리적 장치를 제어하는 논리 장치가 구성될 것이다. 그러므로, 구성 매니저는 순차 규칙을 취하며 구성 가능한 노드의 다른 형태를 통해 통과한다. 그래서, 구성 매니저는 모든 구성 가능한 장치를 핵심부내로 동적으로 로드하며, 데이타베이스를 시스템의 현 상태를 반영하도록 갱신한다.
검증 규칙은 구성 매니저에 알리며 IPL이 종료되기 전에 프로그램 프로덕트 또는 장치를 검증하거나 진단 능력을 호출하는데 필요하다. 이 규칙은 진단 또는 검증 루틴을 호출하는지를 구성 매니저에 알린다.
합병(merge)규칙은 램 디스크상의 부트 이메지를 루트 화일 시스템과 합병하는지를 구성매니저에 알린다. NVRAM규칙은 수용된 장치 오브젝트를 NVRAM에서부터 로드하거나 시스템 구성을 스크래치로부터 시작하는 구성 매니저에 알린다.
제7도는 구성 오브젝트(70)를 설명한다. 오브젝트의 구성 규칙 세트는 규칙형(71),규칙값,IPL의 단계(73)를 포함한다. 순차(74)의 규칙 형태에 대해, IPL의 제1단계에서, 구성 매니저는 시스템 및 논리 볼륨매니저를 구성하도록 한다. 시스템은 물리적 엔티티이며, 논리 볼륨 매니저는 논리 엔티티이고, IPL의 제1단계에서, 구성 매니저는 규칙형 로드 NVRAM(75)에 따라 메모리내로 종래 IPL 및 NVRAM에서부터 임의의 구성 정도를 로드하도록 가정한다. 규칙 형태 합병(76)은 IPL의 제1단계 후에, 임의의 새로운 정보가 이전의 구성내로 합병되는 상태이다. 제1단계를 페이지 인 및 실제 동작 시스템을 실행하도록 최소의 오브젝트의 수를 구성한다. 제2단계가 발생되어 모든 다른 수용된 오브젝트를 구성한다. 그러므로, IPL의 제2단계에 대해 순차 규칙(77)에 목록된 더 많은 엔티티(72)가 존재한다. 이들은 루트 볼륨군, 즉, 디스크를 구성하며 시스템의 모든 물리적 장치, 논리 볼륨 매니저, 볼륨군의 논리적 엔티티, hft, 네트워크를 구성한다. 규칙 형태 검증(78)은 IPL의 제2단계의 종단에서, 구성 매니저는 소프트웨어(LPP,허여된 프로그램 프로덕트)가 양호하다는 것을 증명하며, 기계가 진단에 의해 양호하다는 것을 증명한다.
방법(60)(제1도)은 프로그램, 스크립트, 상태에 근거한 기능을 실행하는 처리들이다. 오브젝트 데이타 매니저(20)는 환경을 제공하여 하나 이상의 방법(60)이 구성 매니저에 의해 이경우에 요청될 때 특별한 기능적 동작을 실행하도록 호출될 것이다. 장치 오브젝트 종류(300)는 규정(61),구성(62),시작(63),정지 등과 같이 규정된 다수의 방법을 가진다. 각 방법서술에 대해서는 적당히 명명된 기능을 실행하는 코드, 예를 들면 구성 방법이 오브젝트의 구성 처리를 실행하는 코드이다. 방법은 이들의 호출부 오브젝트의 상태인 규정된, 구성된, 시작된 것을 나타낸다.
방법은 방법의 성공이나 실패를 나타내도록 0,-1중 하나로 복귀된다. 성공일시에, 방법은 stdout버퍼에 정보를 기록할 것이다. 실패가 발생할 때, 방법은 에러 조건을 기록하며 에러를 나타내도록 stderr버퍼에 코드한다. 예를 들면, 소정의 에러 코드가 성공에 대해서는 0일 것이며, 실패에 대해서 1이고, 진단 문제 즉, 실패에 대해서 2는 실패된 규정 코드이고, 실패에 대해 3은 실패된 규정 장치이다. 이들은 방법의 각 중간 단계에서부터 복귀되는 것으로써 이들 복귀 코드에 대해 검사되도록 호출자의 책임성 문제이다.
수용된 오브젝트 종류(500)(제5도)는 장치를 규정,구성,시작하도록 하는 그 방법을 이용한다. 일반적인 견지에서, 방법은 다음 기능으로 제공될 것이다.
규정 방법(61)은 적당한 오브젝트를 선정된 오브젝트 종류(300)(제3도)로부터 얻고 이것을 수용된 오브젝트 종류(500)(제5도)에 부가한다. 규정 방법에 대한 일반적인 규칙은 1) 만약 이것이 규정되지 않으며, 오브젝트를 부가하며, 디폴트세팅을 우선하도록 입력을 허용하며, 2) 만약 이것이 규정되면, 이것의 부속물을 변화토록 입력을 허락한다. 규정 방법은 수용된 장치(550)에서 규정되어진 세팅과 대립하지 않는 것을 보장하도록 그 특별한 종류 및 형태의 모든 장치에 검증 절차를 시작한다. 일반적으로, 규정 방법이 호출되는 때만이 수용된 오브젝트가 절대 존재하지 않을 때이며, 장치는 존재하는 시스템이 새로운 것을 발견할 것이다.
구성 방법(62)은 규정 장치 구조(DDS)(570)(제5도)를 검색하거나 설치해서 동작 시스템으로 동지된 특별한 장치를 만들것이며, 결속시켜 장치 구동기를 초기화하며, 수용된 오브젝트에서 구성 플레그를 세팅한다. 구성 방법의 부분으로써, 이것이 존재하지 않거나 정확하지 않으면 수용된 오브젝트 종류로 갱신할수 있는 특별한 하드웨어 데이타, 즉 일련의 수를 추출한다. 부착된 장치에 대해 질문하기에 앞서, 마이크로 코드는 장치내로 로드된다. 게다가, 구성 방법은 구성의 특별한 단계에 대해 적당한 코드로 LED를 갱신할 수 있다. 만약 장치가 새로운거나 미싱된 것중 하나이면, 구성 방법은 구성 변화를 표시하도록 config변화 플레그를 세트할 것이다. 멀티플렉서 장치에 대해, 구성 방법은 이에 부착되는 장치에 대해 장치를 요청할 것이며, 장치가 수용된 장치 오브젝트 종류(500)에서 이미 규정되어 지지 않았다면 이들 부착된 장치에 대해 규정 방법을 호출할 것이다.
변화 방법은 이것이 수용된 후 특별한 장치에 대해 변화를 만들 것이다. 장치에 따라서, 변화 방법은 이 기능을 실행토록 ioctl,명령어,방법(예를 들면,비구성,규정 및 구성)을 호출할 것이다.
시작 방법은 연관된 응용으로 통신 가능케하거나 서브 시스템을 제어하며, 수용된 오브젝트에서 시작 플레그를 세트한다.
비구성 방법은 장치가 구성되지 않는 것을 적당하게 나타내도록 config플레그를 세팅하며 핵심부로부터 장치 구동기를 언로스하는 것과 동작을 실행한다. 이경우에서 이것은 화일 시스템으로부터the/dev 엔트리의 제거를 더 요구한다. 이 방법은 구성이 변화되어지는 것을 알 때 진단에 의해 이용된다.
다른 방법은 정지 방법 및 비규정 방법을 포함한다. 정지 방법은 서브 시스템을 제어하거나 관련된 응용에 통신을 하지 못할 것이며, 장치에 대해 수용된 오브젝트에서 시작 플레그를 리세트한다. 비규정 방법은 장치를 수용된 오브젝트 종류로부터 삭제한다. 장치가 수용된 오브젝트 종류(500)에서 발견되어지지 않았다면, 이것은 시스템에 규정되지 않는다.
제6a 내지 f도를 참조하여, 상술 방법의 더 세부적 서술은 다음과 같다.
제6a도에서, 규정 방법(61)은 소정 장치에 대해 수용된 장치 오브젝트를 발생토록 호출한다. 장치 수용처리는 선정된 장치 오브젝트의 요구르 초래하며, 선정된 오브젝트에서부터 다른 것의 관련 정보를 추출하며, 추출된 특성과 수용된 오브젝트를 나타내는 특성 사이의 대립을 검출하고 해결하며, 발생되어 수용된 장치 오브젝트에서 결과 정보를 기억하는 것을 포함한다.
규정 방법은 유일하게 필수 정보를 장치 인스턴스에 유도하는 것을 포함한다. 소정의 이 필수 정보는 수용된 장치 오브젝트로 할당되어 명명된 장치 인스턴스의 논리명, 장치 특성 관련 접속 및 할당 정보이다.
규정 방법에 의해 추종된 단계는 제6a도에서 도시되어 있다. 스템(601)을 호출시에 규정 방법은 장치 서술(예를 들면, 장치 종류의 결합,장치 서브클래스,장치 형태) 또는 논리명으로 통과한다. 단계(602)에서 연관된 선정 장치 오브젝트로부터 규정 방법이 수용된 장치 오브젝트를 발생토록 호출되면, 장치 설명이 단계(607)에서 통과된다. 수용된 장치 오브젝트는 데이타베이스에서 발생되며 규정 방법이 수용된 장치 오브젝트 특성을 존재 변화토록 호출되면 논리명이 단계(603)에서 통과된다.
특별한 장치와 연관된 규정 방법은 장치 오브젝트의 특성이 선정된 데이타베이스에서부터 단계(608)에서 추출될 수 있는 것을 알 수 있으며, 상기 특성은 수용된 장치 오브젝트에 유리하게 단계(609)에서 유도될 것이다. 수용된 장치 오브젝트의 특성은 접속 및 장치 정보, 연관된 장치 구동 정보, 다른 조건에 따라 포함될 수 있다.
규정 방법은 호출기에서부터 특성명의 오브젝트 특성 값 쌍을 받아들여 사용자가 단계(604)에서 수용된 오브젝트에 대해 변화될 소정 특성들을 특징화할 것이다. 규정 방법은 단계(605)에서 특성 값에 공급된 호출자가 영역내에 있는지를 확인해야한다. 일반적인 저레벨 특성 확인 루틴은 규정 방법 확인 장치 오브젝트 특성에 도움을 준다. 특성 값 확인 처리는 소정 장치 특성에 대해 선정된 데이타베이스 하우징 유효 옵션으로 이들 오브젝트 종류를 논의할 필요가 있을 것이다.
단계(609)에서 수용된 장치 오브젝트의 유일한 특성을 구동할시 뿐 아니라 단계(605)에 공급된 특성 값을 호출자에 확인하는데 있어서, 규정 방법은 유도된 공급된 특성 값을 수용된 장치 오브젝트 표시와 대립하지 않는 것을 검증한다. 규정 방법은 특별한 특성이 다른 수용된 오브젝트아 대립하는 것을 알 수 있다. 실제 대립 검출 처리는 busresolve 및 attval과 같은 특별한 제레벨 명령어 또는 루틴에 의해 실행한다.
유도되어 공급된 특성 값이 다른 관련되어 수용된 장치 오브젝트와 대립을 초래하면, 그때 규정 방법은 단계(617)에서 두 선택을 제공하는데, 단계(612)에서 a) 적당한 에러 코드에 의해 대립의 특성을 다시 보고하며 호출자에 즉시 복귀하도록 하는 선택, 단계(613)에서 b) 대립을 실제로 해결하도록 하는 선택이다. 다시, 실제 대립 해결 처리는 특별한 저레벨 명령어 또는 루틴에 의해 실행될 것이다. 만약 특성에 대해 이용 가능한 알맞은 값이 존재하지 않는다면 대립 해결 처리가 실패할 것이다. 만약 대립 해결이 실패하면, 규정 방법은 적당한 에러 코드를 호출자에게 복귀한다.
규정 방법은 대립이 해결되어진 것을 나타내는 IPL/런타임 플레그를 허용하며, 따라서 대립 해결의 절차를 스킵하도록 한다. 이것은 버스 해결이 어댑터 사이의 대립을 하도록 버스 구성 방법에 의해 호출될 때 IPL동안 발생하며, 어댑터 규정 방법은 어댑터를 규정토록 호출된다.
상기 규정 방법은 단계(614)에서 대립 해결 처리의 성공적 완성 후에만 데이타베이스에서 수용된 장치 오브젝트를 수용한다. 수용된 장치 오브젝트의 상태 플레그는 단계(615)에서 오브젝트가 발생된 후 규정 방법에 의해 "규정된"상태로 세트된다.
규정 방법은 동일 접속 어드레스에 발생된 다중 장치 오브젝트를 허용토록 호출자에게 선택을 제공한다. 접속 어드레스는 장치가 접속되는 설명이다. 예를 들면, 사용자는 동일한 장치 접속 어드레스에 접속된 하나의 장치 오브젝트 이상을 규정할 것이며 그들중 하나만 구성한다. 물리적 장치에 대해서, 규정 방법은 관련 장치의 장치명을 받아들이며 수용된 데이타베이스에서 격납 정보를 발생한다. 논리 장치용 규정 방법은 수용된 데이타베이스로부터 그들의 종속성을 추론하고 적당한 논리 장치 인스턴스를 규정하여 유사한 추가적 특성을 제공한다. 논리 장치 인스턴스를 규정하여 유사한 추가적 특성을 제공한다. 논리 장치용 규정 방법은 IPL 시간에서 구성 매니저에 의해 항상 동작될 것이다. 규정 방법은 모든 이것의 종속성을 규정하며 그 장치 형채의 모든 인스턴스에 대해 접속 오브젝트 종류로 그들을 출력한다. 차후의 IPL에서 발견된 새로운 물리적 장치에 대해, 새로운 물리적 장치에 대한 새로운 논리 종속성은 규정 방법에 의해 부가된다. 게다가, 논리 장치 오브젝트는 수용된 데이타베이스에 규정된다.
제6b도에서의 구성 방법(62)은 3가지의 기본 기능을 실행토록 호출되는데, 먼저, 사용자가 장치 구동기를 통해 장치에 대화를 시작할 수 있도록 소정 장치와 연관된 장치 구동기를 준비하며, 두번째로, 장치에 관련된 정보를 추출하며, 세째 소정 장치에 종속하거나 부착된 구성될 장치의 한정을 준비하는 것이다.
장치 구동기 준비 처리를 다음 단계를 포함한다.
1) 구성될 소정의 장치에 DDS 구조를 구성시키는 단계. DDS(Define Device Structure)는 소정의 장치와 관련된 장치 구동기를 초기화시키도록 생성된 정보이다. 소정의 장치용 DDS는 주어진 장치에 의존하는 장치의 DDS와 소정 장치의 DDS를 연결시키므로써 내장될 수 있다.
2) 상기 장치와 관련된 장치 구동기에 대해 메이저와 마이너 장치 수를 할당시키는 단계.
3) 만약 이미 로드되어 있지 않은 경우 장치 구동기를 로드시키는 단계.
4) 특정한 장치의 인스턴스에 대해 적절한 DDS구조와 함께 장치 구동기를 초기화시키는 단계.
5) 필요하다면 특별한 화일로 또한 공지된 appropriate/dev 엔트리를 생성시키는 단계.
상기의 단계를 완료시킨 후에, 상기 장치는 장치 구덩기가 관련되는 한 준비할 수 있다.
만약 구성될 소정의 장치가 이러한 장치에 의종하거나 또는 부착된 다른 장치를 가지고 있다면 추가 단계는 소정의 장치에 실제로 부착된 장치의 한정을 준비하는 구성 방법에 의해 얻어진다. 준비 처리는 다음의 단계를 포함하고 있다. 즉, 1) 어떤 장치가 실제로 부착될 것인가에 관하여 소정 장치의 구동기를 경우하여 좌회하는 단계. 2) 적절한 규정 방법을 호출시켜 수용된 데이타베이스내에서 검출된 장치(이미 규정되지 않았을 때)를 규정하는 단계. 3) 어떤 장치가 주어진 장치에 의존하거나 부착되는지에 관하여 수용된 데이타베이스(예로,접속 오브젝트 종류)를 질의하는 단계. 4) 이미 규정되어 구성될 필요가 있는 장치의 리스트를 호출자(예로,구성 매니저)에 복귀시키는 단계를 포함한다.
제6b도를 참고로 하면, 구성 방법에 대한 단계는 아래와 같이 기술된다.
단계(620)에서 호출시, 구성 방법은 단계(621)에서 구성될 장치의 논리명과 함께 통과된다. 단계(622)에서 수용된 오브젝트가 소정의 논리명으로 데이타베이스에서 발견되지 않는다면, 단계(623)에서 이러한 방법은 실패하고 적절한 에러 코드를 복귀시키는 단계(624)로 진행된다. 만약 구성 방법이 호출되고 수용된 장치 오브젝트가 이미 "Configured"상태(단계 625)에 있으면, 상기 방법은 단계(626)에서 실제로 이미 핵심부에 구성된 장치의 실시예를 검증한다. 다른말로 하면, 이러한 방법은 단계(627)에서 구성될 필요가 있는 장치를 질의하여 복귀시킨다.
호출시, 구성 방법은 시스템이 IPL 단계 또는 실행 시간에 있음을 나타내는 플래그를 통과시킨다. 구성 방법은 단지 IPL 동안에 LEDS상의 검색 포인트를 구성 처리 장치에 디스플레이한다. 이러한 LEDS 디스플레이는 현재 장치가 구성되어 사용자와 대화하는데 사용되고, 시스템의 구성 상태를 사용자에게 보여주는데 사용된다.
상기 구성 방법은 소정의(장치가 상기 장치에 의존하거나 또는 부착된 장치(근본장치)가 "Configured"상태로 되고, 다른 장치는 같은 접속 어드레스용으로 구성되지 않음을 검증한다.
만약 장치가 관련된 장치 구동기를 가지면, 장치 구동기는 구성 방법에 의해 로드되고 초기화된다. 이러한 것은 또한 장치 구동기용 DDS구조를 얻는 구성 방법(단계 628)의 책임이다. 로드될(예를 들면, 장치 구동기형)장치 구동기는 수용된 장치 오브젝트에 기록된 정보를 추측한다. 만약 장치 구동기가 아직 로드되지 않았다면, 구성 방법은 sysconfig( )시스템 호출을 경우하여 장치 구동기를 로드한다. 단계(630)에서, 장치 구동기가 로드되면, 이제 구성 방법은 단계(631)에서 장치의 인스턴스를 위한 장치 구동기를 초기화시킨다. 상기 초기화는 sysconfig( )시스템 호출을 경우하여 다시 행하여진다. 장치 구동기를 초기화시키는 sysconfig( )를 호출하기 전에, 상기 구성은 단계(629)에서 장치의 인스턴스와 관련될 메이저와 마이너 장치 수를 발생시킨다. 메이저와 마이너 장치 수는 구성 데이타베이스에 유지되어 IPLS 양단에 보존될 수 있다. 일반적인 저레벨 루틴은 장치 구동기 인스텐스를 위한 유효의 메이저 잔치 수를 얻는데 이용될 수 있다. 다른 일반적 저레벨 루틴은 또한 장치 구동기 인스턴스하에서 다음의 이용 가능한 마이너 수를 발생시키기 위해 이용될 수 있다.
만약 특별한 마이너 수 발생 루틴이 장치용으로 필요하게 되면, 구성 방법은 적절한 장치의 특정한 마이너 수 발생 루틴을 호출한다. 장치의 인스턴스에 대한 구동기를 초기화 sysconfig( )를 호출하기 위해, 상기 구성 방법은 장치의 인스턴스와 그 DDS구조에 관련된 메이저와 마아너 수를 통과시킨다.
상기 구성 방법은 장치 구동기와 관련된 구성된 인스턴스의 카운트를 유지한다. 만약 카운트가 선정된 제한 값보다 더 크면, 구성은 실패하며 적절한 에러 코드는 복귀된다. 여기서 주목해야 할 것은 장치 구동기가 로드되고 언로드될 때의 인디케이터로서 이러한 카운트가 사용될 수 있다는 것이다.
다음은 단계(631)에서, 장치 구동기 초기화 처리 동안 성취된다. 장치 구동기 인스턴스 공급된 DDS구조로 초기화된다. 만약 장치가 다운로드(download)될 마이크로 코드(microcode)를 필요로 하면, 장치 초기화 루틴은 DDS에 기록된 마이크로 코드 경로명을 사용하여 마이크로 코드를 다운로드시킨다. 만약 장치가 버퍼 풀(pool)(즉, 통신 어댑터에 의해 요구된)의 할당을 하면 장치 초기화 루틴은 할당을 실행한다.
구성 방법은 연속적으로 단계(632)에서 장치 구동기를 초기화시킨 후에, 수용된 장치 오브젝트의 상태 프랠그를 "구성된 것"으로 세트시킨다. 구성 방법은 단계(633)에서 구성된 장치와 관련된 in/dev에 필요한 특별한 화일 엔트리(어떤 경우)를 생성시킨다. 장치에 특정한 in/dev엔트리를 명명하기 위해 사용된 특별한 규정은 공지되어 상기 구성 방법에 의해 사용된다. 여기서 주목해야 할 것은 모든 장치가 특별한 화일 엔트리 in/dev생성을 요구하는 구성을 주지 않는다는 것이다. 또한 어떤 장치는 다중 엔트리 in/dev생성을 필요로 한다는 것을 주목해야 한다. 이러한 것은 엔트리 포인트의 다른 세트를 처리하는, 플로피 디스켓 구동기와 같은 장치에 적용된다.
단계(634)에서 멀티플렉서 장치를 구성할 때, 구성 방법은 실제로 멀티플렉서 장치에 부착된 장치의 한정(definition)을 준비한다. 이러한 준비 처리는 단지 멀티플렉서 장치용으로 요구되고 상기 장치의 관련 장치 구동기는 장치가 실제로 부착되는 것은 질의하는 능력(capability)을 가진다. 이러한 준비 처리는 멀티플렉서 장치가 초기화되고 그 장치의 마이크로 코드(어떤 경우)가 다운로드된 후에만 실행된다. 실제로 멀티플렉서 또는 장치에 부착된 것을 질의하기 위해, 구성 방법은 관련된 장치 구동기의 ioctl 서비스를 이용한다. 단계(635)에서 식별될 수 있는 검출된 장치에 대해서, 구성 방법은 적절한 규정 방법을 호출하여 이득 검출된 장치는 단계(636)에서 데이타베이스에 규정된다. 만약 부착된 장치가 자체 식별(self-indentifying)되면, 구성 방법은 수용된 장치 오브젝트에 기록된 장치와 실제 장치간에 식별 매치가 있는지의 여부를 검증한다. 구성 방법은 주위에 셔플된 장치의 상황을 해결하기 위해 시도하고, 수용된 데이타 베이스와 실제 장치 사이에 어떤 미스 매치(mismatch)를 나타내기 위해 시도된다.
상기 구성 방법은 수용된 데이타베이스를 질의하여 호출자(구성 매니저 또는 고레벨 명령어)에게 장치의 리스트를 복귀시키고 이러한 장치의 구성 방법은 단계(637)에서, 동작될 필요성이 있다. 이러한 것은 이러한 장치에 대해 구성 방법을 호출시키는 방법과 때를 결정하는 구성 매니저와 고레벨 명령어의 책임이다. 예를 들면, 구성 매니저는 hft와 tr(토큰 링 IF)와 같은 의사(pseudo) 장치용의 구성 방법을 호출할 때는 아는 수용된 접속 오브젝트로 설명될 수 있다. 논리 장치용 구성 방법은 종속 맵을 시험하고 그후 실제로 구성되었던 의존 오브젝트에 대한 수용된 오브젝트를 시험한다. 따라서 상기 구성 방법은 종속 장치가 충분히 구성되어 있는지의 여부를 결정한다. 논리 장치용 구성 방법은 접속 오브젝트 종류를 기초로 그에 다라 장치를 복귀시킨다.
시작 방법은 상기 장치가 그들을 제어하기 위해 이용될 수 있는 응용 또는 제어 서브 시스템과 통신하도록 호출된다. 이러한 방법은 다중 제어 처리 서브 시스템 또는 응용을 알리는 단계를 보유하고 있다. 장치 구동기가 관련되는 한, 장치는 관련된 구성 방법을 통하여 이러한 장치가 구성된 후 사용될 수 있음을 알 수 있다. 시작 방법의 규정은 응용 처리가 장치를 사용하여 시작할 수 있도록 필요한 특별 단계를 수행하기 위함이다. 응용 처리용 장치를 동작시키는데 필요한 특별한 단계는 하나의 장치 형태로부터 다른 장치형까지 변화할 수 있다. 예를 들면, TCP/IP inet의 인스턴스를 구성한 후에, 시작 방법은 호스트명, 루트, inconfig 명령을 호출하여 루트 정보를 초기화시키고 네트워크 인터페이스를 호출할 수 있다.
시작 방법(63)은 제6c도를 참고로 하여 기술된다. 시작 방법은 응용 또는 서브 시스템에 사용하기 위해 공지되고 이용된 장치를 만들기 위해 수행될 특별한 단계를 알고 있다. 이용할 때마다, 표시 명령은 응용 처리에 의해 사용하기 위한 장치를 준비하는데 필요한 하는 특별한 단계를 수행하도록 호출된다. 호출될때, 단계(680)에서, 시작 방법은 다른 것들 즉, 단계(681)에서 시작될 장치의 논리명에 따라 통과하게 된다. 단계(682)에서, 수용된 장치 오브젝트가 주어진 논리명과 함께 발견되지 않으면, 그때 시작 방법은 단계(638)에서 실패한다. 만약 수용된 장치 오브젝트가 발견되지만 "Configured" 상태에 있지 않다면, 즉, 단계(684), 시작 방법은 또한 단계(685)에서 실패한다. 시작 방법이 성공하면, 이러한 방법은 단계(686)에서 수용된 장치 오브젝트의 상태 플래그를 "started"로 세트시킨다. 만약 성공하지 못하면, 상태 플래그는 변하지 않는다 "started"상태에서 장치는 수행되어온 응용 처리를 위해 준비하는데 요구된 특별한 단계가 수행되고 있음을 의미한다. 몇가지 이유에 대해 시작될 장치가 온라인상에 있지 않으면, 시작 방법은 실패하고 적절한 에러 코드로 복귀된다. 주위 : 통상적으로 물리적 장치는 시작과 정지 방법을 가지고 있지 않다.
제6d도에서, 정지 방법(64)은 대응하는 장치 방법에 의해 수행된 일련의 동작을 원 상태로 돌리도록 호출된다. 예를 들면, TCP/IP inet 인스턴스를 정지시킴에 있어서, 정지 방법은 메시지를 TCP/IP세션을 종료시키는 사용자에게 보내고, 네트워크 인터페이스 기능을 억제하도록 ifconfig 명령을 호출한다. 정지된 장치의 장치 구동기가 관련되는 한, 이러한 장치는 직접 장치 구동기 엔트리 포인트를 호출함으로써 아마 계속 사용될 수 있을 것이다. 그러나, 장치는 시작될 장치를 필요로 하는 이러한 응용 또는 서브 시스템에 이용될 수 없다.
정지 방법에 대한 단계는 다음과 같다. 정지 방법은 대응하는 시작 방법에 의해 수행된 일련의 단계를 원상태로 돌리는데 필요한 단계를 알고 있다. 그 자신의 일련의 동작을 수행한 후에, 정지 방법은 단계(647)에서 서브 시스템 또는 관련된 응용에 이러한 장치를 이용하지 못하게 한다. 이용될 때마다, 존재하는 명령어는 응용처리에 의한 다른 사용을 위해 장치를 정지시키도록 호출된다. 단계(641)에서 호출될 때, 정지 방법은 다른 논리명, 즉, 단계(642)에서 정지될 장치의 논리명을 통과시킨다. 수용된 장치 오브젝트가 소정의 논리명으로 단계(643)에서 발견되지 않으면, 정지 방법은 단계(644)에서 실패한다. 만약 수용된 장치 오브젝트가 발견되지만, "started"상태로 단계(645)에서 존재하지 않으면, 정지 방법은 또한 단계(646)에서 실패하게 된다. 만약 정지 방법이 성공되면, 이러한 방법은 수용된 장치 오브젝트의 상태 플래그를 "Configured"로 단계(648)에서 세트시킨다. 성공하지 못하면, 상태 플래그는 변화되지 않는다.
제6e도에서, 비구성 방법은 장치 구동기상에서 구성방법(62)에 의해 수행된 단계를 원 상태로 돌리도록 호출된다. 장치 구동기 비구성 단계는 다음을 포함하고 있다. 즉, 1) 장치 구동기로부터 장치 인스턴스를 종료시키는 단계, 2) 핵심부로부터 장치 구동기를 비로드시키는 단계(필요하면), 3) 다수 및 소수 장치 번호를 해제시키는 단계와 적절한/dev엔트리를 삭제시키는 단계, 장치를 비구성시키는 것은 시스템에서 더이상 장치가 사용될 수 없음을 의미하는 것이다.
제6e도는 참고로할 때, 비구성 방법에 대한 단계는 다음과 같다. 단계(651)에서, 호출될때, 비구성 방법은 단계(652)에서 비구성될 장치의 논리명을 통과시킨다. 단계(653)에서, 만약 소정의 논리명과 관련된 수용된 장치 오브젝트가 데이타 베이스에서 발견되지 않으면, 그때 단계(654)에서 비구성 방법은 실패하게 된다. 만약 수용된 장치 오브젝트가 발견되지만 "구성된" 상태(655)에 존재하지 않게 도면 비구성 방법도 또한 단계(656)에서 실패하게 된다. 실패하자마자, 이러한 방법은 적절한 에러 코드를 복귀시킨다.
비구성 방법은 단계(657)에서, 장치 구동기로부터 장치 인스턴스를 종료시키도록 sysconfig( ) 시스템을 호출한다. 구성 방법은 장치 구동기와 관련되어 구성된 인스턴스의 카운트를 감소시킨다. 인스턴스 카운터가 제로에 도달할 때, 비구성 방법은 단계(658)에서 sysconfig( )시스템 호출을 호출함으로써 핵심부로부터 장치 구동기 코드를 비로드시킨다. 장치 인스턴스가 성공적으로 종료되면, 장치의 특성에 따라, 비구성 방법은 단계(659)에서 장치에 할당된 마이너 장치 수를 해제시킨다. 마이너 장치 수가 해제될 때, 비구성 방법은 단계(660)에서 장치 인스턴스와 관련된 특별한 화일 엔트리를 in/dev에서 제거시킨다.
일반적으로, 하나 이상의 특별한 화일 엔트리(장치에 의해 제공된 엔트리 포인트의 세트에 의존)는 상기 장치와 관련될 수 있다. 만약 이러한 것이 장치 구동기에 대한 최종 장치 인스턴스이면, 장치의 특성에 의해, 단계(661)에서 비구성 방법은 단계(662)에서 장치에 할당된 매이저 장치 수를 해제시킬 수 있다. 매이저 장치수가 해제될 때, 비구성 방법은 단계(633)에서 장치 구동기와 관련된 특별한 화일 엔트리의 모든 것을 in/dev에서 제거시킨다. 여기서 주목해야 할 것은 만약 매이저 또는 마이너 장치 수가 해제되지 않으면, 그때, 장치는 다음에 구성될 때와 같은 장치를 얻게 될 것이라는 것이다. 비구성 방법은 비구성된 장치와 관련된 수용된 장치 오브젝트의 상태 플래그를 다시 단계(664)에서 규정된 것으로 세트시킨다.
제6f도에서 비규정 방법(66)은 수용된 장치 오브젝트와 데이타베이스에 기억된 소정 장치의 관련된 오브젝트를 삭제하도록 호출된다. 수용된 데이타베이스에서 규정되지 않은 장치는 더이상 시스템에 알려지지 않는다. 비규정 방법에 대한 단계는 다음과 같다. 단계(670)에서 호출될 때, 비규정 방법은 단계(671)에서 비규정될 장치의 논리명을 통과시킨다. 만약 단계(672)에서 소정의 논리명을 가진 수용된 장치 오브젝트가 발견되지 않으면 비규정 방법은 단계(673)에서 실패하게 된다. 만약 수용된 장치 오브젝트가 발견되어 단계(675)에서 "defined" 상태가 아니라면, 상기 비규정 방법도 또한 실패하게 된다. 실패하자마자, 적절한 에로 코드가 단계(674)에서 복귀된다. 비규정 방법은 가령 DDS구조, 접속 오브젝트 부수물 오브젝트, /dev 엔트리 등과같은 관련 정보와 함께 단계(676)에서 수용된 장치 오브젝트를 삭제한다. 만약 이러한 것이 장치 구동기에 대한 최종 장치 인스턴스이면, 매이저 장치 수는 해제된다.
제8도는 오브젝트가 호출된 방법을 기초로 한 다른 상태를 통하여 어떻게 가는지를 나타내는 상태 전이 다이어그램이다. 규정 방법(61)이 호출될 때, 상기 오브젝트는 규정 상태(161)에 있다. 규정 방법(62)은 구성된 상태(162)로 오브젝트를 노출시키도록 호출된다. 구성된 상태(162)로부터 시작 상태(163)로 가기 위해, 시작 방법(63)이 호출된다. 시작된 상태(163)에서 다시 구성된 상태(162)로 가기 위해서, 정지 방법(64)이 호출된다. 규정된 상태(161)로 다시 가기 위해서, 비구성 방법(65)이 호출된다. 데이타베이스의 존재로부터 오브젝트를 제거하기 위해서, 비규정 방법(66)이 호출된다. 제8도는 구성 상태에서 오브젝트를 효과적으로 유지하고 있지만 부속물을 변경시키는 오브젝트(67)를 재구성하는 것을 어드레스한 것이다.
상기의 방법은 물리적 장치와 논리 장치 둘다의 구성에 사용된다. 상기의 방법은 또한 버스와 같은 실제 장치의 구성을 참고로 하여 기술될 것이며, 여기서 멀티플렉서 장치로서 간주된다. 개념적으로 버스 구성은 데이타베이스에서 적절한 버스의 수용된 오브젝트를 규정하고 실제로 버스에 부착된 것을 검출하며, 어댑터 부속물 사이에서 대립을 해결하는 것을 의미하는 것이다. 버스 장치 방법은 다음과 같다.
버스 규정 방법은 단순하게 구성 데이타베이스에서 오브젝트의 선정된 세트로부터 수용된 버스 장치 오브젝트를 초래한다. 수용된 어댑터 장치 오브젝트가 데이타베이스에서 발생되기 전에 어댑터용 접속 포인트를 제공하는 버스 오브젝트가 규정된다.
상기 버스 구성 방법은 버스를 조사하고, 어떤 어댑터 카드가 슬롯에 부착되었는지를 검출하고, 어댑터 리소스 사이에서 대립을 해결한다. 이러한 방법은 IPL 위상 (1) 동안에 모든 베이스 어댑터와 IPL 위상(2)동안에 모든 다른 어댑터를 구성한다.
버스를 조사하기 위해서, 고레벨 명령어인 "busquery"가 호출된다. 명령어인 "busquery"는 실제로 버스에 부착된 어댑터 카드를 식별하는 장치(ids)의 리스트를 복귀시킨다. 또한, 각각의 어댑터 카드의 슬롯 번호가 복귀된다. 어댑터 카드(ids)의 리스트는 그후 데이타베이스에서 수용된 어댑터 오브젝트를 갱신하도록 버스 구성 방법에 의해 사용된다. 버스 구성 방법은 다음의 규칙을 준수한다. 1) 버스 구성 방법은 보통 IPL동안에 구성 매니저에 의해 호출된다. 2) 버스 구성 방법은 선정된 구성 데이타베이스에서 접합기 오브젝트를 추출하는 접합 카드(id)를 사용한다. 3) NIO(원래의 I/O) 및 확장 어댑터 카드와 같이, 버스 확장되는 각 어댑터 카드에 대하여, 버스 구성 방법은 이들 버스 확장 어댑터 카드에 부착된 모든 어댑터를 검출해야 한다. 4) 검출된 모든 어댑터에 대하여, 버스 구성 방법은 그의 오브젝트물을 인출하여 메모리내에 작업형 판(working templete)을 형성시키며, 그리고 접합기 사이에 대립을 해결하도록 busresolve 명령을 찾는다. 대립이 방지되었을 경우 어댑터 방법은 구성 데이타베이스를 갱신하는 데이 이용된다. 이 경우에 규정 방법은 대립이 해결됨을 표지하도록 IPL플래그로 통과될 수 있다. 5) 각 접합기 오브젝트 대하여 버스 구성 방법은 IPL사이의 임의 변화를 반영하도록 "미싱", "신규" 또는 "동일"중 하나로 플래그하여야만 한다. 6) 버스 구성 방법은 그의 호출자, 구성 매니저, 구성될 필요가 있는 어댑터의 리스트로 복귀시킨다.
버스 비규정 방법은 간단하게 구성 데이타베이스내의 수용(customized)된 버스 오브젝트를 삭제한다. 이런 방법은 구성된 어댑터가 삭제와 동시에 버스에 부착되는 경우에 실패한다.
"Busquery" : 이런 기능은 장치-조정 저-레벨 버스 명령으로 캡슐된다. 이런 명령은 어떤 어댑터 카드가 현재 부착되는지를 결정하도록 버스상의 각 슬롯을 체크한다. 무엇이 슬롯에 부착되는지를 결정하기 위하여, 적절한 질의 호출은 머신 장치 구동기에 표시된다. 각 슬롯에 대하여, 이런 명령은 부착된 어댑터 카드형을 식별하게 id를 복귀시킨다. 이런 명령의 호출자는 부착된 어댑터를 찾도록 복귀된 id를 이용한다.
"Busresolve" : 이것은 버스내의 대립을 해결하도록 저-레벨 버스 명령으로 캡슐된다. 이런 저-레벨 명령문은 부속물에서 어댑터 사이의 대립을 검출하여 해결하는 버스 구성 방법 및 어댑터 규정 방법에 의해 정상적으로 호출된다. 대립 해결시에, 이런 명령은 베이스 장치 및 사용자의 바람직한 부수물을 고려해야 한다. 베이스 장치로서 표시된 어댑터는 넌-베이스 접합기에 우선한다. 저-레벨 명령은 아래와 같은 서로 다른 선택으로 호출된다. 1) 어댑터 대립이 검출되면, 실패할 명령의 안내. 이런 명령은 실패할 경우에 적당한 에러 코드를 호출자로 복귀시킨다. 대립이 검출될 경우에 대립을 해결할 명령의 안내. 이것이 성공적일시에, 이런 명령은 대립 리졸루션(resolution)의 결과로서 각 어댑터에 할당된 신규 부속물을 기록하도록 데이타 베이스를 갱신한다. 이것이 실패할 경우에, 상기 명령은 적당한 에러 코드를 호출자에게 복귀시킨다.
버스 구성 방법에 의해 이용된 두 저-레벨 장치 명령문/루틴은 "busquery" 및 "busresolve"명령이다. 일반적으로, 저-레벨 장치 명령/루틴들은 장치 구성 처리로 기본적인 특정 기능 및 시스템 레벨 서비스를 수행시킨다. 각 방법에 대해, 특정 명령문의 세트는 캡슐되며, 특정 장치일 수 있다. 방법에 의해 이용된 명령/인터페이스는 저-레벨 명령문/루틴으로서 설명된다. 어떤 부가적인 저-레벨 장치 명령/루틴들은 아래와 같이 기술된다. 일반적인 저-레벨 루틴 "ddsbuild"은 장치 의존 구조(DDS) 정보를 구성한다. 수용된 장치 오브젝트 및 부속물 리스트가 주어져, 이런 루틴은 데이타베이스내에 저장된 DDS형 정보를 이용하며, 장치에 대해 적절하고 DDS구조를 형성한다. 형성된 DDS구조(570)는 제5도에 도시된 바와 같이 데이타베이스내에 또한 기억된다. DDS형 정보는 데이타베이스내에 특정 오브젝트 종류로 기억된다. 현 오브젝트 종류는 각 단일한 DDS형에 대해 지정된다. 각 장치 오브젝트는 DDS형 오브젝트 종류의 명령과 관련되어 있다.
일반적인 저-레벨 루틴 "ddsbuild"은 장치 의존 구조(DDS) 정보를 구성한다. 수용된 장치 오브젝트 및 부속물 리스트가 주어져, 이런 루틴은 데이타베이스내에 저장된 DDS형 정보를 이용하며, 장치에 대해 적절하고 DDS구조를 형성한다. 형성된 DDS구조(570)는 제5도에 도시된 바와 같이 데이타베이스에 또한 기억된다. DDS형 정보는 데이타베이스내에 특정 오브젝트 종류로 기억된다. 한 오브젝트 종류는 각 단일한 DDS형에 대해 지정된다. 각 장치 오브젝트는 DDS형 오브젝트 종류의 명칭과 관련되어 있다.
일반적인 저-레벨 루틴"ddsjoin"은 소정의 장치가 의존하는 장치의 DDS로 소정의 장치의 DDS에 연결한다. 결과로 생기는 DDS는 그때 소정의 장치의 움직임에 영향을 주는 통상적인 장치로부터 정보를 갖는다.
일반적인 저-레벨 루틴 "genmainor"은 소정의 장치 인스턴스에 유효한 주요 장치의 수를 할당한다. 매장치 구동기 인스턴스는 관련된 주요 장치 번호를 갖는다. 장치 인스턴스가 관련된 장치 구동기 인스턴스에 대해 가장 첫째의 인스턴스일시에, 이런 루틴은 장치에 대한 주요 장치 수로서 가장 적은 이용 가능한 수를 할당한다. 장치 인스턴스가 장치 구동기 인스턴스에 대해 첫째의 인스턴스가 아닐시에, 이런 루틴은 관련된 장치 구동기의 주요 장치 수를 복귀시킨다.
일반적인 저-레벨 루틴 "genmajor"은 마이너 장치 수를 발생하도록 장치 인스턴스에 대한 구성 방법에 의해 호출된다. 장치 구동기 인스턴스와 관련된 모든 장치 인스턴스는 단일한 마이너 장치 수를 갖는다. 단일한 마이너 장치 수를 갖기 위하여, genminor는 소정의 장치 구동기 인스턴스와 관련된 모든 수용된 장치 오브젝트를 수용된 데이타베이스로부터 인출한다. 소정의 장치 구동기 인스턴스내의 가장 작은 가능한(정수) 사용되지 않는 소수의 수는 복귀된다. 구성 방법은 이런 일반적인 저-레베 루틴을 사용하는 대신에 장치 인스턴스에 대한(메이저) 마이너 장치 수를 초래하는 특정 방법을 갖는다. 이런 특정 케이스의 구성 방법은 그의 자체 장치-특정 마이너 장치 수 발생 루틴을 호출한다.
일반적인 저-레벨 루틴 "attrval"은 소정의 부속물 값이 범위내에 있을 여부를 확인하는 고레벨 프로그램뿐만 아니라 방법에 의해 호출된다. 부속물 값을 확인할 수 있게 하기 위하여, "attrval"은 장치 오브젝트, 부속물 명칭 및 부속물 값이 주어진다. "attrval" 루틴은 선정된 데이타베이스내에 부속물의 규정된 선택(즉, 유효범위)을 인출할 수 있다. 선정된 옵션은 그때 소정의 부속물 값이 허용된 범위내에 있는지를 검색할 "attrval"에 의해 설명된다.
전술된 저-레벨 명령/루틴들은 일반적인 명령/루틴들이다. 아래에 기술된 저-레벨 명령/루틴은 특정 장치이다.
tty포트를 구성할 저-레벨 장치 명령은 tty부분이 tty, 프린터, 모뎀, 플룻터 또는 다른 적렬 장치로서 구성될시에 방법에 의해 호출된다. 이런 명령은 부분 오브젝트 종류내의 정보를 변화시킨다. 이런부분 오브젝트 종류는 모든 시스템 터미널부분의 명칭 및 특성을 포함한다. "getty"처리는 정보의 주요한 사용자이다. 포트에 가산하기 위하여, 신규 장치 명칭, 보정 속도, 터미널 모델, 패리티, 로진 모드, 인에이블/디스 에이블 상태, 원결 플래그 및 다른 관련된 변소를 포함하는 엔트리는 부분 오브젝트 종류내에서 발생된다. 부분을 변화시키기 위하여, 포트 오브젝트 종류내의 대응 엔트리는 갱신되어야만 한다. 포트를 삭제하기 위하여, 포트 오브젝트 종류로부터의 대응 엔트리를 제거할 수단이 갱신된다.
저레벨 명령은 의사-터미널을 가산/삭제할시에 의사-터미널에 대해 구성 및 비구성 방법에 의해 호출된다. 매 의사-터미널에 대해 한쌍의 관련된 가상 장치, 즉 pts 및 ptc가 존재한다. 대부분의 장치 부속물은 pts에 대해 규정된다. 이런 명령문은 pts로부터 대응 ptc장치를 발생하여 피어(peer) pts가 구성될 때마다 ptc장치가 구성되게 한다.
tty포트를 인에이블/디스에이블하는 저-레벨 명령은 보통은 시작 및 정지 방법에 의해 호출된다. 이런 명령은 시스템 로진 처리에 이용하거나 이용 불가능 tty부분을 형성시킨다. 그의 입력 파라미터는 인에이블되거나 디스에이블될 수 있는 부분의 논리 장치명이다. 포트를 디스에이블할시에, 이런 명령문(로거가 동작 중일시에 조차) 지정된 부분상에서 가능하는 로거를 정지시킴으로서, 그에 의해 다른 로진에 대해 이용 불가능한 부분을 형성한다.
어떤 다른 저-레벨 명령은 아래와 같다.
복원-베이스 유틸리티(utility)는 NMI를 통해 NVRAM을 판독하고, 베이스 수용 정보를 언팩(unpack)하며, 그리고 그것을 수용 및 콘테이너 오브젝트로서 RAM내의 부트(boot) 화일 시스템으로 적재한다. 복원-베이스 명령은 통상의 설비이고 ODM오브젝트 종류를 판독하는 ODMpack 설비를 이용하며 표준 포맷의 오브젝트를 팩(pack)하고, 명령문 라인상에 지정된 타켓으로 판독한다.
세이브-베이스 유틸리티는 베이스 수용 정보(수용 및 콘테이너)의 내용을 취하여, 팩하고, 이것을 NMI를 이용하여 NVRAM으로 덤프시킨다. 세이브-베이스 명령은 통상의 설비이고 패킷 오브젝트를 판독하는 ODMupack 시설물을 이용하며, ODM구조의 현재 버젼(version)으로 그들을 언팩시킨다.
(BootBuild와 같은) MKboot는 the/dev/RAMdisk까지 개방하여, 그의 내용물을 부트 논리 볼륨에 카피하는 유틸리티이다.
어댑터에 공급된 ADF파일을 판독하는 ADFformat 명령은 ODM포맷으로 변환된다. 타켓은 명령 라인상에 공급되고 통상적으로 이것은 선정된 오브젝트 종류이다.
Mkiplist 명령문은 머신 부트일시에 ROS에 의해 보여진 IPL장치의 리스트를 사용자가 변경하는 것을 허용한다. 이것은 NVRAM의 하드웨어부를 실행시킨다.
loadRV 명령문은 입력 장치를 판독하고, NMI 내지 NVRAM을 통해 기록함으로써 장치 구동기를 NVRAM의 소프트웨어부로 적재시킨다.
Quser 명령은 열 장치 매니저에 의해 소유된 재원이 사용중인지 여부를 결정하고 그런 경우 그것을 이용한 피드(pid)를 복귀시킨다. 구성 매니저는 구성 처리 자체를 거의 알지 못한다. 이것은 그의 최초 구성 법칙을 간단히 성취하여, 그때 구성 모드에 따라 처리한다. 게다가, 구성 매니저는 하드웨어와 무관하다. 구성 매니저는 아래와 같은 식으로 처리한다.
먼저, config-rule 오브젝트 종류로부터 시작 장치를 성취하여, 적당한 방법을 호출한다. 일반적으로, 이것은 시스템 오브젝트에 대한 방법을 수행한다는 것을 의미한다. 멀티플렉서 장치 오브젝트를 성취하여 그의 구성 방법을 호출하므로써 발견된 각 멀티플렉서에 대해, 아래와 같은 구성 방법의 단계가 반복된다 : 즉, LED 적재 단계, DDS 성취 단계, (응용 가능한 경우) 저-레벨 장치 명령 실행 단계, 장치 구동기 바인드 단계, (필요하다면) dev/entry 형성 단계, 장치 구동기 초기화 단계, (필요하다면) 마이크로 코드 하향 적재 단계, 장치-특성 정보 수집 단계, 수용 세트의 오브젝트 갱신 단계, 부착된(터미널) 장치에 대한 질의 단계 및 장치가 이미 수용될 것으로 알려지지 않을 경우에 알려진 각 부착된(터미널) 장치에 대한 규정 방법을 호출하는 단계를 반복한다. 터미널 장치 오브젝트를 성취하여, 그의 구성 방법을 호출함으로써 알려진 각 터미널 장치에 대해 구성 단계중 아래 단계가 반복된다 : 즉, LED 적재 단계, DDS 성취단계,(응용가능할 경우) 저-레벨 장치 명령 실행 단계, 장치 구동기 바인드 단계, (필요하다면)dev entry 형성 단계, 장치, 구동기 초기화 단계, 장치-특정 정보 수집 단계 및 오브젝트의 수용 세트내의 소정의 장치 구성 정보 갱신 단계를 반복한다. 따라서 구성 매니저는 아직 구성되지 않은 소정의 장치를 구성한다.
아래의 가이드 라인은 IPL 동안에 구성 매니저에 의해 관찰된다. 구성 매니저가 호출된 후에 수행하는 제1동작은 데이타베이스로부터 구성 규칙을 검색한다. 구성 매니저에 의해 수행된 동작은 상기 규칙으로부터 추론할 수 있다. 상기 구성은 순차적으로 구성될 필요가 있는 모든 장치를 구성한다. 장치 구성의 정확한 순차는 구성 규칙, 장치 연결성 및 데이타 베이스내에 기록된 장치 부속물에 의해 표시된다. 구성 매니저 호출시 적당한 플래그는 IPL의 제1단계 또는 IPL의 제2단계 동안에 호출되는 여부를 구성 매니저에게 지시하게 된다. IPL의 제1단계 동안에 호출될시에, 구성 매니저는 최소 세트의 베이스 장치를 구성한다. 베이스 시스템은 루트 화일 시스템을 포함한다. 최소 베이스 시스템을 구성하기 위해서는, 구성 매니저가 다음의 정보셋에 의해 제한된다. 즉, 1) RAM의 부트 정보로부터 로드될 가능한 베이스 장치에 대해 선정된 장치 오브젝트, 2) NVRAM으로부터 로드 및 언팩크된(unpacked) 베이스 장치에 대해 수용된 장치 오브젝트를 제한한다. 국부 NVRAM의 부재에 있어서, 베이스 수용된 장치 오브젝트는 여러 소스로부터 얻을 수 있는데, 1) 부트 장치에 수용된 오브젝트를 기억하는 것을 질문하는 부트 정보, 2) 네트워크 양단의 NVRAM 서버(server), 3) 시스템내의 IPL사이에서 내용을 유지하는 메모리인 등가의 NVRAM에서 얻을 수 있다. 베이스 수용된 장치 오브젝트가 NVRAM에서(예를 들면 가장 첫째의 IPL에서) 발견되지 않을 때, 그때 구성 매니저는 부트 정보를 얻을 수 있는 베이스 장치에 대해 선정된 장치 오브젝트에 근거하여 완전한 베이스 시스템을 구성한다. 이 구성 매니저는 임의 베이스 장치가 IPL처리 동안 변경되면 NVRAM을 갱신한다.
제2a도는 IPL 및 구성 프로세스를 도시한 흐름도이다. 첫째로, 단계(201)에서는 장치(machine)에 전원을 공급한다. 단계(202)에서, 부트 스트랩(Bootstrap) 프로그램은 비휘발성 램(NVRAM) 또는 RAM으로 부터 유효 IPL 장치 셋을 판독하여, 디스크, 디스켓, 지역 통신망(LAN) 등과 같은 적당한 IPL장치로부터 핵심부를 부트(boot)한다. 이 단계는 부트 정보(예를 들면, 핵심부, 결함 제거기(debugger), 부트 FS 등)를 RAM에 로딩하는 것을 포함한다. 이 시점에서, 부트 화일 시스템은 단지 선정된 오브젝트를 포함한다. 다음에, 단계(203)에서는 핵심부를 실행한다. 이 단계는 초기화 릴(real) 메모리, I/O채널, 레지스터, 인터럽트 마스크, 페이지 테이블, 가상 메모리 등을 포함하여, 결함 제거기를 로딩하고, RAM에 부트화 시스템을 장착한다. 스템(204)에서, 초기화 프로그램은 페이즈(1) 동안 구성 매니저를 시작하는 부트 화일 시스템으로부터 실행된다.
IPL의 제1페이즈는 LED, 디스켓, 논리 볼륨 매니저 물리적 볼륨, 루트 볼륨 그룹 등과 같은 베이스 장치만을 구성한다. 베이스 장치에는 시스템에 전원을 인가하도록 요구된 최소 수의 엔티티가 있다. 그때, 단계(205)에서는 구성 매니저를 실행한다. 단계(206)에서, 제1페이즈는 이전에 NVRAM에 세이브된 정보를 이용한다. 부트 화일 시스템의 부분으로서, 구성 오브젝트 셋은 선정된 오브젝트 류내의 선정된 정보를 베이스 장치에 대해 제공하는 것을 표시한다. 실제 구성 또는 페이즈로부터 베이스 수용된 오브젝트들은 ODM오브젝트로서 RAM내의 부트 화일 시스템에 기록된다. IPL의 제1페이즈에서 장치의 선정 방법은 이미 선정된 오브젝트 종류로부터 오브젝트를 얻고, RAM내의 부트 화일 시스템에 수용된 오브젝트 종류에 기록한다. 이 페이즈에서 장치의 구성 방법은 RAM내의 부트 시스템에 존재하는 오브젝트에 영향을 미친다.
제2b도는 구성 매니저의 페이즈(1)의 실행을 도시한 흐름도이다. 이 구성 매니저는, 단계(206)에서, 종래의 IPL로부터 이용할 수 있는 구성 정보가 존재하는지를 결정한다. 만일, 존재한다면 단계(207)에서, 재기억-베이스된 유틸리티를 실행하여, NVRAM으로부터 베이스 구성 정보(규칙, 장치 구동기, 수용된 오브젝트)를 로드하도록 시도하며 부트 RAM화일 시스템(램디스크)에 상기 정보를 로드한다. 단계(208)에서는 모든 베이스 장치를 미씽하도록 셋한다. 구성 매니저는 무엇을 구성하며, 어떤 순으로 할 것인가를 결정하기 위해 단계(209)에서 구성 규칙을 판독한다. 상기 페이즈에서 규칙은 논리 볼륨 매니저 등에 따르는 시스템을 일반적으로 순서화한다. 상기 규칙중 하나는 일반적으로 시스템 오브젝트인 시스템의 정점(apex)을 지시한다.
단계(210)에서는 정점 오브젝트가 선정되는가를 (통상 시스템 오브젝트) 결정한다. 만일, 규정되지 않는다면, 구성 매니저는 정점 오브젝트에 대해 규정 방법을 단계(211)에서 호출한다. 이 규정 방법은 오브젝트가 수용을 알지 못할 때만 실행된다. 이 단계(211)는 IPL제어 블럭으로부터 정보를 합병하는 단계를 포함한다. 단계(212)는 시스템(통상 버스)에 접속된 오브젝트를 발견하여 규정하는 단계, 버스가 규정되는가를 결정하는 단계, 만일 규정하지 않을 때, 규정 방법을 실행하는 단계, 상기 시스템(통상 버스)에 접속된 오브젝트를 구성 매니저로 복귀하는 단계를 포함한다.
다음에, 단계(213)에서, 버스의 구성 방법을 실행한다. 이 단계는 다음 단계를 포함한다. 즉, 1) 버스(통상 어댑터)에 접속된 베이스 오브젝트는 힌트(hints)와 같은 수용된 베이스장치를 이용하므로서 발견되어 규정된다. 힌트가 없거나, NVRAM이 부적당할 때, 버스는 베이스 장치에 대해 선정된 오브젝트 종류를 검사하게 된다. 이는 어댑터가 규정되었는지도 결정하는데, 규정되지 않았을 때는 규정 방법을 실행하는 단계, 2) 버스에 접속된 오브젝트(통상 어댑터)는 구성 매니저로 복귀되는 단계를 포함한다.
다음에, 단계(214)에서는, 어댑터에 대한 구성 방법을 실행한다. 이 단계는 어댑터에 대한 장치 구동기를 구성하는 단계를 포함한다. 부가적으로, 이 어댑터(통상 터미날 장치)에 접속된 베이스 오브젝트는 힌트로서 수용된 베이스 장치를 이용하므로서 발견되어, 규정된다. 만일, 힌트가 없거나, NVRAM이 부적당할때, SCSI어댑터, SCSI버스는 베이스 장치에 대해 선정된 오브젝트 종류를 검사하게 된다. 이 어댑터는 부착된 장치(통상 터미날 장치)를 질문하고, 규정 방법을 실행한다. 만일, 구성이 상이하거나, 발견되지 않을때, 변경 플래그는 진단용으로 갱신(새롭게 하거나 미씽중 하나)된다. 접합기(통상 터미널 장치)에 접속된 오브젝트는 구성 매니저로 복귀된다.
그후 다음 단계가 실행된다. 발견된 모든 장치는 구성되어 구성/시작 방법을 실행한다. 버스, 메모리, 플로팅 포인트 등이 구성되지 않으면, 에러 코드(255)로 표시된다.
다음은 루트 볼륨 그룹을 변경한다. 만일 루트 볼륨 그룹이 부적당하고, 시스템이 만족하게 될 때, 에로 코드(1)로 표시된다. 루트 볼륨 그룹이 만족하게 되고, 시스템이 만족하게 될 때, 구성(sysconfig) 시스템 호출은 논리 볼륨 장치 수로 시스템 파라미터를 셋팅하여 루트 장치의 핵심부 루트 논리 볼륨 핵심부를 알리기 위해 호출되고, (0)으로 표시된다. 루트 볼륨 그룹이 발견되지 않을 때, 시스템은 만족하게 되고, 설치 프로그램이 다음에 따라 실행된다. 즉, 물리적 볼륨을 피크하고, 루트 볼륨그룹을 초래하고, 루트 볼륨 그룹을 변경하고, 루트, 진단(diagnostic), 페이즈, 부트에 대해 논리 볼륨을 발생하고, 논리 볼륨 장치 수로 시스템 파라미터를 셋팅하여 새로운 루트 장치와 루트 논리 볼륨의 핵심부를 알리기 위해 sysconfig시스템을 호출하고 페이지(pager)를 시작하고, 논리 볼륨, 마운트(mounts)/또는/사용자 디렉토리(directory)에 화일 시스템을 구성하고, 다중 매체로 모든 루트 논리 볼륨을 집단화시키고(여러 디스켓을 삽입시키기 위한 LED를 통해 촉진한다), 릴 화일 시스템, 언마운트/또는 /사용자 디렉토리를 RAM화일 시스템 (램 디스크)에서 발견된/dev/엔트리를 복사하고, 루트 볼륨그룹을 변경시키며, 가능하다면, (0)으로 표시하고, 그렇지 않으면, 에러 코드(1)로 표시한다.
단계(215)에서, 초기화 프로그램 다이 및 제어는 핵심부로 복귀된다. 이 단계는 RAM화일 시스템(램 디스크)을 비장착하는 단계, 하드디스크의 루트 시스템으로 변화하도록 만드는 단계, 페이즈(2) 동안 구성 매니저가 시작하는 루트 화일 시스템으로부터 초기화를 실행하는 단계를 포함한다.
제2페이즈에 있어서, RAM화일 시스템(구성 플래그 셋트를 갖는 베이스 장치)에서 발견된 베이스 수용된 오브젝트는 루트 화일 시스템에서 발견된 베이스 수용된 오브젝트로 합병된다. 부가적으로, 모든 필요한/dev 엔트리는 루트 화일 시스템에 존재한다. 합병 처리에 따르면, 제2페이즈는 기본적으로 제1페이즈와 같다. 첫번째 차는 이 페이즈에서 결정된 구성이 모든 비-베이스 장치에 대한 것이다. 이 페이즈로부터 수용된 정보는 ODM오브젝트로서 루트 화일 시스템에 완전히 기억된다. 제2페이즈에 있어서, 루트 화일 시스템에서는 부트 화일 시스템 플러스 마지막 실제 공지된 시스템 구성을 표시하는 수용 및 콘테이너 오브젝트에 발견된 것보다 더 큰 셋의 선정된 오브젝트가 존재한다. 수용 및 콘테이너 오브젝트는 장치 또는 버스 구성자 명령에 의해 이루어져 변화하는 어떤 구성에 대한 타게트이다. 이 페이즈의 말단에서, 모든 베이스 수용 오브젝트는 세이브 베이스 명령을 이용하여 NVRAM으로 덤프된다. 이것은 베이스 장치의 최종상태를 반영하기 위함이다. 이시점에서, 베이스 수용 오브젝트의 NVRAM버젼을 부트 화일 시스템 버젼보다 우선하며, NVRAM을 이용 가능하게 취한다. 상기 페이즈에서 장치용 규정 방법은 선정된 오브젝트 종류로부터 오브젝트를 얻어서, 루트 화일 시스템내의 수용 오브젝트 종류에 부가된다. 제2페이즈에서 장치의 구성 방법은 루트 화일 시스템내에 발견된 수용된 오브젝트 종류로 직접 변화를 수행한다. 수용 오브젝트의 종착(destination)이 두 페이즈로 상이함에도 불구하고, 저-레벨 명령에 대한 인터페이스는 동일하게 유지된다. 두 경우에 있어서, 데이타는 판독되고, ODM인터페이스를 통해 화일 시스템에 기록된다. 하나의 경우에 있어서는, 화일 시스템이 RAM에 존재하고, 다른 경우에 있어서는 화일 시스템이 디스크 베이스에 있다.
구성 매니저의 페이즈(2)의 상기 설명은 제2c도에 더욱 상세히 기술되어 있다. 첫째로, 램 디스크는 단계(222)에서 루트 시스템 밑에 장착된다. RAM화일 시스템에서 베이스 수용은 루트화일 시스템과 함께 단계(224)에서 합병된다. 구성 매니저는 베이스 동작 시스템이 설치될 필요성이 있는가를 단계(225)에서 결정한다. 베이스 동작 시스템 설치가 단계(226)에서 실행되면, IPL은 단계(227)에서, 베이스 동작 시스템이 아직 설치되지 않았는지를 결정한다. 구성 규칙 오브젝트는 어떤 구성이며, 어떤 순서(순차 규칙은 시스템, lvm,hft,tcp등) 인가를 결정하기 위해 단계(228)에서 판독된다. 모든 비-베이스 장치들은 단계(229)에서 미씽으로 셋된다.
다음에, 버스에 대한 구성 방법은 단계(230)에서 실행한다. 상기 구성 방법은 버스(일반적으로, 어댑터)에 접속된 비-베이스 오브젝트를 발견하여 규정하는 단계를 포함한다. 또한, 이것은 어댑터가 규정되었는가를 결정하는 단계를 더 포함하는데, 규정되지 않았을 때는, 그 규정 방법이 실행된다. 구성이 상이하거나 발견되지 않을 때, 변경 플래그는 진단을 위해 갱신(새롭게 하거나 미씽중 하나) 한다. 버스(일반적으로, 어댑터)에 접속된 오브젝트는 구성 매니저에 복귀된다.
다음에, 단계(235)에서 어댑터의 구성 방법이 실행된다. 이 방법은 단계(236)에서 어댑터에 대한 장치 구동기를 구성하는 단계와 어댑터(일반적으로, 터미날 장치)에 접속된 비-베이스 오브젝트를 발견하여 규정하는 단계를 포함한다. 상기 후자의 단계는 부착된 장치(일반적으로, 터미날 장치)의 어댑터를 질의(query)하는 단계와, 그들 규정 방법을 실행하는 단계를 포함한다. 만일, 구성이 상이하거나, 발견되지 않을 때, 변경 플래그는 진단을 위해 갱신(새롭게 하거나 미씽중 하나)한다. 어댑터(일반적으로, 터미날 장치)에 접속된 오브젝트는 구성 매니저로 복귀된다.
그후, 다음과 같은 단계가 발생된다. 발견된 모든 장치(터미날)가 구성되어 그들 구성/시작 방법은 단계(237)에서 실행된다. 시스템이 구성되면, 논리 장치는 구성 규칙 및 수용화 오브젝트를 기초로 하여 구성된다. 구성 매니저는 미씽 또는 새롭게 설정하는 구성 변경 플래그를 갖는 오브젝트를 얻는다. 구성이 상이하게 되면, 진단은 단계(239)에서, 수용/콘텐이너 오브젝트를 갱신하기 위해 실행된다. 진단은 구성이 변경(이전에 존재하지 않기 때문)되기 때문에, 장치가 제1시간 동안 IPL이 될 때 실행된다. 최종적으로, 구성 매니저는 루트 화일 시스템내의 베이스 수용 오브젝트의 내용 실행하는 갱신 NVRAM유틸리티를 동작시켜, 그것을 팩크된 포맷의 NVRAM이전으로 단계(214)에서 덤프된다. 대립(conflicts)으로 인하여, 베이스 수용은 변화하게 된다. 이 시점에서 IPL이 완성된다.
논리 장치 구성의 설명은 다음과 같다. 논리 장치는 릴장치와 같은 동작하는 소프트웨어 베이스 장치이다. 어떤 의사(pseudo) 장치(예를 들어, 콘솔, hft)는 다른 하드웨어 베이스 장치의 종속물을 갖는다. 이들 의사 장치는 단지 그들 종속물(예를 들어, 그들이 실행하는 하드웨어)이 구성된 후 구성될 수 있다. 장치 사이의 종속물은 구성 데이타베이스에 기록된다. 논리 장치의 어떤 실시예는 TCP/IP, 고기능 단말기(hft) 및 논리 볼륨 매니저(lvm)를 포함한다.
논리 장치의 구성은 다른 장치의 구성과 유사하다. 각각의 논리 장치는 구성 데이타베이스내에 선정된 장치 오브젝트를 갖는다. 구성 매니저 및 고-레벨 장치 명령은 논리 장치를 구성하기 위해 적당한 방법 및 저-레벨 명령을 호출한다.
다음 규칙은 구성 논리 장치에서 관찰된다.
1. 의사 장치의 어떤 형태는 커널로 프리바운드(prebound)된 그들 장치 구동기와 베이스 동작 시스템내에 포함된 수용된 데이타베이스를 갖는다. 이들 장치는 정상적으로는 IPL 또는 수행시간 동안 둘중 하나가 구성될 필요가 없다. 그러나, 그들 수용된 데이타베이스 설정되도록 그것이 분실되면, IPL동안 이들 장치를 구성하기 위해 이들 장치에 의해 공유된 구성 방법 셋이 존재한다. 이것은 수용화된 데이타베이스가 분실될 때 사용자가 베이스 동작 시스템의 통제 설치를 하지 못하게 하기 위함이다. 일련의 구성 방법은 모든 프리바운드된 장치를 구성하며, 오로지 한 규정 방법 및 구성 방법만을 포함하게 될 것이다. 다른 방법은 필요없다
2. 프리바운드 논리 장치에 대한 고-레벨 장치 명령이 존재하지 않는다. 프리바운드 논리 장치는 수용된 구성 데이타베이스로 미리 초기화된다.
3. 수행 시간 동안 구성될 수 있는 논리 장치는 릴장치로서 다루어질 수 있는데, 따라서, 실제 장치와 동일한 구성 방법으로 공유된다. 고레벨 장치 명령 셋은 수행 시간 동안 이들, 장치를 구성하는데 이용할 수 있다.
4. 구성 매니저는 수용된 접속 정보와 적당한 구성 규칙을 이용하므로서 IPL동안 논리 장치를 자동적으로 구성한다.
5. 논리 장치와 릴 장치의 종속물, 상이한 논리 장치들 간의 종속물은 데이타베이스내의 접속 오브젝트 종류로 유지된다. 이들 종속물은 논리 장치가 구성될 때 설정되어 기록된다.
6. IPL동안, 구성 매니저는 논리 장치를 구성할 때 힌트만큼 이미 결정된 순서와 종속 정보의 조합을 이용한다. 예를 들어, 콘솔은 종속 정보가 콘솔 구성시 구성 매니저와 대화가 않될 때 조차도 구성되어야만 하는 논리 장치이며, 미리 결정된 순차는 제2힌트로서 사용된다.
7. 논리 장치의 규정 방법은 적당한 정보로 설정되어, 그 논리 장치는 데이타베이스에 기록된 구성 정보를 기초로 그들 장치인스턴스를 자동 규정할 수 있다. 구성 매니저는 상이한 노드 형태를 구성하는 순서와 대화하는 순차 규칙이 존재한다. 만일 논리 장치가 순차 규칙으로 기술되어 있으면, 규정 방법은 항상 IPL 시간에서 구성 매니저에 의해 실행될 수 있다. 규정 방법은 그 모든 종속물을 규정하여, 그 종속물이 상기 장치 형태의 모든 인스턴스에 대해 접속 오브젝트 종류로 실행한다. 다음 IPL에 발견된 새로운 물리적 장치에 대해서, 새로운 물리적 장치에 대한 새로운 논리 종속물은 규정 방법에 의해 부가된다. 예를 들면, HFT규정 방법은 어떤 물리직 장치가 발견되고, HFT를 어떻게 구성하며, 어떻게 HFT단계를 규정하는지에 관해서 수용된 데이타베이스 조사 정보를 갖는다.
8. 논리 장치에 대한 구성 방법은 종속 맵(map)을 조사하여, 어떤 종속 오브젝트가 실제로 구성되는지에 관해서 수용된 오브젝트를 조사한다. 그후 구성 방법은 구성될 종속 장치가 충분한지를 결정한다. 또한 논리 장치에 대한 구성 방법은 접속 오브젝트 종류를 기초로 하여, 그 구성 방법에 의존된 장치로 복귀한다. 예를 들어, HFT 구성 방법은 물리적 장치가 HFT의 무슨 구성 요소인지를 알기 위해 접속 오브젝트를 조사하고, 그 물리적 장치가 이미 구성되었는지를 알기 위해 수용된 오브젝트를 조사한다. 그때, 이 방법은 구성된 요소를 기초로 한 HFT를 구성하도록 시도된다.
본 발명은 양호한 실시예를 참고로 특정하게 도시하여 기술되어 있지만, 본 기술은 숙련된 사람들에 의해 쉽게 이해될 수 있으며, 본 발명의 사상과 범주에 벗어나지 않는 범위에서 여러 변화 및 그에 대한 상세한 설명이 작성될 수 있음은 자명한 일이다.

Claims (9)

  1. 다수의 엔티티(entities)와, 상기 엔티티에 관련된 부속물(attributes)을 갖는 데이타 처리 시스템(data processing system)을 부팅(booting)하는 방법에 있어서, 상기 다수의 엔티티를 상기 데이타 처리 시스템의 오브젝트 지향된 데이타 베이스(object oriented data base)에 기억된 다수으 오브젝트로서 표시하는 단계와, 상기 데이타 처리 시스템을 상기 오브젝트와 함께 동적으로 구성하는 수단을 포함하는, 다수의 방법을 결합하는 단계와, 상기 부속물과는 무관하게 상기 오브젝트상에 적어도 하나의 동작을 수행하도록 상기 방법을 호출하는 단계를 구비하는 데이타 처리 시스템 부팅 방법.
  2. 제1항에 있어서, 상기 엔티티 표시 단계는 상기 데이타 처리 시스템의 적어도 하나의 논리 장치 및 적어도 하나의 물리적 장치를 표시하는 단계를 더 구비하는 데이타 처리 시스템 부팅 방법.
  3. 다수의 엔티티와 상기 엔티티에 관계된 부속물을 갖는 데이타 처리 시스템 구성 방법에 있어서, 상기 다수의 엔티티를 상기 데이타 처리 시스템의 오브젝트 지향된 데이타 베이스에 기억된 다수의 오브젝트로서 표시하는 단계와, 상기 데이타 처리 시스템을 상기 오브젝트와 함께 동적으로 구성하는 수단을 포함하여, 다수의 방법을 결합하는 단계와, 상기 데이타 처리 시스템이 부트될 때 상기 부속물과 무관하게 상기 오브젝트상에서 적어도 하나의 동작을 수행하도록 상기 방법을 호출하는 단계를 구비하는 데이타 처리 시스템 구성 방법.
  4. 제3항에 있어서, 상기 다수의 오브젝트 사이에서 적어도 하나의 접속부중 오브젝트 지향된 데이타 베이스로 트플로지(topology)를 표시하는 단계와 상기 데이타 처리 시스템의 오브젝트를 구성하도록 상기 오브젝트 토폴로지를 조사하는 단계를 더 구비하는 데이타 처리 시스템 구성 방법.
  5. 데이타 처리 시스템을 부팅하는 수단과, 다수의 엔티티와 상기 엔티티와 관계된 부속물을 가지는 시스템에 있어서, 상기 다수의 엔티티를 오브젝트 지향된 데이타 베이스에 기억된 다수의 오브젝트로서 표시하는 수단과, 상기 데이타 처리 시스템은 상기 오브젝트와 함께 동적으로 구성하는 수단을 포함하여, 다수 방법을 결합하는 수단과, 상기 부속물과는 무관하게 상기 오브젝트상에서 적어도 하나의 동작을 수행하도록 상기 방법을 호출하는 수단을 구비하는 시스템.
  6. 제5항에 있어서, 상기 엔티티 표시 수단은 상기 데이타 처리 시스템의 적어도 하나의 논리 장치 및 적어도 하나를 물리적 장치를 표시하는 수단을 더 구비하는 시스템.
  7. 데이타 처리 시스템을 구성하는 수단과, 다수의 엔티티와 상기 엔티티와 관계된 부속물을 갖는 시스템에 있어서, 상기 다수의 엔티티를 오브젝트 지향된 데이타 베이스에 기억된 다수의 오브젝트로서 표시하는 수단과, 상기 데이타 처리 시스템을 상기 오브젝트와 함께 동적으로 구성하기 위한 수단을 포함하여, 다수 방법을 결합하는 수단과, 상기 데이타 처리 시스템이 부트될 때 상기 데이타 처리 시스템은 동적으로 구성키 위한 부속물과 무관하게 상기 오브젝트 상에서 적어도 하나의 동작을 수행하도록 상기 방법을 호출하는 수단을 구비하는 시스템.
  8. 제7항에 있어서, 상기 다수의 오브젝트 사이에서 적어도 하나의 접속부중 오브젝트 지향된 데이타베이스의 토폴로지를 표시하고 상기 데이타 처리 시스템은 오브젝트를 구성하기 위해 상기 오브젝트의 토플로지를 조사하는 수단을 더 구비하는 시스템.
  9. 제7항에 있어서, 상기 부속물은 상기 데이타 처리 시스템의 다수의 물리적 장치 엔티티와 논리적 장치 엔티티를 규정하는 시스템.
KR1019900006824A 1989-05-15 1990-05-14 데이타 처리 시스템 부팅 및 구성 방법과 그 수단을 가진 시스템 KR930006382B1 (ko)

Applications Claiming Priority (3)

Application Number Priority Date Filing Date Title
US35207489A 1989-05-15 1989-05-15
US352074 1989-05-15
US352,074 1989-05-15

Publications (2)

Publication Number Publication Date
KR900018831A KR900018831A (ko) 1990-12-22
KR930006382B1 true KR930006382B1 (ko) 1993-07-14

Family

ID=23383687

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1019900006824A KR930006382B1 (ko) 1989-05-15 1990-05-14 데이타 처리 시스템 부팅 및 구성 방법과 그 수단을 가진 시스템

Country Status (5)

Country Link
EP (1) EP0398644A3 (ko)
JP (1) JPH0748177B2 (ko)
KR (1) KR930006382B1 (ko)
CA (1) CA2016396C (ko)
TW (1) TW238365B (ko)

Families Citing this family (12)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CA2126950A1 (en) 1993-07-30 1995-01-31 Bryan M. Willman Booting a computer system using a last known good set of configuration data
AU684096B2 (en) * 1993-11-29 1997-12-04 Wang Laboratories, Inc. Methods and apparatus for creating and managing dynamic property sheets
AU6018294A (en) * 1993-12-02 1995-06-19 Taligent, Inc. Method and apparatus for displaying hardware dependent graphics in an object-oriented operating system
US5546595A (en) * 1993-12-21 1996-08-13 Taligent, Inc. Object-oriented system using objects representing hardware devices, physical connectors and connections between the physical connectors for configuring a computer
WO1995017714A1 (en) * 1993-12-21 1995-06-29 Taligent, Inc. Automatic hardware configuration
US5574915A (en) * 1993-12-21 1996-11-12 Taligent Object-oriented booting framework
FR2745649B1 (fr) * 1996-03-01 1998-04-30 Bull Sa Systeme de configuration de logiciels preconfigures sur des systemes ouverts en reseau dans un environnement distribue et procede mis en oeuvre par un tel systeme
GB9822129D0 (en) * 1998-10-09 1998-12-02 Sun Microsystems Inc Process monitoring in a computer system
GB9822132D0 (en) * 1998-10-09 1998-12-02 Sun Microsystems Inc Configuring system units
EP1065589A1 (en) * 1999-06-28 2001-01-03 Lucent Technologies Inc. Multimedia processing system architecture
EP1065590A1 (fr) * 1999-06-28 2001-01-03 Trt Lucent Technologies Architecture de système de traitement multimédia
US7698546B2 (en) * 2006-04-27 2010-04-13 Microsoft Corporation BIOS configuration update technique

Family Cites Families (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPS5984295U (ja) * 1982-09-13 1984-06-07 株式会社鶴見製作所 水中ポンプ等におけるオイル室内軸封装置摺動面の潤滑油保持装置
JPS5943695U (ja) * 1982-09-17 1984-03-22 株式会社荏原製作所 水中モ−タポンプ
JPS5952092U (ja) * 1982-09-29 1984-04-05 株式会社桜川ポンプ製作所 水中モ−タポンプ
US4622633A (en) * 1983-12-06 1986-11-11 Tri Sigma Corporation Object building method for self configuring computer network
US4658359A (en) * 1984-12-31 1987-04-14 The United States Of America As Represented By The Secretary Of The Navy Method for managing redundant resources in a complex avionics communication system
JPH0450474Y2 (ko) * 1987-08-28 1992-11-27

Also Published As

Publication number Publication date
CA2016396C (en) 1994-03-15
JPH0748177B2 (ja) 1995-05-24
CA2016396A1 (en) 1990-11-15
KR900018831A (ko) 1990-12-22
JPH036615A (ja) 1991-01-14
EP0398644A3 (en) 1992-04-08
TW238365B (ko) 1995-01-11
EP0398644A2 (en) 1990-11-22

Similar Documents

Publication Publication Date Title
US5675748A (en) Method and apparatus for automatically configuring computer system hardware and software
US7203774B1 (en) Bus specific device enumeration system and method
US6871345B1 (en) Self managing software agents with introspection
US5742829A (en) Automatic software installation on heterogeneous networked client computer systems
EP0889400B1 (en) System and method for transparent, global access to physical devices on a computer system
EP1224543B1 (en) Fixing applications that are incompatible to the operating system by providing stubs for apis
US5379431A (en) Boot framework architecture for dynamic staged initial program load
US8788569B2 (en) Server computer system running versions of an application simultaneously
US6714949B1 (en) Dynamic file system configurations
US5903753A (en) Name space registry with backward compatibility for older applications
US20080222160A1 (en) Method and system for providing a program for execution without requiring installation
EP0889422A2 (en) Global file system-based system and method for rendering devices on a cluster globally visible
US7096473B2 (en) Computer system with an improved device and driver framework
EP1437657A2 (en) System and method for management of software applications
JPH0675888A (ja) 分散不均一環境におけるアプリケーションの動的呼出しの方法及び装置
KR930006382B1 (ko) 데이타 처리 시스템 부팅 및 구성 방법과 그 수단을 가진 시스템
JPH08272725A (ja) 分散オブジェクト環境においてサーバの構成情報を判定し、操作するためのシステム、及び方法
KR20070057783A (ko) 컨텍스트 정책 제어를 통한 애플리케이션간 연관을제어하는 시스템 및 방법
JPH0675846A (ja) アプリケーションのオブジェクト指向呼出しをデータベースで行うための方法及び装置
JPH0664559B2 (ja) クライアントインターフェースをアプリケーションのオブジェクト指向呼出しに対処するための方法及び装置
US20060095551A1 (en) Extensible service processor architecture
EP1739553A2 (en) Dynamic mapping of shared libraries
Kraimer et al. Epics application developer’s guide
US20040133665A1 (en) Selection and configuration of servers
US20040088316A1 (en) File system creator

Legal Events

Date Code Title Description
A201 Request for examination
E902 Notification of reason for refusal
G160 Decision to publish patent application
E701 Decision to grant or registration of patent right
GRNT Written decision to grant
FPAY Annual fee payment

Payment date: 20020509

Year of fee payment: 10

LAPS Lapse due to unpaid annual fee