KR20120044347A - 멀티-환경 운영 체제 - Google Patents

멀티-환경 운영 체제 Download PDF

Info

Publication number
KR20120044347A
KR20120044347A KR1020127001869A KR20127001869A KR20120044347A KR 20120044347 A KR20120044347 A KR 20120044347A KR 1020127001869 A KR1020127001869 A KR 1020127001869A KR 20127001869 A KR20127001869 A KR 20127001869A KR 20120044347 A KR20120044347 A KR 20120044347A
Authority
KR
South Korea
Prior art keywords
operating system
operating
environment
mobile
computing device
Prior art date
Application number
KR1020127001869A
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 모토로라 모빌리티, 인크.
Publication of KR20120044347A publication Critical patent/KR20120044347A/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/455Emulation; Interpretation; Software simulation, e.g. virtualisation or emulation of application or operating system execution engines
    • G06F9/45533Hypervisors; Virtual machine monitors
    • G06F9/45537Provision of facilities of other operating environments, e.g. WINE
    • 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/48Program initiating; Program switching, e.g. by interrupt
    • 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

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)
  • Pharmaceuticals Containing Other Organic And Inorganic Compounds (AREA)
  • Hardware Redundancy (AREA)

Abstract

본 발명의 다양한 실시예들은 공통 커널 상에 다수의, 공존하는, 독립형 운영 체제 환경들을 동작시키는 모바일 컴퓨팅 디바이스를 제공한다. 다수의 운영 체제 환경들을 개시하기 위한 부팅 프로세스가 또한 제공된다. 추가로, 본 발명의 다양한 실시예들은 하나의 운영 체제 환경과 제2 운영 체제 환경 사이의 스위칭을 관리하기 위한 프로세스들을 포함한다.

Description

