KR950005798B1 - Method installing scsi unit driver in user level - Google Patents

Method installing scsi unit driver in user level Download PDF

Info

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
Application number
KR1019920025398A
Other languages
Korean (ko)
Other versions
KR940015856A (en
Inventor
이재경
남궁한
임기욱
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 재단법인한국전자통신연구소
Priority to KR1019920025398A priority Critical patent/KR950005798B1/en
Publication of KR940015856A publication Critical patent/KR940015856A/en
Application granted granted Critical
Publication of KR950005798B1 publication Critical patent/KR950005798B1/en

Links

Classifications

    • 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/14Handling 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

The method adds a SCSI device to a system at user level regardless of operating system organization. It comprises the steps of: (i) using input information of an additional device driver; (ii) changing packet according to characteristic of an additional device; (iii) loading as a part of kernel through a device driver at low level; and (iv) driving a device driver after passing a control right to device driver.

Description

사용자 수준의 스카시(SCSI)장치 구동기 설치방법How to install a user-level SCSI device driver

제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)

처리기보드 및 메모리 보드와 SCSI제어보드로 구성된 시스템의 구성에 있어서 시스템 가동중에 운영 체제가 탑재된 메모리 위치에 대한 읽기로 새로이 추가될 장치구동기의 입력정보를 이용하는 단계와, SCSI제어보드로 보내는 메시지 패킷을 가로채어 추가장착할 장치의 특성에 따라 패킷을 변경시키는 단계와, 시스템의 예약영역에 새로이 구성된 저수준의 장치 구동기를 통하여 커널의 일부분으로 탑재시키는 단계 및, 사용자의 예외상태에 대한 처리를 위해 시스템 수준으로 전이된 상태에서 재구성된 장치구동기로 제어권을 넘겨 구동기를 기동시키는 단계를 포함하는 사용자 수준의 스카시 장치 구동기.In the configuration of a processor board, a memory board, and a SCSI control board, a step of using input information of a device driver to be newly added by reading the memory location in which the operating system is mounted while the system is running, and a message packet sent to the SCSI control board Intercepts and modifies the packet according to the characteristics of the device to be added, mounts it as part of the kernel through a newly configured low-level device driver in the reserved area of the system, and handles the user's exception status. And transferring the control right to the reconfigured device driver in the state transitioned to the level to start the driver. 제1항에 있어서, 상기 탑재단계는 장치구성정보의 내용과 장치번호에 의한 기존의 구동기와 추가된 구동기를 구분할 수 있도록 하는 변수를 설정하고 새로운 장치의 장치버니로로 대체하는 단계와, 메모리 장치 구동기를 통해 변수위치에 대한 읽기를 수행하는 단계와, 상기 새로운 장치구동기의 위치로 제어가 넘어갈 수 있도록 점프시키는 지시어로 치환하는 단계와, 새로운 장치의 장치특성에 관한 값들을 초기와 작업을 통해 설정한 다음 플래그 값을 사용가능장치로 인식되도록 세팅하는 단계를 포함하는 사용자 수준의 스카시장치 구동기 설치방법.The method of claim 1, wherein the mounting step comprises: setting a variable for distinguishing an existing driver from an added driver by the device number and contents of the device configuration information, and replacing the device driver with a device bunny of a new device; Reading the variable position through the driver, substituting the instruction for jumping to the position of the new device driver, and setting values related to the device characteristics of the new device through the initial and working steps. And setting the next flag value to be recognized as a usable device. 제1항에 있어서, 상기 기동단계는 새로운 장치구동기가 제어권을 이어받아 전달된 메시지 패킷으로부터 새로운 장치에 전달되는 패킷인지 판단하기 위해 장치번호를 확인하는 단계와, 새로운 장치에 대한 패킷인 경우에는 장치특성에 따르는 SCSI패킷으로 변형시키기 위해 약식 명령의 종류에 따라 세부적인 각종 변수들의 값들을 새로운 패킷으로 필요한 부분들을 모아 완성시키는 단계와, 원래 패킷의 명령을 SCSI명령으로 바꾼뒤 기존의 SCSI구동부분으로 제어권을 다시 넘기는 단계를 포함하는 사용자 수준의 스카시 장치 구동기 설치방법.The method of claim 1, wherein the starting step comprises: checking a device number to determine whether a new device driver is a packet transmitted to a new device from a message packet transmitted by taking over a control right; In order to transform into a SCSI packet according to a characteristic, the steps of completing the necessary values of various variables in a new packet according to the type of short command are completed, replacing the command of the original packet with the SCSI command, and then moving to the existing SCSI drive part. Installing a user-level SCSI device driver comprising the step of passing back control.
KR1019920025398A 1992-12-24 1992-12-24 Method installing scsi unit driver in user level KR950005798B1 (en)

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)

* Cited by examiner, † Cited by third party
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

Cited By (1)

* Cited by examiner, † Cited by third party
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