KR20130104958A - 다중 운영체제들을 실행하는 장치 및 방법 - Google Patents

다중 운영체제들을 실행하는 장치 및 방법 Download PDF

Info

Publication number
KR20130104958A
KR20130104958A KR1020120026964A KR20120026964A KR20130104958A KR 20130104958 A KR20130104958 A KR 20130104958A KR 1020120026964 A KR1020120026964 A KR 1020120026964A KR 20120026964 A KR20120026964 A KR 20120026964A KR 20130104958 A KR20130104958 A KR 20130104958A
Authority
KR
South Korea
Prior art keywords
resource
operating system
management application
operating systems
operating
Prior art date
Application number
KR1020120026964A
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 KR1020120026964A priority Critical patent/KR20130104958A/ko
Priority to US13/795,958 priority patent/US20130247065A1/en
Publication of KR20130104958A publication Critical patent/KR20130104958A/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/46Multiprogramming arrangements
    • G06F9/50Allocation of resources, e.g. of the central processing unit [CPU]
    • 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/22Microcontrol or microprogram arrangements
    • 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/46Multiprogramming arrangements
    • G06F9/52Program synchronisation; Mutual exclusion, e.g. by means of semaphores
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F2209/00Indexing scheme relating to G06F9/00
    • G06F2209/52Indexing scheme relating to G06F9/52
    • G06F2209/522Manager

Landscapes

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

Abstract

다중 운영체제들을 실행하는 장치 및 방법이 제공된다. 다중 운영체제들 각각에게 할당된 자원은 운영체제의 관리 응용에 의해 관리된다. 프로세서는 복수 개의 운영체제들을 실행하며, 복수 개의 운영체제들은 각각 관리 응용을 실행한다. 복수 개의 운영체제들 각각은 복수 개의 운영체제들 중 다른 운영체제에 의해 점유된 자원을 자신의 관리 응용이 사용하는 것으로 간주함으로써 자신의 다른 응용에게 상기의 자원이 할당되는 것을 방지한다.

Description

