KR950005798B1 - Method installing scsi unit driver in user level - Google Patents
Method installing scsi unit driver in user level Download PDFInfo
- Publication number
- KR950005798B1 KR950005798B1 KR1019920025398A KR920025398A KR950005798B1 KR 950005798 B1 KR950005798 B1 KR 950005798B1 KR 1019920025398 A KR1019920025398 A KR 1019920025398A KR 920025398 A KR920025398 A KR 920025398A KR 950005798 B1 KR950005798 B1 KR 950005798B1
- Authority
- KR
- South Korea
- Prior art keywords
- scsi
- driver
- device driver
- new
- packet
- Prior art date
Links
Classifications
-
- 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
Landscapes
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Physics & Mathematics (AREA)
- General Engineering & Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Stored Programmes (AREA)
Abstract
Description
제1도는 본 발명이 적용되는 시스템의 구성을 개략적으로 나타낸 블럭.1 is a block diagram schematically showing the configuration of a system to which the present invention is applied.
제2도는 본 발명의 방법을 설명하기 위한 흐름도.2 is a flow chart for explaining the method of the present invention.
제3도는 SCSI장치 구동기 설치의 절차흐름도.Figure 3 is a flowchart of the SCSI device driver installation.
제4도는 SCSI장치 구동기 동작의 절차흐름도.Figure 4 is a flow chart of the SCSI device driver operation.
본 발명은 SCSI(Small Computer System Interface)장치들을 구동하고 있는 시스템에서 운용체제의 구성에 관계없이 가동중인 시스템에 스카시(SCSI)장치를 사용자 수준에서 추가장착하는 방법에 관한 것이다.The present invention relates to a method of additionally attaching a SCSI (SCSI) device at a user level to a running system regardless of the configuration of an operating system in a system running small computer system interface (SCSI) devices.
종래에는 새로운 형태의 장치구동기를 추가장착하려면 장치구동기를 개발 및 작성하여 운영체제의 구성및 생성과정에서 시스템 생성절차에 따라야 하였다. 따라서종래에는 상호 연결된 다른 모듈들과의 인터페이스를 포함한 기술적 부담이 상당히 크지만 SCSI장치 구동에 대한 저수준(low level)장치의 인터페이스 부분을 가로채고 정보교환용 메시지 폐킷을 변형시켜 새로운 장치의 구를 기로 제어를 넘겨 처리함으로써 시스템을 재구성해야하는 부담을 덜고 시스템 가동중에 편리해계 설치할 수 있는 방법이 요구된다.Conventionally, in order to additionally install a new type of device driver, a device driver has to be developed and created, and the system generation procedure must be followed during the configuration and generation of an operating system. As a result, the technical burden, including the interface with other interconnected modules, is considerably high, but it intercepts the interface part of the low-level device for SCSI device operation and transforms the message exchange packet for information exchange. There is a need for a method that can be conveniently installed while the system is running, relieving the burden of reconfiguring the system by transferring control.
본 발명은 이와같은 요구사항을 위하여 운영체제의 구성 및 생성과 시스템 기동에 아무런 영향을 주지않고도 새로운 형태의 SCSI장치를 다른 장치들과 일치시키는 방식을 제공하여 시스템 확장성은 물론 가용성을 증대시키는 것을 목적으로 한다.The present invention aims to increase system scalability as well as availability by providing a method of matching a new type of SCSI device with other devices without affecting the configuration and creation of the operating system and system startup for such requirements. do.
이와같은 목적을 달성하기 위하여 본 발명은 가동중인 시스템에서 운영체제가 탑재된 메모리의 위치(location)들에서 SCSI구동기 관련변수 및 상수값에 대한 정보를 골라내어 추가장착할 장치구동기의 작성에 대한 입력요소를 추출하는 단계와 저수준 장치구동기 부본의 제어권을 가로채어 SCSI장치로서의 메시지패킷을 추가장치에 대한 특성에 맞도록 변형시켜 구동방식을 변경시키는 단계와, 커널메모리(kernelmemory)장치를 통해 재구성한 장치구동기를 시스템 예약 영역에 탑재시키는 단계 및, 사용자 수준의 시스템 예외상태(exception trap)발생으로 재구성 탑재한 장치구동기로 제어권을 넘겨 새로운 장치의 초기화 기동에 대한 시스템 확장을 가능하게 하는 단계로 구성된다.In order to achieve the above object, the present invention selects information about SCSI driver-related variables and constant values in the locations of the memory in which the operating system is installed in an operating system, and inputs elements for preparing a device driver to be additionally mounted. Extracting and intercepting the control of the low-level device driver copy, modifying the message packet as a SCSI device to suit the characteristics of the additional device, changing the driving method, and reconfiguring the device driver through the kernel memory device. Is mounted in the system reserved area, and the control is transferred to the device driver reconfigured and mounted due to the occurrence of a system-level exception trap at the user level, thereby enabling system expansion for the initial startup of a new device.
이제부터 첨부된 도면을 참조하면서 본 발명에 대하여 상세히 설명하겠다.The present invention will now be described in detail with reference to the accompanying drawings.
제1도는 본 발명이 적용되는 하드웨어 구성도로서, 처리기 보드 및 메모리 보드와 SCSI제어보드간의 연결통로를 보여준다.1 is a hardware configuration to which the present invention is applied and shows a connection path between a processor board and a memory board and a SCSI control board.
SCSI장치구동기를 갖는 시스템에서는 처리기 보드가 메모리 보드에 약속된 형테의 메시지 패킷[messagepacket)을 구성하고 SCSI제어보드에게 인터럽트에 의한 전달방식으로 작억개시를 지시한다. 처리기 보드로부터 작업지시를 받은 SCSI제어보드는 전달된 메시지 패킷에 따라 SCSI버스에 연결된 장치들을 구동시키고 작업완료와 함께 처리기 보드에 인터럽트를 통해 통보하고 새로운 작업을 위해 대기한다.In a system with a SCSI device driver, the processor board constructs a message packet of the type promised to the memory board and instructs the SCSI control board to start the memory by way of an interrupt delivery. The SCSI control board receives the work order from the processor board and drives the devices connected to the SCSI bus according to the message packet transmitted. Upon completion, the SCSI control board notifies the processor board through an interrupt and waits for new work.
SCSI제어보드는 지능화 시킨 펌웨어(firmware)에 의해 치리기 보드와는 약식정보에 의해 통신하고 SCSI장치들을 구동할때는 SCSI패킷으로 다단계 분리하여 일련의 작업을 순서화시킨다. 그러나 공급자 특약(vendor unique) 및 별도의 SCSI구동기 제어를 위해 처리기 보드가 직접 SCSI패킷을 사용할 수 있도록하는 직접 구동(pass through)방식도 제공하며 SCSI버스는 연결고리(daisy cham)형태를 제공하므로 새로운 장치를 이전장치에 쉽게 추가할 수 있다.The SCSI control board uses intelligent firmware to communicate with the board by short information. When the SCSI devices are running, the SCSI control board divides the steps into a SCSI packet and processes a series of tasks. However, it also provides a pass-through method that allows processor boards to use SCSI packets directly for vendor unique and separate SCSI driver control, and the SCSI bus provides a daisy chamfer. You can easily add devices to your old devices.
제2도는 본 발명에 따라 SCSI장치를 추가로 설치하여 구동과는 절차를 개략적으로 설명하기 위한 흐름도이다. 새로 추가되는 SCSI장치에는 장치고유번호를 이미 설치된 SCSl장차와 중복되지 않는 번호중에서선택된 번호를 할당한다.2 is a flow chart for schematically explaining a procedure with a drive by additionally installing a SCSI device according to the present invention. The newly added SCSI device is assigned a device unique number that is selected from a number that does not duplicate an already installed SCSl device.
SCSI장치들은 연결고리에 의해 증설할 수 있는데 항상 마지막에 연결된 장치에는 차단기(terminator)를설치하여야 한다. 따라서 마지막장치 다음의 차단기를 떼어대어 새로운 장치를 SCSI케이블을 사용하여 연결하고 새로운 장치의 마지막에 차단기를 설치한다.SCSI devices can be extended by hooks, but always the last connected device should have a terminator. Therefore, remove the breaker after the last device, connect the new device with a SCSI cable, and install the breaker at the end of the new device.
선택된 장치번호는 장치구동기 설치에 중요한 정보이므로 장치구동기 생성시에도 같은 값으로 지정하여야한다. 운영체제가 주기억장치에 탑재될때 각종 정보에 대한 변수들을 사용자 수준에서 읽어낼 수 있으며 이들이 장치 구동기 생성의 중요한 항목(item)이 되며 시스템을 확장하여 구성할 수 있게하는 중요한 과정이다.Since the selected device number is important information for the device driver installation, it should be designated as the same value when creating the device driver. When the operating system is loaded into the main memory, the variables for various information can be read at the user level, and these are important items in the device driver creation, and are an important process to extend and configure the system.
제3도는 시스템에 탑재된 운영체제로부터 정보 를 추출하여 새로운 SCSI장치를 운영체제의 제어하에 두도록 추가로 탑재하는 절차의 흐름도이다. 새로운 장치구동기를 위해 장치구성정보의 내용과 장치번호에 의한 기존의 구동기와 추가된 구동기를 구분할 수 있도록 하는 변수를 설정하고 새로운 장치의 장치번호로 대체한다(10).3 is a flowchart of a procedure for extracting information from an operating system mounted on a system and additionally mounting a new SCSI device under control of the operating system. For the new device driver, set a variable to distinguish the existing driver and the added driver by the device configuration information and the device number and replace the device number of the new device (10).
탑재된 운영체제로부터 변수들의 값을 추출하기 위해서는 메모리 장치 구동기를 통해 변수위치에 대한 읽기(20)를 함으로써 가능하며 변수들의 위치는 커널화일의 심볼테이블(symbol table)을 이용하여 찾을 수있다. 이때 필요한 변수는 저수준 SCSI구동기중 SCSI제어보드에 메시지 전송을 담당하는 부분의 위치이며 이 위치에 새로운 장치 구동기의 위치로 제어가 넘어갈 수 있도록 점프(jump)시키는 지시어로 치환한다(30). 또한 각 SCSI장치에 대한 구성정보테이블(unit information table)중 새로운 장치의 장치특성에 관한 값들을 초기화작업을 통해 설정(40)한 다음 플래그 값을 사용가능장치로 인식되도록 세밍팅다(50).To extract the values of the variables from the on-board operating system, it is possible by reading the variable positions 20 through the memory device driver, and the positions of the variables can be found using a symbol table of the kernel file. The necessary variable is the position of the low-level SCSI driver that is responsible for sending messages to the SCSI control board, and is replaced with an instruction to jump to the position of the new device driver at this position (30). In addition, in the configuration information table (unit information table) for each SCSI device, the values of the device characteristics of the new device are set through an initialization operation (40), and then set to be recognized as a usable device (50).
제4도는 추가장착되는 장치의 구동기 자체의 동작절차 흐름도이다.4 is a flow chart of the operation of the driver itself of the retrofit apparatus.
저수준 SCSI구동부분을 가로채어 새로운 장치구동기가 제어권을 이어받아 전달된 메시지 패킷으로부터새로운 장치에 전달되는 패킷인지 판단하기 위해 장치번호를 확인한다(60). 새로운 장치에 대한 패킷인 경우(70)에는 장치특성에 따르는 SCSI패킷으로 변형시키기 위해 약식 명령의 종류에 따라 세부적인 각종 변수들의 값들을 새로운 패킷으로 필요한 부분들을 모아 완성시키고(80), 원레 패킷의 명령을 SCSI명령으로 바꾼뒤(90) 기존의 SCSI구동부분으로 제어권을 다시 넘긴다(100).It intercepts the low-level SCSI driver and checks the device number to determine if the new device driver is in control and determines whether it is a packet forwarded to the new device from the forwarded message packet (60). In the case of a packet for a new device (70), in order to transform a SCSI packet according to the device characteristic into a new packet, detailed values of various variables according to the type of short command are collected and completed as necessary in a new packet (80). It converts the command to a SCSI command (90) and transfers control back to the existing SCSI drive (100).
패킷변형부분은 장치에 종속되는 부분으로써 다양한 장츠를 이러한 원리에 따라 장착할 경우 원래의 커널 및 퓜웨어를 수정하지 않고도 새로운 장치를 사용할 수 있으므로 가종중인 시스템을 사용자 수준에서 확장시킬 수 있다.Packet transformation is a device-dependent part, and when various devices are installed according to this principle, new devices can be used without modifying the original kernel and firmware, thus extending the current system to the user level.
상기와 같은 처리절차로 이루어진 본 발명은 사용자 수준에서 장치구동기의 패킷변형방식으로 기본시스템에서 제공하지 않는 별도의 SCSI장치에 대해서도 장치별 특성에 따라 추가 설치할 수 있으므로 시스템 가용성을 놀리고 운용체제의 구성 및 생성에 직접 관련이 없으므로 새로이 운영체제를 생성하는데 따르는 일련의 제한사항들에 영향을 받지 않으므로 시스템 가동중에 장치를 추가할 수 있는 확장성을 높이는 적응효과가 있다.The present invention composed of the above-described processing procedure can be additionally installed according to the characteristics of each device even for a separate SCSI device that is not provided in the basic system by the packet modification method of the device driver at the user level, so as to make the system availability and configuration of the operating system Since it is not directly related to creation, it is not affected by the set of limitations of creating a new operating system, which has the adaptive effect of increasing the scalability to add devices while the system is running.
Claims (3)
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
KR1019920025398A KR950005798B1 (en) | 1992-12-24 | 1992-12-24 | Method installing scsi unit driver in user level |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
KR1019920025398A KR950005798B1 (en) | 1992-12-24 | 1992-12-24 | Method installing scsi unit driver in user level |
Publications (2)
Publication Number | Publication Date |
---|---|
KR940015856A KR940015856A (en) | 1994-07-21 |
KR950005798B1 true KR950005798B1 (en) | 1995-05-31 |
Family
ID=19346555
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
KR1019920025398A KR950005798B1 (en) | 1992-12-24 | 1992-12-24 | Method installing scsi unit driver in user level |
Country Status (1)
Country | Link |
---|---|
KR (1) | KR950005798B1 (en) |
Cited By (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US10499064B2 (en) | 2006-08-17 | 2019-12-03 | Electronics And Telecommunications Research Institute | Apparatus for encoding and decoding image using adaptive DCT coefficient scanning based on pixel similarity and method therefor |
-
1992
- 1992-12-24 KR KR1019920025398A patent/KR950005798B1/en not_active IP Right Cessation
Cited By (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US10499064B2 (en) | 2006-08-17 | 2019-12-03 | Electronics And Telecommunications Research Institute | Apparatus for encoding and decoding image using adaptive DCT coefficient scanning based on pixel similarity and method therefor |
Also Published As
Publication number | Publication date |
---|---|
KR940015856A (en) | 1994-07-21 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US6009480A (en) | Integrated device driver wherein the peripheral downloads the device driver via an I/O device after it is determined that the I/O device has the resources to support the peripheral device | |
EP0672987B1 (en) | Portable PCMCIA interface for a host computer | |
US8782316B2 (en) | Systems and methods for performing a hot input function | |
US7793279B1 (en) | Dynamic driver substitution | |
EP2097811B1 (en) | System and method for receiving control commands at a peripheral device | |
US20060190238A1 (en) | Methods and systems for managing a device | |
US20070005867A1 (en) | Virtual peripheral device interface and protocol for use in peripheral device redirection communication | |
EP0498130A2 (en) | Apparatus and method for verifying compatibility of system components | |
US5968174A (en) | Method and apparatus for implementing a 32-bit operating system which supports 16-bit code | |
US20040199600A1 (en) | Method and apparatus for program installation in a modular network | |
KR950005798B1 (en) | Method installing scsi unit driver in user level | |
US6351782B1 (en) | Method of sharing an I/O device between a host operating system and a foreign operating system in a single computer | |
US6957179B2 (en) | On-chip emulator communication | |
Cisco | Configuring IBM Channel Attach | |
Cisco | Configuring IBM Channel Attach | |
WO2001007984A9 (en) | Universal serial bus adapter with automatic installation | |
CN112732287A (en) | Program burning method, main circuit board and sub-circuit board | |
US20220358067A1 (en) | Passthrough mode control | |
Leffler et al. | Building Berkeley UNIX† Kernels with Config | |
JP3394834B2 (en) | Debugging method for devices that make up a multiprocessor system | |
KR920003279B1 (en) | Method for loading os & nos in data processing device | |
KR0171773B1 (en) | Terminal controller | |
WO1995030191A1 (en) | Apparatus and method for network access through modular connections | |
CN115987843A (en) | Equipment simulation debugging method and equipment | |
KR100376055B1 (en) | Method for downloading input/output processor kernel |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
A201 | Request for examination | ||
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: 19980313 Year of fee payment: 4 |
|
LAPS | Lapse due to unpaid annual fee |