멀티-환경 운영 체제{MULTI-ENVIRONMENT OPERATING SYSTEM}
본 발명은 전반적으로 운영 체제 부트 시퀀스(operating system boot sequence)를 개시하기 위한 운영 체제 및 방법에 관한 것이다. 보다 구체적으로, 본 발명은 멀티-환경 운영 체제를 부팅하기 위한 멀티-환경 운영 체제 및 방법에 관한 것이다.
운영 체제는 특수 용도(specific application) 및 사용자가 원하는 성능에 기초하여 설계되고 전형적으로 최적화된다. 사용자가 선호하는 프로그램이 운영 체제에 의존적일 수 있기 때문에, 종종 하나의 유형의 운영 체제의 피쳐(feature)들이 또 다른 운영 체제에서 이용가능한 것이 바람직하다.
리눅스™ 및 윈도우™와 같은 범용 컴퓨터 운영 체제는 파일 시스템, 디바이스 드라이버, 애플리케이션, 라이브러리 등과 같은 피쳐들의 광범위한 세트를 갖는다. 그러한 운영 체제는 다수의 프로그램의 동시 실행을 허용하고, 동시에 실행하는 프로그램들의 서비스 제공(servicing)에 연관된, 응답 시간(대기 시간(latency time)으로도 불림), 및 CPU 사용률, 또는 로드를 최적화하려고 시도한다. 그러나, 불행하게도, 그러한 운영 체제는 일반적으로 모바일 컴퓨팅 디바이스와 같은 내장형 실-시간 애플리케이션에는 적합하지 않다. 어떤 환경 하에서, 모바일 컴퓨팅 디바이스는 모바일-지정 내장형 운영 체제와 연관된 성능 및 범용 운영 체제의 특징들을 갖는 것이 바람직하다.
예를 들어, 리눅스는 최신 운영 체제 특징(modern operating systems features), 많은 개발 툴, 네트워킹 등을 포함하는 최신 디바이스를 위한 많은 바람직한 피쳐들을 갖는 잘 알려진 범용 데스크톱 운영 체제이다. 그러나, 리눅스는 내장형 혹은 실시간 운영 체제이도록 설계되지 않았다. 많은 최신 디바이스, 이를테면, 이에 한정되는 것은 아니지만, 셋톱박스, 모바일 폰 및 카 내비게이션 시스템은 리눅스와 같은 범용 운영 체제의 피쳐들뿐만 아니라, 실시간 성능을 포함하는 내장형 혹은 실시간 운영 체제의 피쳐들도 필요로 한다.
역사상, 단일 디바이스 상에서 다수의 운영 환경을 실행하는 것은 가상 현실화 기술(virtualization techniques), 이를테면, 예로서, VM웨어™, 버추얼박스™, QEMU™ 등을 통해 달성되어 왔다. 그러나, 가상 현실화를 사용하면, 전체 컴퓨터(complete computer)가 에뮬레이트되고 하나 이상의 소프트웨어 스택이 에뮬레이트된 컴퓨팅 디바이스에서 동작된다. 에뮬레이션은 높은 간접 비용(overhead costs)을 초래한다.
전술한 바를 고려하면, 공존하는(co-existing) 독립형(independent) 운영 체제의 특징들 및 성능을 효율적이고 편리하게 제공하는 단일-커널 환경(single-kernel environment)을 구현하는 시스템에 대한 필요성이 존재한다.
본 발명의 적어도 하나의 실시예에 따르면, 디바이스 하드웨어 컴포넌트와 미들웨어 컴포넌트를 인터페이싱하도록 구성된 코어 커널을 갖는 모바일 디바이스 운영 체제가 제공된다. 이 체제는 코어 커널에 결합된 적어도 2개의 공존하는 독립형 미들웨어 운영 환경을 포함하고, 미들웨어 운영 환경 각각은 대응하는 애플리케이션 컴포넌트를 갖는다.
본원의 또 다른 실시예에 따르면, 컴퓨터 프로세서에 결합된 메모리 저장 유닛을 갖는 모바일 컴퓨팅 디바이스가 제공된다. 메모리 저장 유닛은 공통 커널 상에서 적어도 2개의 운영 체제 환경을 동작시킬 수 있는 컴퓨터 실행가능 명령어들을 포함한다.
또 다른 대안적인 실시예에 따르면, 멀티미디어 정보를 수신 및 송신하도록 구성된 GUI(graphical user interface)를 갖는 모바일 전화기가 제공된다. 전화기는 메모리 저장 유닛에 결합된 프로세서를 갖는 컴퓨팅 시스템, 및 공통 커널을 갖는 멀티-환경 운영 체제를 포함한다. 메모리 저장 유닛은 적어도 2개의 공존하는 독립형 운영 체제 환경 사이에서 공유된 자원들을 관리할 수 있는 컴퓨터 실행가능 명령어들을 포함한다.
대안적인 실시예에 따르면, 본 발명은 운영 체제를 개시하도록 구성된 컴퓨터 실행가능 명령어들을 갖는 컴퓨터 메모리에 결합된 컴퓨터 프로세서를 갖는 모바일 컴퓨팅 디바이스를 포함한다. 디바이스는 또한 단일 커널 상에서 표준 리눅스 배포판 운영 체제 환경과 안드로이드™ 운영 체제 환경을 동시에 실행하도록 구성된 운영 체제를 포함한다.
또 다른 대안적인 실시예에 따르면, 본원은 디바이스 하드웨어 컴포넌트와 미들웨어 컴포넌트를 인터페이싱하도록 구성된 코어 커널을 갖는 모바일 디바이스 운영 체제를 포함한다. 디바이스는 또한 자바-인터프리트(JAVA-interpreted) 애플리케이션들을 실행하도록 구성되고 코어 커널에 결합된 제1 독립형 미들웨어 운영 환경, 및 네이티브(native) 애플리케이션들을 실행하도록 구성되고 코어 커널에 결합된 제2 독립형 미들웨어 운영 환경을 포함한다.
도 1은 모바일 디바이스의 예시적인 사시도이다;
도 2는 예시적인 운영 체제를 나타내는 블록도이다;
도 3은 예시적인 운영 체제의 블록도이다;
도 4는 예시적인 운영 체제의 런타임 공존 스킴(runtime co-existence schema)의 블록도이다;
도 5는 예시적인 운영 체제의 환경 간(inter-environment) 통신 스킴의 블록도이다;
도 6은 예시적인 운영 체제를 위한 부팅 시퀀스에서의 단계들을 확인하는 흐름도이다;
도 7은 예시적인 운영 체제가 제2 운영 환경에 의해 제어되는 동안 제1 운영 환경에서 애플리케이션을 시작하기 위한 예시적인 단계들을 확인하는 흐름도이다;
도 8은 제1 운영 환경이 1차 제어를 갖는 동안 제2 운영 환경 애플리케이션을 시작하기 위한 예시적인 단계들을 확인하는 메시지 시퀀스 차트이다;
도 9는 제1 운영 환경에서 제2 운영 환경으로 스위칭하는 것과 연관된 예시적인 단계들을 확인하는 흐름도이다;
도 10은 제1 운영 환경에서 제2 운영 환경으로 스위칭하기 위한 예시적인 단계들을 확인하는 메시지 시퀀스 차트이다;
도 11은 제2 운영 환경에서 제1 운영 환경으로 스위칭하기 위한 예시적인 단계들을 확인하는 메시지 시퀀스 차트이다;
도 12는 제2 운영 환경이 컴퓨팅 디바이스의 1차 제어를 갖는 동안 제1 운영 환경에 의해 제어된 애플리케이션의 예시적인 사용을 확인하는 흐름도이다.
내장형 운영 체제와 리눅스-기반 운영 환경은 컴퓨팅 디바이스의 하드웨어에서 직접 실행하는 단일 리눅스 커널과 직접 통신하는 것이 유리할 것으로 생각된다.
도 1을 참조하면, 모바일 전화기(10)가 제공된다. 전화기(10)는 GUI(12) 및 복수의 데이터 입력 버튼(14)을 포함한다. 모바일 디바이스(10)는, 모바일 PC(personal computer), 넷북, 모바일 전화기, 랩탑 컴퓨터, 휴대용(handheld) 컴퓨터 및 스마트폰을 포함하지만, 이에 한정되지 않는, 그룹으로부터 선택된다. 디바이스(10)가 모바일이긴 하지만, 이는 500 mHz 이상의 프로세서 속도로, 상당한 연산력(computing power)을 갖도록 의도되며, 더 느린 프로세서가 배제되는 것은 아니다. 연산력을 고려하여, 사용자는 디바이스(10)를 다양한 주변 디바이스(도시되지 않음)에 접속할 수 있다. 주변 디바이스들은, 컴퓨터 모니터, 랩탑 컴퓨터, 데스크톱 컴퓨터, 태플릿 PC, 및 스크린 프로젝터를 포함하지만, 이에 한정되지 않는, 그룹으로부터 선택된다.
이제, 도 2를 참조하면, 커널(kernel; 18)과 통신중인 예시적인 운영 체제(operating system; OS)(16)의 블록도가 제공된다. OS(16)는 리눅스 배포판 시스템, 리눅스-기반 운영 체제 또는 리눅스-기반이 아닌(non-Linux-based) 운영 체제일 수 있다. 디바이스 하드웨어(20)는 또한 리눅스 커널(18)과 통신중이다. 운영 체제(16)는 단일 리눅스 커널(18)과 통신중인 제1 운영 체제 환경(22)과 제2 운영 체제 환경(24)을 포함한다. 예로서, 제2 미들웨어 운영 체제 환경(24)은 표준 리눅스 배포판이고, 제1 미들웨어 운영 체제 환경(22)은 모바일 디바이스들에서 사용하도록 의도된 내장형 운영 체제 환경, 이를테면, 안드로이드™ (개방형 휴대폰 동맹(Open Handset Alliance), www.openhandsetalliance.com) 운영 체제이다. 리눅스 배포판(16)은 디바이스 하드웨어(20)와 통신하는 리눅스 커널(18)과 통신한다. 디바이스 하드웨어(20)는, 여기서 설명되는 바와 같이, 다양한 함수(functions)와 연산(operations)을 수행하도록 구성되는 컴퓨터 실행가능 명령어를 저장하는, 프로세서(도시되지 않음)에 결합된 메모리 저장 디바이스(도시되지 않음)일 수 있다.
예시적인 운영 체제(16)는 리눅스-기반 운영 체제 환경(24)을 위한 우분투(Ubuntu)®(Canonical Ltd., www.ubuntu.com)를 포함한다. 다수의 미들웨어 운영 체제 환경은 특히 다른 것(들)에 독립적으로 공존하도록 의도된다. 운영 체제(16)에 포함될 수 있는 예시적인 환경들은 안드로이드™, 우분투®(Canonical Ltd., www.ubuntu.com), 표준 리눅스-기반 환경, 심비안(Symbian Foundation Ltd., www.symbian.com), 및 윈도우-기반 환경을 포함한다. 대안적인 실시예에서, 2개보다 많은 운영 체제 환경은 동일한 코어 커널(18)에서 독립적으로 공존하도록 구성되는 것으로 생각된다.
도 3을 참조하면, 예시적인 운영 체제의 블록도가 제공된다. 본 예시적인 실시예에서, 제1 OS 환경(22)은 안드로이드™ 기반 운영 환경이고, 제2 OS 환경(24)은 리눅스-기반이다. 제1 운영 체제 환경(22)은 포털 서비스 모듈(26), 포털 액티비티 모듈(28), OS 서비스 모듈(30) 및 OS 애플리케이션 모듈(32)을 포함한다. 제2 운영 체제 환경(24)은 자원 관리자(resource manager; 34), AIW(Android in a window) 모듈(36), 제2 OS 애플리케이션 모듈(38) 및 제2 OS 서비스 모듈(40)을 포함한다.
AIW 모듈(36)은, 제2 OS(24)가 1차 운영 환경인 동안 GUI(12) 상에 제1 OS(22) 애플리케이션 창을 디스플레이하도록 구성된다.
포털 서비스 모듈(26)은 제1 OS(22)를 위한 서비스를 허용하도록 구성된 명령어들의 세트를 포함하고, 자원 관리자(34)와의 모든 통신을 지시한다. 디바이스(10)가 동작중인 동안, 포털 서비스 모듈(26)은 항상 실행되는 것이 바람직하다. 추가로, 포털 서비스 모듈(26)은 포털 액티비티 모듈(28)과 연관된 액티비티는 물론 제1 OS(22) 방송 이벤트에 접속된다. 포털 액티비티 모듈(28)은 하나의 애플리케이션, 또는 컴퓨터 실행가능 명령어들의 세트이고, 이는 제1 OS(22) 스택에 위치한 제2 OS(24) 애플리케이션을 표시한다. 예로서, 제2 OS(24)가 우분투®이면, 포털 액티비티 모듈(28)은 지정 우분투 애플리케이션을 표시할 수 있고, 포털 액티비티 모듈(28)에 초점이 맞춰질 때, 우분투는 GUI(12)를 통해 보여진다. 많은 애플리케이션들은 임의의 주어진 운영 환경 내에서 동시에 실행될 수 있고, 이는 실행 애플리케이션들의 스택(stack)으로도 불릴 수 있다. 논리적으로 말하면, 가장 높이 있는(topmost) 애플리케이션이 "초점이 맞춰진(focus)" 것으로 간주된다.
커널(18)은 드라이버들의 세트(42) 및 AEV 모듈(44)을 포함한다. 드라이버(42)에는 하드웨어 컴포넌트(20)를 위한 입력 디바이스 드라이버가 포함된다. AEV(44)는 AIW(36)로부터 절대 좌표(absolute coordinate)와 키보드 이벤트들을 취득하여 그들을 이벤트 허브로 패스하는 커널 모듈이다.
운영 체제(16) 내에 있는 공존하는 환경들은 서로 통신한다. 제2 OS(24)의 일부인 자원 관리자(34)는 제1 OS(22)의 일부인 포털 서비스 모듈(26)과 직접 통신한다. 뿐만 아니라, 제1 OS(22)의 일부인 포털 서비스 모듈(26)은 자원 관리자(34)와 직접 통신한다. 자원 관리자(34)는 제1 OS(22)와 제2 OS(24)에 의해 공유된 자원들을 관리하도록 구성된 명령어들의 세트이다. 공유된 자원들은 디스플레이 디바이스, 입력 디바이스, 전력 관리 서비스 및 시스템 상태 정보를 포함한다. 뿐만 아니라, 자원 관리자(34)는 하드웨어(20)로의 OS(22, 24) 액세스를 제어하도록 구성된다. 추가로, 자원 관리자(34)는 GUI(12)를 통해 디스플레이되는 OS(22, 24) 사용자 인터페이스를 확인 및 제어한다.
본 실시예에 따르면, 포털 서비스(26)는 제1 OS(22)로부터 자원 관리자(34)로의 모든 통신들의 소스이다. 추가로, 포털 서비스(26)는 자원 관리자(34)로부터 제1 OS(22)로의 모든 콜백(callbacks)을 위한 싱크(sink)이다. 자원 관리자는 현황 발견가능 API(status discoverable application programming interface)를 포털 서비스(26)에 제공한다. 이 API는 임의의 시간에 자원 관리자(34)에 의해 콜을 받도록 구성된다. 자원 관리자(34)는 런타임 현황(runtime status)을 획득 및 처리하도록 구성되어, 자원 관리자를 고려하여 상태 머신을 유지한다. 제1 OS(22)에 대해, 포털 서비스(26)는 그들을 필요로 하는 프로세스들에게 런타임 현황을 제공한다. 유사하게, 포털 서비스(26)는 현황 정보를 제공하는 프로세스들로부터 현황 업데이트들을 요청 및 수신한다. 제2 OS(24)에 대한 유사한 통신이 자원 관리자(34)에 의해 제어되어, 그들을 필요로 하는 프로세스들에게 런타임 현황을 제공한다. 자원 관리자(34)는 현황 정보를 제공하는 다양한 프로세스들로부터 현황 업데이트들을 요청 및 수신한다. 커널(18)과 논리적으로 연관된 디바이스 드라이버(42)는 런타임 현황 정보를 제공하는 프로세스는 물론 자원 관리자(34)와 직접 통신한다. 예로서, API는 디스플레이, 터치 스크린 또는 GUI(12)와 같은 사용자 인터페이스 디바이스들로의 액세스를 중재한다. 또 다른 예로서, API는 배터리 및/또는 AC/DC 벽 플러그와 같은 전력 입력 디바이스들로의 액세스를 중재한다.
제1 OS(22) 및 제2 OS(24)는 서로에 대해 독립적이고, 서로에 대해 공존한다. 각 OS(22, 24)는 충분히 기능을 발휘하는 운영 체제 환경(fully functioning operating system)이고, 제대로 기능하기 위한 다른 운영 체제 환경은 필요로 하지 않는다. 서로에 대해 100% 독립성을 갖는 2개의 운영 체제 환경이 동일한 디바이스(10) 상에 존재한다. 위에서 확인한 바와 같이, 제1 및 제2 OS(22, 24)는 가상 현실화 또는 에뮬레이션 스킴에서 공존하지 않지만, 사실 단일 커널(18)에서 동작한다. 대신, 공통 C 런타임 환경에 영향을 줄(leverage) 필요가 없으므로, OS(22, 24) 둘 다 그들의 각각의 네이티브 환경에서 실행하고 OS(22, 24)의 어느 것도 다시 컴파일되지 않는 런타임 공존이 존재한다. 애플리케이션들은 사용자에 의해 액세스될 수 있고 이들은 사용자의 연산 경험(computing experience)을 방해하지 않고 OS(22, 24) 중 하나 또는 또 다른 하나를 위해 전적으로 코딩된다.
도 4를 참조하면, 블록도는 안드로이드® OS(22) 및 우분투™ OS(24)를 위한 예시적인 공존 스킴을 제공한다. 각 OS(22, 24)는, 디바이스(10)가 동작중인 동안 프로그램 및/또는 프로세스를 위한 소프트웨어 서비스를 제공하는, 별도의 런타임 환경에서 동작한다. 안드로이드 프로세스(46) 및 안드로이드 라이브러리(48)는, 특히 안드로이드 환경을 위해 최적화되고 수정된, 바이오닉 C 라이브러리(Bionic C Library; 50)에 액세스한다. 우분투 프로세스(52) 및 우분투 라이브러리(54)는, 많은 표준 데스크톱 리눅스-기반 시스템에서 사용된 GNU C 라이브러리인, Glibc C 라이브러리(56)에 액세스한다. 각 OS 환경은 또 다른 운영 환경과 충돌하지 않고 그들 각각의 C 라이브러리에서 실행한다.
도 5를 참조하면, 도 4에서 설명된 제1 OS(22)와 제2 OS(24) 사이의 보다 상세한 통신 경로가 제공된다. IPC(inter-process communication) 시스템은 제1 OS(22)와 제2 OS(24) 사이의 환경 간 통신 흐름을 관리하도록 구성된다. 포털 서비스(26)는, DBUS 라이브러리(60)와 통신하도록 구성된 실행가능 명령어들 및 프로그래밍 언어를 포함하는 소프트웨어 패키지인, DBUS 바인딩(58)과 통신한다. 자원 관리자(34)는, 제2 OS(24)를 위해 구성된 DBUS 라이브러리(64)와 통신하도록 구성된 실행가능 명령어들 및 프로그래밍 언어를 포함하는 소프트웨어 패키지인, Glib DBUS 바인딩(62)과 통신한다. 제1 OS(22) DBUS 라이브러리(60)와 제2 OS(24) 라이브러리(64) 둘 다, 논리적으로 제2 OS(24)의 일부이고 2개의 운영 환경 사이에서 통신 링크의 역할을 하는, DBUS 대몬(66)을 통해 통신한다.
도 6을 참조하면, 부트 시퀀스를 나타내는 흐름도가 제공된다. 부트 시퀀스는 공통 및 운영 체제 환경-지정 단계들 둘 다를 포함한다. 실제 부트 시퀀스는 부팅 시퀀스에 영향을 주는 미리 정해진 디바이스 상태와 연관된 규칙들에 의존적이다. 예로서, 디바이스가 모니터와 같은 주변 디바이스에 접속되어 있다면, 디바이스 상태는 도크된 모드(docked mode)에 있는 것으로 간주되고, 제2 OS(24)는 디폴트 1차 환경이다. 대안적으로, 디바이스(10)가 주변 디바이스에 접속되어 있지 않다면, 그것은 모바일 모드에 있는 것이고, 제1 OS(22)는 디폴트 1차 운영 환경이다. 그러나, 2차 운영 환경은, 1차 환경과 동시에 시작되며, 디바이스(10) 상태가 바뀌고 2차 환경이 1차 환경이 되도록 스위치된 경우에 배경에서 동작한다. 예로서, 디바이스(10)가 도크된 모드이고 주변 디바이스의 플러그가 뽑혀 있을 때, 모바일 모드로의 자동 스위치가 존재하고, 그 결과 2차 환경은 1차 환경이 되고 그 반대도 마찬가지이다.
부트 시퀀스는 단계 68에서 개시되고, 그 다음에 단계 70에서 코어 리눅스 커널(18)을 시작한다. 부트로더 프로그램은 커널을 시작하기 전에 초기화한다. 리눅스 커널(18)이 초기화된 이후에, 커널은 단계 72에서 사용자 스페이스 스크립트를 시작한다. 단계 74에서 자원 관리자(34)가 시작되고, 그 다음에 단계 76에서 모드 상태를 확인한다. 모드 상태가 확인되면, 단계 78에서 기준 라이브러리가 액세스되어 확인된 모드 상태와 관련되고/관련되거나 그에 의해 영향을 받는 기준을 판정한다. 단계 80에서, 제1 OS(22)와 제2 OS(24) 둘 다에 공통인 서비스들이 시작된다. 단계 76에서 판정된 모드 상태는 단계 82에서 참조된다. 모바일 상태가 확인되면, 제1 OS(22)는 1차 운영 환경이고, 단계 84에서 제1 OS 초기화 스크립트가 시작되며, 그 다음에 단계 86에서 제2 OS 초기화 스크립트가 시작된다. 단계 82에서 도크된 상태가 참조되면, 제2 OS(24)는 1차 운영 환경이고, 단계 88에서 제2 OS(24) 초기화 스크립트가 시작되며, 그 다음에 단계 90에서 제1 OS(22) 초기화 스크립트를 시작한다. 환경이 1차인 것에 무관하게, 단계 92에서 디바이스(10)가 동작중이기 전에 양측 환경들이 시작되고 실행된다. 단계 80에서 공통 서비스들이 먼저 시작되므로, 사실상 1차 및 2차 환경이 동시에 시작된다. 그러나, 디바이스 상태에 기초한, 1차 환경-지정 서비스들은 2차 환경-지정 서비스들 직전에 시작된다. 공통 서비스 시작을 환경-지정 시작과 분리함으로써, 디바이스(10)는 다수의 공존하는 독립형 운영 환경으로 빠르게 동작할 수 있다.
도 7을 참조하면, 디바이스(10)가 모바일 모드(94)에 있고 제1 OS(22)가 1차 제어를 갖는 동안 제2 OS(24) 애플리케이션을 시작하기 위한 단계들을 확인하는 흐름도가 제공된다. 단계 96에서, 제2 OS(24) 애플리케이션, 즉, 모바일 PC가 선택된다. 모바일 PC는, 대안적으로 노트북 뷰로도 불리는, 풀 PC 뷰를 제공하는 제1 OS(22)에서의 하나의 애플리케이션인 한편, 디바이스(10)는 모바일 모드에서 동작하고 제1 OS(22)는 1차 제어에 있다. 대안적인 실시예에서, 제2 OS(24)로부터의 개개의 애플리케이션은 제1 OS(22) 메뉴에 리스트될 수 있고 개별적으로 시작되는데, 이는 넷북 뷰와 유사할 수 있다.
단계 98에서 포털 서비스(26)는 현황 업데이트 통신을 자원 관리자(34)에게 보내, 포털 액티비티(28)에 초점이 맞춰져 있음을 나타낸다. 그 후에, 단계 100에서 자원 관리자(34)는 제1 OS(22) 입력을 디스에이블하고 가상 단말을 스위치한다. 단계 102에서 모바일 PC 애플리케이션이 GUI(12)에 디스플레이된다. 모바일 PC 애플리케이션을 동작시키는 동안, 단계 104에서 청하지 않은(unsolicited) 이벤트가 발생할 수 있고 또는 단계 106에서 사용자가 청한(user-solicited) 이벤트가 발생할 수 있다. 청하지 않은 이벤트는 시간이 중요한(time critical) 및 시간이 중요하지 않은(non-time critical) 이벤트를 포함한다. 예로서, 시간이 중요한 청하지 않은 이벤트는 폰 콜 혹은 예정되거나(scheduled) 예정되지 않은(unscheduled) 알람을 포함한다. 뿐만 아니라, 예로서, 시간이 중요하지 않은 청하지 않은 이벤트는 SMS 메시지, 이메일 메시지 또는 디바이스 업데이트 알림을 포함한다. 이벤트(104, 106)가 발생한 이후에 단계 108에서 포털 서비스(26)는 통신을 자원 관리자(34)로 보내, 포털 액티비티(28)는 초점을 잃는다는 것을 나타낸다. 단계 110에서, 자원 관리자(34)는 입력 이벤트 플로우를 인에이블할 것을 제1 OS(22)에게 요청하고 가상 단말을 스위치한다. 예로서, 본 실시예는 제1 OS(22)와 제2 OS(24) 사이의 디스플레이 제어를 스위칭하기 위한 별도의 가상 단말들을 포함한다. 대체로, 가상 단말은 시스템 사용자가 윈도우 기반 뷰와 시스템 콘솔 사이의 디스플레이 제어를 스위칭하도록 허용하는 리눅스 애플리케이션이다.
단계 112에서 청하지 않은 이벤트가 발생하거나 사용자가 "홈(Home)" 키를 선택할 때, 단계 114에서 포털 액티비티(28)가 배경으로 스위치되는 한편, 청하지 않은 이벤트가 계속되거나 사용자가 GUI(12)의 "홈" 메뉴로부터 또 다른 애플리케이션을 동작시킨다. 대안적으로, 단계 112에서 사용자가 "백(Back)" 키를 선택한다면, 포털 액티비티(28)는 그 애플리케이션을 종료하고 단계 94에서 디바이스(10)는 아이들 메인 메뉴(idle main menu)로 되돌아 간다. 홈 키, 백 키를 선택하거나, 새로운 애플리케이션을 개시하게 하는 것과 같은 사용자-개시 이벤트들은 청해진 이벤트들의 예이다. 이벤트가 발생할 때 단계 118에서 결정이 이루어지고, 이벤트가 청하지 않은 이벤트라면 단계 120에서 제1 OS(22)는 중단된다(interrupt). 대안적으로, 사용자가 "홈" 키를 선택하는 것과 같이 이벤트가 청해진 이벤트라면, 단계 94에서 디바이스는 아이들 메인 메뉴로 되돌아 간다. 단계 120에서 OS 중단 후에, 단계 122에서 중단 애플리케이션은 종료되고 포털 액티비티(28)에 다시 초점이 맞춰지며 디바이스(10)는 단계 98로 되돌아 간다.
대안적인 실시예에서, 가상 단말 시설(virtual terminal facility)은 이용되지 않는다. 모바일 모드에 있는 동안 제2 OS(24) 애플리케이션을 렌더링하는 것은 VNC-형 애플리케이션을 통해 달성될 수 있다. 우분투와 같은 제2 OS(24) 애플리케이션은 VNC 클라이언트로 원격으로 렌더링될 수 있다. 추가로, 이 실시예는 제1 OS(22)로부터 떨어진 물리적 디스플레이 제어를 채택하지 않는다.
또 다른 대안적인 실시예에서, 제1 OS(22)에 의해 생성된 시간이 중요하지 않은 알림들이 제2 OS(24) 뷰 내에 있는 패널에서 확인되고 리스트된다. 패널 내에 알림들을 리스팅함으로써, 제2 OS(24)가 1차 OS일 때 제1 OS(22) 현황 정보가 제2 OS(24) 뷰와 통합된다. 사용자의 여가(leisure) 시에, 패널은 시간이 중요하지 않은 현황 알림들을 드러내기 위해 액세스된다. 패널이 관여될 때, 제1 OS(22)는 1차 OS가 되고 알림들이 보이도록 허용한다. 예로서, 패널은 슬라이드 제스처로 현황 구역으로부터 아래로 내리는 풀-다운 리스트일 수 있다.
도 8을 참조하면, 제1 OS(22)가 1차 제어를 갖는 동안 제2 OS(24) 애플리케이션을 시작하기 위한 단계들을 확인하는 메시지 시퀀스 차트가 제공된다. 시퀀스 차트는, 맨 위로부터 맨 아래로, 포털 액티비티 모듈(28)과 자원 관리자(34) 사이에 송신된 신호들의 단계적인 흐름을 제공한다. 포털 액티비티(28)는 포털을 시작하고 입력은 디스에이블하는 신호(124)를 수신한다. 제1 OS(22)는, 신호(126)가 1차 제어를 획득하는 제2 OS(24)로 모드 상태를 바꾸기 전에 1차 제어를 한다. 신호(126)는 포털 액티비티(28)로부터 자원 관리자(34)로 보내지고, 이는 포털 액티비티(28)로 보내지는, 제2 OS(24)가 1차 OS임을 나타내는 응답 신호(128)를 생성한다. 신호(130)는 포털 액티비티(28)에 의해 수신되고 입력을 가능하게 한다. 제2 OS(24)로부터 제1 OS(22)로 모드 상태를 바꾸는 신호(132)가 포털 액티비티(28)로부터 자원 관리자(34)로 보내진다. 신호(132)를 수신한 후에 자원 관리자(34)는 가상 단말을 스위치한다. 자원 관리자(34)는 제1 OS(22)가 1차임을 나타내는 현황 업데이트 신호(134)를 포털 액티비티(28)로 보낸다.
도 9를 참조하면, 제1 운영 환경으로부터 제2 운영 환경으로의 스위칭과 연관된 단계들을 확인하는 흐름도가 제공된다. 단계 136에서 디바이스(10)는 모바일 모드(OS1(22))에서 아이들(idle) 상태에 있다. 단계 138에서 디바이스(10)는 도킹 스테이션(docking station)에 접속되거나, 주변 디바이스에 접속된다. 예로서, HDMI 접속이 디바이스(10)와 모니터 혹은 텔레비전 사이에 수립될 수 있다. 단계 140에서 자원 관리자(34)는 업데이트된 접속 현황에 대해 통지받고 접속 현황 변경에 응답하여 단계 142에서 제1 OS(22)가 디스에이블된다. 단계 144에서 제1 OS(22) 포털은 공유된 메모리 프레임버퍼를 스위치하고, 그 다음에 단계 146에서 자원 관리자(34)가 가상 단말을 스위치한다. 단계 148에서 모바일 PC 애플리케이션이 보인다면, 단계 150에서 포털 액티비티(26)는 종료한다. 대안적으로, 모바일 PC 애플리케이션이 보이지 않으면, 단계 152에서 도크된 모드가 인에이블된다. 단계 154에서 디바이스 상태가 바뀐 경우에, 단계 156에서 자원 관리자(34)는 현황 상태 업데이트를 수신한다. 예로서, 디바이스(10)를 주변 장치에 접속하기 위해 사용되는, HDMI 케이블 또는 유사한 커넥터를 사용자가 제거할 때 시스템의 상태가 바뀐다. 이벤트 상태 업데이트(156)에 이어, 제1 OS(22)는 인에이블되고(158) 디바이스는 모바일 모드에서 동작한다. 단계 160에서 프레임버퍼 스위치가 요청되고 단계 162에서 가상 단말 스위치가 요청되며, 이들 둘 다 포털 액티비티(26)에 의해 수행된다. 단계 162에 이어, 디바이스는 모바일 모드(136)에서의 아이들 상태로 되돌아 간다.
도 10을 참조하면, 디바이스(10)가 모바일 모드(OS1)로부터 도크된 모드(OS2)로 이동할 때 수행된 단계들을 확인하는 메시지 시퀀스 차트가 제공된다. 디바이스(10)는 모바일 모드에서 동작중이고 제1 OS(22)는 1차 OS이다. 케이블 신호(164)가 자원 관리자(34)에 의해 수신되는데, 이는 HDMI 또는 대안적인 하드와이어 플러그가 디바이스(10)에 부착되어 있음을 나타낸다. 케이블 신호(164)는 모드 상태 초기화 변경 신호의 예이다. 대안적인 실시예에서, 플러그는 디바이스(10)와 주변 디바이스 사이의 무선 통신일 수 있고, 무선 통신을 디스에이블하는 것은 모드 상태 초기화 변경 신호가 생성되도록 한다. 디바이스를 모바일 모드에서 도크된 모드로 이동시키는 신호들의 시퀀스가 개시된다. 모드 현황 이동(mode status transition)을 알리고 메인 데이터 입력을 디스에이블하는 신호(164)가 자원 관리자(34)로부터 포털 액티비티(28)로 보내진다. 포털 액티비티(28)는 제2 OS(24)가 지금 1차임을 확인시키고 가상 단말을 스위칭하는 신호(168)를 자원 관리자(34)로 보낸다. 제2 OS(24)를 1차로서 프레임버퍼의 소유권을 취득하였음을 확인시키는 신호(170)가 자원 관리자(34)로부터 포털 액티비티로 보내진다. 디바이스가 지금 도크된 모드에 있고 제2 OS(24)가 1차 OS임을 확인시키는 모드 상태 변경 확인 신호(172)가 포털 액티비티(28)로부터 자원 관리자(34)로 보내진다. 시스템 모드 업데이트 신호는 자원 관리자(34)로부터 AIW(36)로 보내진다.
도 11을 참조하면, 디바이스(10)가 도크된 모드(OS2)로부터 모바일 모드(OS1)으로 이동할 때 수행된 단계들을 확인하는 메시지 시퀀스 차트가 제공된다. 케이블 신호(176)가 자원 관리자(34)에 의해 수신되고, 이는 HDMI 또는 대안적인 하드와이어 플러그가 디바이스(10)로부터 제거되었다는 것을 나타낸다. 플러그의 제거는 디바이스(10)와 통신 중인 주변 디바이스(도시되지 않음)가 더 이상 존재하지 않는다는 것을 나타낸다. 대안적인 실시예에서, 플러그는 디바이스(10)와 주변 혹은 대안적인 디바이스(도시되지 않음) 사이에서의 무선 통신일 수 있다. 디바이스를 도크된 모드로부터 모바일 모드로 이동시키는 신호들의 시퀀스가 개시된다. 모드 현황 이동을 나타내고 메인 데이터 입력 및 메인 프레임버퍼를 인에이블시키는 신호(178)가 자원 관리자(34)로부터 포털 액티비티(28)로 보내진다. 포털 액티비티(28)는 제1 OS(22)가 지금 1차임을 확인하고 가상 단말을 스위칭하는 신호(180)를 자원 관리자(34)로 보낸다. 제1 OS(22)가 1차로서 프레임버퍼의 소유권을 취득하였음을 확인시키는 신호(182)가 자원 관리자(34)로부터 포털 액티비티로 보내진다. 디바이스가 지금 모바일 모드에 있고 제1 OS(22)가 1차 OS임을 확인시키는 모드 상태 변경 확인 신호(184)가 포털 액티비티(28)로부터 자원 관리자(34)로 보내진다. 시스템 모드 업데이트 신호가 자원 관리자(34)로부터 AIW(36)로 보내진다.
도 12를 참조하면, 단계 188에서 디바이스(10)는 도크된 모드에서 아이들이고 제2 OS(24)는 1차 운영 환경이다. 단계 190에서 청하지 않은 이벤트가 발생하거나 단계 192에서 사용자가 윈도우 애플리케이션에서 OS1(22)을 선택한다면, 단계 194에서 윈도우 애플리케이션에서의 OS1(22)이 시작된다. 예로서, 안드로이드가 모바일 운영 환경(22)이라면, AIW 애플리케이션이 시작된다. AIW 애플리케이션은, 디바이스가 도크된 모드에서 동작하는 동안 사용자가 안드로이드 애플리케이션에 액세스하는 것을 인에이블한다. 단계 194에서 자원 관리자(34)는 또한 현황 업데이트를 통지받는다. 단계 196에서 제1 OS(22)로의 입력이 인에이블되고, 그 다음에 단계 198에서 제1 OS 디스플레이 업데이트 알림의 송신이 뒤따른다. 단계 200에서 AIW 애플리케이션은 동작중이고 그에 초점이 맞춰진다. 단계 202에서 AIW 애플리케이션이 종료되거나 단계 204에서 사용자가 AIW에 초점을 맞추지 않으면, 단계 206에서 제1 OS(22) 입력은 디스에이블된다. 단계 208에서 제1 OS(22) 디스플레이가 중지된다. 단계 210에서 AIW 애플리케이션이 종료된다면, 시스템은 아이들 도크된 모드(188)로 되돌아 간다. 대안적으로, AIW 애플리케이션에서 초점이 멀어진다면, 단계 212에서 애플리케이션은 이 상태에서 동작한다. 단계 214에서 청하지 않은 이벤트 혹은 단계 216에서 AIW 애플리케이션과의 청해진 인터렉션의 경우에, 단계 218에서 다시 AIW에 초점이 맞춰진다. AIW에서 초점이 멀어지는 동안 사용자는 AIW 애플리케이션을 선택하여 AIW 윈도우와 계속 인터렉션할 수 있고, AIW에 다시 초점이 맞춰지고 자원 관리자(34)에게 현황 업데이트를 통지한다. AIW에 다시 초점이 맞춰진 후에, 단계 220에서, 본 실시예에 대해 안드로이드인, 제1 OS(22) 입력이 인에이블된다. 단계 222에서 제1 OS(22) 디스플레이 업데이트 알림들이 자원 관리자(34)로 송신되고, 그 다음에 시스템은 단계 200으로 되돌아 가는데, 여기서 AIW가 인에이블되고 거기에 초점이 맞춰진다. 한 애플리케이션에 초점이 맞춰질 때, 그 애플리케이션은 실행중인 애플리케이션들의 스택의 논리적인 맨 위에 있다.
대안적인 실시예에서, 디바이스(10)가, 디바이스(10)를 도킹(docking)하거나 언도킹(undocking)하는 것 외에 이벤트들에 기초하여 모드 상태들 사이를 이동할 수 있는 것으로 생각된다. 예로서, 디바이스(10)가 프리셋 시간 기간동안 정지되어 있다면 디바이스(10)는 디바이스 현황에 무관하게 에너지에 있어서 가장 효율적인 모드 상태로 동작하도록 프로그램될 수 있다. 또 다른 예에서, 디바이스가 주변 디바이스와의 접속을 가질 때조차 사용자는 도크된 모드로부터 모바일 모드로 모드 상태를 이동할 수 있다. 추가로, 디바이스(10)에 접속된 주변 디바이스의 종류는 자동 모드 상태 변경 시퀀스가 개시될지 또는 사용자가 모드 상태 변경 요청을 받을지에 영향을 줄 수 있다. 이로써, 사용자는 디바이스(10)를 동작시키기 위한 모드 상태를 선택할 수 있다. 또 다른 대안적인 실시예에서, 추가적인 모드 상태들은 특정한 디바이스(10) 용도 및 디바이스 메모리(20)에서 이용가능한 애플리케이션들에 기초하는 것으로 생각된다.
본 발명은 특히 여기 포함된 실시예들 및 설명들에 한정되는 것이 아니며, 후술하는 청구항들의 범위 내에서, 실시예들의 부분들을 포함하는 실시예들의 수정된 형태들 및 상이한 실시예들의 요소들의 조합을 포함하도록 의도된다.