다중 운영체제들을 실행하는 장치 및 방법{APPARATUS AND METHODS FOR EXECUTING MULTI-OPERATING SYSTEMS}
하기의 실시예들은 다중 운영체제들을 실행하는 장치 및 방법에 관한 것이다.
관리 응용을 사용하여 다중 운영체제들에게 할당된 자원을 관리하는 장치 및 방법이 개시된다.
컴퓨터 시스템의 성능을 향상시키기 위해 가정 널리 이용되는 방법은 컴퓨터 시스템의 프로세서(processor) 또는 프로세서의 코어(core)의 개수를 늘리는 것이다.
멀티코어(multi-core) 시스템이 일반화되면서, 복수 개의 응용(application)들이 상황에 따라 복수 개의 코어들을 분할하여 사용하는 것이 일반화되었다.
멀티코어 시스템하에서는 단일한 범용 운영체제(Operating System; OS)가 다양한 응용들 모두를 관리하는 것보다는, 응용에 맞춰 다양한 OS가 선택 및 사용되는 것이 바람직할 수 있다. 응용에 맞취진 OS가 사용됨으로써, 불필요한 OS 서비스가 감소될 수 있으며, 자원이 더 효율적으로 사용될 수 있다. 여기서, 자원은 전력, 중앙처리장치(Central Processing Unit; CPU) 싸이클(cycle) 등을 포함할 수 있다.
일 실시예는 타 운영체제에게 할당된 자원을 관리 응용이 사용하는 것으로 간주하는 운영체제를 실행하는 장치 및 방법을 제공할 수 있다.
일 실시예는 관리 응용을 통해 운영체제들 간에 공유될 수 있는 자원의 사용 여부를 설정하는 운영체제를 실행하는 장치 및 방법을 제공할 수 있다.
일 측에 따르면, 전자 장치에 있어서, 복수 개의 운영체제들을 실행하는 프로세서 및 디바이스를 포함하고, 상기 복수 개의 운영체제들은 각각 관리 응용을 실행하며, 상기 복수 개의 운영체제들 각각은 상기 복수 개의 운영체제들 중 다른 운영체제에 의해 점유된 상기 전자 장치의 자원을 상기 관리 응용이 사용하는 것으로 간주하고, 상기 자원은 상기 디바이스에 대응하는 하드웨어 자원인, 전자 장치가 제공된다.
상기 복수 개의 운영체제들은 상기 전자 장치가 포함하는 하드웨어에 대한 동일한 구성 정보를 사용할 수 있다.
상기 복수 개의 운영체제들은 오디오 데이터 및 비디오 데이터 처리에 적합하게 설계된 오디오/비디오-향 운영체제 및 네트워킹에 적합하게 설계된 네트워크-향 운영체제 중 하나 이상을 포함할 수 있다.
상기 복수 개의 운영체제들의 자원 점유 상태는 상기 관리 응용들 간의 통신을 통해 변경될 수 있다.
제1 운영체제 및 제2 운영체제는 각각 상기 복수 개의 운영체제들 중 하나의 운영체제일 수 있다.
상기 제1 운영체제는 상기 제1 운영체제의 상기 관리 응용이 제1 자원을 점유하는 상기 제2 운영체제의 상기 관리 응용에게 상기 제1 자원을 요청함으로써 상기 제1 자원을 점유할 수 있다.
상기 제1 자원은 상기 복수 개의 운영체제들 중 하나의 운영체제에 의해 독점되는 자원일 수 있다.
제1 운영체제는 상기 복수 개의 운영체제들 중 하나의 운영체제일 수 있고, 제2 운영체제는 상기 복수 개의 운영체제들 중 상기 제1 운영체제를 제외한 나머지 운영체제들 중 하나의 운영체제일 수 있다.
상기 제1 운영체제는 상기 제1 운영체제의 상기 관리 응용이 상기 제2 운영체제의 상기 관리 응용에게 제1 자원을 반납함으로써 상기 제1 자원의 점유를 해제할 수 있다.
상기 제1 운영체제는 상기 제1 운영체제의 상기 관리 응용이 제2 자원의 인터럽트가 상기 제1 운영체제에게 전달되도록 설정함으로써 상기 제2 자원의 사용을 시작할 수 있다.
상기 제1 운영체제는 상기 제1 운영체제의 상기 관리 응용이 제2 자원의 인터럽트가 상기 제1 운영체제에게 전달되지 않도록 설정함으로써 상기 제2 자원의 사용을 종료할 수 있다.
상기 제2 자원은 상기 복수 개의 운영체제들 중 적어도 하나의 운영체제에 의해 공유될 수 있는 자원일 수 있다.
상기 프로세서는 복수 개의 코어들을 포함할 수 있다.
상기 복수 개의 코어들은 각각 상기 복수 개의 운영체제들 중 하나의 운영체제를 실행할 수 있다.
다른 일 측에 따르면, 프로세서를 포함하는 전자 장치가 복수 개의 운영체제들을 실행하는 방법에 있어서, 상기 프로세서가 상기 복수 개의 운영체제들을 실행하는 단계 및 상기 복수 개의 운영체제들이 각각 관리 응용을 실행하는 단계를 포함하고, 상기 복수 개의 운영체제들 각각은 상기 복수 개의 운영체제들 중 다른 운영체제에 의해 점유된 상기 전자 장치의 자원을 상기 관리 응용이 사용하는 것으로 간주하는, 전자 장치의 동작 방법이 제공된다.
상기 전자 장치의 동작 방법은, 상기 복수 개의 운영체제들이 상기 전자 장치가 포함하는 하드웨어에 대한 동일한 구성 정보를 읽어 오는 단계를 더 포함할 수 있다.
상기 전자 장치의 동작 방법은, 상기 관리 응용에 의해 상기 복수 개의 운영체제들의 자원 점유 상태가 변경되는 단계를 더 포함할 수 있다.
상기 자원 점유 상태가 변경되는 단계는, 제1 운영체제의 상기 관리 응용이 제1 자원을 점유하는 제2 운영체제의 상기 관리 응용에게 상기 제1 자원을 요청함으로써 상기 제1 운영체제가 상기 제1 자원을 점유하는 단계를 포함할 수 있다.
상기 제1 운영체제 및 상기 제2 운영체제는 각각 상기 복수 개의 운영체제들 중 하나의 운영체제일 수 있다.
상기 제1 자원은 상기 복수 개의 운영체제들 중 하나의 운영체제에 의해 독점되는 자원일 수 있다.
상기 자원 점유 상태가 변경되는 단계는, 제1 운영체제의 상기 관리 응용이 제2 운영체제의 상기 관리 응용에게 제1 자원을 반납함으로써 제1 운영체제가 상기 제1 자원의 점유를 해제하는 단계를 포함할 수 있다.
상기 제1 운영체제는 상기 복수 개의 운영체제들 중 하나의 운영체제일 수 있고, 상기 제2 운영체제는 상기 복수 개의 운영체제들 중 상기 제1 운영체제를 제외한 나머지 운영체제들 중 하나의 운영체제일 수 있다.
상기 자원 점유 상태가 변경되는 단계는, 상기 제1 운영체제의 상기 관리 응용이 제2 자원의 인터럽트가 상기 제1 운영체제에게 전달되도록 설정함으로써 제1 운영체제가 상기 제2 자원의 사용을 시작하는 단계 및 상기 제1 운영체제의 상기 관리 응용이 상기 제2 자원의 상기 인터럽트가 상기 제1 운영체제에게 전달되지 않도록 설정함으로써 상기 제1 운영체제가 상기 제2 자원의 사용을 종료하는 단계를 포함할 수 있다.
타 운영체제에게 할당된 자원을 관리 응용이 사용하는 것으로 간주하는 운영체제를 실행하는 장치 및 방법이 제공된다.
관리 응용을 통해 운영체제들 간에 공유될 수 있는 자원의 사용 여부를 설정하는 운영체제를 실행하는 장치 및 방법이 제공된다.
도 1은 일 실시예에 따른 복수 개의 OS들을 실행하는 전자 장치의 구조도이다.
도 2는 일 예에 따른 복수 개의 OS들의 동작을 설명한다.
도 3은 일 예에 따른 관리 응용의 메모리 사용 방법을 설명한다.
도 4는 일 예에 따른 관리 응용의 네트워크 디바이스 사용 방법을 나타낸다.
도 5는 일 실시예에 따른 전자 장치의 동작 방법의 흐름도이다.
이하에서, 실시예들을, 첨부된 도면을 참조하여 상세하게 설명한다. 그러나, 본 발명이 실시예들에 의해 제한되거나 한정되는 것은 아니다. 각 도면에 제시된 동일한 참조 부호는 동일한 부재를 나타낸다.
도 1은 일 실시예에 따른 복수 개의 OS들을 실행하는 전자 장치의 구조도이다.
전자 장치(100)는 적어도 하나의 프로세서, 적어도 하나의 인터럽트 제어기(Interrupt Controller; IC) 및 적어도 하나의 디바이스를 포함할 수 있다. 전자 장치(100)는 서버(server), 개인용 컴퓨터(personal computer; PC) 및 스마트 폰(smart phone) 등의 정보 처리 장치를 의미할 수 있다.
도 1에서, 적어도 하나의 디바이스로서, 메모리(130-1), 네트워크(network) 디바이스(130-2) 및 입/출력(Input/Output; I/O) 디바이스(130-3)가 도시되었다.
도 1에서, 적어도 하나의 프로세서들로서, 제1 프로세서(110-1), 제2 프로세서(110-2) 및 제3 프로세서(110-3)가 예시적으로 도시되었다.
각 프로세서는 적어도 하나의 코어를 포함할 수 있다. 도 1에서, 제1 프로세서(100-1), 제2 프로세서(100-2) 및 제3 프로세서(100-3)는 각각 4 개의 코어들을 포함한다.
IC는 포괄적인(generic) 인터럽트 제어기일 수 있다. 복수 개의 프로세서들 각각에 대해 하나의 IC가 있을 수 있다. 도 1에서, 제1 프로세서(100-1), 제2 프로세서(100-2) 및 제3 프로세서(100-3) 각각에 대응하는 제1 IC(110-1), 제2 IC(110-2) 및 제3 IC(110-3)가 도시되었다.
프로세서(또는, 프로세서의 코어)는 인터커넥션(interconnection)을 통해 디바이스와 연결될 수 있다.
IC는 프로세서(또는, 프로세서의 코어) 및 디바이스 간의 인터럽트의 전달을 제어할 수 있다. IC는 디바이스 또는 복수 개의 프로세서들 중 한 프로세서(또는, 프로세서의 한 코어)에서 발생한 인터럽트를 복수 개의 프로세서들 중 다른 프로세서(또는, 프로세서의 다른 코어)로 전달할 수 있다. 예컨대, 제1 IC(110-1)는 네트워크 디바이스(120-2)에서 발생한 인터럽트를 제1 프로세서(100-1)의 첫 번째 코어로 전달할 수 있다.
각 프로세서(또는, 프로세서의 코어)는 특정한 디바이스에서 발생한 인터럽트를 수신할지 여부를 설정할 수 있다. 상기의 설정에 따라, 특정한 프로세서(또는, 코어)는 특정한 디바이스에서 발생한 인터럽트를 다른 프로세서(또는, 코어)와 함께 전달받을 수 있고, 상기의 인터럽트를 전달받지 않을 수 있다.
프로세서는 복수 개의 OS들을 실행할 수 있다.
프로세서가 복수 개인 경우, 복수 개의 프로세서들은 각각 복수 개의 OS들 중 하나의 OS를 실행할 수 있다. 복수 개의 OS들 각각에 대해 복수 개의 프로세서들 중 적어도 하나의 프로세서가 할당될 수 있다.
프로세서가 복수 개의 코어들을 포함하는 경우(또는, 복수 개의 프로세서들이 각각 복수 개의 코어들을 포함하는 경우), 복수 개의 코어들은 각각 복수 개의 OS들 중 하나의 OS를 실행할 수 있다. 복수 개의 OS들 각각에 대해 복수 개의 코어들 중 적어도 하나의 코어가 할당될 수 있다.
도 2는 일 예에 따른 복수 개의 OS들의 동작을 설명한다.
도 2에서, 복수 개의 OS들의 일 예로, 제1 OS(210) 및 제2 OS(250)가 도시되었다.
제1 OS(210)는 오디오(audio) 데이터 및 비디오(video) 데이터 처리에 적합하게 설계된 오디오/비디오(Audio/Video; A/V)-향(oriented) OS일 수 있다. 제2 OS(250)는 네트워킹(networking)에 적합하게 설계된 네트워크-향 OS일 수 있다. 즉, 복수 개의 OS들은 AV-향 OS 및 네트워크-향 OS 중 하나 이상을 포함할 수 있다.
제1 OS(210)가 디바이스에 접근하기 위한 드라이버로서, I/O 드라이버(232) 및 네트워크 드라이버(234)가 도시되었다. 제2 OS(250)가 디바이스에 접근하기 위한 드라이버로서, I/O 드라이버(272) 및 네트워크 드라이버(274)가 도시되었다.
복수 개의 OS들은 각각 다양한 응용들을 실행할 수 있다. 또한, 복수 개의 OS들은 각각 관리 응용을 실행할 수 있다.
제1 OS(210) 및 제2 OS(250)에서 실행되는 일 예로서, 제1 OS(210) 상에서 실행되는 A/V 코덱(222) 및 제1 관리 응용(224)이 도시되었고, 제2 OS(250) 상에서 실행되는 제2 관리 응용(262) 및 웹 브라우저(web browser)(264)가 도시되었다. 제1 관리 응용(224)은 제1 OS(210)가 실행하는 관리 응용이다. 제2 관리 응용(262)은 제2 OS(250)가 실행하는 관리 응용이다.
복수 개의 OS들 각각은 다른 OS에 의해 점유된 전자 장치(100)의 자원을 자신의 관리 응용이 사용하는 것으로 간주할 수 있다. 여기서, 자원은 전자 장치(100)가 포함하는 적어도 하나의 디바이스 중 하나의 디바이스에 대응하는 하드웨어 자원을 의미할 수 있다.
예컨대, 제1 OS (210)에게 전자 장치(100)의 특정한 디바이스에 대응하는 자원이 할당되지 않은 경우, 제1 OS(210)는 상기의 자원이 제1 관리 응용(224)에게 할당된 것으로 설정할 수 있다. 따라서, 제1 OS(210)는 상기의 자원이 제1 OS(210) 상에서 실행 중인 다른 응용들에게 할당되는 것을 방지할 수 있다. 제1 관리 응용(224)은 제2 OS(250)에게 할당된 자원을 제1 OS(210)에게 알려줄 수 있다. A/V-향 OS인 제1 OS(210)에 있어서, 제1 관리 응용(224)은 네트워크-향 OS인 제2 OS(250)에게 할당된 자원을 가리키는 응용일 수 있다. 따라서, 제1 OS(210) 내에서, 제1 관리 응용(224)은 네트워크-향 운영 체제(Network-oriented Operating System; NOS) 응용으로 명명될 수 있다.
또한, 제2 OS(250)에게 전자 장치(100)의 특정한 디바이스에 대응하는 자원이 할당되지 않은 경우, 제2 OS(250)는 상기의 자원이 제2 관리 응용(262)에게 할당된 것으로 설정할 수 있다. 따라서, 제2 OS(250)는 상기의 자원이 제2 OS(250) 상에서 실행 중인 다른 응용들에게 할당되는 것을 방지할 수 있다. 제2 관리 응용(262)은 제1 OS(210)에게 할당된 자원을 제2 OS(250)에게 알려줄 수 있다. 네트워크-향 OS인 제2 OS(250)에 있어서, 제2 관리 응용(262)은 AV-향 OS인 제1 OS(210)에게 할당된 자원을 가리키는 응응일 수 있다. 따라서, 제2 OS(250) 내에서 제2 관리 응용(262)은 오디오/비디오-향 운영 체제(Audio/Video-oriented Operating System; AOS) 응용으로 명명될 수 있다.
복수 개의 운영체제들이 자원 점유 상태는, 복수 개의 OS들의 관리 응용들 간의 통신을 통해 변경될 수 있다. 자원은 1) (부분적으로 또는 전체적으로) 복수 개의 OS들 중 하나의 OS에 의해 독점되는 독점 자원 및 2) 복수 개의 OS들 중 적어도 하나의 OS에 의해 공유될 수 있는 공유 가능 자원으로 분류될 수 있다. 독점 자원으로서, 프로세서의 코어 및 메모리 등이 있다. 공유 가능 자원으로서 I/O 디바이스 및 네트워크 디바이스 등이 있다. 관리 응용이 독점 자원 및 공유 가능 자원을 사용하는 방식의 일 예가 각각 도 3 및 도 4를 참조하여 하기에서 상세히 설명된다.
상술된 것과 같이, 복수 개의 OS들 각각에게 할당된 자원에 대한 제어는 관리 응용들을 통해 이루어질 수 있다. 따라서, 복수 개의 OS들이 각각 부팅될 때, 각 OS는, 자신에게 할당된 자원에 대응하는 구성 정보를 읽어들이는 대신, 전자 장치(100)가 포함하는 모든 하드웨어에 대한 구성 정보를 읽어들일 수 있다. 또한, 복수 개의 OS들은 전자 장치(100)가 포함하는 하드웨어에 대한 동일한 구성 정보를 사용할 수 있다. 즉, 전자 장치(100)에 의해 제공되는 하드웨어에 대한 공통된 구성 정보가 복수 개의 OS들 각각에게 제공될 수 있다.
전술된 것과 같은 구성을 통해, 1) OS는 자원을 관리하기 위한 하이퍼바이저(hypervisor)(또는, 가상 머신 모니터(virtual machine monitor))를 사용하지 않고, 2) 단일한 OS로서 사용될 때에 비해 일부만이 수정된 채, 다중 OS들 중 하나의 OS로서 실행될 수 있다.
도 3은 일 예에 따른 관리 응용의 메모리 사용 방법을 설명한다.
도 3에서, 독점 자원의 일 예로써, 메모리(310)가 도시되었다. 메모리(310)는 적어도 하나의 영역으로 분할될 수 있다. 제1 OS 및 제2 OS는 각각 복수 개의 OS들 중 하나의 OS이다. 제2 OS는 복수 개의 OS들 중 제1 OS를 제외한 나머지 OS들 중 하나의 OS일 수 있다. 도 3에서, 제1 영역(312)은 제1 OS에게 할당된 메모리(310)의 일부를 나타낸다. 제2 영역(314)은 제2 OS에게 할당된 메모리(310)의 일부를 나타낸다.
제1 OS 및 제2 OS는 각각 메모리를 관리할 수 있다. 제1 OS의 메모리(320)는 제1 OS의 관리 하에서의 메모리의 상태를 나타낸다. 제2 OS의 메모리(330)는 제2 OS의 관리 하에서의 메모리의 상태를 나타낸다. 여기서, 메모리(310), 제1 OS의 메모리(320) 및 제2 OS의 메모리(330)는 모두 동일한 물리적 메모리에 대응할 수 있다.
제1 OS는 제1 OS에게 할당된 제1 영역(312)에 대응하는 제1 OS의 메모리(320)의 일부를 가용 메모리(322)로 간주한다. 따라서, 제1 OS는 가용 메모리(322)를 제1 OS 상에서 동작하는 응용에게 할당해 줄 수 있다. 제1 OS는 제2 OS에게 할당된 제2 영역(314)에 대응하는 제1 OS의 메모리(320)의 일부를 관리 응용에게 할당된 메모리(324)로 간주한다. 따라서, 제1 OS는 관리 응용에게 할당된 메모리(324)를 제1 OS 상에서 동작하는 (관리 응용 외의) 응용에게 할당해 줄 수 없다. 또한, 제2 영역(314)은 제1 OS의 접근으로부터 보호될 수 있다.
또한, 제2 OS는 제2 OS에게 할당된 제2 영역(314)에 대응하는 제1 OS의 메모리(330)의 일부를 가용 메모리(334)로 간주한다. 따라서, 제2 OS는 가용 메모리(334)를 제2 OS 상에서 동작하는 응용에게 할당해 줄 수 있다. 제2 OS는 제1 OS에게 할당된 제1 영역(312)에 대응하는 제2 OS의 메모리(330)의 일부를 관리 응용에게 할당된 메모리(332)로 간주한다. 따라서, 제1 OS는 관리 응용에게 할당된 메모리(332)를 제1 OS 상에서 동작하는 (관리 응용 외의) 응용에게 할당해 줄 수 없다. 또한, 제1 영역(312)은 제1 OS의 접근으로부터 보호될 수 있다.
즉, 특정한 OS의 관리 응용은 복수 개의 OS들 중 상기의 특정한 OS를 제외한 나머지 OS들에 의해 점유된 자원을 상기의 관리 응용 자신이 점유한 것으로 처리할 수 있다. 여기서, 상기의 자원은 상술된 독점 자원일 수 있다.
상술된 것과 같은 자원의 할당은, 관리 응용들 간의 통신을 통해 변경될 수 있다.
제1 OS는 제1 OS의 관리 응용이 특정한 자원을 점유하는 제2 OS의 관리 응용에게 상기의 특정한 자원을 요청함으로써 상기의 특정한 자원을 점유할 수 있다. 예컨대, 제1 OS의 관리 응용은 제2 OS의 관리 응용에게 제2 영역(314)의 일부 영역을 요청할 수 있다. 제2 OS의 관리 응용은 상기의 요청을 승인할 수 있다. 승인 후, 상기의 일부 영역이 제1 OS의 가용 메모리(322)에 추가될 수 있다. 또한, 제2 OS에 있어서, 상기의 일부 영역은 제2 OS의 관리 응용에게 할당된 메모리(332)에 추가될 수 있다.
제1 OS는 제1 OS의 관리 응용이 제2 OS의 관리 응용에게 제1 OS가 점유하고 있는 특정한 자원을 반납함으로써 상기의 특정한 자원의 점유를 해제할 수 있다. 예컨대, 제1 OS의 관리 응용은 제2 OS의 관리 응용에게 제1 영역(312)의 일부 영역을 반납할 수 있다. 제2 OS의 관리 응용은 상기의 요청을 승인할 수 있다. 승인 후, 상기의 일부 영역이 제2 OS의 가용 메모리(334)에 추가될 수 있다. 또한, 제1 OS에 있어서, 상기의 일부 영역은 제1 OS의 관리 응용에게 할당된 메모리(324)에 추가될 수 있다.
상술된 것처럼, 각 관리 응용은, 자신의 OS가 더 많은 자원을 요구할 경우, 다른 관리 응용과 자원 할당과 관련된 메시지를 송수신함으로써, 다른 OS들이 점유하고 있는 자원을 할당받을 수 있다. 또한, 각 관리 응용은, 자신의 OS에게 할당된 자원을 감소시킬 경우, 다른 관리 응용과 자원 할당과 관련된 메시지를 송수신함으로써, 다른 OS에게 자원을 반납할 수 있다.
어떤 OS에게도 할당되지 않은 자원의 풀(pool)이 사용될 수 있다. 예컨대, 각 관리 응용은, 자신의 OS가 더 많은 자원을 요구할 경우, 상기의 풀로부터 특정한 OS에게 할당되지 않은 자원을 할당 받을 수 있다. 또한, 각 관리 응용은, 자신의 OS에게 할당된 자원을 감소시킬 경우, 상기의 풀로 자원을 반납할 수 있다.
도 4는 일 예에 따른 관리 응용의 네트워크 디바이스 사용 방법을 나타낸다.
도 3에서, 공유 가능 자원의 일 예로써, 네트워크 디바이스(430)가 도시되었다. 제1 OS(410) 및 제2 OS(450)는 각각 복수 개의 OS들 중 하나의 OS이다.
제1 OS(410)는 네트워크 드라이버(412)를 포함 또는 사용하고, 제2 OS(410)는 네트워크 드라이버(452)를 포함 또는 사용한다.
제1 IC(420)는 제1 OS(410)를 실행하는 프로세서(또는, 코어)에게 인터럽트를 전달하는 IC를 나타낸다. 제2 IC(460)는 제2 OS(450)를 실행하는 프로세서(또는, 코어)에게 인터럽트를 전달하는 IC를 나타낸다.
네트워크 디바이스(430)에서 발생한 인터럽트는 인터커넥션을 통해 제1 IC(420) 및 제2 IC(460)로 전달될 수 있다. 제1 IC(420)로 전달된 인터럽트는 네트워크 드라이버(412)를 통해 제1 OS(410)로 전송될 수 있다. 제2 IC(460)로 전달된 인터럽트는 네트워크 드라이버(452)를 통해 제2 OS(450)로 전송될 수 있다.
제1 OS(410)의 관리 응용은 제1 IC(420)를 설정할 수 있다. 상기의 설정에 관련된 정보는 네트워크 드라이버(412)를 통해 제1 IC(420)로 전송될 수 있다. 제2 OS(450)의 관리 응용은 제2 IC(460)를 설정할 수 있다. 상기의 설정에 관련된 정보는 네트워크 드라이버(452)를 통해 제2 IC(460)로 전송될 수 있다.
각 OS의 공유 가능 자원에 대한 디바이스 드라이버는, 관리 응용의 결정에 따라 OS가 상기의 공유 가능 자원에 대한 점유 상태를 변경할 수 있다.
OS가 공유 가능 자원을 사용하기 위해서는, 공유 가능 자원에 대응하는 하드웨어 디바이스로부터의 인터럽트가 OS로 전달되어야 한다. 즉, 어떤 OS가 공유 가능 자원을 점유한다는 것은, 공유 가능 자원에 대응하는 하드웨어가 생성한 인터럽트가 상기의 OS로 전달된다는 것을 의미할 수 있다. 또한, 어떤 OS가 공유 가능 자원의 점유를 해제한다는 것은, 공유 가능 자원에 대응하는 하드웨어가 생성한 인터럽트를 상기의 OS로 전달하는 것을 중단한다는 의미할 수 있다. 여기서, 공유 가능 자원의 점유는 공유 가능 자원의 사용의 시작 또는 공유 가능 자원의 OS 내로의 설치를 의미할 수 있다. 또한, 공유 가능 자원의 점유의 해제는 공유 가능 자원의 사용의 중단 또는 OS로부터의 공유 가능 자원의 제거를 의미할 수 있다.
예컨대, 제1 OS(410)는 제1 OS(410)의 관리 응용이 제2 자원의 인터럽트가 제1 OS(410)에게 전달되도록 설정함으로써 제2 자원의 사용을 시작할 수 있다. 또한, 제1 OS(410)는 제1 OS(410)의 관리 응용이 제2 자원의 인터럽트가 제1 OS(410)에게 전달되지 않도록 설정함으로써 상기 제2 자원의 사용을 종료할 수 있다. 제1 OS(410)의 관리 응용은 제1 운영체제를 실행하는 프로세서(또는, 코어)를 담당하는 제1 IC(420)를 제2 자원의 인터럽트를 전달하도록 설정함으로써 제2 자원의 사용을 시작할 수 있다. 제1 OS(410)의 관리 응용은 제1 운영체제를 실행하는 프로세서(또는, 코어)를 담당하는 제1 IC(420)를 제2 자원의 인터럽트를 전달하지 않도록 설정함으로써 제2 자원의 사용을 시작할 수 있다. 제2 자원은 특정한 공유 가능 자원일 수 있으며, 네트워크 디바이스(420)(또는, 다른 I/O 디바이스)를 나타내는 자원일 수 있다.
제2 자원(또는, 제2 자원에 대응하는 디바이스)로부터 인터럽트가 전송되면, 상기의 인터럽트는 IC를 거쳐 제2 자원을 사용하도록 설정된 OS(예컨대, 제1 OS(410))로 전송된다. 인터럽트를 수신한 OS는, 제2 자원에 관련된 데이터 중 자신과 관련된 데이터만을 선택적으로 읽을(read) 수 있다. OS는 식별자 등을 사용하여 제2 자원과 관련된 데이터 중 자신과 관련된 데이터만을 식별할 수 있다.
OS가 제2 자원에 대응하는 디바이스에 데이터를 기입(write)할 경우, OS는 상기의 디바이스를 위한 버퍼(buffer)에 데이터를 기입할 수 있다. 버퍼는 다중 OS들 간에 동기화(synchronization)될 수 있다. 상기의 동기화는 버퍼가 다중 OS들 각각의 디바이스 드라이버들 간에 공유된다는 것을 의미할 수 있다. 즉, OS는 제2 자원에 대응하는 디바이스를 위한 버퍼에 동기화된 데이터 기입을 수행함으로써 상기의 제2 자원에 데이터를 기입할 수 있다. 만약, OS(또는, OS의 관리 응용)이 상기의 OS가 제2 자원을 사용하도록 설정하지 않은 경우, OS가 제2 자원에 대응하는 디바이스에 데이터를 기입할 때 오류(error)가 반환될 수 있다.
OS는 특정한 디바이스의 디바이스 드라이버에 대한 "open()" 함수 또는 "write()" 함수를 호출함으로써 상기의 특정한 디바이스에 데이터를 기입할 수 있다. 만약, OS 내에서, 상기의 OS에 의해 사용되도록 설정되지 않은 디바이스의 드라이버에 대한 "open()" 함수 또는 "write()" 함수가 호출되면 오류가 반환될 수 있다.
도 3 및 도 4를 참조하여 전술된 방법에 의해, 프로세서는 복수 개의 OS들을 동시에 실행할 수 있고, OS들 각각에게 할당되는 자원을 동적으로 변경할 수 있다. 또한, OS 및 관리 응용에 의해 자원들이 직접 관리됨으로써, 복수 개의 OS들이 실행되는 것에 기인하는 성능 저하가 최소화될 수 있다.
도 5는 일 실시예에 따른 전자 장치의 동작 방법의 흐름도이다.
단계(510)에서, 프로세서는 복수 개의 OS들을 실행할 수 있다. 프로세서는 복수 개일 수 있다. 복수 개의 프로세서은 각각 복수 개의 코어들을 포함할 수 있다. 복수 개의 코어들은 각각 복수 개의 OS들 중 하나의 OS를 실행할 수 있다. OS는 하나 이상의 코어들에 의해 수행될 수 있다.
복수 개의 OS들은 오디오 데이터 및 비디오 데이터 처리에 적합하게 설계된 A/V -향 OS 및 네트워킹에 적합하게 설계된 네트워크-향 OS 중 하나 이상을 포함할 수 있다.
단계(520)에서, 복수 개의 OS들은 전자 장치(100)가 포함하는 하드웨어에 대한 동일한 구성 정보를 읽어 올 수 있다.
단계(530)에서, 복수 개의 OS들은 각각 관리 응용을 실행할 수 있다.
복수 개의 OS들 각각은 복수 개의 OS들 중 다른 OS에 의해 점유된 전자 장치(100)의 자원을 자산의 관리 응용이 사용하는 것으로 간주할 수 있다.
단계(540)에서, 관리 응용에 의해 복수 개의 OS들의 자원 점유 상태가 변경된다.
단계(540)는 단계(542), 단계(544), 단계(546) 및 단계(548) 중 하나 이상을 포함할 수 있다.
제1 OS 및 상기 제2 OS는 각각 복수 개의 OS들 중 하나의 OS일 수 있다.
단계(542)에서, 제1 OS의 관리 응용이 제1 자원을 점유하는 제2 OS의 관리 응용에게 상기 제1 자원을 요청함으로써 제1 OS가 상기 제1 자원을 점유할 수 있다. 제1 자원은 복수 개의 OS들 중 하나의 OS에 의해 독점되는 독점 자원일 수 있다.
단계(544)에서, 제1 OS의 관리 응용이 제2 OS의 관리 응용에게 제1 자원을 반납함으로써 제1 OS는 제1 자원의 점유를 해제할 수 있다. 제2 OS는 복수 개의 OS들 중 제1 OS를 제외한 나머지 OS들 중 하나의 OS일 수 있다.
단계(546)에서, 제1 OS의 관리 응용이 제2 자원의 인터럽트가 제1 OS에게 전달되도록 설정함으로써 제1 OS가 제2 자원의 사용을 시작할 수 있다. 제2 자원은 복수 개의 OS들 중 적어도 하나의 OS에 의해 공유될 수 있는 공유 가능 자원일 수 있다.
단계(548)에서, 1 OS의 관리 응용이 제2 자원의 상기 인터럽트가 제1 OS에게 전달되지 않도록 설정함으로써 제1 OS는 제2 자원의 사용을 종료할 수 있다.
단계(550)에서, 복수 개의 OS들이 종료한 경우 절차가 종료할 수 있다. 그렇지 않을 경우, 단계(540)가 반복될 수 있다.
단계들(510 내지 550)은 복수 개의 OS들의 실행 과정을 나타낸다. 따라서, 1) 단계(530) 및 단계(540)의 사이, 2) 단계(546) 및 단계(548)의 사이 및 3) 단계(540) 및 단계(550)에서, 복수 개의 OS들 각각의 다양한 기능들이 수행될 수 있다.
앞서 도 1 내지 도 4를 참조하여 설명된 실시예에 따른 기술적 내용들이 본 실시예에도 그대로 적용될 수 있다. 따라서 보다 상세한 설명은 이하 생략하기로 한다.
일 실시예에 따른 방법은 다양한 컴퓨터 수단을 통하여 수행될 수 있는 프로그램 명령 형태로 구현되어 컴퓨터 판독 가능 매체에 기록될 수 있다. 상기 컴퓨터 판독 가능 매체는 프로그램 명령, 데이터 파일, 데이터 구조 등을 단독으로 또는 조합하여 포함할 수 있다. 상기 매체에 기록되는 프로그램 명령은 실시예들을 위하여 특별히 설계되고 구성된 것들이거나 컴퓨터 소프트웨어 당업자에게 공지되어 사용 가능한 것일 수도 있다. 컴퓨터 판독 가능 기록 매체의 예에는 하드 디스크, 플로피 디스크 및 자기 테이프와 같은 자기 매체(magnetic media), CD-ROM, DVD와 같은 광기록 매체(optical media), 플롭티컬 디스크(floptical disk)와 같은 자기-광 매체(magneto-optical media), 및 롬(ROM), 램(RAM), 플래시 메모리 등과 같은 프로그램 명령을 저장하고 수행하도록 특별히 구성된 하드웨어 장치가 포함된다. 프로그램 명령의 예에는 컴파일러에 의해 만들어지는 것과 같은 기계어 코드뿐만 아니라 인터프리터 등을 사용해서 컴퓨터에 의해서 실행될 수 있는 고급 언어 코드를 포함한다. 상기된 하드웨어 장치는 실시예들의 동작을 수행하기 위해 하나 이상의 소프트웨어 모듈로서 작동하도록 구성될 수 있으며, 그 역도 마찬가지이다.
이상과 같이 본 발명은 비록 한정된 실시예와 도면에 의해 설명되었으나, 본 발명은 상기의 실시예에 한정되는 것은 아니며, 본 발명이 속하는 분야에서 통상의 지식을 가진 자라면 이러한 기재로부터 다양한 수정 및 변형이 가능하다.
그러므로, 본 발명의 범위는 설명된 실시예에 국한되어 정해져서는 아니 되며, 후술하는 특허청구범위뿐 아니라 이 특허청구범위와 균등한 것들에 의해 정해져야 한다.
100: 전자 장치
110-1: 제1 프로세서
120-1: 제1 인터럽트 제어기
130-1: 메모리
130-2: 네트워크 디바이스
130-3: I/O 디바이스

