KR20070025530A - 운영 체계를 부팅하는 장치 및 방법 - Google Patents

운영 체계를 부팅하는 장치 및 방법 Download PDF

Info

Publication number
KR20070025530A
KR20070025530A KR1020050081809A KR20050081809A KR20070025530A KR 20070025530 A KR20070025530 A KR 20070025530A KR 1020050081809 A KR1020050081809 A KR 1020050081809A KR 20050081809 A KR20050081809 A KR 20050081809A KR 20070025530 A KR20070025530 A KR 20070025530A
Authority
KR
South Korea
Prior art keywords
operating system
version
booting
stored
boot
Prior art date
Application number
KR1020050081809A
Other languages
English (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 KR1020050081809A priority Critical patent/KR20070025530A/ko
Publication of KR20070025530A publication Critical patent/KR20070025530A/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/4406Loading of operating system
    • 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/4416Network booting; Remote initial program loading [RIPL]

Landscapes

  • Engineering & Computer Science (AREA)
  • Software Systems (AREA)
  • Theoretical Computer Science (AREA)
  • Computer Security & Cryptography (AREA)
  • Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Stored Programmes (AREA)

Abstract

본 발명은 운영 체계를 부팅하는 장치 및 방법에 관한 것으로서, 임베디드 장치(Embedded Device)에 있어서 기본적인 운영 체계의 이미지를 저장하고 이를 이용하여 부팅을 수행한 후에, 추가적인 운영 체계의 이미지를 네트워크를 통하여 다운로드하고 이를 이용하여 운영 체계의 기능을 수행하게 하는 운영 체계를 부팅하는 장치 및 방법에 관한 것이다.
본 발명의 실시예에 따른 운영 체계를 부팅하는 장치는 운영 체계의 일부분을 저장하는 저장부와, 상기 일부분에 포함되는 상기 운영 체계의 범위를 확인하는 확인부와, 상기 확인 결과에 따라 상기 운영 체계의 다른 부분을 수신하는 통신부 및 상기 운영 체계의 일부분 및 다른 부분 중 적어도 하나를 이용하여 부팅을 수행하는 부팅 수행부를 포함한다.
임베디드 장치, 운영 체계, 부팅

Description

운영 체계를 부팅하는 장치 및 방법{Apparatus and method for booting operating system}
도 1은 본 발명의 실시예에 따른 운영 체계를 부팅하는 장치와 운영 체계를 제공하는 장치를 나타낸 개념도이다.
도 2는 본 발명의 실시예에 따른 운영 체계를 부팅하는 장치를 나타낸 블록도이다.
도 3은 본 발명의 실시예에 따른 버전 확인 패킷을 나타낸 도면이다.
도 4는 본 발명의 실시예에 따른 버전 응답 패킷을 나타낸 도면이다.
도 5는 본 발명의 실시예에 따른 운영 체계를 부팅하는 과정을 나타낸 흐름도이다.
<도면의 주요 부분에 관한 부호의 설명>
210 : 저장부 220 : 부팅 수행부
230 : 제어부 240 : 통신부
250 : 확인부
본 발명은 운영 체계를 부팅하는 장치 및 방법에 관한 것으로서, 더욱 상세하게는 임베디드 장치(Embedded Device)에 있어서 기본적인 운영 체계의 이미지를 저장하고 이를 이용하여 부팅을 수행한 후에, 추가적인 운영 체계의 이미지를 네트워크를 통하여 다운로드하고 이를 이용하여 운영 체계의 기능을 수행하게 하는 운영 체계를 부팅하는 장치 및 방법에 관한 것이다.
부팅(Booting)이란, 운영 체계(Operating System)를 컴퓨터의 메모리(RAM)에 적재시키는 과정을 의미한다. 일반적으로, 특정한 운영 체계에 의하여 동작되는 컴퓨터 시스템의 경우, 사용자가 시스템에 전원을 공급하자마자 운영 체계가 동작하는 것이 아니라, 시스템에 연결된 다양한 장치들이 정상적으로 동작하는지 여부를 검사하는 과정을 거치게 된다. 이러한 과정을 파워-온 자가 테스트(Power-On Self-Test, 이하 POST라 한다)라고 한다.
예컨대, 개인용 컴퓨터(Personal Computer)의 경우, 컴퓨터에 전원이 공급되면 컴퓨터 키보드, 램, 디스크 드라이브 그리고 기타 하드웨어 등이 바르게 동작하는지를 확인하기 위하여 기본 입출력 시스템(Basic Input/Output System, 이하 바이오스(BIOS)라 한다)이 동작하면서 POST 과정을 수행하게 된다. 이때, 바이오스는 일반적으로 컴퓨터의 메인보드에 꽂혀있는 롬(ROM, Read Only Memory)에 저장되어 있는 프로그램의 일종으로서, 운영 체계가 동작하기 전까지 컴퓨터의 부팅 과정을 담당하게 된다.
POST 과정 중 꼭 필요한 하드웨어들이 모두 감지되고, 또한 적절하게 동작하고 있음이 확인되면 운영 체계가 동작하기 시작한다. 그러나, 만약 하드웨어가 감 지되지 않거나 적절하게 동작되지 않는 것으로 확인되면 바이오스는 화면에 에러 메시지를 나타내고, '삑'하는 일련의 전자음을 내기도 한다.
컴퓨터가 어떤 기능을 발휘하기 위해서는 하드웨어의 확인 과정이 절대적으로 필요하므로, POST 과정 중에 발견된 에러는 보통 치명적인 것으로서, 대개는 부팅 과정이 중단된다.
임베디드 장치(Embedded Device)의 경우 운영 체계가 내장되어 있을 수 있는데, 점차 다양한 기능을 지원하기 시작하면서 운영 체계의 크기도 함께 증가하고 있다. 이에 따라, 운영 체계를 저장하고 있는 저장 수단의 용량도 함께 증가하게 되었고, 임베디드 장치의 가격 또한 상승하게 되었다.
최근에는 임베디드 장치에 네트워크 기능이 추가되고 있으며, 이러한 네트워크 기능을 활용하여 운영 체계를 다운로드하고, 이를 이용하는 장치도 생겨나고 있다. 예를 들어, 네트워크 기능이 구비된 개인용 컴퓨터 또는 컴퓨터 기반의 셋탑 박스(Set-top box)와 같은 경우, 바이오스 또는 부트로더(Boot-Loader)의 기능을 이용하여 운영 체계의 이미지를 다운로드한 후에 이를 이용하여 부팅을 수행하는 것이다.
그러나, 네트워크를 이용하여 운영 체계의 이미지 전체를 다운로드하는 것은 운영 체계의 이미지 크기 및 네트워크의 상태에 영향을 받게 되는데, 이로 인하여 운영 체계의 부팅 시간이 과도하게 소요되거나 네트워크의 단절에 따라 부팅이 중단될 수도 있다.
따라서, 임베디드 장치에 내장된 저장 수단과 네트워크를 적절히 사용함으로 써 추가 비용의 발생 없이 운영 체계를 부팅할 수 있는 방법이 요구된다.
본 발명은 임베디드 장치에 있어서, 기본적인 운영 체계의 이미지를 저장하고 이를 이용하여 부팅을 수행한 후에, 추가적인 운영 체계의 이미지를 네트워크를 통하여 다운로드하고 이를 이용하여 운영 체계의 기능을 수행하게 하는데 그 목적이 있다.
또한, 본 발명은 임베디드 장치에 있어서, 사용자에 의해 선택된 운영 체계의 이미지를 저장하고 이를 이용하여 부팅을 수행한 후에, 추가적인 운영 체계의 이미지를 네트워크를 통하여 다운로드하고 이를 이용하여 운영 체계의 기능을 수행하게 하는데 그 목적이 있다.
본 발명의 목적들은 이상에서 언급한 목적들로 제한되지 않으며, 언급되지 않은 또 다른 목적들은 아래의 기재로부터 당업자에게 명확하게 이해되어질 수 있을 것이다.
상기 목적을 달성하기 위하여, 본 발명의 실시예에 따른 운영 체계를 부팅하는 장치는 운영 체계의 일부분을 저장하는 저장부와, 상기 일부분에 포함되는 상기 운영 체계의 범위를 확인하는 확인부와, 상기 확인 결과에 따라 상기 운영 체계의 다른 부분을 수신하는 통신부 및 상기 운영 체계의 일부분 및 다른 부분 중 적어도 하나를 이용하여 부팅을 수행하는 부팅 수행부를 포함한다.
본 발명의 실시예에 따른 운영 체계를 부팅하는 방법은 운영 체계의 일부분 을 저장하는 단계와, 상기 일부분에 포함되는 상기 운영 체계의 범위를 확인하는 단계와, 상기 확인 결과에 따라 상기 운영 체계의 다른 부분을 수신하는 단계 및 상기 운영 체계의 일부분 및 다른 부분 중 적어도 하나를 이용하여 부팅을 수행하는 단계를 포함한다.
기타 실시예들의 구체적인 사항들은 상세한 설명 및 도면들에 포함되어 있다.
본 발명의 이점 및 특징, 그리고 그것들을 달성하는 방법은 첨부되는 도면과 함께 상세하게 후술되어 있는 실시예들을 참조하면 명확해질 것이다. 그러나 본 발명은 이하에서 개시되는 실시예들에 한정되는 것이 아니라 서로 다른 다양한 형태로 구현될 수 있으며, 단지 본 실시예들은 본 발명의 개시가 완전하도록 하고, 본 발명이 속하는 기술분야에서 통상의 지식을 가진 자에게 발명의 범주를 완전하게 알려주기 위해 제공되는 것이며, 본 발명은 청구항의 범주에 의해 정의될 뿐이다. 명세서 전체에 걸쳐 동일 참조 부호는 동일 구성 요소를 지칭한다.
이하, 첨부된 도면을 참조하여 본 발명의 바람직한 실시예를 상세히 설명하기로 한다.
도 1은 본 발명의 실시예에 따른 운영 체계를 부팅하는 장치와 운영 체계를 제공하는 장치를 나타낸 개념도이다.
운영 체계를 부팅하는 장치(110)에 운영 체계를 제공하는 장치로는 서버(120)와 기타 네트워크 상에 존재하는 하나 또는 복수 개의 호스트(130)로 구성될 수 있다.
여기서, 서버(120) 및 호스트(130)에는 전체 운영 체계가 저장되어 있을 수 있으며, 그 중 일부분이 저장되어 있을 수도 있다.
본 발명의 운영 체계를 부팅하는 장치(110)는 운영 체계를 부팅함에 있어서 구비된 저장 수단에 운영 체계 전체를 저장한 후에 전원 인가에 따라 운영 체계를 부팅할 수 있다. 이때, 저장 수단의 용량이 운영 체계 전체를 수용할 만큼의 저장 능력이 없는 경우 운영 체계를 부팅하는 장치(110)는 운영 체계의 일부분만을 저장한 후에 나머지는 서버(120) 또는 네트워크 상에 존재하는 호스트(130)로부터 제공받을 수 있다.
저장된 운영 체계의 일부분에 포함되지 않는 다른 부분을 제공받기 위하여 운영 체계를 부팅하는 장치(110)는 운영 체계의 다른 부분을 요청하는 패킷을 송신할 수 있는데, 이는 서버(120)로만 전송될 수 있으며 네트워크 상에 존재하는 서버(120) 및 모든 호스트(130)로 전달될 수도 있다.
여기서, 서버(120)는 요청 패킷에 따라 운영 체계를 부팅하는 장치(110)가 필요로 하는 운영 체계의 다른 부분을 송신하게 되는데, 자신이 가지고 있지 않는 다른 부분에 대해서는 네트워크 상에 존재하는 호스트(130)로부터 이를 제공받은 후에 다시 운영 체계를 부팅하는 장치(110)로 전송할 수 있으며, 운영 체계를 부팅하는 장치(110)와 호스트(130)를 직접 연결시켜서 운영 체계를 부팅하는 장치(110)로 하여금 호스트(130)로부터 직접 운영 체계의 다른 부분을 제공받게 할 수도 있다.
이러한 과정에 따라 운영 체계의 다른 부분을 제공받은 운영 체계를 부팅하 는 장치(110)는 전달받은 운영 체계의 다른 부분을 구비된 저장 수단에 저장한 후에 기 저장된 운영 체계의 일부분과 전달받은 운영 체계의 다른 부분을 이용하여 부팅을 수행할 수 있다.
여기서, 저장 수단의 저장 공간이 충분하지 않는 경우 운영 체계를 부팅하는 장치(110)는 우선 기 저장된 운영 체계의 일부분만으로 부팅을 수행하다가 필요로 하는 부분만을 추가적으로 전송 받아서 저장 수단으로의 저장 없이 직접 네트워크를 통한 부팅을 수행할 수도 있다.
도 2는 본 발명의 실시예에 따른 운영 체계를 부팅하는 장치를 나타낸 블록도로서, 장치(110)는 저장부(210), 부팅 수행부(220), 제어부(230), 통신부(240) 및 확인부(250)를 포함하여 구성된다.
저장부(210)는 운영 체계의 일부분을 저장하는 역할을 한다.
운영 체계란, 컴퓨터 하드웨어와 사용자 간의 매개체 역할을 하는 프로그램으로서 사용자에게 편리함을 제공하며, 컴퓨터 시스템의 효율적인 운영을 가능하게 한다. 즉, 운영 체계의 기본적인 기능은 컴퓨터 시스템 자원 관리라고 볼 수 있으며 이에 따라, 운영 체계는 주로 프로세서, 메모리, 주변 장치 및 파일 등을 관리한다.
운영 체계의 역할을 좀 더 살펴보면, 운영 체계는 컴퓨터와 사용자 간의 인터페이스 제공, 사용자 간의 하드웨어 공동 사용 처리, 사용자 간의 데이터 공유 처리, 사용자 간의 자원(프로세서, 메모리, 입출력 장치 등) 사용 스케줄링 및 컴퓨터의 오류 처리 등을 수행한다.
한편, 운영 체계의 구조를 보면, 운영 체계는 제어 프로그램 및 처리 프로그램으로 분류되는데, 제어 프로그램은 작업 감시, 작업 관리 및 자료 관리 등의 작업을 수행하며, 처리 프로그램은 언어 번역, 오류 처리 및 요구 처리 등의 작업을 수행한다.
이와 같이, 운영 체계는 그 역할 및 구조 등에 따라 분류될 수 있는데, 저장부(210)에 저장되어 있는 운영 체계의 일부분은 이러한 운영 체계의 역할 또는 구조에 따른 분류를 통해 분할된 운영 체계의 특정 부분일 수 있다.
또한, 저장부(210)에 저장되어 있는 운영 체계의 일부분은 운영 체계를 이루는 파일 중 일부 파일일 수 있다.
그리고, 장치(110)는 사전에 설정된 순서에 따라 부팅을 수행하는데, 저장부(210)에 저장된 운영 체계의 일부분은 이러한 부팅 순서에 따라 분할된 운영 체계의 특정 부분일 수 있다. 예를 들어, 시스템 파일을 메모리에 적재하거나 주변 장치를 인식하는 것은 비교적 부팅의 초기 단계에 포함되고, 그래픽 사용자 인터페이스를 메모리에 적재하거나 네트워크를 구축하는 것은 비교적 부팅의 후기 단계에 포함되는데, 저장부(210)에 저장된 운영 체계의 일부분은 각 부팅 순서에서의 역할을 수행하는 운영 체계의 특정 부분일 수 있는 것이다.
여기서, 일부분에 포함되는 운영 체계의 범위는 사용자에 의해 결정될 수 있다. 즉, 사용자는 저장부(210)의 저장 용량을 참조하여 저장되는 운영 체계의 범위를 결정하는 것이다. 예를 들어, 운영 체계가 파일에 따라 분류되는 경우 사용자는 운영 체계를 이루는 파일 중 저장부(210)의 저장 용량의 한도 내에서 저장부(210) 에 저장하는 것이다.
이때, 저장부(210)에는 현재 운영 체계의 일부분으로 저장되어 있는 파일의 종류를 나타내는 정보 파일이 추가로 저장될 수 있다. 이에 따라, 장치(110)는 정보 파일을 참조하여 네트워크를 통하여 수신하여야 하는 운영 체계의 다른 부분을 신속하게 판단할 수 있게 된다.
저장부(210)는 하드 디스크, 플래시 메모리, CF 카드(Compact Flash Card), SD 카드(Secure Digital Card), SM 카드(Smart Media Card), MMC 카드(Multimedia Card) 또는 메모리 스틱(Memory Stick) 등 정보의 입출력이 가능한 모듈로서 장치(110)의 내부에 구비되어 있을 수도 있고, 별도의 장치에 구비되어 있을 수도 있다.
확인부(250)는 저장부(210)에 저장된 운영 체계의 일부분이 전체 운영 체계 중 어느 정도의 범위에 포함되는지 확인하는 역할을 한다.
이는 운영 체계의 분류 기준에 따라 달라질 수 있는데 예를 들어, 운영 체계가 그 구조에 따라 분류되는 경우 전체 운영 체계 중 처리 프로그램을 제외한 제어 프로그램이 운영 체계의 일부분이 될 수 있고, 운영 체계가 그 파일 구성에 따라 분류되는 경우 전체 운영 체계 중 일부 파일이 운영 체계의 일부분이 될 수 있으며, 운영 체계가 부팅 순서에 따라 분류되는 경우 이에 따른 구성 요소가 운영 체계의 일부분이 될 수 있다.
확인부(250)는 저장부(210)에 저장된 데이터를 검색하여 일부분에 포함된 운영 체계의 범위를 확인할 수 있으며, 별도로 저장된 정보 파일을 참조하여 그 범위 를 확인할 수도 있다.
이때, 확인부(250)는 운영 체계의 버전에 따른 운영 체계의 범위를 확인할 수도 있다. 즉, 운영 체계의 버전에 따라 운영 체계를 구성하는 소프트웨어 모듈이 추가, 삭제 또는 교체될 수 있는데, 확인부(250)는 이를 위하여 운영 체계의 버전을 확인하는 것이다.
여기서, 운영 체계의 버전 확인을 위하여 확인부(250)는 통신부(240)를 통하여 버전 확인 패킷을 송신할 수 있다. 버전 확인 패킷에는 장치(110)의 주소와 저장부(210)에 저장된 운영 체계의 버전이 포함될 수 있다.
그리고, 버전 확인 패킷에 대한 응답으로 버전 응답 패킷을 통신부(240)가 수신하면 이는 확인부(250)로 전달되는데, 확인부(250)는 전달 받은 버전 응답 패킷을 이용하여 운영 체계의 갱신 여부를 확인한다. 이를 위하여 버전 응답 패킷에는 운영 체계의 최신 버전이 표시되어 있을 수 있으며, 갱신을 위하여 수신하여야 하는 데이터의 범위가 표시되어 있을 수 있다.
확인부(250)에 의해 확인된 운영 체계의 일부분의 범위 및 운영 체계의 버전은 제어부(230)로 전달되고, 제어부(230)는 이를 이용하여 통신부(240)로 하여금 운영 체계의 다른 부분을 수신하도록 한다.
다시 말해, 제어부(230)는 우선 운영 체계의 버전을 확인한 후에 버전이 다르면 즉, 저장된 일부분에 포함된 운영 체계의 버전이 버전 응답 패킷에 표시된 운영 체계의 버전보다 낮은 경우 갱신을 위하여 추가, 삭제, 교체하여야 하는 데이터의 종류를 확인하고, 이에 따른 데이터를 통신부(240)로 하여금 수신하도록 한다.
한편, 저장된 일부분에 포함된 운영 체계의 버전이 버전 응답 패킷에 표시된 운영 체계의 버전보다 높거나 동일한 경우, 확인부(250)에 의해 확인된 일부분에 포함된 운영 체계의 범위를 참조하여 운영 체계의 다른 부분을 통신부(240)로 하여금 수신하도록 한다.
통신부(240)의 통신 방식으로는 이더넷, USB, IEEE 1394, 직렬 통신(serial communication) 및 병렬 통신(parallel communication)과 같은 유선 통신 방식이 사용될 수 있으며, 적외선 통신, 블루투스, 홈 RF 및 무선 랜과 같은 무선 통신 방식이 사용될 수도 있는데, 이를 위하여 통신에는 이를 위한 별도의 소프트웨어 모듈이 구비되어 있을 수 있다.
통신부(240)는 운영 체계의 다른 부분을 제공하는 특정 서버(120)에 버전 확인 패킷을 송신한 후에 운영 체계의 다른 부분을 제공받을 수 있으며, 네트워크 상에 존재하는 별도의 장치로부터 운영 체계의 다른 부분을 제공받을 수도 있다. 따라서, 통신부(240)는 버전 확인 패킷을 브로드캐스팅으로 송신하여 네트워크 상에 존재하는 모든 장치(120, 130)로부터 버전 응답 패킷을 수신할 수 있고 이에 따라, 제어부(230)는 버전 응답 패킷을 송신한 장치(120, 130) 중 하나 또는 복수 개를 선택하여 통신부(240)로 하여금 운영 체계의 다른 부분을 수신하도록 할 수 있다.
수신된 운영 체계의 다른 부분은 저장부(210)에 저장된다. 이때, 저장부(210)의 저장 용량의 한계를 초과하는 경우 운영 체계의 다른 부분은 저장부(210)에 저장되지 않고, 직접 메모리에 적재될 수 있다. 즉, 네트워크를 통해 전달된 운영 체계 정보가 직접 부팅 수행에 이용되는 것이다.
부팅은 부팅 수행부(220)에 의하여 수행되는데, 부팅 수행부(220)는 저장부(210)에 저장된 운영 체계의 일부분 및 통신부(240)로부터 전달 받은 운영 체계의 다른 부분 중 적어도 하나를 이용하여 부팅을 수행하는 역할을 한다.
즉, 저장부(210)에 저장되어 있는 운영 체계의 일부분 및 다른 부분을 이용하여 부팅을 수행할 수 있고, 저장되어 있는 운영 체계의 일부분 또는 다른 부분만을 이용하여 부팅을 수행할 수 있으며, 저장되어 있는 운영 체계의 일부분만을 이용하여 부팅을 수행하다가 네트워크로 전달된 운영 체계의 다른 부분을 이용하여 부팅을 수행할 수도 있다.
부팅 수행부(220)에 의한 부팅은 일반적인 부팅 순서에 따를 수 있는데, 이는 사용자에 의해 변경될 수 있으며, 사용자는 그 범위를 설정할 수도 있다.
즉, 사용자는 부팅 수행부(220)로 하여금 저장부(210)에 저장되어 있는 운영 체계의 일부분만을 이용하여 부팅을 수행하게 하거나 운영 체계의 다른 부분만을 이용하여 부팅을 수행하게 할 수 있으며, 운영 체계의 일부분 및 다른 부분의 구분 없이 특정 부분까지의 부팅을 수행하게 할 수도 있다.
또한, 저장부(210)에 저장된 운영 체계의 일부분이 버전 응답 패킷에 표시된 운영 체계의 버전보다 낮은 경우에도, 이는 사용자의 선택에 따라 갱신 여부가 결정될 수 있다.
제어부(230)는 저장부(210), 부팅 수행부(220), 통신부(240), 확인부(250) 및 장치의 전반적인 제어를 수행한다.
도 3은 본 발명의 실시예에 따른 버전 확인 패킷을 나타낸 도면으로서, 버전 확인 패킷(300)은 발신지 주소 필드(310), 목적지 주소 필드(320), 운영 체계의 버전 필드(330) 및 운영 체계의 범위 필드(340)를 포함하여 구성된다.
버전 확인 패킷(300)은 운영 체계의 다른 부분을 요청하는 운영 체계를 부팅하는 장치(110)에 의해 전송되는데, 버전 확인 패킷(300)에서 발신지 주소 필드(310)에는 운영 체계를 부팅하는 장치(110)의 주소가 표시되어 있다. 즉, 장치(110)는 자신의 주소를 삽입하여 패킷을 송신함으로써 자신이 저장하고 있지 않은 운영 체계의 다른 부분을 제공받을 수 있게 된다.
목적지 주소 필드(320)에는 운영 체계의 다른 부분을 제공하는 서버(120) 또는 네트워크 상의 다른 호스트(130)의 주소가 표시되어 있다. 즉, 장치(110)는 서버(120) 또는 네트워크 상의 다른 호스트(130)의 주소를 버전 확인 패킷(300)에 표시함으로써 특정 기기로부터 운영 체계의 다른 부분을 제공받을 수 있는 것이다.
한편, 목적지 주소가 브로드캐스팅 주소로 설정될 수도 있는데 이에 따라, 버전 확인 패킷(300)은 네트워크 상의 모든 서버(120) 및 호스트(130)로 전달되고, 장치(110)는 선택적으로 운영 체계의 다른 부분을 제공받을 수 있게 된다.
운영 체계의 버전 필드(330)에는 저장부(210)에 저장된 운영 체계의 일부분의 버전이 표시되어 있다. 운영 체계의 다른 부분을 제공하는 서버(120) 또는 호스트(130)는 운영 체계의 버전을 이용하여 갱신 여부를 결정한다.
운영 체계의 범위 필드(340)에는 저장부(210)에 저장된 일부분이 포함하는 운영 체계의 범위가 표시되어 있다. 즉, 이는 운영 체계의 역할, 구조, 파일 및 부팅 순서 등에 따라 분류된 운영 체계의 범위로서, 서버(120) 또는 호스트(130)는 이를 이용하여 제공하여야 하는 운영 체계의 다른 부분을 확인할 수 있게 된다.
도 4는 본 발명의 실시예에 따른 버전 응답 패킷을 나타낸 도면으로서, 버전 응답 패킷(400)은 발신지 주소 필드(410), 목적지 주소 필드(420), 운영 체계의 버전 필드(430), 갱신 정보 필드(440) 및 운영 체계의 범위 필드(450)를 포함하여 구성된다.
버전 응답 패킷(400)은 운영 체계의 다른 부분을 제공하는 서버(120) 또는 네트워크 상에 존재하는 호스트(130)에 의해 전송되는데, 버전 응답 패킷(400)에서 발신지 주소 필드(410)에는 서버(120) 또는 네트워크 상에 존재하는 호스트(130)의 주소가 표시되어 있다. 즉, 운영 체계를 부팅하는 장치(110)는 서버(120)로부터 운영 체계의 다른 부분을 제공받을 수 있으며 네트워크 상의 호스트(130)로부터 직접 제공받을 수도 있다.
목적지 주소 필드(420)에는 운영 체계를 부팅하는 장치(110)의 주소가 표시되어 있다. 표시된 목적지 주소에 따라 버전 응답 패킷(400)은 적절한 라우팅 경로를 통하여 운영 체계를 부팅하는 장치(110)로 전달될 수 있다.
운영 체계의 버전 필드에는 서버(120) 또는 호스트(130)가 제공하고자 하는 운영 체계의 버전이 표시되어 있다. 서버(120) 또는 호스트(130)는 버전 확인 패킷(300)을 수신한 후에 자신이 저장하고 있는 운영 체계의 버전과 전달받은 버전 확인 패킷(300)에 표시된 운영 체계의 버전을 확인하는데, 자신이 저장하고 있는 운영 체계의 버전이 전달받은 버전 확인 패킷(300)에 표시된 운영 체계의 버전보다 높은 경우 운영 체계를 부팅하는 장치(110)의 운영 체계 갱신을 준비한다.
그리고, 버전 응답 패킷(400)의 갱신 정보 필드(440)에 갱신되어야 하는 정보를 표시한다. 즉, 추가, 삭제, 교체되어야 하는 파일을 표시하거나 갱신 데이터를 제공하는 별도 제공 기기의 주소를 표시할 수 있는 것이다.
한편, 서버(120) 또는 호스트(130)는 자신이 저장하고 있는 운영 체계의 버전이 전달받은 버전 확인 패킷(300)에 표시된 운영 체계의 버전보다 낮은 경우 갱신 정보를 표시하지 않을 수 있다.
운영 체계의 범위 필드(450)에는 운영 체계의 다른 부분의 범위가 표시되어 있다. 운영 체계를 부팅하는 장치(110)에 저장된 일부분에 포함되어 있지 않는 운영 체계의 다른 부분의 범위일 수 있는데, 이는 서버(120) 또는 호스트(130)가 제공할 수 있는 범위만을 포함할 수도 있다.
즉, 서버(120) 또는 호스트(130)는 자신이 제공할 수 있는 범위만을 표시함으로써 운영 체계를 부팅하는 장치(110)로 하여금 제공 여부를 결정할 수 있게 하는 것이다.
도 5는 본 발명의 실시예에 따른 운영 체계를 부팅하는 과정을 나타낸 흐름도이다.
운영 체계를 부팅하기 위하여 장치(110)는 우선 운영 체계의 일부분을 저장한다(S510). 일부분에 포함되는 운영 체계의 범위는 사용자에 의해 결정될 수 있다. 사용자는 저장부(210)의 저장 용량을 참조하여 저장되는 운영 체계의 범위를 결정할 수 있으며, 운영 체계의 분류 기준 즉, 운영 체계의 역할, 구조, 파일 또는 부팅 순서 등에 따라 운영 체계의 일부분을 저장할 수 있다.
운영 체계의 일부분이 저장된 상태에서 장치(110)에 전원이 인가되면 장치(110)는 저장된 일부분에 포함되는 운영 체계의 버전을 확인한다. 즉, 저장된 운영 체계의 버전이 최신 버전인지 아닌지를 확인하는 것으로서, 이를 위하여 장치(110)는 버전 확인 패킷(300)을 송신한다(S520). 버전 확인 패킷(300)은 전술한 바와 같이, 특정 서버(120) 또는 호스트(130)로 송신될 수 있으며, 브로드캐스팅으로 송신되어 네트워크 상에 존재하는 모든 서버(120) 및 호스트(130)로 송신될 수도 있다.
그리고, 버전 확인 패킷(300)에 대한 응답으로 버전 응답 패킷(400)을 수신하는데(S530), 버전 응답 패킷(400)에는 최신 운영 체계의 버전이 표시되어 있다. 이에 따라, 장치(110)는 저장된 운영 체계의 일부분의 버전과 버전 응답 패킷(400)에 표시된 운영 체계의 버전을 비교하고(S540), 그 결과 저장된 운영 체계의 일부분의 버전이 버전 응답 패킷(400)에 표시된 운영 체계의 버전보다 낮은 경우 최신 버전으로의 갱신에 필요한 운영 체계의 범위를 확인한다(S550). 즉, 저장부(210)에 저장된 데이터 또는 정보 파일을 이용하여 저장된 운영 체계의 일부분의 범위와 버전 응답 패킷(400)에 표시된 최신 버전의 운영 체계의 다른 부분의 범위를 비교하는 것이다.
그리고, 서버(120) 또는 호스트(130)로 최신 버전의 운영 체계를 요청한다(S560). 이때, 최신 버전의 운영 체계 전체를 요청할 수 있으며 최신 버전으로의 갱신에 필요한 운영 체계의 다른 부분만을 요청할 수도 있다. 여기서, 요청하는 운영 체계의 범위는 사용자에 의해 결정될 수 있다.
한편, 저장된 운영 체계의 일부분의 버전이 버전 응답 패킷(400)에 표시된 운영 체계의 버전보다 높거나 동일한 경우, 저장하고 있는 운영 체계의 일부분의 범위를 확인한다(S570). 즉, 저장된 운영 체계의 일부분이 전체 운영 체계 중 어느 정도의 범위에 포함되는지 확인하는 것으로서, 장치(110)는 저장된 데이터를 검색하여 일부분에 포함된 운영 체계의 범위를 확인할 수 있으며, 별도로 저장된 정보 파일을 참조하여 그 범위를 확인할 수도 있다.
그리고, 장치(110)는 서버(120) 또는 호스트(130)로 운영 체계의 다른 부분을 요청한다(S580). 즉, 장치(110)는 저장부(210)에 저장된 운영 체계의 일부분에 포함되지 않는 운영 체계의 다른 부분을 요청하는 것이다.
최신 버전의 운영 체계 또는 동일한 버전의 운영 체계의 다른 부분을 요청하기 위하여 장치(110)는 운영 체계 요청 패킷을 송신할 수 있는데, 운영 체계 요청 패킷에는 제공받고자 하는 운영 체계의 범위가 표시되어 있으며, 이는 사용자에 의해 결정될 수 있다.
운영 체계의 요청에 따라 장치(110)는 최신 버전의 운영 체계 또는 동일한 버전의 운영 체계의 다른 부분을 수신하여 부팅을 수행한다(S590). 이때, 장치(110)는 수신된 데이터를 저장부(210)에 저장하거나 직접 부팅에 이용할 수 있다. 다시 말해, 저장부(210)의 저장 용량이 수신된 데이터를 수용하기에 부족한 경우 장치(110)는 우선 저장된 데이터를 이용하여 운영 체계의 부팅을 시작하고, 필요한 부분에 대해서는 네트워크를 통해 수신하여 저장부(210)에 저장하지 않고 직접 부팅에 이용하는 것이다.
이상 첨부된 도면을 참조하여 본 발명의 실시예를 설명하였지만, 본 발명이 속하는 기술분야에서 통상의 지식을 가진 자는 본 발명이 그 기술적 사상이나 필수적인 특징을 변경하지 않고서 다른 구체적인 형태로 실시될 수 있다는 것을 이해할 수 있을 것이다. 그러므로 이상에서 기술한 실시예들은 모든 면에서 예시적인 것이며 한정적이 아닌 것으로 이해해야만 한다.
상기한 바와 같은 본 발명의 운영 체계를 부팅하는 장치 및 방법에 따르면 다음과 같은 효과가 하나 혹은 그 이상 있다.
첫째, 임베디드 장치에 있어서, 기본적인 운영 체계의 이미지를 저장하고 이를 이용하여 부팅을 수행한 후에, 추가적인 운영 체계의 이미지를 네트워크를 통하여 다운로드하고 이를 이용하여 운영 체계의 기능을 수행하게 함으로써, 임베디드 장치에 내장된 저장 수단의 용량을 증가시키기 위하여 소요되는 경비의 절감을 가져오는 장점이 있다.
둘째, 임베디드 장치에 있어서, 사용자에 의해 선택된 운영 체계의 이미지를 저장하고 이를 이용하여 부팅을 수행한 후에, 추가적인 운영 체계의 이미지를 네트워크를 통하여 다운로드하고 이를 이용하여 운영 체계의 기능을 수행하게 함으로써, 사용자의 취향에 따른 운영 체계 부팅을 수행할 수 있는 장점도 있다.

Claims (5)

  1. 운영 체계의 일부분을 저장하는 저장부;
    상기 일부분에 포함되는 상기 운영 체계의 범위를 확인하는 확인부;
    상기 확인 결과에 따라 상기 운영 체계의 다른 부분을 수신하는 통신부; 및
    상기 운영 체계의 일부분 및 다른 부분 중 적어도 하나를 이용하여 부팅을 수행하는 부팅 수행부를 포함하는 운영 체계를 부팅하는 장치.
  2. 제 1항에 있어서,
    상기 확인부는 상기 운영 체계의 버전에 따른 상기 운영 체계의 범위를 확인하는 운영 체계를 부팅하는 장치.
  3. 제 1항에 있어서,
    상기 통신부는 기 설정된 용량의 한도 내에서 상기 운영 체계의 다른 부분을 수신하는 운영 체계를 부팅하는 장치.
  4. 제 1항에 있어서,
    상기 부팅 수행부는 상기 운영 체계의 일부분 및 다른 부분 중 적어도 하나를 램에 적재하는 운영 체계를 부팅하는 장치.
  5. 운영 체계의 일부분을 저장하는 단계;
    상기 일부분에 포함되는 상기 운영 체계의 범위를 확인하는 단계;
    상기 확인 결과에 따라 상기 운영 체계의 다른 부분을 수신하는 단계; 및
    상기 운영 체계의 일부분 및 다른 부분 중 적어도 하나를 이용하여 부팅을 수행하는 단계를 포함하는 운영 체계를 부팅하는 방법.
KR1020050081809A 2005-09-02 2005-09-02 운영 체계를 부팅하는 장치 및 방법 KR20070025530A (ko)

Priority Applications (1)

Application Number Priority Date Filing Date Title
KR1020050081809A KR20070025530A (ko) 2005-09-02 2005-09-02 운영 체계를 부팅하는 장치 및 방법

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
KR1020050081809A KR20070025530A (ko) 2005-09-02 2005-09-02 운영 체계를 부팅하는 장치 및 방법

Publications (1)

Publication Number Publication Date
KR20070025530A true KR20070025530A (ko) 2007-03-08

Family

ID=38099791

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1020050081809A KR20070025530A (ko) 2005-09-02 2005-09-02 운영 체계를 부팅하는 장치 및 방법

Country Status (1)

Country Link
KR (1) KR20070025530A (ko)

Similar Documents

Publication Publication Date Title
US9182998B2 (en) Remote bios update in system having multiple computers
CN106020875B (zh) 嵌入式终端的固件更新管理方法和装置
CN110597542B (zh) 软件自动ota升级方法及装置、电子设备
US9286046B2 (en) Method and apparatus for distributed operating system image deployment
EP3399408B1 (en) Information processing apparatus and computer readable storage medium
US20030172372A1 (en) Hardware ROM upgrade through an internet or intranet service
JP2009187420A (ja) 情報処理システム、サーバ装置、ユーザ管理装置、情報処理方法、およびプログラム
US7921230B2 (en) USB devices pre-configuration for KVM switch
JP5129770B2 (ja) ネットワーク装置
CN110851154B (zh) 用于更新只读存储器编码的计算机实施方法、系统及介质
CN100583038C (zh) 用于启动与电子设备的接口的方法、系统和装置
CN111338699A (zh) 电脑主板初始化方法、装置、计算机设备及存储介质
US9607163B2 (en) Information processing apparatus, control method, and storage medium storing program
US9141321B1 (en) Configurable printer server device
JP2002007138A (ja) アプリケーションのインストール方法、起動方法、実行装置、媒体およびプログラム
CN110955449B (zh) 客户端的灰度发布方法及装置
CN111045695A (zh) WebLogic中间件部署装置、方法及设备和介质
US20150212866A1 (en) Management system for service of multiple operating environments, and methods thereof
US10216505B2 (en) Using machine learning to optimize minimal sets of an application
JP2003173260A (ja) 遠隔プログラム更新システム
US20140136777A1 (en) Method and system for configuring a storage array
KR20070025530A (ko) 운영 체계를 부팅하는 장치 및 방법
JP2005310173A (ja) リモートインストールシステムおよび方法
US11507388B2 (en) Storage device enumeration in information handling systems
CN115913913B (zh) 网卡预启动执行环境功能故障定位方法及装置

Legal Events

Date Code Title Description
A201 Request for examination
E902 Notification of reason for refusal
AMND Amendment
E902 Notification of reason for refusal
AMND Amendment
E601 Decision to refuse application
AMND Amendment
J201 Request for trial against refusal decision
E801 Decision on dismissal of amendment
B601 Maintenance of original decision after re-examination before a trial
J301 Trial decision

Free format text: TRIAL DECISION FOR APPEAL AGAINST DECISION TO DECLINE REFUSAL REQUESTED 20071228

Effective date: 20080723