Claims (22)

  1. 모바일 디바이스 운영 체제로서,
    디바이스 하드웨어 컴포넌트와 미들웨어 컴포넌트(middleware component)를 인터페이싱하도록 구성된 코어 커널; 및
    상기 코어 커널에 결합된 적어도 2개의 공존하는 독립형 미들웨어 운영 환경들(co-existing independent middleware operating environments) - 상기 미들웨어 운영 환경들 각각은 대응하는 애플리케이션 컴포넌트를 가짐 -
    을 포함하는 모바일 디바이스 운영 체제.
  2. 제1항에 있어서, 상기 미들웨어 운영 환경들 중 적어도 하나는 리눅스 환경인 모바일 디바이스 운영 체제.
  3. 제1항에 있어서, 상기 적어도 2개의 공존하는 미들웨어 운영 환경들에 의해 공유되는 자원들을 제어하도록 구성된 자원 관리자(resource manager)를 더 포함하는 모바일 디바이스 운영 체제.
  4. 모바일 컴퓨팅 디바이스로서,
    컴퓨터 프로세서에 결합된 메모리 저장 유닛 - 상기 메모리 저장 유닛은 공통 커널(common kernel) 상에서 적어도 2개의 운영 체제 환경들을 동작시킬 수 있는 컴퓨터 실행가능 명령어들을 가짐 -
    을 포함하는 모바일 컴퓨팅 디바이스.
  5. 제4항에 있어서, 제1 운영 체제 환경이 모바일 통신을 위해 최적화되는 모바일 컴퓨팅 디바이스.
  6. 제5항에 있어서, 제2 운영 체제 환경이 데스크톱 통신을 위해 최적화되는 모바일 컴퓨팅 디바이스.
  7. 제5항에 있어서, 상기 제1 운영 체제 환경은 표준 리눅스-기반 배포판(standard Linux-based distribution)인 모바일 컴퓨팅 디바이스.
  8. 제5항에 있어서, 미리 정해진(predetermined) 디바이스 상태는 1차 운영 환경 및 2차 운영 환경에 영향을 주는(dictate) 모바일 컴퓨팅 디바이스.
  9. 제8항에 있어서, 상기 1차 운영 환경은 모바일 모드에서 동작하는 안드로이드 운영 체제(Android operating system)인 모바일 컴퓨팅 디바이스.
  10. 제8항에 있어서, 사용자가 제2 운영 환경과 연관된 애플리케이션을 작동(invoke)시킬 때, 상기 1차 운영 환경은 제1 운영 환경으로부터 제2 운영 환경으로 스위칭하는 모바일 컴퓨팅 디바이스.
  11. 제8항에 있어서, 사용자가 제1 운영 환경과 연관된 프로그램들을 선택할 때, 상기 1차 운영 환경은 제2 운영 환경으로부터 제1 운영 환경으로 스위칭하는 모바일 컴퓨팅 디바이스.
  12. 모바일 전화기로서,
    멀티미디어 정보를 수신 및 송신하도록 구성된 그래픽 사용자 인터페이스(graphical user interface);
    메모리 저장 유닛에 결합된 프로세서를 포함하는 컴퓨팅 시스템;
    공통 커널을 갖는 멀티-환경 운영 체제 - 상기 메모리 저장 유닛은 적어도 2개의 공존하는 독립형 운영 체제 환경들 간에 공유되는 자원들을 관리할 수 있는 컴퓨터 실행가능 명령어들을 가짐 -
    를 포함하는 모바일 전화기.
  13. 모바일 컴퓨팅 디바이스로서,
    운영 체제를 개시하도록 구성된 컴퓨터 실행가능 명령어들을 갖는 컴퓨터 메모리에 결합된 컴퓨터 프로세서; 및
    단일 커널 상에서 표준 리눅스 배포판 운영 체제 환경과 안드로이드 운영 체제 환경을 동시에 실행하도록 구성된 운영 체제
    를 포함하는 모바일 컴퓨팅 디바이스.
  14. 제13항에 있어서, 미리 정해진 디바이스 상태는 1차 및 2차 운영 환경에 영향을 주는 모바일 컴퓨팅 디바이스.
  15. 제13항에 있어서, 상기 운영 체제는 포털 서비스 및 자원 관리자를 더 포함하는 모바일 컴퓨팅 디바이스.
  16. 제14항에 있어서, 상기 디바이스가 모바일 모드에서 동작 중일 때, 안드로이드가 상기 1차 운영 환경인 모바일 컴퓨팅 디바이스.
  17. 제15항에 있어서, 상기 포털 서비스 및 자원 관리자는 미리 정해진 디바이스 기준의 세트에 적어도 부분적으로 기초하여, 상기 디바이스가 우분투(Ubuntu)와 안드로이드 운영 체제를 선택적으로 동작시킬 수 있게 해주는 모바일 컴퓨팅 디바이스.
  18. 제17항에 있어서, 미리 정해진 디바이스 상태는 프로그램가능한 모바일 컴퓨팅 디바이스.
  19. 모바일 디바이스 운영 체제로서,
    디바이스 하드웨어 컴포넌트 및 미들웨어 컴포넌트를 인터페이싱하도록 구성된 코어 커널;
    자바-인터프리트 애플리케이션들(JAVA-interpreted applications)을 실행하도록 구성되고 또한 상기 코어 커널에 결합된 제1 독립형 미들웨어 운영 환경; 및
    네이티브 애플리케이션들(native applications)을 실행하도록 구성되고 또한 상기 코어 커널에 결합된 제2 독립형 미들웨어 운영 환경
    을 포함하는 모바일 디바이스 운영 체제.
  20. 제19항에 있어서, 상기 제1 및 제2 독립형 미들웨어 운영 환경들 각각은 대응하는 애플리케이션 컴포넌트를 갖는 모바일 디바이스 운영 체제.
  21. 제20항에 있어서, 자원 관리자는 상기 제1 및 제2 독립형 미들웨어 운영 환경들에 의해 공유된 시스템 자원들을 제어하는 모바일 디바이스 운영 체제.
  22. 제21항에 있어서, 상기 공유된 자원들은 디스플레이 디바이스들 및 입력 디바이스들을 포함하는 모바일 디바이스 운영 체제.