Claims (20)

  1. 전자 장치에 있어서,
    복수 개의 운영체제들을 실행하는 프로세서; 및
    디바이스
    를 포함하고,
    상기 복수 개의 운영체제들은 각각 관리 응용을 실행하며,
    상기 복수 개의 운영체제들 각각은 상기 복수 개의 운영체제들 중 다른 운영체제에 의해 점유된 상기 전자 장치의 자원을 상기 관리 응용이 사용하는 것으로 간주하고, 상기 자원은 상기 디바이스에 대응하는 하드웨어 자원인, 전자 장치.
  2. 제1항에 있어서,
    상기 복수 개의 운영체제들은 상기 전자 장치가 포함하는 하드웨어에 대한 동일한 구성 정보를 사용하는, 전자 장치.
  3. 제1항에 있어서,
    상기 복수 개의 운영체제들은 오디오 데이터 및 비디오 데이터 처리에 적합하게 설계된 오디오/비디오-향 운영체제 및 네트워킹에 적합하게 설계된 네트워크-향 운영체제 중 하나 이상을 포함하는, 전자 장치.
  4. 제1항에 있어서,
    상기 복수 개의 운영체제들의 자원 점유 상태는 상기 관리 응용들 간의 통신을 통해 변경되는, 전자 장치.
  5. 제1항에 있어서,
    제1 운영체제 및 제2 운영체제는 각각 상기 복수 개의 운영체제들 중 하나의 운영체제이고,
    상기 제1 운영체제는 상기 제1 운영체제의 상기 관리 응용이 제1 자원을 점유하는 상기 제2 운영체제의 상기 관리 응용에게 상기 제1 자원을 요청함으로써 상기 제1 자원을 점유하는, 전자 장치.
  6. 제5항에 있어서,
    상기 제1 자원은 상기 복수 개의 운영체제들 중 하나의 운영체제에 의해 독점되는 자원인, 전자 장치.
  7. 제1항에 있어서,
    제1 운영체제는 상기 복수 개의 운영체제들 중 하나의 운영체제이고, 제2 운영체제는 상기 복수 개의 운영체제들 중 상기 제1 운영체제를 제외한 나머지 운영체제들 중 하나의 운영체제이고,
    상기 제1 운영체제는 상기 제1 운영체제의 상기 관리 응용이 상기 제2 운영체제의 상기 관리 응용에게 제1 자원을 반납함으로써 상기 제1 자원의 점유를 해제하는, 전자 장치.
  8. 제1항에 있어서,
    제1 운영체제는 상기 복수 개의 운영체제들 중 하나의 운영체제이고,
    상기 제1 운영체제는 상기 제1 운영체제의 상기 관리 응용이 제2 자원의 인터럽트가 상기 제1 운영체제에게 전달되도록 설정함으로써 상기 제2 자원의 사용을 시작하고,
    상기 제1 운영체제는 상기 제1 운영체제의 상기 관리 응용이 제2 자원의 인터럽트가 상기 제1 운영체제에게 전달되지 않도록 설정함으로써 상기 제2 자원의 사용을 종료하는, 전자 장치.
  9. 제8항에 있어서,
    상기 제2 자원은 상기 복수 개의 운영체제들 중 적어도 하나의 운영체제에 의해 공유될 수 있는 자원인, 전자 장치.
  10. 제1항에 있어서,
    상기 프로세서는 복수 개의 코어들을 포함하고,
    상기 복수 개의 코어들은 각각 상기 복수 개의 운영체제들 중 하나의 운영체제를 실행하는, 전자 장치.
  11. 프로세서를 포함하는 전자 장치가 복수 개의 운영체제들을 실행하는 방법에 있어서,
    상기 프로세서가 상기 복수 개의 운영체제들을 실행하는 단계; 및
    상기 복수 개의 운영체제들이 각각 관리 응용을 실행하는 단계
    를 포함하고,
    상기 복수 개의 운영체제들 각각은 상기 복수 개의 운영체제들 중 다른 운영체제에 의해 점유된 상기 전자 장치의 자원을 상기 관리 응용이 사용하는 것으로 간주하는, 전자 장치의 동작 방법.
  12. 제11항에 있어서,
    상기 복수 개의 운영체제들이 상기 전자 장치가 포함하는 하드웨어에 대한 동일한 구성 정보를 읽어 오는 단계
    를 더 포함하는, 전자 장치의 동작 방법.
  13. 제11항에 있어서,
    상기 복수 개의 운영체제들은 오디오 데이터 및 비디오 데이터 처리에 적합하게 설계된 오디오/비디오-향 운영체제 및 네트워킹에 적합하게 설계된 네트워크-향 운영체제 중 하나 이상을 포함하는, 전자 장치의 동작 방법.
  14. 제11항에 있어서,
    상기 관리 응용에 의해 상기 복수 개의 운영체제들의 자원 점유 상태가 변경되는 단계
    를 더 포함하는, 전자 장치의 동작 방법.
  15. 제11항에 있어서,
    상기 자원 점유 상태가 변경되는 단계는,
    제1 운영체제의 상기 관리 응용이 제1 자원을 점유하는 제2 운영체제의 상기 관리 응용에게 상기 제1 자원을 요청함으로써 상기 제1 운영체제가 상기 제1 자원을 점유하는 단계
    를 포함하고,
    상기 제1 운영체제 및 상기 제2 운영체제는 각각 상기 복수 개의 운영체제들 중 하나의 운영체제인, 전자 장치의 동작 방법.
  16. 제15항에 있어서,
    상기 제1 자원은 상기 복수 개의 운영체제들 중 하나의 운영체제에 의해 독점되는 자원인, 전자 장치의 동작 방법.
  17. 제11항에 있어서,
    상기 자원 점유 상태가 변경되는 단계는,
    제1 운영체제의 상기 관리 응용이 제2 운영체제의 상기 관리 응용에게 제1 자원을 반납함으로써 제1 운영체제가 상기 제1 자원의 점유를 해제하는 단계
    를 포함하고,
    상기 제1 운영체제는 상기 복수 개의 운영체제들 중 하나의 운영체제이고, 상기 제2 운영체제는 상기 복수 개의 운영체제들 중 상기 제1 운영체제를 제외한 나머지 운영체제들 중 하나의 운영체제인, 전자 장치의 동작 방법.
  18. 제11항에 있어서,
    상기 자원 점유 상태가 변경되는 단계는,
    상기 제1 운영체제의 상기 관리 응용이 제2 자원의 인터럽트가 상기 제1 운영체제에게 전달되도록 설정함으로써 제1 운영체제가 상기 제2 자원의 사용을 시작하는 단계; 및
    상기 제1 운영체제의 상기 관리 응용이 상기 제2 자원의 상기 인터럽트가 상기 제1 운영체제에게 전달되지 않도록 설정함으로써 상기 제1 운영체제가 상기 제2 자원의 사용을 종료하는 단계
    를 포함하는, 전자 장치의 동작 방법.
  19. 제11항에 있어서,
    상기 프로세서는 복수 개의 코어들을 포함하고,
    상기 복수 개의 코어들은 각각 상기 복수 개의 운영체제들 중 하나의 운영체제를 실행하는, 전자 장치의 동작 방법.
  20. 제11항 내지 제19항 중 어느 한 항의 방법을 수행하는 프로그램을 수록한 컴퓨터 판독 가능 기록 매체.
