KR20130014879A - 3차원 gui를 지원하는 운영 체제의 효율적인 활용을 위한 병렬 컴퓨팅 시스템 - Google Patents

3차원 gui를 지원하는 운영 체제의 효율적인 활용을 위한 병렬 컴퓨팅 시스템 Download PDF

Info

Publication number
KR20130014879A
KR20130014879A KR1020110076598A KR20110076598A KR20130014879A KR 20130014879 A KR20130014879 A KR 20130014879A KR 1020110076598 A KR1020110076598 A KR 1020110076598A KR 20110076598 A KR20110076598 A KR 20110076598A KR 20130014879 A KR20130014879 A KR 20130014879A
Authority
KR
South Korea
Prior art keywords
desktop
processor
plane
slave
computing system
Prior art date
Application number
KR1020110076598A
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 KR1020110076598A priority Critical patent/KR20130014879A/ko
Publication of KR20130014879A publication Critical patent/KR20130014879A/ko

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F3/00Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
    • G06F3/01Input arrangements or combined input and output arrangements for interaction between user and computer
    • G06F3/03Arrangements for converting the position or the displacement of a member into a coded form
    • G06F3/033Pointing devices displaced or positioned by the user, e.g. mice, trackballs, pens or joysticks; Accessories therefor
    • G06F3/0346Pointing devices displaced or positioned by the user, e.g. mice, trackballs, pens or joysticks; Accessories therefor with detection of the device orientation or free movement in a 3D space, e.g. 3D mice, 6-DOF [six degrees of freedom] pointers using gyroscopes, accelerometers or tilt-sensors
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F3/00Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
    • G06F3/01Input arrangements or combined input and output arrangements for interaction between user and computer
    • G06F3/048Interaction techniques based on graphical user interfaces [GUI]
    • G06F3/0481Interaction techniques based on graphical user interfaces [GUI] based on specific properties of the displayed interaction object or a metaphor-based environment, e.g. interaction with desktop elements like windows or icons, or assisted by a cursor's changing behaviour or appearance
    • G06F3/04815Interaction with a metaphor-based environment or interaction object displayed as three-dimensional, e.g. changing the user viewpoint with respect to the environment or object
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F3/00Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
    • G06F3/01Input arrangements or combined input and output arrangements for interaction between user and computer
    • G06F3/048Interaction techniques based on graphical user interfaces [GUI]
    • G06F3/0481Interaction techniques based on graphical user interfaces [GUI] based on specific properties of the displayed interaction object or a metaphor-based environment, e.g. interaction with desktop elements like windows or icons, or assisted by a cursor's changing behaviour or appearance
    • G06F3/04817Interaction techniques based on graphical user interfaces [GUI] based on specific properties of the displayed interaction object or a metaphor-based environment, e.g. interaction with desktop elements like windows or icons, or assisted by a cursor's changing behaviour or appearance using icons
    • 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/30Arrangements for executing machine instructions, e.g. instruction decode
    • G06F9/38Concurrent instruction execution, e.g. pipeline or look ahead
    • G06F9/3877Concurrent instruction execution, e.g. pipeline or look ahead using a slave processor, e.g. coprocessor
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T2219/00Indexing scheme for manipulating 3D models or images for computer graphics
    • G06T2219/012Dimensioning, tolerancing

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • General Engineering & Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • General Physics & Mathematics (AREA)
  • Human Computer Interaction (AREA)
  • Software Systems (AREA)
  • User Interface Of Digital Computer (AREA)

Abstract

3차원 GUI를 지원하는 운영 체제의 효율적인 활용을 위한 병렬 컴퓨팅 시스템이 제공 된다. 본 발명에 따른 컴퓨팅 시스템은 복수의 프로세서가 구비 된 것으로서, 상기 컴퓨팅 시스템의 운영 체제(Operating System)의 GUI(Graphic User Interface)를 위한 3차원 바탕화면 공간 내에 각각 깊이를 달리하여 배치 되는 복수개의 바탕화면 평면 중, 하나 이상의 바탕화면 평면을 담당하는 슬레이브 프로세서를 두 개 이상 포함한다. 상기 슬레이브 프로세서는, 상기 슬레이브 프로세서와 매칭 된 상기 바탕화면 평면에 아이콘에 대한 프로그램의 수행과 관련 된 연산을 수행한다.

Description