KR1020127001869A 2009-07-20 2010-07-20 멀티-환경 운영 체제 KR20120044347A (ko)

Applications Claiming Priority (4)

Application Number Priority Date Filing Date Title
US22698809P 2009-07-20 2009-07-20
US61/226,988 2009-07-20
US12/838,868 US9348633B2 (en) 2009-07-20 2010-07-19 Multi-environment operating system
US12/838,868 2010-07-19

Related Child Applications (1)

Application Number Title Priority Date Filing Date
KR1020147007034A Division KR101702728B1 (ko) 2009-07-20 2010-07-20 멀티-환경 운영 체제

Publications (1)

Publication Number Publication Date
KR20120044347A true KR20120044347A (ko) 2012-05-07

Family

ID=43466064

Family Applications (2)

Application Number Title Priority Date Filing Date
KR1020147007034A KR101702728B1 (ko) 2009-07-20 2010-07-20 멀티-환경 운영 체제
KR1020127001869A KR20120044347A (ko) 2009-07-20 2010-07-20 멀티-환경 운영 체제

Family Applications Before (1)

Application Number Title Priority Date Filing Date
KR1020147007034A KR101702728B1 (ko) 2009-07-20 2010-07-20 멀티-환경 운영 체제

Country Status (8)

Country Link
US (1) US9348633B2 (ko)
EP (1) EP2470990A2 (ko)
KR (2) KR101702728B1 (ko)
CN (2) CN106055384B (ko)
BR (1) BR112012001133A2 (ko)
MX (1) MX2012000941A (ko)
MY (1) MY156793A (ko)
WO (1) WO2011011354A2 (ko)