KR1020120026964A 2012-03-16 2012-03-16 다중 운영체제들을 실행하는 장치 및 방법 KR20130104958A (ko)

Priority Applications (2)

Application Number Priority Date Filing Date Title
KR1020120026964A KR20130104958A (ko) 2012-03-16 2012-03-16 다중 운영체제들을 실행하는 장치 및 방법
US13/795,958 US20130247065A1 (en) 2012-03-16 2013-03-12 Apparatus and method for executing multi-operating systems

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
KR1020120026964A KR20130104958A (ko) 2012-03-16 2012-03-16 다중 운영체제들을 실행하는 장치 및 방법

Publications (1)

Publication Number Publication Date
KR20130104958A true KR20130104958A (ko) 2013-09-25

Family

ID=49158927

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1020120026964A KR20130104958A (ko) 2012-03-16 2012-03-16 다중 운영체제들을 실행하는 장치 및 방법

Country Status (2)

Country Link
US (1) US20130247065A1 (ko)
KR (1) KR20130104958A (ko)

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR20170093224A (ko) * 2014-12-12 2017-08-14 후아웨이 테크놀러지 컴퍼니 리미티드 모바일 단말기 및 그 자원 관리 방법
KR20170093960A (ko) * 2014-12-12 2017-08-16 후아웨이 테크놀러지 컴퍼니 리미티드 운영체제 핫-스위칭 방법 및 장치 및 이동 단말