3차원 GUI를 지원하는 운영 체제의 효율적인 활용을 위한 병렬 컴퓨팅 시스템{Parallel computing system for effective utilizing of 3-dimension GUI supporting Operating System}
본 발명은 복수의 코어가 구비 된 컴퓨팅 시스템 또는 복수개의 프로세서가 구비 된 컴퓨팅 시스템에서 3차원 GUI(Graphic User Interface)를 활용하는 방법에 관한 것이다.
최근 멀티-코어 프로세서가 출시되어 사용 되고 있다. 멀티-코어 프로세서는 용어에 기재된 대로 하나의 프로세서에 독자적인 연산 능력을 지닌 코어가 2개 이상 포함 된 프로세서를 의미한다. 멀티-코어 프로세서뿐만 아니라, 복수개의 프로세서를 구비한 컴퓨팅 시스템도 병렬 컴퓨팅을 위하여 사용 되고 있다. 멀티-코어 프로세서를 사용하거나, 복수개의 프로세서를 사용하는 컴퓨팅 시스템은 동시에 여러 연산을 할 수 있다.
한편, 최근 그래픽 카드의 성능이 발전하면서, 2차원 그래픽보다는 3차원 그래픽을 통한 정보 표현 또는 게임 구현이 늘어나고 있다. 나아가 3차원 디스플레이 장치들이 등장하면서, 3차원 표현의 시대가 도래하고 있다.
상기와 같은 기술 변화에 맞춰, 병렬 컴퓨팅이 가능한 시스템 상에서 3차원 GUI를 효율적으로 사용할 수 있는 방법의 제공이 요구 되고 있다.
본 발명이 해결하고자 하는 기술적 과제는 3차원 바탕화면을 지원하는 운영 체제를 구동함에 있어서 병렬 컴퓨팅 자원을 효과적으로 이용하는 컴퓨팅 시스템을 제공하는 것이다.
본 발명의 기술적 과제들은 이상에서 언급한 기술적 과제들로 제한되지 않으며, 언급되지 않은 또 다른 기술적 과제들은 아래의 기재로부터 당업자에게 명확하게 이해 될 수 있을 것이다.
상기 기술적 과제를 해결하기 위한 본 발명의 일 태양에 따른 복수의 프로세서가 구비 된 컴퓨팅 시스템은 상기 컴퓨팅 시스템의 운영 체제(Operating System)의 GUI(Graphic User Interface)를 위한 3차원 바탕화면 공간 내에 각각 깊이를 달리하여 배치 되는 복수개의 바탕화면 평면 중, 하나 이상의 바탕화면 평면을 담당하는 슬레이브 프로세서를 두 개 이상 포함한다. 상기 슬레이브 프로세서는, 상기 슬레이브 프로세서가 담당하는 바탕화면 평면에 포함 된 아이콘과 관련하여 수행 되어야 하는 작업을 위한 연산을 수행하는 것이 바람직하다.
상기 컴퓨팅 시스템은 상기 운영 체제의 실행을 담당하는 마스터 프로세서를 더 포함할 수 있으며, 상기 슬레이브 프로세서는, 상기 슬레이브 프로세서가 담당하는 바탕화면 평면의 GUI가 갱신 되는 경우, 갱신된 GUI를 상기 슬레이브 프로세서가 담당하는 바탕화면 평면에 할당되는 디스플레이 버퍼에 출력할 수 있다.
상기 마스터 프로세서는, 상기 3차원 바탕화면 공간에서의 상기 GUI를 통한 사용자 입력을 처리하고, 상기 3차원 바탕화면 공간내의 상기 GUI를 위한 그래픽 디스플레이 작업을 처리할 수 있다.
상기 기술적 과제를 해결하기 위한 본 발명의 다른 태양에 따른 멀티-코어 프로세서가 구비 된 컴퓨팅 시스템은, 상기 컴퓨팅 시스템의 운영 체제(Operating System)의 GUI(Graphic User Interface)를 위한 3차원 바탕화면 공간 내에 각각 깊이를 달리하여 배치 되는 복수개의 바탕화면 평면 중, 하나 이상의 바탕화면 평면을 담당하는 슬레이브 코어를 두 개 이상 구비하는 멀티-코어 프로세서를 포함한다. 상기 슬레이브 코어는, 상기 슬레이브 코어가 담당하는 바탕화면 평면에 포함 된 아이콘과 관련하여 수행 되어야 하는 작업을 위한 연산을 수행하는 것이 바람직하다.
상기 기술적 과제를 해결하기 위한 본 발명의 다른 태양에 따른 컴퓨터로 읽을 수 있는 저장 매체에는, 마스터 프로세서가 3차원 바탕화면 공간 내에 각각 깊이를 달리하여 배치 되는 복수개의 바탕화면 평면을 디스플레이 하는 단계; 및 사용자 입력에 의하여 상기 바탕화면 평면에 포함 된 아이콘과 관련하여 수행 되어야 하는 작업이 생성 되는 경우, 마스터 프로세서가 상기 바탕화면 평면을 담당하는 슬레이브 프로세서에 상기 작업을 수행할 것을 명령 하는 단계를 수행하는 운영 체제 프로그램이 저장 된 것일 수 있다.
상기 기술적 과제를 해결하기 위한 본 발명의 다른 태양에 따른 컴퓨터로 읽을 수 있는 저장 매체에는, 마스터 코어가 3차원 바탕화면 공간 내에 각각 깊이를 달리하여 배치 되는 복수개의 바탕화면 평면을 디스플레이 하는 단계; 및 사용자 입력에 의하여 상기 바탕화면 평면에 포함 된 아이콘과 관련하여 수행 되어야 하는 작업이 생성 되는 경우, 마스터 코어가 상기 바탕화면 평면을 담당하는 슬레이브 프로세서에 상기 작업을 수행할 것을 명령 하는 단계를 수행하는 운영 체제 프로그램이 저장 된 것일 수 있다. 상기 마스터 코어 및 하나 이상의 상기 슬레이브 코어는 하나의 멀티-코어 프로세서에 구비된 것이 바람직하다.
상기 기술적 과제를 해결하기 위한 본 발명의 다른 태양에 따른 병렬 컴퓨팅을 위한 3차원 바탕화면 제공 방법은 마스터 프로세서가 3차원 바탕화면 공간 내에 각각 깊이를 달리하여 배치 되는 복수개의 바탕화면 평면을 디스플레이 하는 단계; 마스터 프로세서가, 상기 3차원 바탕화면 공간 내에서의 상기 깊이의 이동을 위한 사용자 입력에 반응하여, 상기 3차원 바탕화면 공간의 깊이 방향 시점을 변경 하고, 활성화된 바탕화면 평면을 변경 하는 단계; 및 상기 활성화된 바탕화면 평면에서의 사용자 입력에 의하여 상기 활성화된 바탕화면 평면에 포함 된 아이콘과 관련하여 수행 되어야 하는 작업이 생성 되는 경우, 마스터 프로세서가 상기 바탕화면 평면을 담당하는 슬레이브 프로세서에 상기 작업을 수행할 것을 명령 하는 단계를 포함한다.
상기와 같은 본 발명에 따르면, 각각의 프로세서가 담당하는 바탕화면 평면을 분리하여, 컴퓨팅 시스템의 사용자가 직관적으로 작업량을 각 프로세서에 할당 할 수 있는 효과가 있다.
또한, 3차원 그래픽 환경에서, 각 깊이에 위치하는 바탕화면 평면을 담당하는 프로세서가 별도로 존재하므로, 사용자로 하여금 복수대의 컴퓨터를 사용하는 듯한 효과를 직관적으로 제공할 수 있는 효과가 있다.
또한, 각 바탕화면 평면이 병렬적으로 각각의 프로세서에 의하여 동작하므로, 병렬적으로 동작하여야 하는 프로그램들을 각각의 바탕화면 평면의 동일한 위치에 배치시켜, 연산 결과를 겹쳐서 비교하는 등의 작업이 용이해지는 효과가 있다.
도 1은 본 발명의 일 실시예에 따른 컴퓨팅 시스템의 프로세서 구성 예를 나타내는 도면이다.
도 2는 본 발명의 일 실시예에 따른 컴퓨팅 시스템이 제공하는 3차원 바탕화면을 설명하기 위한 제1 개념도이다.
도 3은 본 발명의 일 실시예에 따른 컴퓨팅 시스템이 제공하는 3차원 바탕화면을 설명하기 위한 제2 개념도이다.
도 4는 본 발명의 일 실시예에 따른 컴퓨팅 시스템이 제공하는 3차원 바탕화면에서, 서로 다른 깊이에 위치하는 바탕화면 간의 이동을 설명하기 위한 제3 개념도이다.
도 5는 본 발명의 일 실시예에 따른 컴퓨팅 시스템이 포함하는 비디오 메모리(400)의 구성을 설명하기 위한 도면이다.
도 6은 본 발명의 일 실시예에 따른 컴퓨팅 시스템의 3차원 바탕화면 운영 방법을 설명하기 위한 순서도이다.
이하, 첨부된 도면을 참조하여 본 발명의 바람직한 실시예를 상세히 설명한다. 본 발명의 이점 및 특징, 그리고 그것들을 달성하는 방법은 첨부되는 도면과 함께 상세하게 후술되어 있는 실시 예들을 참조하면 명확해질 것이다. 그러나 본 발명은 이하에서 게시되는 실시 예들에 한정되는 것이 아니라 서로 다른 다양한 형태로 구현될 수 있으며, 단지 본 실시 예들은 본 발명의 게시가 완전하도록 하고, 본 발명이 속하는 기술분야에서 통상의 지식을 가진 자에게 발명의 범주를 완전하게 알려주기 위해 제공되는 것이며, 본 발명은 청구항의 범주에 의해 정의될 뿐이다. 명세서 전체에 걸쳐 동일 참조 부호는 동일 구성 요소를 지칭한다.
다른 정의가 없다면, 본 명세서에서 사용되는 모든 용어(기술 및 과학적 용어를 포함)는 본 발명이 속하는 기술분야에서 통상의 지식을 가진 자에게 공통적으로 이해될 수 있는 의미로 사용될 수 있을 것이다. 또 일반적으로 사용되는 사전에 정의되어 있는 용어들은 명백하게 특별히 정의되어 있지 않는 한 이상적으로 또는 과도하게 해석되지 않는다.
이하, 본 발명의 일 실시예에 따른 복수개의 프로세서를 구비하는 컴퓨팅 시스템에 대하여 도 1 내지 도 6를 참조하여 설명하기로 한다.
도 1에서는 본 실시예에 따른 컴퓨팅 시스템(10)에 포함 된 프로세서를 도시한다. 본 실시예에 따른 컴퓨팅 시스템(10)은 2개 이상의 프로세서를 구비하여야 하며, 바람직하게는 한 개의 마스터 프로세서(30) 및 두 개 이상의 슬레이브 프로세서(20-1 내지 20-3)를 구비하는 것이 바람직하다. 도 1에는 하나의 마스터 프로세서(30)와 3개의 슬레이브 프로세서(20-1 내지 20-3)를 구비하는 컴퓨팅 시스템(10)을 예시적으로 도시하고 있다.
이하, 본 발명에서 마스터 프로세서(30)와 슬레이브 프로세서(20-1 내지 20-3)을 구분하여 표기하나, 이는 각 프로세서의 기능 상 차이점을 구별하여 설명하기 위한 것이고, 마스터 프로세서(30)와 슬레이브 프로세서(20-1 내지 20-3)의 사양이 서로 다르다는 것을 의미하는 것은 아니다.
또한, 도 1에는 하나의 컴퓨팅 시스템(10) 내부에 복수개의 프로세서가 구비된 것으로 도시 되어 있으나, 마스터 프로세서(30) 및 각각의 슬레이브 프로세서(20-1 내지 20-3)은 서로 다른 시스템에 구비 되어 네트워크 병렬 컴퓨팅 방식으로 본 실시예에 따른 컴퓨팅 시스템(10)을 구성할 수도 있다.
도 2에는 본 실시예에 따른 컴퓨팅 시스템에 설치 된 운영 체제가 제공 하는 3차원 바탕화면이 개념적으로 도시되어 있다. 상기 3차원 바탕화면은 본 실시예에 따른 컴퓨팅 시스템(10)에 설치된 운영 체제의 GUI를 위한 것으로, 상기 운영 체제에 의하여 관리 되는 가상의 공간이다. 상기 운영 체제는 상기 3차원 바탕화면 내에서 발생하는 사용자의 입력을 처리하고, 그에 대한 결과를 상기 3차원 바탕화면 내에서의 그래픽 변화, 입체 음향 등의 청각 피드백 또는 촉각 피드백 등으로 출력할 수 있다.
상기 운영 체제가 제공 하는 사용자 피드백 중 시각적인 피드백, 즉 상기 상 3차원 바탕화면 내에서의 그래픽 변화에 대하여 먼저 설명하기로 한다.
상기 3차원 바탕화면은 바탕화면 공간(100) 내에 각각 깊이를 달리하여 배치 되는 복수개의 바탕화면 평면(102, 104, 106)으로 구성 되어 있다. 각각의 바탕화면 평면(102, 104, 106)에는 담당 프로세서가 매치 된다. 이하, 상기 담당 프로세서를 슬레이브 프로세서라고 지칭한다.
상기 하나의 슬레이브 프로세서는 하나의 바탕화면 평면을 담당할 수도 있으나, 두 개 이상의 바탕화면 평면을 담당할 수도 있다. 다만, 하나의 바탕화면 평면에는 하나의 담당 슬레이브 프로세서만 존재하는 것이 바람직하다.
도 2에서는 바탕화면 공간(100) 내에 3개의 바탕화면 평면(102, 104, 106)이 존재하는 경우가 도시 되어 있다. 또한, 각각의 바탕화면 평면(102, 104, 106)은 하나씩의 슬레이브 프로세서(20-1 내지 20-3)가 담당한다.
특정 바탕화면 평면을 특정 슬레이브 프로세서가 담당한다는 것은, 상기 특정 바탕화면 평면에 포함 된 "아이콘과 관련하여 수행 되어야 하는 작업"을 위한 연산을 상기 특정 슬레이브 프로세서가 수행한다는 것을 의미한다. 상기 "아이콘과 관련하여 수행 되어야 하는 작업"은, 예를 들어, 프로그램을 의미하는 아이콘의 더블 클릭에 의하여 해당 프로그램이 실행 되는 것, 아이콘과 관련 된 팝업 메뉴에 포함 된 항목을 실행 하는 것 등을 포함할 수 있다. 특정 바탕화면 평면을 특정 슬레이브 프로세서가 담당한다는 것은, 상기 특정 바탕화면 평면에서의 GUI 갱신을 상기 특정 슬레이브 프로세서가 수행한다는 것을 의미하기도 한다.
예를 들어, 깊이 0의 바탕화면 평면(102)에 포함 된 제1 아이콘이 클릭 된 경우, 상기 제1 아이콘이 의미하는 프로그램의 실행과 관련 된 연산은 모두 제1 슬레이브 프로세서(20-1)가 수행하고, 깊이 2의 바탕화면 평면(106)에 포함 된 제2 아이콘이 클릭 된 경우, 상기 제2 아이콘이 의미하는 프로그램의 실행과 관련 된 연산은 모두 제3 슬레이브 프로세서(20-3)가 담당한다.
본 실시예에 따른 컴퓨팅 시스템(10)은 3차원 바탕화면 환경을 제공하되, 각 깊이의 바탕화면 평면(102, 104, 106)은 서로 다른 슬레이브 프로세서(20-1 내지 20-3)가 담당하므로, 컴퓨팅 시스템(10)의 사용자는 병렬 프로세싱을 위한 작업 할당을 직관적으로 할 수 있는 효과가 있다. 예를 들어, 깊이 0의 바탕화면 평면(102)에서 10개의 프로그램이 실행 중인 경우, 사용자는 직관적으로 제1 슬레이브 프로세서(20-1)의 연산량이 많은 상황임을 파악할 수 있으므로, 추가적으로 실행할 프로그램이 있다면, 깊이 1의 바탕화면 평면(104) 또는 깊이 2의 바탕화면 평면(106)에 포함 된 프로그램을 실행할 것이다.
또한, 동일한 프로그램을 동시에 실행 시키는 경우가 잦은 경우, 상기 프로그램의 아이콘을 서로 다른 바탕화면 평면에 배치하여, 서로 다른 바탕화면 평면에서 실행함으로써, 프로그램 실행으로 인한 연산량을 서로 다른 프로세서에 분배함에 있어서, 사용자의 의사에 따라 분배할 수 있다.
본 실시예에 따른 컴퓨팅 시스템(10)은 상기 운영 체제의 실행과 관련 된 연산을 수행하는 마스터 프로세서(30)를 포함할 수 있다. 마스터 프로세서(30)는 3차원 바탕화면 공간(100)에서의 상기 GUI를 통한 사용자 입력을 처리하고, 3차원 바탕화면 공간(100)내의 상기 GUI를 위한 그래픽 디스플레이 작업을 처리할 수 있다.
이하, 상기 바탕화면 평면 간의 이동과 관련 된 컴퓨팅 시스템(10)의 동작에 대하여 도 3 내지 도 4를 참조하여 설명하기로 한다.
바탕화면 공간(100)은 가상의 3차원 공간이나, 바탕화면 공간(100)이 디스플레이 되는 장치는 평면인 디스플레이 면을 구비하고 있으므로, 바탕화면 공간(100)은 2차원 상의 면을 통하여 투사되게 된다.
바탕화면 공간(100)을 투사하는 방향은 제한되지 않으나, 도 3에는 전면부에서 투사하는 경우에 대하여 도시하고 있다.
바탕화면 공간(100)을 전면부에서 투사하는 경우, 컴퓨팅 시스템(10)의 사용자는 깊이 0의 바탕화면 평면(102) 밖에 볼 수 없을 것이다. 따라서, 사용자가 바탕화면 공간(100)을 3차원 공간으로 지각할 수 있도록, 각 바탕화면 평면의 투명도는 마스터 프로세서(30)에 의하여 조정 될 수 있다. 도 3에는 깊이 0의 바탕화면 평면(102)이 반투명한 상태가 되어, 사용자가 깊이 1의 바탕화면 평면(104)의 내용도 볼 수 있는 상황을 도시하고 있다.
컴퓨팅 시스템(10)의 사용자는 특정 바탕화면 평면을 활성화 시킨 후, 해당 바탕화면 평면에 포함 된 아이콘에 대한 입력을 할 수 있다. 깊이 방향 시점을 깊이 N으로 변경하는 경우, 깊이 N의 바탕화면 평면이 활성화 될 수 있다. 깊이 방향 시점이 깊이 N으로 변경 되는 경우, 바탕화면 공간(100)의 가장 앞면에 깊이 N의 바탕화면 평면이 도시 될 것이다. 즉, 바탕화면 공간(100)의 가장 앞면에 도시되는 바탕화면 평면이 활성화된 바탕화면 평면일 수 있다.
도 4의 상단에 도시된 바와 같이, 깊이 0의 바탕화면 평면A(300)가 가장 앞면에 도시되는 경우, 사용자는 깊이 0의 바탕화면 평면 A(300)에 포함 된 아이콘에 대한 입력을 할 수 있다. 사용자가 깊이 0의 바탕화면 평면 A(300)에 포함 된 아이콘을 선택하여 상기 아이콘에 대한 프로그램이 실행 되어야 하는 경우, 상기 운영 체제는 바탕화면 평면 A(300)를 담당하는 슬레이브 프로세서에 상기 아이콘과 관련 된 프로그램을 수행할 것을 명령한다.
사용자가 깊이를 1 증가 시키는 입력을 하는 경우(S30), 깊이 1의 바탕화면 평면 B(302)가 가장 앞면에 도시된다. 이때, 사용자는 깊이 0의 바탕화면 평면 A(300)에 포함 된 아이콘에 대한 입력을 할 수 있다. 사용자가 깊이 1의 바탕화면 평면 A(300)에 포함 된 아이콘을 선택하여 상기 아이콘에 대한 프로그램이 실행 되어야 하는 경우, 상기 운영 체제는 바탕화면 평면 B(302)를 담당하는 슬레이브 프로세서에 상기 아이콘과 관련 된 프로그램을 수행할 것을 명령한다.
깊이 1의 바탕화면 평면 B(302)가 가장 앞면에 도시되는 상황에서 사용자가 깊이를 1 감소 시키는 입력을 하는 경우(S32), 다시 깊이 0의 바탕화면 평면 A(300)가 가장 앞면에 도시 된다.
바탕화면 공간(100) 내의 깊이 이동을 위한 사용자 입력은 운영 체제에서 처리할 것이므로, 결과적으로 마스터 프로세서(30)는 바탕화면 공간(100) 내의 깊이 이동을 위한 사용자 입력을 전담하여 처리한다. 상기 깊이 이동을 위한 사용자 입력은, 바탕화면 평면 내에서의 2차원 포인팅뿐만 아니라, 바탕화면 평면 간을 이동하는 깊이 이동 또한 표현할 수 있어야 하므로, 3차원 포인팅 장치를 통하여 입력되는 것이 바람직하다.
한편, 상기 운영체제는 상기 바탕화면 평면 간의 상기 아이콘 이동 또는 복사를 위한 사용자 입력을 지원할 수도 있다. 예를 들어, 바탕화면 평면 A(300)에 포함된 아이콘 X는 드래그 되어 바탕화면 평면 C(304)에 놓여짐으로써 바탕화면 평면 C로 이동 될 수 있다.
상기 예시된 바와 같이, 상기 운영 체제는 3차원 바탕화면 공간(100) 내의 깊이 이동에 따른 상기 바탕화면 평면의 활성화 및 비활성화를 디스플레이할 수 있으며, 활성화 된 상기 바탕화면 평면보다 후면에 위치하는 바탕화면 평면이 디스플레이 될 수 있도록, 상기 활성화 된 바탕화면 평면의 투명도를 조정할 수 있다.
이때, 상기 비활성화 된 바탕화면 평면의 투명도는 상기 활성화된 바탕화면 평면의 투명도보다 더 투명하게 조정 될 수 있다.
한편, 상기 운영 체제는 특정 바탕화면 평면에서 이벤트가 발생하는 경우, 이벤트가 발생한 바탕화면 평면으로 깊이 방향 시점을 자동으로 이동함으로써, 이벤트가 발생한 바탕화면 평면을 자동으로 활성화 할 수 있다. 상기 이벤트는, 예를 들어 다이얼로그의 발생, 에러 안내 등이 있을 수 있다.
상기 운영 체제는 마스터 프로세서의 연산에 의하여 수행 되는 것이므로, 상기 운영 체제가 수행하는 동작은 마스터 프로세서의 동작으로 간주될 수 있을 것이다.
다음으로, 본 실시예에 따른 컴퓨팅 시스템(10)이 각 바탕화면 평면에서 발생한 GUI 업데이트 사항을 리프레쉬(REFRESH)하는 방법에 대하여 설명하기로 한다.
도 5에는 컴퓨팅 시스템(10)이 사용할 수 있는 비디오 메모리(400)가 도시되어 있다. 비디오 메모리(400) 중 일부는 디스플레이 버퍼(420)로 할당된 것일 수 있다. 디스플레이 버퍼(420)는 상기 바탕화면 평면의 디스플레이를 위하여 사용 되는 영역으로, 각각의 바탕화면 평면에 바탕화면 평면을 표현하기 위해 필요한 사이즈만큼 할당 될 수 있다.
디스플레이 버퍼(420) 중 바탕화면 평면 1에 할당 된 영역은, 상기 바탕화면 평면 1을 담당하는 슬레이브 프로세서가 업데이트한다. 즉, 상기 슬레이브 프로세서는 상기 프로그램 실행에 따라 갱신 되는 상기 바탕화면 평면의 GUI를 상기 바탕화면 평면에 할당되는 디스플레이 버퍼에 출력한다.
디스플레이 버퍼(420) 중 각 바탕화면 평면에 할당 된 영역을, 각 바탕화면 평면을 담당하는 슬레이브 프로세서들이 병렬적으로 업데이트 하고, 운영체제는 디스플레이 버퍼(420)에 실시간 업데이트 되는 각 바탕화면 평면의 GUI를 그대로 디스플레이해주면 되므로, 복수개의 바탕화면 평면 상에, 각 프로그램의 실행 결과가 실시간으로 업데이트 될 수 있는 효과가 있다.
디스플레이 버퍼(420)는 각 슬레이브 프로세서들과 DMA(Direct Memory Access) 기술을 통하여 연결 되어, 마스터 프로세서의 제어 없이도 업데이트가 가능한 것이 바람직하다.
이상으로, 본 실시예에 따른 컴퓨팅 시스템(10)이 복수개의 바탕화면 평면으로 구성 되는 바탕화면 공간(100)을 통하여 3차원 바탕화면을 제공하는 것에 대하여 설명하였다.
본 실시예에 따른 컴퓨팅 시스템(10)은 3차원 바탕화면을 제공하는 것에 그치지 않고, 각 바탕화면 평면에서 발생하는 음향을 재생함에 있어서, 각 바탕화면 평면의 깊이를 반영할 수도 있다. 예를 들어, 도 3에 도시된 깊이 2의 바탕화면 평면(106)에 포함된 MP3 재생 프로그램을 통해 재생 되는 음악은, 깊이 0의 바탕화면 평면(102)에 포함된 인터넷 라디오 프로그램을 통해 재생 되는 라디오 프로그램에 비하여 전면에서 음향이 송출되는 것처럼 느끼도록, 입체 음향 기술을 사용할 수 있다.
즉, 상기 운영 체제는 상기 각각의 바탕화면 평면에서 발생하는 이벤트에 대응하는 입체 음향이 재생 되도록 상기 컴퓨팅 시스템의 사운드 시스템을 제어하되, 상기 입체 음향 신호의 송출 방향은 상기 바탕화면 평면의 깊이를 반영하도록 할 수 있다.
본 실시예에 따른 컴퓨팅 시스템(10)은 상기 각각의 바탕화면 평면에서 발생하는 이벤트에 대응하는 촉각 신호가 상기 컴퓨팅 시스템 사용자에게 제공 되도록 할 수도 있다. 즉, 상기 운영 체제는 상기 각각의 바탕화면 평면에서 발생하는 이벤트에 대응하는 촉각 신호가 상기 컴퓨팅 시스템 사용자에게 제공 되도록 상기 컴퓨팅 시스템의 촉각 피드백 시스템을 제어하되, 상기 촉각신호의 발생 위치는 상기 바탕화면 평면의 깊이를 반영하도록 할 수도 있다. 상기 촉각 피드백 시스템은, 예를 들어, 상기 사용자가 착용함으로써, 신체 특정 부위에 촉각 자극을 줄 수 있는 장치를 의미하는 것일 수 있다.
이하, 도 6을 참조하여 본 실시예에 따른 컴퓨팅 시스템(10)의 동작을 정리하여 설명한다.
운영 체제를 실행하는 마스터 프로세서는 복수개의 바탕화면 평면을 디스플레이 한다(S400).
사용자가 활성화 된 바탕화면 평면을 변경하기 위해 깊이 이동을 위한 사용자 입력을 하는 경우(S402), 운영 체제는 바탕화면 공간의 깊이 방향 시점을 변경함으로써, 활성화된 바탕화면 평면을 전환한다(S404).
사용자가 활성화된 바탕화면 평면에 포함 된 아이콘을 클릭하는 경우(S406), 운영 체제는 활성화된 바탕화면 평면을 담당하는 슬레이브 프로세서에 상기 아이콘이 의미하는 프로그램을 실행할 것을 명령한다.
상기 슬레이브 프로세서는 상기 프로그램을 실행하고(S410), 상기 프로그램의 실행 결과 발생하는 상기 바탕화면 평면 상의 그래픽 변화를 디스플레이 버퍼에 출력한다(S412).
운영 체제는 상기 슬레이브 프로세서가 출력한 바탕화면 평면 상의 그래픽 변화를 반영하여 바탕화면 공간을 디스플레이 한다(S414).
이상으로, 본 발명의 일 실시예에 따른 복수개의 프로세서를 구비하는 컴퓨팅 시스템에 대하여 설명하였다.
한편, 본 발명은 복수개의 프로세서를 구비하는 컴퓨팅 시스템뿐만 아니라, 하나의 프로세서를 구비하되, 상기 프로세서가 멀티-코어 프로세서인 경우에도 적용될 수 있다.
즉, 멀티-코어 프로세서를 구비한 컴퓨팅 시스템의 경우, 하나의 코어가 상기 마스터 프로세서의 역할을 수행하고, 나머지 코어가 상기 슬레이브 프로세서의 역할을 수행하면 된다.
또한, 본 발명의 일 실시예에 따르면, 상기 설명 된 기능을 수행하는 운영체제 프로그램이 저장 된 컴퓨터로 읽을 수 있는 기록 매체가 제공 될 수도 있다.
상기 운영체제 프로그램은 복수개의 프로세서를 구비하는 컴퓨팅 시스템에 적용될 수 있는 것, 멀티-코어 프로세서를 구비하는 컴퓨팅 시스템에 적용될 수 있는 것이 각각 제공 될 수 있다.
복수개의 프로세서를 구비하는 컴퓨팅 시스템에 적용될 수 있는 상기 운영 체제 프로그램은, 마스터 프로세서가 3차원 바탕화면 공간 내에 각각 깊이를 달리하여 배치 되는 복수개의 바탕화면 평면을 디스플레이 하는 단계 및 사용자 입력에 의하여 상기 바탕화면 평면에 포함 된 아이콘과 관련하여 수행 되어야 하는 작업이 생성 되는 경우, 마스터 프로세서가 상기 바탕화면 평면을 담당하는 슬레이브 프로세서에 상기 작업을 수행할 것을 명령 하는 단계를 수행할 수 있다.
멀티-코어 프로세서를 구비하는 컴퓨팅 시스템에 적용될 수 있는 상기 운영 체제 프로그램은 마스터 코어가 3차원 바탕화면 공간 내에 각각 깊이를 달리하여 배치 되는 복수개의 바탕화면 평면을 디스플레이 하는 단계 및 사용자 입력에 의하여 상기 바탕화면 평면에 포함 된 아이콘과 관련하여 수행 되어야 하는 작업이 생성 되는 경우, 마스터 코어가 상기 바탕화면 평면을 담당하는 슬레이브 프로세서에 상기 작업을 수행할 것을 명령 하는 단계를 수행할 수 있다. 이 때, 상기 마스터 코어 및 하나 이상의 상기 슬레이브 코어는 하나의 멀티-코어 프로세서에 구비된 것이 바람직하다.
이상 첨부된 도면을 참조하여 본 발명의 실시예들을 설명하였지만, 본 발명이 속하는 기술분야에서 통상의 지식을 가진 자는 본 발명이 그 기술적 사상이나 필수적인 특징을 변경하지 않고서 다른 구체적인 형태로 실시될 수 있다는 것을 이해할 수 있을 것이다. 그러므로 이상에서 기술한 실시예들은 모든 면에서 예시적인 것이며 한정적이 아닌 것으로 이해해야만 한다.
바탕화면 공간 100
바탕화면 평면 102, 104, 106