Families Citing this family (57)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US8819705B2 (en) 2010-10-01 2014-08-26 Z124 User interaction support across cross-environment applications
US8726294B2 (en) 2010-10-01 2014-05-13 Z124 Cross-environment communication using application space API
US8933949B2 (en) 2010-10-01 2015-01-13 Z124 User interaction across cross-environment applications through an extended graphics context
US9098437B2 (en) 2010-10-01 2015-08-04 Z124 Cross-environment communication framework
US8966379B2 (en) 2010-10-01 2015-02-24 Z124 Dynamic cross-environment application configuration/orientation in an active user environment
US9047102B2 (en) 2010-10-01 2015-06-02 Z124 Instant remote rendering
US9372711B2 (en) * 2009-07-20 2016-06-21 Google Technology Holdings LLC System and method for initiating a multi-environment operating system
US9367331B2 (en) * 2009-07-20 2016-06-14 Google Technology Holdings LLC Multi-environment operating system
US9389877B2 (en) 2009-07-20 2016-07-12 Google Technology Holdings LLC Multi-environment operating system
US8868899B2 (en) * 2009-07-20 2014-10-21 Motorola Mobility Llc System and method for switching between environments in a multi-environment operating system
TWI520069B (zh) * 2010-08-11 2016-02-01 緯創資通股份有限公司 整合運用基於同一系統核心之異質作業系統之方法
CN102375754B (zh) * 2010-08-20 2015-03-11 纬创资通股份有限公司 整合运用基于同一系统内核的异质操作系统的方法
US8270963B1 (en) 2010-10-01 2012-09-18 Viasat, Inc. Cross domain notification
US9372618B2 (en) 2010-10-01 2016-06-21 Z124 Gesture based application management
US8458800B1 (en) 2010-10-01 2013-06-04 Viasat, Inc. Secure smartphone
US8495731B1 (en) * 2010-10-01 2013-07-23 Viasat, Inc. Multiple domain smartphone
WO2012044557A2 (en) * 2010-10-01 2012-04-05 Imerj, Llc Auto-configuration of a docked system in a multi-os environment
US9113499B2 (en) 2010-10-01 2015-08-18 Viasat, Inc. Multiple domain smartphone
US8761831B2 (en) 2010-10-15 2014-06-24 Z124 Mirrored remote peripheral interface
US8983536B2 (en) 2010-10-22 2015-03-17 Google Technology Holdings LLC Resource management in a multi-operating environment
US9804857B2 (en) * 2010-12-17 2017-10-31 Intel Corporation Method and apparatus for multi-mode mobile computing devices and peripherals
US20120192100A1 (en) * 2011-01-25 2012-07-26 Motorola-Mobility, Inc. Method and apparatus for locking and unlocking multiple operating system environments with a single gesture input
KR101295393B1 (ko) * 2011-01-27 2013-08-09 주식회사 엘지씨엔에스 단일 운영체제 상에서 스마트 서비스와 디지털 텔레비젼 서비스를 제공하는 스마트 셋탑 박스 및 그것의 구동 방법
US20120278747A1 (en) * 2011-04-28 2012-11-01 Motorola Mobility, Inc. Method and apparatus for user interface in a system having two operating system environments
US9354900B2 (en) * 2011-04-28 2016-05-31 Google Technology Holdings LLC Method and apparatus for presenting a window in a system having two operating system environments
US8924958B1 (en) 2011-05-24 2014-12-30 BlueStack Systems, Inc. Application player
US10089093B1 (en) * 2011-05-24 2018-10-02 BlueStack Systems, Inc. Apparatuses, systems and methods of switching operating systems
US10791538B1 (en) 2011-07-06 2020-09-29 BlueStack Systems, Inc. Cloud-based data synchronization
US8907906B2 (en) 2011-09-27 2014-12-09 Z124 Secondary single screen mode deactivation
US8966004B2 (en) 2011-09-29 2015-02-24 Comcast Cable Communications, LLC. Multiple virtual machines in a mobile virtualization platform
US9804864B1 (en) 2011-10-07 2017-10-31 BlueStack Systems, Inc. Method of mapping inputs and system thereof
WO2013074868A1 (en) 2011-11-16 2013-05-23 Flextronics Ap, Llc Complete vehicle ecosystem
US9396041B2 (en) * 2012-02-01 2016-07-19 Google Technology Holdings LLC Optimization of resource usage in a multi-environment computing system
CN103294562B (zh) * 2012-02-23 2017-03-01 纬创资通股份有限公司 双操作系统共用周边装置的方法以及电子装置
US20130293573A1 (en) * 2012-05-02 2013-11-07 Motorola Mobility, Inc. Method and Apparatus for Displaying Active Operating System Environment Data with a Plurality of Concurrent Operating System Environments
US9342325B2 (en) * 2012-05-17 2016-05-17 Google Technology Holdings LLC Synchronizing launch-configuration information between first and second application environments that are operable on a multi-modal device
CN103870296B (zh) * 2012-12-13 2019-02-05 联想(北京)有限公司 一种输入设备的识别方法和设备
CN103530148B (zh) * 2013-09-18 2016-09-07 国云科技股份有限公司 一种大型Linux软件包的发布方法
CN104885055B (zh) * 2014-03-19 2020-12-15 华为终端有限公司 一种应用数据同步的方法及装置
WO2015167563A1 (en) * 2014-04-30 2015-11-05 Hewlett-Packard Development Company, L.P. Multi architecture manager
CN104850787B (zh) * 2015-02-11 2018-06-05 数据通信科学技术研究所 基于高保证内核模块的移动终端操作系统及其实现方法
DE112016006734T5 (de) * 2015-04-26 2019-01-03 Intel Corporation Integriertes Android- und Windows-Gerät
CN105046156B (zh) * 2015-08-26 2018-05-08 北京元心科技有限公司 智能终端及其设备访问权限控制方法
CN105487921B (zh) * 2015-11-23 2019-06-21 广州视睿电子科技有限公司 一种任务栈管理方法及装置
EP3184386B2 (en) 2015-12-22 2024-04-10 Haldex Brake Products AB Disc brake and method for manufacturing the same
CN105653353B (zh) * 2015-12-31 2019-04-12 北京元心科技有限公司 一种基于容器的多系统交互通讯方法和装置
WO2017119907A1 (en) * 2016-01-08 2017-07-13 Hewlett-Packard Development Company, L.P. Boot process modification
CN108024002B (zh) * 2016-10-31 2021-05-07 成都卫士通信息产业股份有限公司 一种基于rom的双域手机系统的构建方法
CN106850944A (zh) * 2016-12-13 2017-06-13 北京元心科技有限公司 智能设备唤醒方法及装置
WO2018227549A1 (en) * 2017-06-16 2018-12-20 Alibaba Group Holding Limited Determining processor utilization of multiprocessing system with virtualization
CN107390981B (zh) * 2017-07-21 2020-04-21 广州视源电子科技股份有限公司 一种全局菜单的控制方法、装置、设备和存储介质
KR102447434B1 (ko) * 2018-01-10 2022-09-27 삼성전자주식회사 전자 장치 및 그 제어 방법
KR20200042793A (ko) 2018-10-16 2020-04-24 삼성전자주식회사 복수의 운영체제들을 실행하는 전자장치 및 그 제어 방법
KR102631745B1 (ko) 2018-10-16 2024-02-01 삼성전자주식회사 이종 운영체제의 실행을 제어하기 위한 방법, 이를 위한 전자 장치 및 저장 매체
KR20200118980A (ko) 2019-04-09 2020-10-19 삼성전자주식회사 이종 운영체제를 실행하는 전자 장치 및 그 방법
CN110971708B (zh) * 2019-12-19 2021-11-30 吉林大学 安卓与Ubuntu系统信息传输方法及系统、设备、介质
CN115080158A (zh) * 2021-03-12 2022-09-20 Oppo广东移动通信有限公司 界面显示方法、装置、终端设备及计算机可读存储介质