Families Citing this family (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
EP3062225B1 (en) * 2015-02-24 2019-07-03 Huawei Technologies Co., Ltd. Multi-operating system device, notification device and methods thereof

Family Cites Families (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US6772419B1 (en) * 1997-09-12 2004-08-03 Hitachi, Ltd. Multi OS configuration system having an interrupt process program executes independently of operation of the multi OS
US20080102910A1 (en) * 2000-12-12 2008-05-01 Tyler Peppel Electronic Trading Card
US20030115443A1 (en) * 2001-12-18 2003-06-19 Cepulis Darren J. Multi-O/S system and pre-O/S boot technique for partitioning resources and loading multiple operating systems thereon
FI116166B (fi) * 2002-06-20 2005-09-30 Nokia Corp Menetelmä ja järjestelmä sovellusistuntojen suorittamiseksi elektroniikkalaitteessa, ja elektroniikkalaite
US8738868B2 (en) * 2011-08-23 2014-05-27 Vmware, Inc. Cooperative memory resource management for virtualized computing devices

Cited By (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR20170093224A (ko) * 2014-12-12 2017-08-14 후아웨이 테크놀러지 컴퍼니 리미티드 모바일 단말기 및 그 자원 관리 방법
KR20170093960A (ko) * 2014-12-12 2017-08-16 후아웨이 테크놀러지 컴퍼니 리미티드 운영체제 핫-스위칭 방법 및 장치 및 이동 단말
US10437631B2 (en) 2014-12-12 2019-10-08 Huawei Technologies Co., Ltd. Operating system hot-switching method and apparatus and mobile terminal

Also Published As

Publication number Publication date
US20130247065A1 (en) 2013-09-19

Similar Documents

Publication Publication Date Title
EP3358463B1 (en) Method, device and system for implementing hardware acceleration processing
KR102074468B1 (ko) 계산 작업을 처리하기 위한 컴퓨터 클러스터 장치 및 이를 작동시키기 위한 방법
JP4921384B2 (ja) メモリを1台のバーチャル・マシンからもう一方へダイナミックに再割り当てする方法、装置及びシステム
US8478926B1 (en) Co-processing acceleration method, apparatus, and system
JP4345630B2 (ja) 情報処理装置、割り込み処理制御方法、並びにコンピュータ・プログラム
WO2019218708A1 (zh) 一种任务处理方法及处理装置、计算机系统
JP2016541072A (ja) リソース処理方法、オペレーティング・システム、およびデバイス
JP2009265963A (ja) 情報処理システム及びタスクの実行制御方法
US9454397B2 (en) Data processing systems
JP2017504109A (ja) 仮想ネットワークインターフェースカードの割込みの親和性結合のための方法、およびコンピュータデバイス
CN112148422A (zh) 一种io处理的方法和装置
CN104102548A (zh) 任务资源调度处理方法和系统
WO2019028682A1 (zh) 一种多系统共享内存的管理方法及装置
US10459771B2 (en) Lightweight thread synchronization using shared memory state
US20140068165A1 (en) Splitting a real-time thread between the user and kernel space
WO2018076882A1 (zh) 存储设备的操作方法及物理服务器
CN113821308A (zh) 片上系统、虚拟机任务处理方法及设备、存储介质
CN114691286A (zh) 服务器系统、虚拟机创建方法及装置
CN115904761A (zh) 片上系统、车辆及视频处理单元虚拟化方法
CN105677481B (zh) 一种数据处理方法、系统及电子设备
JP2013171355A (ja) 計算機システム
KR20130104958A (ko) 다중 운영체제들을 실행하는 장치 및 방법
US9690619B2 (en) Thread processing method and thread processing system for setting for each thread priority level of access right to access shared memory
JP7047906B2 (ja) 入出力処理割り当て制御装置、入出力処理割り当て制御システム、入出力処理割り当て制御方法、及び、入出力処理割り当て制御プログラム
JPWO2018173300A1 (ja) I/o制御方法およびi/o制御システム

Legal Events

Date Code Title Description
WITN Application deemed withdrawn, e.g. because no request for examination was filed or no examination fee was paid