Claims (19)

  1. 복수의 프로세서가 구비 된 컴퓨팅 시스템에 있어서,
    상기 컴퓨팅 시스템의 운영 체제(Operating System)의 GUI(Graphic User Interface)를 위한 3차원 바탕화면 공간 내에 각각 깊이를 달리하여 배치 되는 복수개의 바탕화면 평면 중, 하나 이상의 바탕화면 평면을 담당하는 슬레이브 프로세서를 두 개 이상 포함하되,
    상기 슬레이브 프로세서는, 상기 슬레이브 프로세서가 담당하는 바탕화면 평면에 포함 된 아이콘과 관련하여 수행 되어야 하는 작업을 위한 연산을 수행하는, 컴퓨팅 시스템.
  2. 제1 항에 있어서,
    상기 운영 체제의 실행과 관련 된 연산을 수행하는 마스터 프로세서를 더 포함하는, 컴퓨팅 시스템.
  3. 제1 항에 있어서,
    상기 슬레이브 프로세서는,
    상기 슬레이브 프로세서가 담당하는 바탕화면 평면의 GUI가 갱신 되는 경우, 갱신된 GUI를 상기 슬레이브 프로세서가 담당하는 바탕화면 평면에 할당되는 디스플레이 버퍼에 출력하는, 컴퓨팅 시스템.
  4. 제1 항에 있어서,
    상기 3차원 바탕화면 공간에서의 사용자 입력을 처리하는 마스터 프로세서를 더 포함하는, 컴퓨팅 시스템.
  5. 제4 항에 있어서,
    상기 마스터 프로세서는,
    상기 3차원 바탕화면 공간 내에서의 상기 깊이의 이동을 위한 사용자 입력을 처리하는, 컴퓨팅 시스템.
  6. 제5 항에 있어서,
    상기 깊이의 이동을 위한 사용자 입력은 3차원 포인팅 장치를 통하여 입력 되는 것을 특징으로 하는, 컴퓨팅 시스템.
  7. 제4 항에 있어서,
    상기 마스터 프로세서는,
    상기 사용자 입력에 의하여 특정 바탕화면 평면에 포함 된 아이콘과 관련하여 수행 되어야 하는 작업이 생성 되는 경우, 상기 특정 바탕화면 평면을 담당하는 슬레이브 프로세서에 상기 작업을 수행할 것을 명령하는, 컴퓨팅 시스템.
  8. 제4 항에 있어서,
    상기 마스터 프로세서는,
    상기 바탕화면 평면 간의 상기 아이콘 이동을 위한 사용자 입력을 지원하는, 컴퓨팅 시스템.
  9. 제1 항에 있어서,
    상기 3차원 바탕화면 공간내의 상기 GUI를 위한 그래픽 디스플레이 작업을 처리하는 마스터 프로세서를 더 포함하는, 컴퓨팅 시스템.
  10. 제9 항에 있어서,
    상기 마스터 프로세서는,
    상기 3차원 바탕화면 공간 내에서의 상기 깊이의 이동을 위한 사용자 입력에 따른 상기 바탕화면 평면의 활성화 및 비활성화를 디스플레이 하는, 컴퓨팅 시스템.
  11. 제9 항에 있어서,
    상기 마스터 프로세서는,
    상기 바탕화면 평면의 투명도를 조정하는, 컴퓨팅 시스템.
  12. 제9 항에 있어서,
    상기 마스터 프로세서는,
    이벤트가 발생한 바탕화면 평면으로 깊이 방향 시점을 이동함으로써, 이벤트가 발생한 바탕화면 평면을 활성화하는, 컴퓨팅 시스템.
  13. 제1 항에 있어서,
    상기 각각의 바탕화면 평면에서 발생하는 이벤트에 대응하는 입체 음향이 재생 되도록 상기 컴퓨팅 시스템의 사운드 시스템을 제어하되, 상기 입체 음향은 이벤트가 발생한 바탕화면 평면의 깊이를 반영하도록 하는 마스터 프로세서를 더 포함하는, 컴퓨팅 시스템.
  14. 제1 항에 있어서,
    상기 각각의 바탕화면 평면에서 발생하는 이벤트에 대응하는 촉각 신호가 상기 컴퓨팅 시스템 사용자에게 제공 되도록 상기 컴퓨팅 시스템의 촉각 피드백 시스템을 제어하되, 상기 촉각 신호는 이벤트가 발생한 바탕화면 평면의 깊이를 반영하도록 하는 마스터 프로세서를 더 포함하는, 컴퓨팅 시스템.
  15. 멀티-코어 프로세서가 구비 된 컴퓨팅 시스템에 있어서,
    상기 컴퓨팅 시스템의 운영 체제(Operating System)의 GUI(Graphic User Interface)를 위한 3차원 바탕화면 공간 내에 각각 깊이를 달리하여 배치 되는 복수개의 바탕화면 평면 중, 하나 이상의 바탕화면 평면을 담당하는 슬레이브 코어를 두 개 이상 구비하는 멀티-코어 프로세서를 포함하되,
    상기 슬레이브 코어는, 상기 슬레이브 코어가 담당하는 바탕화면 평면에 포함 된 아이콘과 관련하여 수행 되어야 하는 작업을 위한 연산을 수행하는, 컴퓨팅 시스템.
  16. 제15 항에 있어서,
    상기 멀티-코어 프로세서는,
    상기 운영 체제의 실행을 담당하는 마스터 코어를 더 구비 하는, 컴퓨팅 시스템.
  17. 마스터 프로세서가 3차원 바탕화면 공간 내에 각각 깊이를 달리하여 배치 되는 복수개의 바탕화면 평면을 디스플레이 하는 단계; 및
    사용자 입력에 의하여 상기 바탕화면 평면에 포함 된 아이콘과 관련하여 수행 되어야 하는 작업이 생성 되는 경우, 마스터 프로세서가 상기 바탕화면 평면을 담당하는 슬레이브 프로세서에 상기 작업을 수행할 것을 명령 하는 단계를 수행하는, 운영 체제 프로그램이 저장 된 컴퓨터로 읽을 수 있는 기록 매체.
  18. 마스터 코어가 3차원 바탕화면 공간 내에 각각 깊이를 달리하여 배치 되는 복수개의 바탕화면 평면을 디스플레이 하는 단계; 및
    사용자 입력에 의하여 상기 바탕화면 평면에 포함 된 아이콘과 관련하여 수행 되어야 하는 작업이 생성 되는 경우, 마스터 코어가 상기 바탕화면 평면을 담당하는 슬레이브 프로세서에 상기 작업을 수행할 것을 명령 하는 단계를 수행하되,
    상기 마스터 코어 및 하나 이상의 상기 슬레이브 코어는 하나의 멀티-코어 프로세서에 구비된 것인, 운영 체제 프로그램이 저장 된 컴퓨터로 읽을 수 있는 기록 매체.
  19. 마스터 프로세서가 3차원 바탕화면 공간 내에 각각 깊이를 달리하여 배치 되는 복수개의 바탕화면 평면을 디스플레이 하는 단계;
    마스터 프로세서가, 상기 3차원 바탕화면 공간 내에서의 상기 깊이의 이동을 위한 사용자 입력에 반응하여, 상기 3차원 바탕화면 공간의 깊이 방향 시점을 변경 하고, 활성화된 바탕화면 평면을 변경 하는 단계; 및
    상기 활성화된 바탕화면 평면에서의 사용자 입력에 의하여 상기 활성화된 바탕화면 평면에 포함 된 아이콘과 관련하여 수행 되어야 하는 작업이 생성 되는 경우, 마스터 프로세서가 상기 바탕화면 평면을 담당하는 슬레이브 프로세서에 상기 작업을 수행할 것을 명령 하는 단계를 포함하는 병렬 컴퓨팅을 위한 3차원 바탕화면 제공 방법.