Family Cites Families (182)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US5119494A (en) 1990-07-10 1992-06-02 Athenix Corporation Application address display window mapper for a sharable ms-dos processor
US5446904A (en) 1991-05-17 1995-08-29 Zenith Data Systems Corporation Suspend/resume capability for a protected mode microprocessor
EP0568386A3 (en) 1992-05-01 1995-08-16 R Brent Johnson Console simulator, multi-console management system, and console management distribution system
JPH07121336A (ja) 1993-10-27 1995-05-12 Canon Inc 表示装置及びその方法
EP0717344B1 (en) 1994-12-13 2001-10-31 Microsoft Corporation Taskbar with start menu
US6363409B1 (en) 1995-04-24 2002-03-26 Microsoft Corporation Automatic client/server translation and execution of non-native applications
US6336146B1 (en) 1995-12-22 2002-01-01 Sun Microsystems, Inc. Method and apparatus for docking, launching and running applications in a foreign environment
US5828376A (en) 1996-09-23 1998-10-27 J. D. Edwards World Source Company Menu control in a graphical user interface
DE19648422C2 (de) * 1996-11-22 2000-03-30 Hans Beckhoff Verfahren und Vorrichtung zum Implementieren eines echtzeitfähigen Steuerprogramms in einem nicht-echtzeitfähigen Betriebsprogramm
US6710788B1 (en) 1996-12-03 2004-03-23 Texas Instruments Incorporated Graphical user interface
US6170045B1 (en) 1997-04-30 2001-01-02 International Business Machines Corporation Cross-system data piping using an external shared memory
US6336120B1 (en) * 1997-08-26 2002-01-01 International Business Machines Corporation Method and system for supporting hierarchical storage management (HSM) file system across multiple platforms
US6205452B1 (en) 1997-10-29 2001-03-20 R. R. Donnelley & Sons Company Method of reproducing variable graphics in a variable imaging system
US6215490B1 (en) 1998-02-02 2001-04-10 International Business Machines Corporation Task window navigation method and system
US6043816A (en) 1998-05-29 2000-03-28 Hewlett-Packard Company User interface mechanism for maintaning quick access to important information in a windows-based computer environment
US6133915A (en) 1998-06-17 2000-10-17 Microsoft Corporation System and method for customizing controls on a toolbar
US6338149B1 (en) 1998-07-31 2002-01-08 Westinghouse Electric Company Llc Change monitoring system for a computer system
US6178503B1 (en) * 1998-09-11 2001-01-23 Powerquest Corporation Managing multiple operating systems on a single computer
US8065504B2 (en) 1999-01-28 2011-11-22 Ati International Srl Using on-chip and off-chip look-up tables indexed by instruction address to control instruction execution in a processor
US6691146B1 (en) * 1999-05-19 2004-02-10 International Business Machines Corporation Logical partition manager and method
JP2000347883A (ja) 1999-06-03 2000-12-15 Matsushita Electric Ind Co Ltd 仮想計算機装置
US6460136B1 (en) * 1999-07-12 2002-10-01 Hewlett-Packard Co., Method and apparatus for loading an operating system kernel from a shared disk memory
US6763458B1 (en) 1999-09-27 2004-07-13 Captaris, Inc. System and method for installing and servicing an operating system in a computer or information appliance
US6757002B1 (en) 1999-11-04 2004-06-29 Hewlett-Packard Development Company, L.P. Track pad pointing device with areas of specialized function
US6756999B2 (en) 2000-04-06 2004-06-29 Microsoft Corporation Method and system for clustering and grouping taskbar buttons
GB2369959A (en) 2000-12-08 2002-06-12 Ubinetics Ltd Holder for connecting a mobile communications device to a screen
GB2377518B (en) 2001-02-12 2003-10-22 Altio Ltd Client software enabling a client to run a network based application
US7461144B1 (en) * 2001-02-16 2008-12-02 Swsoft Holdings, Ltd. Virtual private server with enhanced security
US6765596B2 (en) 2001-02-27 2004-07-20 International Business Machines Corporation Multi-functional application launcher with integrated status
US7231531B2 (en) * 2001-03-16 2007-06-12 Dualcor Technologies, Inc. Personal electronics device with a dual core processor
US20020151334A1 (en) * 2001-04-11 2002-10-17 Motorola, Inc Communications device with call frequency analyzer
TW502210B (en) 2001-04-19 2002-09-11 Asustek Comp Inc Computer system capable of switching operating system
US20050240763A9 (en) 2001-08-06 2005-10-27 Shivaram Bhat Web based applications single sign on system and method
US9098437B2 (en) * 2010-10-01 2015-08-04 Z124 Cross-environment communication framework
US20030065738A1 (en) * 2001-10-01 2003-04-03 Thumb Logic, Inc. Wireless information systems and methods
JP2003196096A (ja) 2001-12-07 2003-07-11 Internatl Business Mach Corp <Ibm> コンピュータシステム、その起動制御方法及びプログラム
US7533101B2 (en) 2002-03-04 2009-05-12 Microsoft Corporation Extensible loader
EP1347373A3 (en) * 2002-03-20 2005-02-02 Seiko Epson Corporation Apparatus for processing instructions of different instruction set architectures
US7783665B1 (en) * 2002-03-27 2010-08-24 Parallels Holdings, Ltd. Effective file-sharing among virtual environments
US7424623B2 (en) * 2002-03-28 2008-09-09 O2 Micro International Limited Personal computer integrated with personal digital assistant
US20030204708A1 (en) * 2002-04-24 2003-10-30 Colin Hulme Portable computer having hierarchical operating systems
US7111303B2 (en) 2002-07-16 2006-09-19 International Business Machines Corporation Virtual machine operating system LAN
JP2004086330A (ja) 2002-08-23 2004-03-18 Toshiba Corp 電子機器
TW591398B (en) 2002-09-26 2004-06-11 Tatung Co Method of implementing a plurality of system tray areas
US7913183B2 (en) 2002-10-08 2011-03-22 Microsoft Corporation System and method for managing software applications in a graphical user interface
US20040095388A1 (en) * 2002-11-15 2004-05-20 Rocchetti Robert J. Method and apparatus for creating user interfaces for computing devices
US7254831B2 (en) 2002-12-04 2007-08-07 Microsoft Corporation Sharing a sign-in among software applications having secured features
US20050240756A1 (en) 2003-01-12 2005-10-27 Yaron Mayer System and method for improving the efficiency, comfort, and/or reliability in Operating Systems, such as for example Windows.
US20070128899A1 (en) 2003-01-12 2007-06-07 Yaron Mayer System and method for improving the efficiency, comfort, and/or reliability in Operating Systems, such as for example Windows
US7114104B1 (en) 2003-02-11 2006-09-26 Compuware Corporation System and method of fault detection in a Unix environment
DE60323811D1 (de) 2003-04-09 2008-11-13 Jaluna S A Betriebssysteme
US20040207508A1 (en) * 2003-04-16 2004-10-21 Jyh-Han Lin Method and apparatus for a dynamically customizable smart phonebook
US7634770B2 (en) * 2003-05-19 2009-12-15 Hewlett-Packard Development Company, L.P. Kernel module interface dependencies
US7620667B2 (en) * 2003-11-17 2009-11-17 Microsoft Corporation Transfer of user profiles using portable storage devices
US20050125739A1 (en) 2003-11-20 2005-06-09 Thompson Jeffrey W. Virtual desktop manager system and method
WO2005052769A1 (ja) 2003-11-28 2005-06-09 Matsushita Electric Industrial Co.,Ltd. データ処理装置
GB0407977D0 (en) * 2004-04-08 2004-05-12 Ibm Communication between browser windows
US7478204B2 (en) * 2004-04-29 2009-01-13 International Business Machines Corporation Efficient sharing of memory between applications running under different operating systems on a shared hardware system
US7543166B2 (en) 2004-05-12 2009-06-02 Intel Corporation System for managing power states of a virtual machine based on global power management policy and power management command sent by the virtual machine
US7590945B2 (en) 2004-06-14 2009-09-15 At&T Intellectual Property I, L.P. Viewing applications from inactive sessions
KR101013143B1 (ko) 2004-06-29 2011-02-10 삼성전자주식회사 모니터 관리시스템
US7996785B2 (en) 2004-06-30 2011-08-09 Microsoft Corporation Systems and methods for integrating application windows in a virtual machine environment
US20060010446A1 (en) * 2004-07-06 2006-01-12 Desai Rajiv S Method and system for concurrent execution of multiple kernels
US7424601B2 (en) * 2004-07-07 2008-09-09 Yongyong Xu Methods and systems for running multiple operating systems in a single mobile device
CN101052949A (zh) * 2004-08-18 2007-10-10 扎鲁纳股份有限公司 操作系统
US20060046706A1 (en) * 2004-08-26 2006-03-02 Jiansong Lin Monitoring and remote control of wireless communication device accessories and functionality
US7363128B2 (en) 2004-09-28 2008-04-22 Eaton Corporation Application launcher
US7529921B2 (en) * 2004-12-17 2009-05-05 Cardiac Pacemakers, Inc. Fast initialization of medical device system having multiple operating systems
US7468729B1 (en) 2004-12-21 2008-12-23 Aol Llc, A Delaware Limited Liability Company Using an avatar to generate user profile information
US20070162298A1 (en) 2005-01-18 2007-07-12 Apple Computer, Inc. Systems and methods for presenting data items
US7478339B2 (en) 2005-04-01 2009-01-13 Microsoft Corporation Method and apparatus for application window grouping and management
US20060225107A1 (en) 2005-04-01 2006-10-05 Microsoft Corporation System for running applications in a resource-constrained set-top box environment
US7565535B2 (en) 2005-05-06 2009-07-21 Microsoft Corporation Systems and methods for demonstrating authenticity of a virtual machine using a security image
US7533189B2 (en) 2005-06-21 2009-05-12 Microsoft Corporation Enabling a graphical window modification command to be applied to a remotely generated graphical window
WO2007005562A2 (en) * 2005-06-30 2007-01-11 Phoenix Technologies Ltd. Shared file system management between independent operating systems
US20070050765A1 (en) * 2005-08-30 2007-03-01 Geisinger Nile J Programming language abstractions for creating and controlling virtual computers, operating systems and networks
US8429630B2 (en) 2005-09-15 2013-04-23 Ca, Inc. Globally distributed utility computing cloud
US7779280B2 (en) 2005-09-16 2010-08-17 Gary Stephen Shuster Low power mode for portable computer system
US7636586B2 (en) * 2005-10-12 2009-12-22 Nokia Corporation Mobile communication terminal
US20070135043A1 (en) * 2005-12-12 2007-06-14 Motorola, Inc. Method and system for accessible contact information on a locked electronic device
US7657849B2 (en) 2005-12-23 2010-02-02 Apple Inc. Unlocking a device by performing gestures on an unlock image
CN101583940B (zh) 2006-01-17 2012-10-31 基达罗(以色列)有限公司 多计算环境的无缝集成
US20070174429A1 (en) 2006-01-24 2007-07-26 Citrix Systems, Inc. Methods and servers for establishing a connection between a client system and a virtual machine hosting a requested computing environment
US20070180398A1 (en) 2006-01-30 2007-08-02 Mcardle James M Window cleanup via desktop icon
JP2007226413A (ja) 2006-02-22 2007-09-06 Hitachi Ltd メモリダンプ方法、メモリダンププログラム、及び、計算機システム
US7950020B2 (en) * 2006-03-16 2011-05-24 Ntt Docomo, Inc. Secure operating system switching
US7595810B2 (en) 2006-03-22 2009-09-29 Apple Inc. Methods of manipulating a screen space of a display device
US7536537B2 (en) * 2006-04-20 2009-05-19 Harris Corporation Simultaneous dual booting of platforms
US7987432B1 (en) 2006-04-25 2011-07-26 Parallels Holdings, Ltd. Seamless integration and installation of non-native application into native operating system
US20070266231A1 (en) 2006-05-15 2007-11-15 Huey-Tyug Chua Portable Electronic Device and Method for Loading Resource Data of the Portable Electronic Device
US8738786B2 (en) 2006-05-18 2014-05-27 Sanggyu Lee Method for protecting client and server
US20070283147A1 (en) * 2006-05-30 2007-12-06 Fried Eric P System and method to manage device access in a software partition
US9201703B2 (en) * 2006-06-07 2015-12-01 International Business Machines Corporation Sharing kernel services among kernels
US8146089B2 (en) * 2006-06-14 2012-03-27 Intel Corporation Sharing resources of a partitioned system
US20080028326A1 (en) 2006-07-26 2008-01-31 Research In Motion Limited System and method for adaptive theming of a mobile device
US8352733B2 (en) 2006-08-04 2013-01-08 Apple Inc. Resource restriction systems and methods
US7996789B2 (en) 2006-08-04 2011-08-09 Apple Inc. Methods and apparatuses to control application programs
US7689820B2 (en) * 2006-09-27 2010-03-30 L3 Communications Corporation Rapid-boot computing device with dual operating systems
US20080100568A1 (en) * 2006-10-30 2008-05-01 Koch Paul B Electronic device providing tactile feedback
US7698660B2 (en) 2006-11-13 2010-04-13 Microsoft Corporation Shared space for communicating information
JP4809209B2 (ja) 2006-12-28 2011-11-09 株式会社日立製作所 サーバ仮想化環境における系切り替え方法及び計算機システム
US8046570B2 (en) 2007-02-06 2011-10-25 Microsoft Corporation Supporting multiple operating systems in media devices
US20080282205A1 (en) 2007-02-06 2008-11-13 Access Systems Americas, Inc. Unified launcher user interface system and method for integrating multiple disparate environments on an electronic device
US20080256468A1 (en) 2007-04-11 2008-10-16 Johan Christiaan Peters Method and apparatus for displaying a user interface on multiple devices simultaneously
US20080270910A1 (en) 2007-04-30 2008-10-30 Lukasik Derek J User selection of a remote session
WO2008137432A2 (en) * 2007-05-01 2008-11-13 Dyyno Sharing of information and formatting information for transmission over a communication network
US8677270B2 (en) 2007-05-04 2014-03-18 Microsoft Corporation Live companion user interface
CN100470485C (zh) 2007-05-09 2009-03-18 浙江大学 多操作系统协同工作实现方法
US8745535B2 (en) 2007-06-08 2014-06-03 Apple Inc. Multi-dimensional desktop
US20080307350A1 (en) 2007-06-09 2008-12-11 Alessandro Francesco Sabatelli Method and Apparatus for Improved Desktop Arrangement
US7523738B2 (en) 2007-06-22 2009-04-28 Gm Global Technology Operations, Inc. Idle quality by torque smoothing
KR101415762B1 (ko) * 2007-07-25 2014-07-08 엘지전자 주식회사 보조 출력 장치 및 이를 구비한 휴대용 컴퓨터 그리고 이의os 전환 방법
TWI352909B (en) * 2007-09-05 2011-11-21 Htc Corp Method and system for supporting network sharing a
TWI362612B (en) 2007-09-05 2012-04-21 Htc Corp System and electronic device using multiple operating systems and operating method thereof
CA2699565C (en) 2007-09-20 2014-07-15 C&S Operations, Inc. Computer system with multiple terminals
US7840186B2 (en) * 2007-09-25 2010-11-23 Motorola Mobility, Inc. Wireless SATA/SAS data transfer system
US9003173B2 (en) * 2007-09-28 2015-04-07 Microsoft Technology Licensing, Llc Multi-OS (operating system) boot via mobile device
US20090158299A1 (en) 2007-10-31 2009-06-18 Carter Ernst B System for and method of uniform synchronization between multiple kernels running on single computer systems with multiple CPUs installed
CN101149685A (zh) 2007-11-07 2008-03-26 苏州壹世通科技有限公司 从移动存储设备启动多操作系统的组合装置及其方法
JP2009157802A (ja) 2007-12-27 2009-07-16 Kyocera Corp 携帯端末および情報処理装置
US9612847B2 (en) 2008-02-05 2017-04-04 Microsoft Technology Licensing, Llc Destination list associated with an application launcher
US8151100B2 (en) 2008-02-06 2012-04-03 Broadcom Corporation Operating system for a computing device with handheld and extended computing units
US20090287571A1 (en) * 2008-03-26 2009-11-19 Robb Fujioka Hypervisor and virtual machine ware
US8327286B2 (en) 2008-03-13 2012-12-04 Microsoft Corporation Unifying application launchers and switchers
GB2459097B (en) 2008-04-08 2012-03-28 Advanced Risc Mach Ltd A method and apparatus for processing and displaying secure and non-secure data
US8468533B2 (en) 2008-04-28 2013-06-18 Panasonic Corporation Virtual machine control device, method, and program wherein a switching task used to switch to the highest priority virtual machines is the highest priority task in the current virtual machine and the virtual machine that is the switching target
CN101615123A (zh) 2008-06-26 2009-12-30 比亚迪股份有限公司 一种移动终端操作系统的引导方法及移动终端
US20100064251A1 (en) 2008-09-05 2010-03-11 International Business Machines Corporation Toggling window display state by screen in a multi-screened desktop environment
US8307177B2 (en) 2008-09-05 2012-11-06 Commvault Systems, Inc. Systems and methods for management of virtualization data
US8694920B2 (en) 2008-09-25 2014-04-08 Microsoft Corporation Displaying application information in an application-switching user interface
GB2476011B (en) 2008-09-29 2013-05-15 Fisher Rosemount Systems Inc Efficient design and configuration of elements in a process control system
KR101501167B1 (ko) 2008-10-20 2015-03-10 삼성전자주식회사 다중 모뎀을 구비한 이동통신 단말기에서 다중 운용 체제를운용하기 위한 장치 및 방법
US8819585B2 (en) 2008-10-27 2014-08-26 Microsoft Corporation Child window surfacing and management
US8069247B2 (en) 2008-12-03 2011-11-29 Verizon Data Services Llc Application launcher systems, methods, and apparatuses
US9459678B2 (en) 2009-01-29 2016-10-04 Hewlett-Packard Development Company, L.P. Power manager for virtual machines
US20100211769A1 (en) * 2009-02-19 2010-08-19 Subramonian Shankar Concurrent Execution of a Smartphone Operating System and a Desktop Operating System
US7987309B2 (en) 2009-02-26 2011-07-26 Broadcom Corporation Dockable handheld computing device with graphical user interface and methods for use therewith
US8566045B2 (en) 2009-03-16 2013-10-22 Apple Inc. Event recognition
US8253531B2 (en) 2009-03-26 2012-08-28 International Business Machines Corporation On chip verification and consequent enablement of card OS operation in smart cards
US8177554B2 (en) 2009-06-02 2012-05-15 Krasner Paul R Device and method for locating a pulp chamber in a tooth
US8555185B2 (en) 2009-06-08 2013-10-08 Apple Inc. User interface for multiple display regions
TWI400652B (zh) 2009-06-11 2013-07-01 Insyde Software Corp Dual operating system parallel processing methods, recording media and computer program products
CN102460344A (zh) 2009-06-19 2012-05-16 莫门特美国股份有限公司 用于动态背景用户界面(多个界面)的系统和方法
US8302094B2 (en) 2009-06-26 2012-10-30 Vmware, Inc. Routing a physical device request using transformer stack to an equivalent physical device in a virtualized mobile device
US8914511B1 (en) 2009-06-26 2014-12-16 VMTurbo, Inc. Managing resources in virtualization systems
US8868899B2 (en) * 2009-07-20 2014-10-21 Motorola Mobility Llc System and method for switching between environments in a multi-environment operating system
US9389877B2 (en) * 2009-07-20 2016-07-12 Google Technology Holdings LLC Multi-environment operating system
US9367331B2 (en) * 2009-07-20 2016-06-14 Google Technology Holdings LLC Multi-environment operating system
US9372711B2 (en) * 2009-07-20 2016-06-21 Google Technology Holdings LLC System and method for initiating a multi-environment operating system
JP5365399B2 (ja) 2009-07-27 2013-12-11 富士通株式会社 スクリーンセーバ制御システム、画像処理装置、画像表示装置、スクリーンセーバ制御方法、及びコンピュータプログラム
CA2675666A1 (en) 2009-08-27 2009-11-05 Ibm Canada Limited - Ibm Canada Limitee Accelerated execution for emulated environments
US8341268B2 (en) 2009-08-28 2012-12-25 Microsoft Corporation Resource sharing in multi-principal browser
US8607082B2 (en) 2009-08-31 2013-12-10 Red Hat Israel, Ltd. Mechanism for managing power in a virtual machine system
US8341558B2 (en) 2009-09-16 2012-12-25 Google Inc. Gesture recognition on computing device correlating input to a template
CA2780765A1 (en) 2009-11-13 2011-05-19 Google Inc. Live wallpaper
KR101620058B1 (ko) 2009-11-23 2016-05-24 삼성전자주식회사 가상 머신 간 화면 전환 장치 및 방법
US8769428B2 (en) 2009-12-09 2014-07-01 Citrix Systems, Inc. Methods and systems for generating a combined display of taskbar button group entries generated on a local machine and on a remote machine
US8538741B2 (en) 2009-12-15 2013-09-17 Ati Technologies Ulc Apparatus and method for partitioning a display surface into a plurality of virtual display areas
US9367341B2 (en) 2010-03-30 2016-06-14 Red Hat Israel, Ltd. Encrypting and decrypting virtual disk content using a single user sign-on
US8589952B2 (en) * 2010-06-30 2013-11-19 Palm, Inc. Dual operating system operation and configuration
CN102971740B (zh) 2010-07-01 2016-01-27 惠普发展公司,有限责任合伙企业 计算设备上的用于多个环境的用户管理框架
WO2012012865A1 (en) 2010-07-29 2012-02-02 9227-5668 Quebec Inc. Portable catalytic heating apparatus for drying, curing, polymerization or cross-linking of coatings and compounds
US20120036450A1 (en) * 2010-08-03 2012-02-09 Research In Motion Limited Method for providing indication of communicatively coupled device
TWI520069B (zh) * 2010-08-11 2016-02-01 緯創資通股份有限公司 整合運用基於同一系統核心之異質作業系統之方法
US8620372B2 (en) 2010-09-30 2013-12-31 Apple Inc. Method and apparatus for transport format selection in a mobile wireless device
WO2012044557A2 (en) 2010-10-01 2012-04-05 Imerj, Llc Auto-configuration of a docked system in a multi-os environment
EP2625816B1 (en) * 2010-10-08 2017-11-29 Lumi Technologies Limited Scalable synchronization of events among server and clients with varying lag-times
US8983536B2 (en) * 2010-10-22 2015-03-17 Google Technology Holdings LLC Resource management in a multi-operating environment
US9245047B2 (en) 2010-12-10 2016-01-26 Wyse Technology L.L.C. Methods and systems for facilitating a remote desktop session utilizing a remote desktop client common interface
US8874665B2 (en) * 2010-12-13 2014-10-28 At&T Mobility Ii Llc Systems, apparatus and methods for facilitating display and management of information for communication devices
US8782258B2 (en) 2011-01-04 2014-07-15 Motorola Mobility Llc Transferring web data between operating system environments
US20120174021A1 (en) 2011-01-04 2012-07-05 Motorola, Inc. Systems and methods for displaying android applications launchers in webtop application tray
US20120173986A1 (en) * 2011-01-04 2012-07-05 Motorola-Mobility, Inc. Background synchronization within a multi-environment operating system
US20120192100A1 (en) 2011-01-25 2012-07-26 Motorola-Mobility, Inc. Method and apparatus for locking and unlocking multiple operating system environments with a single gesture input
US9891939B2 (en) 2011-03-03 2018-02-13 Microsoft Technology Licensing, Llc Application compatibility with library operating systems
US8261231B1 (en) 2011-04-06 2012-09-04 Media Direct, Inc. Systems and methods for a mobile application development and development platform
US20120278747A1 (en) 2011-04-28 2012-11-01 Motorola Mobility, Inc. Method and apparatus for user interface in a system having two operating system environments
US9354900B2 (en) 2011-04-28 2016-05-31 Google Technology Holdings LLC Method and apparatus for presenting a window in a system having two operating system environments
US9104307B2 (en) 2011-05-27 2015-08-11 Microsoft Technology Licensing, Llc Multi-application environment
US20130298140A1 (en) 2012-05-02 2013-11-07 Motorola Mobility, Inc. Method and Apparatus for Displaying Data from a Plurality of Concurrent Operating System Environments
US20130293573A1 (en) 2012-05-02 2013-11-07 Motorola Mobility, Inc. Method and Apparatus for Displaying Active Operating System Environment Data with a Plurality of Concurrent Operating System Environments
US9342325B2 (en) 2012-05-17 2016-05-17 Google Technology Holdings LLC Synchronizing launch-configuration information between first and second application environments that are operable on a multi-modal device

Also Published As

Publication number Publication date
MX2012000941A (es) 2012-02-29
KR101702728B1 (ko) 2017-02-22
MY156793A (en) 2016-03-31
RU2012105805A (ru) 2013-08-27
US9348633B2 (en) 2016-05-24
KR20140043167A (ko) 2014-04-08
CN106055384B (zh) 2020-10-30
CN102792274A (zh) 2012-11-21
EP2470990A2 (en) 2012-07-04
BR112012001133A2 (pt) 2016-02-23
WO2011011354A2 (en) 2011-01-27
US20110016299A1 (en) 2011-01-20
WO2011011354A3 (en) 2013-04-11
CN106055384A (zh) 2016-10-26

Similar Documents

Publication Publication Date Title
KR101702728B1 (ko) 멀티-환경 운영 체제
KR101399161B1 (ko) 멀티-환경 운영 체제를 개시하기 위한 시스템 및 방법
US8868899B2 (en) System and method for switching between environments in a multi-environment operating system
US9367331B2 (en) Multi-environment operating system
US9389877B2 (en) Multi-environment operating system
EP2668572B1 (en) Method and apparatus for locking and unlocking multiple operating system environments with a single gesture input
US20120173986A1 (en) Background synchronization within a multi-environment operating system
US20120174021A1 (en) Systems and methods for displaying android applications launchers in webtop application tray
WO2011011368A2 (en) Multi-environment operating system
US20120252536A1 (en) Mobile terminal
RU2574205C2 (ru) Операционная система с множеством сред
WO2011011365A2 (en) Multi-environment operating system

Legal Events

Date Code Title Description
A201 Request for examination
E902 Notification of reason for refusal
E601 Decision to refuse application
A107 Divisional application of patent