KR1020110076598A 2011-08-01 2011-08-01 3차원 gui를 지원하는 운영 체제의 효율적인 활용을 위한 병렬 컴퓨팅 시스템 KR20130014879A (ko)

Priority Applications (1)

Application Number Priority Date Filing Date Title
KR1020110076598A KR20130014879A (ko) 2011-08-01 2011-08-01 3차원 gui를 지원하는 운영 체제의 효율적인 활용을 위한 병렬 컴퓨팅 시스템

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
KR1020110076598A KR20130014879A (ko) 2011-08-01 2011-08-01 3차원 gui를 지원하는 운영 체제의 효율적인 활용을 위한 병렬 컴퓨팅 시스템

Publications (1)

Publication Number Publication Date
KR20130014879A true KR20130014879A (ko) 2013-02-12

Family

ID=47894812

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1020110076598A KR20130014879A (ko) 2011-08-01 2011-08-01 3차원 gui를 지원하는 운영 체제의 효율적인 활용을 위한 병렬 컴퓨팅 시스템

Country Status (1)

Country Link
KR (1) KR20130014879A (ko)

Similar Documents

Publication Publication Date Title
JP6133972B2 (ja) 3次元グラフィックユーザインターフェイス
KR101620058B1 (ko) 가상 머신 간 화면 전환 장치 및 방법
EP2778881B1 (en) Multi-input control method and system, and electronic device supporting the same
US8881047B2 (en) Systems and methods for dynamic background user interface(s)
EP2612220B1 (en) Method and apparatus for interfacing
US20100180210A1 (en) Multi-User Multi-Input Desktop Workspaces And Applications
US20140351729A1 (en) Method of operating application and electronic device implementing the same
JP2017526057A (ja) アプリケーションウィンドウの領域ベースのサイズ調節および適所配置
JP2017527882A (ja) アプリケーションウィンドウの補助的表示
JP2017526054A (ja) アプリケーションウィンドウの動的ジョイントディバイダ
CN104737129A (zh) 用于对来宾虚拟机的硬件资源进行虚拟化的专用虚拟机
US20040237050A1 (en) Human-computer interface incorporating personal and application domains
JP6832847B2 (ja) ユーザインタフェースのための対話方法
EP3701372B1 (en) Dynamically configurable application control elements
JP7440625B2 (ja) コンテンツの表示を制御する方法およびコンピュータプログラム
KR20130098332A (ko) 복수의 물리적 디스플레이 간의 디스플레이 이동 수용 방법 및 장치
KR20150094967A (ko) 적어도 하나의 어플리케이션을 실행하는 전자 장치 및 그 제어 방법
US10845980B2 (en) Facilitating movement of graphical objects across separate screens
KR20160047775A (ko) 가상의 입력 영역을 이용한 포터블 디바이스의 사용자 입력 방법
EP3864494B1 (en) Locating spatialized sounds nodes for echolocation using unsupervised machine learning
US9927892B2 (en) Multiple touch selection control
KR20130014879A (ko) 3차원 gui를 지원하는 운영 체제의 효율적인 활용을 위한 병렬 컴퓨팅 시스템
US20210105306A1 (en) Dynamically switching between pointer modes
US10795543B2 (en) Arrangement of a stack of items based on a seed value and size value
US11908088B2 (en) Controlling virtual resources from within an augmented reality environment

Legal Events

Date Code Title Description
WITN Withdrawal due to no request for examination