WO2017014578A1 - 운영 체제 간 디스크 이미지를 공유하는 방법 및 디바이스 - Google Patents

운영 체제 간 디스크 이미지를 공유하는 방법 및 디바이스 Download PDF

Info

Publication number
WO2017014578A1
WO2017014578A1 PCT/KR2016/007953 KR2016007953W WO2017014578A1 WO 2017014578 A1 WO2017014578 A1 WO 2017014578A1 KR 2016007953 W KR2016007953 W KR 2016007953W WO 2017014578 A1 WO2017014578 A1 WO 2017014578A1
Authority
WO
WIPO (PCT)
Prior art keywords
operating system
disk image
electronic device
disk
image
Prior art date
Application number
PCT/KR2016/007953
Other languages
English (en)
French (fr)
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 CN201680042840.1A priority Critical patent/CN107851029B/zh
Priority to US15/744,462 priority patent/US10621017B2/en
Publication of WO2017014578A1 publication Critical patent/WO2017014578A1/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/54Interprogram communication
    • G06F9/543User-generated data transfer, e.g. clipboards, dynamic data exchange [DDE], object linking and embedding [OLE]
    • 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
    • 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
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F9/00Arrangements for program control, e.g. control units
    • G06F9/06Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
    • G06F9/44Arrangements for executing specific programs
    • G06F9/4401Bootstrapping
    • G06F9/4406Loading of operating system
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F9/00Arrangements for program control, e.g. control units
    • G06F9/06Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
    • G06F9/44Arrangements for executing specific programs
    • G06F9/4401Bootstrapping
    • G06F9/4411Configuring for operating with peripheral devices; Loading of device drivers
    • 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/54Interprogram communication
    • G06F9/544Buffers; Shared memory; Pipes

Definitions

  • the present disclosure relates to a method and a device for sharing a disk image between operating systems, and more particularly, to a method and a device that can share a disk image without conflict between a plurality of operating systems.
  • Hardware platforms based on a general purpose CPU can run a single operating system by default. However, a computer running one operating system does not use all the maximum performance of the hardware, and as a user, can only use a program or application designed for the operating system.
  • CPU Central Processing Unit
  • Virtualization refers to a technology that runs multiple operating systems on one physical hardware. Each of the plurality of operating systems may be referred to as a virtual machine. Virtualization has advantages such as separation of execution environment between virtual machines, increased utilization of hardware, and convenient resource management.
  • the disk image may be mounted on each operating system to be emulated as a hard disk, and each operating system may recognize the disk image as a real hard disk.
  • Each operating system may share data between each operating system by inputting data to or outputting data from the mounted disk image.
  • a first aspect of the present disclosure in an electronic device for sharing a disk image between a plurality of operating systems, storage for storing the plurality of operating systems and the disk image, An input device for receiving a user input for shifting focus from the first operating system to the second operating system, and as the user input is received, the disk image mounted on the first operating system based on a predetermined criterion;
  • An electronic device can be provided that includes a processor that mounts to an operating system.
  • data sharing between a plurality of operating systems can be facilitated.
  • read and write speeds can be improved over network-based data sharing.
  • the disk image can be automatically mounted upon focus switching, without a separate operation for mounting the disk image in each operating system.
  • a disk image is automatically unmounted or mounted on each operating system such that data duplication, data inconsistency, or data corruption (e.g. data corruption, data collision, etc. can be suppressed.
  • the disk image can be seamlessly mounted in each operating system upon focus switching even if the user is not aware of it.
  • the disk image can be efficiently mounted according to the usage state of the disk image in each operating system.
  • the disk image can be mounted seamlessly according to the usage state of the disk image in each operating system.
  • a user experience can be provided in which a disk image is accessed simultaneously in multiple operating systems.
  • FIG. 1A and 1B illustrate an example of sharing a disk image between a plurality of operating systems in an electronic device according to an embodiment.
  • FIGS 2 and 3 are block diagrams of electronic devices according to one embodiment.
  • FIG. 4 is a flowchart of a method of sharing a disk image among a plurality of operating systems according to an embodiment.
  • FIG. 5 is a flowchart of a method of sharing a disk image among a plurality of operating systems according to an embodiment.
  • FIG. 6 illustrates an example of sharing a disk image between a plurality of operating systems in an electronic device according to an embodiment.
  • FIG. 7 is a flowchart of a method of sharing a disk image among a plurality of operating systems according to an embodiment.
  • 8A and 8B illustrate an example of sharing a disk image between a plurality of operating systems in an electronic device, according to an embodiment.
  • FIG. 9 is a flowchart of a method of sharing a disk image among a plurality of operating systems, according to an embodiment.
  • 10A and 10B illustrate an example of sharing a disk image between a plurality of operating systems in an electronic device, according to an embodiment.
  • FIG. 11 is a flowchart of a method of sharing a disk image between a plurality of operating systems in an electronic device according to an embodiment.
  • FIG. 12 illustrates an example in which a disk image is mounted in a time-sharing manner in a plurality of operating systems, according to an exemplary embodiment.
  • FIGS. 13A and 13B are conceptual views illustrating a disk image mounted in a time-sharing manner, according to an exemplary embodiment.
  • 14A and 14B are diagrams for describing a hypervisor in which a plurality of operating systems are driven in an electronic device, according to an embodiment.
  • a first aspect of the present disclosure in an electronic device for sharing a disk image between a plurality of operating systems, storage for storing the plurality of operating systems and the disk image, An input device for receiving a user input for shifting focus from the first operating system to the second operating system, and as the user input is received, the disk image mounted on the first operating system based on a predetermined criterion;
  • An electronic device can be provided that includes a processor that mounts to an operating system.
  • the processor also provides an electronic device for mounting the disk image mounted on the first operating system to the second operating system as a user input for accessing the disk image is received by the second operating system. can do.
  • the processor may pause a write operation on the disk image in the first operating system, and the disk image mounted on the first operating system may be stopped after the write operation is stopped in the first operating system.
  • a method may be provided that is mounted to the second operating system.
  • the processor remounts the disk image mounted on the second operating system to the first operating system based on a predetermined criterion, and resumes the write operation on the disk image in the first operating system.
  • An electronic device can be provided.
  • the processor may also provide an electronic device that determines when to remount the disk image to the first operating system based on a usage state in which the second operating system uses the disk image.
  • the disk image may also be remounted to the first operating system based on a user's input pattern in the second operating system.
  • the disk image may also be remounted to the first operating system based on a workload from the first operating system and / or the second operating system to the disk image. have.
  • the disk image may provide an electronic device that is mounted in a time-sharing manner in the first operating system and the second operating system.
  • the processor may also provide an electronic device that determines when to mount the disk image to the second operating system based on a usage state in which the first operating system uses the disk image.
  • the processor may provide an electronic device waiting to mount the disk image to the second operating system.
  • the usage state may provide an electronic device, which is determined based on a data input / output (I / O) pattern for the disk image of the first operating system.
  • the data input / output (I / O) pattern may provide an electronic device, which is determined by read throughput and write throughput of the disk image in the first operating system.
  • the data input / output (I / O) pattern may be determined by a read frequency and a write frequency of the disk image in the first operating system.
  • the processor may provide an electronic device that mounts the disk image in parallel to the first operating system and the second operating system.
  • a usage right of the at least one disk image of the first operating system and the second operating system is determined. Can be.
  • the electronic device may determine that a use right of the disk image of the second operating system is determined as a writeable right.
  • the electronic device may determine a use right of the disk image of the second operating system as a read-only right. have.
  • the plurality of operating systems may each include an application for mounting the disk image
  • the storage may provide an electronic device for storing the application for each of the plurality of operating systems.
  • a second aspect of the disclosure provides a method of sharing a disk image among a plurality of operating systems, the method comprising: mounting the disk image to a first operating system, focusing from the first operating system to a second operating system; Receiving a switching user input and, as the user input is received, mounting the disk image mounted on the first operating system to the second operating system based on predetermined criteria. Can provide.
  • the third aspect of the present disclosure can provide a computer readable medium having recorded thereon a program for executing the method of the second aspect on a computer.
  • ... unit means a unit that processes at least one function or operation, which may be implemented in hardware or software, or a combination of hardware and software.
  • first, second, etc. are used to describe various components throughout the specification, these components are of course not limited by these terms. These terms are only used to distinguish one component from another. Therefore, of course, the “first component” mentioned below may be a “second component” within the technical spirit of the embodiment.
  • an electronic device may be a smart phone, a tablet, a mobile phone, a personal digital assistant (PDA), a media player, a portable multimedia player (PMP), an e-book device, a digital broadcasting terminal, a personal computer (PC), a laptop, a microcomputer. Servers, global positioning system (GPS) devices, navigation, kiosks, MP3 players, smart TVs, digital cameras, and other mobile, or non-mobile computing devices.
  • PDA personal digital assistant
  • PMP portable multimedia player
  • e-book device a digital broadcasting terminal
  • PC personal computer
  • PC personal computer
  • PC personal computer
  • PC personal computer
  • MP3 players global positioning system
  • smart TVs digital cameras
  • other mobile, or non-mobile computing devices and other mobile, or non-mobile computing devices.
  • a hypervisor refers to a logical platform for simultaneously operating a plurality of operating systems on one hardware.
  • the hypervisor can create multiple virtual machines that operate independently on a single piece of hardware, and virtualize hardware resources.
  • the created virtual machine can be run by each operating system, can communicate with the hypervisor using an I / O virtual implementation framework such as VirtIO, and can access hardware through the hypervisor. .
  • KVM Kernel Virtual Machine
  • QEMU Quadrat EMUlator
  • Xen XenServer
  • XenServer from "Citrix”
  • Logical Domain Hypervisor from “Sun”
  • Virtage Hypervisor from "Hitachi”
  • VMware ESX from "VMware” Server
  • VMware Server VMware Workstation
  • VMware Fusion Hyper-V, Parallel Server, Virtual PC, and Virtual Server from "Microsoft”, Virtual Box from “Oracle & SUN Microsystems”, Parallels Workstation from "SWsoft”
  • various software such as Parallels Desktop
  • a disk image refers to a file capable of storing content having a structure of a hard disk volume and emulates a hard disk when mounted to an operating system by a hypervisor.
  • the operating system may recognize the mounted disk image as a storage medium such as a flash memory or a hard disk.
  • the focus refers to a virtual indicator indicating an operating system activated in the electronic device. For example, when an operating system activated on an electronic device is displayed on the full screen of the electronic device, the focus is placed on the operating system displayed on the full screen.
  • a screen of the electronic device is divided into a plurality of areas, and each operating system is displayed in each area, or a screen of the electronic device. If at least a portion of each operating system is superimposed and displayed at, the focus is placed on the operating system last used by the user.
  • a focus operating system refers to an operating system in which focus is located
  • a background operating system refers to an operating system in which focus is not located.
  • FIG. 1A and 1B illustrate an example of sharing a disk image 300 between a plurality of operating systems in an electronic device 1000, according to an embodiment.
  • the electronic device 1000 is illustrated as a tablet computer 1000, but the electronic device 1000 is not limited thereto and may be variously implemented.
  • a plurality of operating systems may be driven in the electronic device 1000 to display screens 110, 120, and 130 on which each operating system is executed.
  • each operating system For convenience of description, in the description herein, when instructing the execution screens 110, 120, and 130 of each operating system, it is assumed that the same is the same as instructing each operating system 110, 120, and 130 itself.
  • the first operating system 110 of the plurality of operating systems is Android 110
  • the second operating system 120 is Microsoft's Windows 120
  • the third operating system It may be Apple's iOS 130, but is not limited thereto, and various operating systems may be driven in the electronic device 1000.
  • a disk image 300 is mounted on a first operating system 110 of a plurality of operating systems 110, 120, and 130.
  • the first operating system 110 may recognize the disk image 300 as a storage medium.
  • the disk image 300 is freely accessed by the first operating system 110, so that the first operating system 110 can read data stored in the disk image 300.
  • data processed by the first operating system 110 may be stored in the disk image 300, and the user may store data in the disk image 300 through a separate operation.
  • the electronic device 1000 When the electronic device 1000 receives a user input of shifting focus from the first operating system 110 to the second operating system 120, the electronic device 1000 returns the focus to the second operating system 120, as shown in FIG. 1B. And switch the disk image 300 mounted on the first operating system 110 to the second operating system 120 based on the preset criteria.
  • the second operating system 120 may recognize the disk image 300 as a storage medium.
  • the disk image 300 may include data processed by the first operating system 110 and data stored by a user.
  • the data processed by the first operating system 110 and the data stored by the user are accessed in the second operating system 120, so that data is shared between the first operating system 110 and the second operating system 120. Can be.
  • a user experience such as using a local hard disk in the second operating system 120 can be provided to the user, thus reading and writing data compared to conventional network-based data sharing. Speed can be dramatically improved.
  • the disk image 300 is changed to the second operating system ( 120), the inconvenience of mounting the disk image 300 for each operating system can be eliminated.
  • the disk image 300 may be mounted on the third operating system 130 such that data may be shared between the first operating system 110, the second operating system 120, and the third operating system 130. .
  • FIGS. 2 and 3 are block diagrams of an electronic device 1000 according to an embodiment.
  • the electronic device 1000 includes a storage 1700, an input device 1100, and a processor 1300. However, not all of the components shown in FIG. 2 are essential components of the electronic device 1000.
  • the electronic device 1000 may be implemented by more components than the components shown in FIG. 2, and the electronic device 1000 may be implemented by fewer components than the components shown in FIG. 2.
  • the storage 1700 may store a program for processing and control of the processor 1300, and may store data input to or output from the electronic device 1000.
  • the storage 1700 stores a plurality of operating systems and disk images.
  • the operating system may include a kernel, middleware, APIs, and the like.
  • the operating system is Android, iOS, Windows, Blackberry OS, Linux, WebOS, MeeGo, Binary Runtime Environment for Wireless (BREW), Mobile operating systems such as Symbian, Tizen, and Bada, but are not limited thereto.
  • BREW Binary Runtime Environment for Wireless
  • the disk image may have file formats such as raw, qcow (QEMU Copy On Write), and qcow2.
  • the data size of the disk image may increase as data is stored in the disk image.
  • the disk image may be formatted with a file system that is compatible with all operating systems so that the mounted disk image can be accessed by each operating system.
  • the input device 1100 means a means for a user to input data to control the electronic device 1000.
  • the input device 1100 may receive a user input of switching focus from the first operating system 110 to the second operating system 120.
  • the processor 1300 may typically perform the functions of the electronic device 1000 by controlling the overall operation of the electronic device 1000.
  • the processor 1300 may control the storage 1700 and the input device 1100 as a whole by executing programs stored in the storage 1700.
  • the processor 1300 may receive a first input based on a predetermined criterion as a user input for switching focus from the first operating system 110 to the second operating system 120 is received through the input device 1100. Mount the disk image 300 mounted on the operating system 110 as the second operating system 120.
  • the focus is located on the operating system displayed on the full screen.
  • the focus is located on the first operating system 110 such that the first operating system 110 is the focus operating system, and the second operating system 120 and the third operating system 130 are background operating systems.
  • the focus is located on the second operating system 120 such that the second operating system 120 is the focus operating system, and the first operating system 110 and the third operating system 130 are background operating systems.
  • the first operating system 110 is received when a user input for switching focus from the first operating system 110 to the second operating system 120 is received and the focus is switched to the second operating system 120.
  • the electronic device 1000 which was displayed on the full screen, may display the second operating system 120 on the full screen.
  • the user input for switching focus from the first operating system 110 to the second operating system 120 may be plural. It may be a drag or swipe gesture input using a pointer of.
  • FIG. 1A when a drag or swipe gesture of moving a plurality of pointers to a left direction is input in the electronic device 1000 in which the first operating system 110 is displayed in full screen, the first operation is performed.
  • the focus is switched to the next operating system of operating system 110, that is, the second operating system 120, and as shown in FIG. 1B, the second operating system 120 is displayed in full screen on the electronic device 1000.
  • the next operating system of operating system 110 that is, the second operating system 120
  • FIG. 1B the second operating system 120 is displayed in full screen on the electronic device 1000.
  • the user input of switching focus from the first operating system 110 to the second operating system 120 may be a user input running the second operating system 120.
  • the user input of running the second operating system 120 may be input to a shortcut icon, physical button, virtual button, and / or shortcut key for running the second operating system 120.
  • the shortcut icon for executing the second operating system 120 may be disposed on an execution screen of another operating system, for example, an execution screen of the first operating system 110 and / or the third operating system 130. .
  • a plurality of operating systems may be displayed together on one screen of the electronic device 1000.
  • the screen of the electronic device 1000 may be divided into a plurality of areas, and each operating system may be displayed in each area.
  • at least a part of each operating system may be overlapped and displayed on the screen of the electronic device 1000.
  • the user input for switching the focus from the first operating system to the second operating system may be a user input for selecting an execution screen of the second operating system.
  • the electronic device 1000 includes a touch screen display, such as a smartphone or a tablet
  • the user input for selecting an execution screen of the second operating system may be a tap gesture input for the execution screen of the second operating system.
  • the electronic device 1000 may be implemented by more components than those shown in FIG. 2, for example, as shown in FIG. 3, the electronic device 1000 according to an embodiment may include the storage described above.
  • the apparatus may further include an output device 1200, a sensor 1400, a communication interface 1500, and an A / V input device 1600.
  • the input device 1100 means a means for a user to input data to control the electronic device 1000.
  • the input device 1100 includes a key pad, a dome switch, a touch pad (contact capacitive type, pressure resistive type, infrared sensing type, surface ultrasonic conduction type, integral type). Tension measurement method, piezo effect method, etc.), a jog wheel, a jog switch, and the like, but are not limited thereto.
  • the touch pad forms a layer structure with the display 1210 and is configured as a touch screen or a touch screen display
  • the input device 1100 may be used as an output device in addition to the input device.
  • the touch pad may be configured to detect not only a real touch but also a proximity touch, and for convenience of description, both the real touch and the proximity touch may be used. It may be referred to as "touch”.
  • real-touch refers to input generated when a pointer is physically touched on the screen
  • proximity-touch refers to a pointer on the screen. Even if not physically touched, an input generated in a state of approaching a predetermined distance from the screen.
  • a "pointer” refers to a tool for directly touching or proximity touching a specific portion of the displayed screen. Examples include stylus pens and fingers.
  • the output device 1200 can output an audio signal or a video signal or a vibration signal, and the output device 1200 can include a display 1210, an acoustic output device 1220, and a vibration motor 1230.
  • Display 1210 displays information processed in electronic device 1000.
  • the display 1210 may display an execution screen of an operating system running on the electronic device 1000 and an execution screen of an application running on the operating system.
  • the display 1210 may be used as an input device in addition to the output device.
  • the display 1210 is a liquid crystal display, a thin film transistor-liquid crystal display, an organic light-emitting diode, a flexible display, a three-dimensional display (3D display, an electrophoretic display.
  • the electronic device 1000 may include two or more displays 1210 according to an implementation form of the electronic device 1000. In this case, the two or more displays 1210 may be disposed to face each other using a hinge.
  • the sound output device 1220 outputs audio data received from the communication interface 1500 or stored in the memory 1700. Also, the sound output device 1220 outputs a sound signal related to a function performed in the electronic device 1000.
  • the sound output device 1220 may include a speaker, a buzzer, and the like.
  • the vibration motor 1230 may output a vibration signal.
  • the vibration motor 1230 may output a vibration signal corresponding to the output of audio data or video data.
  • the vibration motor 1230 may output a vibration signal when a touch is input to the touch screen.
  • the processor 1300 may typically perform the functions of the electronic device 1000 by controlling the overall operation of the electronic device 1000.
  • the processor 1300 may execute the programs stored in the storage 1700 to execute an input device 1100, an output device 1200, a sensor 1400, a communication interface 1500, an A / V input device ( 1600) can be controlled overall.
  • the sensor 1400 may detect a state of the electronic device 1000 or a state around the electronic device 1000 and transmit the detected information to the processor 1300.
  • the sensor 1400 may include a magnetic sensor 1410, an acceleration sensor 1420, a temperature / humidity sensor 1430, an infrared sensor 1440, a gyroscope sensor 1450, a position sensor (eg , At least one of a GPS (1460), a barometric pressure sensor (1470), a proximity sensor (1480), and an RGB sensor (illuminance sensor) 1490, but is not limited thereto. Since functions of the respective sensors can be intuitively deduced by those skilled in the art from the names, detailed descriptions thereof will be omitted.
  • the communication interface 1500 may include one or more components that enable communication between the electronic device 1000 and an external device.
  • the communication interface 1500 may include a short range communication interface 1510, a mobile communication interface 1520, and a broadcast receiver 1530.
  • Short-range wireless communication unit (151) includes a Bluetooth communication interface, a Bluetooth low energy (BLE) communication interface, a near field communication unit (Near Field Communication unit), a WLAN (Wi-Fi) communication interface, Zigbee (Zigbee) A communication interface, an infrared data association (IrDA) communication interface, a Wi-Fi Direct (WFD) communication interface, an ultra wideband (UWB) communication interface, and an Ant + communication interface may be included, but is not limited thereto.
  • BLE Bluetooth low energy
  • Wi-Fi Near Field Communication unit
  • Zigbee Zigbee
  • IrDA infrared data association
  • WFD Wi-Fi Direct
  • UWB ultra wideband
  • Ant + communication interface may be included, but is not limited thereto.
  • the mobile communication interface 1520 transmits and receives wireless signals with at least one of a base station, an external terminal, and a server on a mobile communication network.
  • the wireless signal may include various types of data according to transmission and reception of a voice signal, a video call signal, or a text / multimedia message.
  • the broadcast receiving unit 1530 receives a broadcast signal and / or broadcast related information from the outside through a broadcast channel.
  • the broadcast channel may include a satellite channel and a terrestrial channel.
  • the electronic device 1000 may not include the broadcast receiver 1530.
  • the A / V input device 1600 is for inputting an audio signal or a video signal, and may include a camera 1610 and a microphone 1620.
  • the camera 1610 may obtain an image frame such as a still image or a moving image through an image sensor in a video call mode or a photographing mode.
  • An image captured by the image sensor may be processed by the processor 1300 or a separate image processor.
  • the image frame processed by the camera 1610 may be stored in the storage 1700 or transmitted externally through the communication interface 1500. Two or more cameras 1610 may be provided depending on the configuration aspect of the terminal.
  • the microphone 1620 receives an external sound signal and processes the external sound signal into electrical voice data.
  • the microphone 1620 may receive an acoustic signal from an external device or speaker.
  • the microphone 1620 may use various noise canceling algorithms to remove noise generated in the process of receiving an external sound signal.
  • the microphone 1620 may receive a user's voice answer input corresponding to the problem content provided by the processor 1300 described above.
  • the storage 1700 may include a flash memory type, a hard disk type, a multimedia card micro type, a card type memory (eg, SD or XD memory), RAM ( RAM, Random Access Memory (SRAM), Static Random Access Memory (SRAM), ROM (Read-Only Memory), EEPROM (Electrically Erasable Programmable Read-Only Memory), PROM (Programmable Read-Only Memory), Magnetic Memory, Magnetic Disk, It may include at least one type of storage medium of the optical disk. Storage may be referred to as memory.
  • Programs stored in the storage 1700 may be classified into a plurality of modules according to their functions.
  • the programs stored in the storage 1700 may be classified into a UI module 1710, a touch screen module 1720, a notification module 1730, and the like. .
  • the UI module 1710 may provide a specialized UI, GUI, or the like that is linked to the electronic device 1000 for each application.
  • the touch screen module 1720 may detect a touch gesture on the user's touch screen and transmit information about the touch gesture to the processor 1300.
  • the touch screen module 1720 according to an embodiment may recognize and analyze a touch code.
  • the touch screen module 1720 may be configured as separate hardware including a controller.
  • Various sensors may be provided inside or around the touch pad to detect the touch of the user.
  • One example of such various sensors is a tactile sensor.
  • the tactile sensor refers to a sensor that senses the contact of a specific object to the extent that a person feels or more.
  • the tactile sensor may sense various information such as the roughness of the contact surface, the rigidity of the contact object, the temperature of the contact point, and the like.
  • the proximity sensor refers to a sensor that detects the presence or absence of an object approaching a predetermined detection surface or an object present in the vicinity without using a mechanical contact by using an electromagnetic force or infrared rays.
  • Examples of the proximity sensor include a transmission photoelectric sensor, a direct reflection photoelectric sensor, a mirror reflection photoelectric sensor, a high frequency oscillation proximity sensor, a capacitive proximity sensor, a magnetic proximity sensor, and an infrared proximity sensor.
  • one example of such various sensors is a force touch sensor. According to the magnitude of the pressure touching the touch pad, different functions may be performed in the electronic device 1000, so that a gesture input that may be applied through the touch pad may be further diversified.
  • Gesture input may be implemented in various ways, among which a “tap” refers to an input method in which the pointer is moved away from the touch pad after the pointer is touched once on the touch pad, and is referred to as a "double tap". "tap” twice, and “multiple tap” means an input method in which three or more touches are applied within a predetermined time, and “long tap” means a touch over a predetermined time or until a specific event occurs. An input method that is applied while maintaining a state, that is, an input method of long tapping.
  • “drag” refers to an operation of moving the pointer to another position on the touch pad while the user touches the touch pad using the pointer and keeps the touch pad and the pointer touched. Swipe is basically the same as “drag", where the user touches the touch pad with the pointer and then moves the pointer to another location on the touch pad while the touch pad and the pointer remain in touch. This means that the movement speed is relatively faster than the "drag”.
  • the notification module 1730 may generate a signal for notifying occurrence of an event of the electronic device 1000. Examples of events generated in the electronic device 1000 include signal reception, message reception, key signal input, schedule notification, and the like.
  • the notification module 1730 may output the notification signal in the form of a video signal through the display 1210, may output the notification signal in the form of an audio signal through the sound output device 1220, and may operate the vibration motor 1230.
  • the notification signal may be output in the form of a vibration signal.
  • some or all of the respective components of the electronic device 1000 illustrated in FIGS. 2 and 3 may be implemented by at least one hardware processor.
  • some or all of the components of the electronic device 1000 may be implemented through a separate processor other than the main processor of the electronic device 1000.
  • some of the components of the electronic device 1000 illustrated in FIGS. 2 and 3 may be implemented by at least one software program.
  • some functions of the electronic device 1000 may be implemented by an operating system program, and some functions may be implemented by an application program.
  • the functions of the electronic device 1000 may be implemented by at least one hardware and at least one software, and the functions of the electronic device 1000 implemented by the software may be an operating system installed in the electronic device 1000. And by an application.
  • the electronic device 1000 may include a processor, memory for storing and executing program data, permanent storage such as a disk drive, a communication port for communicating with an external device, a touch panel, a key, a button It may include a user interface device such as.
  • Methods implemented by software modules or algorithms may be stored on a computer readable recording medium as computer readable codes or program instructions executable on the processor.
  • the computer-readable recording medium may be a magnetic storage medium (eg, read-only memory (ROM), random access memory (RAM), floppy disk, hard disk), optical reading medium (eg, CD-ROM) , DVD (Digital Versatile Disc)).
  • the computer readable recording medium can be distributed over network coupled computer systems so that the computer readable code is stored and executed in a distributed fashion.
  • the medium is readable by the computer, stored in the memory, and can be executed by the processor.
  • FIG. 4 is a flowchart of a method of sharing a disk image 300 between a plurality of operating systems 110, 120, and 130, according to one embodiment.
  • the electronic device 1000 mounts the disk image 300 on the first operating system 110.
  • the first operating system 110 may be an Android operating system 110.
  • the disk image 300 mounted on the first operating system 110 can be accessed.
  • the first operating system 110 converts the mounted disk image 300 to a storage medium such as a flash memory or a hard disk. I can recognize it.
  • the first operating system 110 may have a writable right on the disk image 300.
  • the first operating system 110 can read data stored in the mounted disk image 300.
  • an audio file such as an MP3 file
  • the audio file stored in the disk image 300 may be played through the music playback application of the first operating system 110.
  • data may be copied from the mounted disk image 300 to the first operating system 110.
  • data processed by the first operating system 110 may be written to the mounted disk image 300. That is, data processed by the first operating system 110 may be stored in the mounted disk image 300.
  • a storage folder of a camera application of the first operating system 110 is designated as a disk image 300 or a folder inside the disk image 300
  • a disk on which pictures and videos taken through the camera application are mounted. May be stored in an image 300.
  • data downloaded through the first operating system 110 may be stored in the disk image 300, and data may be copied from the first operating system 110 to the disk image 300.
  • the electronic device 1000 receives a user input of switching focus from the first operating system 110 to the second operating system 120.
  • the electronic device 1000 in which the system 110 was displayed in full screen, displays the second operating system 120 in full screen.
  • the second operating system 120 can be Microsoft's Windows 120.
  • the electronic device 1000 may be configured based on a preset criterion. Mount the disk image 300 mounted on 110 to the second operating system 120.
  • the predetermined criteria for mounting the disk image 300 mounted on the first operating system 110 on the second operating system 120 may vary.
  • the electronic device 1000 may mount the disk image 300 mounted on the first operating system 110 on the second operating system 120, and the first operation may be performed. Once the switch of focus from the operating system 110 to the second operating system 120 is complete, the disk image 300 mounted on the first operating system 110 may be mounted on the second operating system 120.
  • the second operating system 120 when the disk image 300 is mounted on the second operating system 120, the second operating system 120 stores the mounted disk image 300 in a storage medium such as a flash memory or a hard disk. Can be recognized. Furthermore, the second operating system 120 may have writeable rights to the disk image 300.
  • the second operating system 120 may read data stored in the mounted disk image 300 or store data in the disk image 300, similarly to the first operating system 110. Since the second operating system 120 can use the data stored in the disk image 300 in the first operating system 110, it is easy to share data between the first operating system 110 and the second operating system 120. There is one effect.
  • the disk image 300 is changed to the second operating system ( 120), the inconvenience of mounting the disk image 300 for each operating system can be eliminated.
  • Both the first operating system 110 and the second operating system 120 have writeable rights to the disk image 300, and the disk image 300 has the first operating system 110 and the second operating system ( 120 may be mounted in parallel.
  • data may be written to the corresponding disk image 300 in both the first operating system 110 and the second operating system 120, and in this case, the user's intention in the corresponding disk image 300 may be attempted.
  • Unexpected data duplication, data inconsistency, data corruption, data collisions, etc. may occur.
  • the electronic device 1000 may unmount the disk image 300 from the first operating system 110.
  • the time point at which the disk image 300 is unmounted from the first operating system 110 may be before, concurrently, or after the time point at which the disk image 300 is mounted on the second operating system 120.
  • the disk image 300 in the first operating system 110 can no longer be accessed. That is, the first operating system 110 may not read data from or store data in the disk image 300.
  • the disk image 300 is not simultaneously accessed in the first operating system 110 and the second operating system 120, the occurrence of data-related problems not intended by the user in the disk image 300 can be suppressed. have.
  • the electronic device 1000 automatically stores data being processed in the first operating system 110 in the disk image 300 before the disk image 300 is unmounted from the first operating system 110. It can be implemented to.
  • the second operating system 120 can use the data that was being worked on by the first operating system 110, so that data can be effectively shared between the first operating system 110 and the second operating system 120.
  • the electronic device 1000 may be implemented to unmount the disk image 300 from the first operating system 110 after pausing the operation on the disk image 300 in the first operating system 110. It may be. The method of unmounting the disk image 300 after stopping the operation on the disk image 300 will be described later with reference to FIG. 11.
  • FIG. 5 is a flowchart of a method of sharing a disk image 300 between a plurality of operating systems 110, 120, and 130, according to one embodiment.
  • step S200 and step S210 are the same as step S100 and step S110 described above with reference to FIG. 4, overlapping descriptions are omitted.
  • FIG. 6 is a diagram illustrating an example of sharing a disk image 300 between a plurality of operating systems 110, 120, and 130 in an electronic device 1000, according to an embodiment.
  • the electronic device 1000 may transmit a disk image to the second operating system 120. It is determined whether a user input for accessing 300 is received.
  • the user input for accessing the disk image 300 in the second operating system 120 is a user input for reading data stored in the disk image 300, or for storing data in the disk image 300. May be a user input.
  • the user input for accessing the disk image 300 in the second operating system 120 is a user input for opening the disk image 300 in the second operating system 120.
  • a window 121 including files and folders included in the disk image 300 may pop up.
  • the user input for accessing the disk image 300 in the second operating system 120 is configured to read data stored in the disk image 300 or store data in the disk image 300. It may be a user input for running an application. Further, the user input for accessing the disk image 300 in the second operating system 120 may be a user input for executing a function of the corresponding application.
  • the captured picture or video is stored in a folder set in the camera application.
  • the storage folder of the camera application is designated as the disk image 300 or an internal folder of the disk image 300
  • a user input of executing the camera application in the second operating system 120, and / or the camera may be a user input for accessing the disk image 300 in the second operating system 120.
  • step S221 as the electronic device 1000 receives a user input for accessing the disk image 300 from the second operating system 120 in step S220, the electronic device 1000 mounts the disk image mounted on the first operating system 110. Mount 300 as the second operating system 120.
  • the electronic device 1000 may unmount the disk image 300 from the first operating system 110.
  • the electronic device 1000 may be implemented to automatically store data being processed in the first operating system 110 in the disk image 300 before the disk image 300 is unmounted from the first operating system 110. .
  • the second operating system 120 can use the data that was being worked on by the first operating system 110, so that data can be effectively shared between the first operating system 110 and the second operating system 120.
  • the disk image 300 may remain mounted on the first operating system 110. Can be.
  • the user can use the second operating system 120, which is the focus operating system 120, without interrupting work on the disk image 300 in the first operating system 110, which is the background operating system 110. have.
  • the first operating system 110 may be configured to display the first file even after the focus is switched from the first operating system 110 to the second operating system 120.
  • the disk image 300 is not unmounted from the operating system 110 so that the music file can continue to be played.
  • the electronic device 1000 shifts focus from the first operating system 110 to the second operating system 120, and a user for accessing the disk image 300 in the second operating system 120.
  • the disk image 300 is mounted from the first operating system 110 to the second operating system 120, so that the disk image 300 effectively frees from the first operating system 110. And may be mounted on the second operating system 120.
  • FIG. 7 is a flowchart of a method of sharing a disk image 300 between a plurality of operating systems 110, 120, and 130, according to one embodiment.
  • step S300 and step S310 are the same as step S100 and step S110 described above with reference to FIG. 4, overlapping descriptions are omitted.
  • 8A and 8B illustrate an example of sharing a disk image 300 between a plurality of operating systems 110, 120, and 130 in an electronic device 1000, according to an embodiment.
  • the first operating system 110 may perform a disk image.
  • the use state using 300 is determined.
  • the usage state in which the first operating system 110 uses the disk image 300 is a read operation state in which the first operating system 110 reads the data stored in the disk image 300, or the first operation.
  • the system 110 may be divided into a write operation state in which data is stored in the disk image 300.
  • the first operating system 110 when the document editing application 111 is executed in the first operating system 110 to open a document file stored in the disk image 300, the first operating system 110 is opened.
  • the usage state using the disk image 300 may be a read operation state.
  • the usage state in which the first operating system 110 uses the disc image 300 may be a read operation state.
  • the file may be stored and edited in the RAM of the electronic device 1000. have.
  • the first operating system 110 when data is being stored in the disk image 300 or in an internal folder of the disk image 300 in the first operating system 110, the first operating system 110 is stored.
  • the usage state using the disk image 300 may be a write operation state.
  • the data storage progress window 112 When data is being stored in the first operating system 110, the data storage progress window 112 may pop up in the first operating system 110.
  • the data storage progress window 112 displays information related to the progress of storing data, and the data storage progress window 112 may pop up when data is copied and stored, or when data is downloaded and stored.
  • a progress bar may be displayed indicating the time remaining until the storage has been completed.
  • the usage state in which the first operating system 110 uses the disk image 300 may be determined based on a data input / output (I / O) pattern for the disk image 300 of the first operating system 110. Can be.
  • the input / output (I / O) pattern may be determined by the read throughput and the write throughput of the disk image 300 in the second operating system 120. For example, when the current write throughput is greater than or equal to a preset value, the usage state may be determined to be a write operation, and when the current read throughput is greater than or equal to the preset value, the usage state may be determined to be a read operation.
  • the electronic device may display a disk image in the first operating system 110.
  • the operation performed on 300 may determine whether a file is being downloaded to the disk image 300, a file is being copied to the disk image 300, a file stored in the disk image 300 is being played back, or the like. Can be.
  • the input / output (I / O) pattern may be determined by the read frequency and the write frequency of the disk image 300 in the second operating system 120. For example, when the read frequency is greater than or equal to the preset frequency, the usage state may be determined to be in a read operation, and when the write frequency is greater than or equal to the preset frequency, the usage state may be determined to be in the write operation.
  • step S320 when the electronic device 1000 determines in step S320 that the usage state of the first operating system 110 using the disk image 300 is in a read operation, the electronic device 1000 mounts the disk mounted in the first operating system 110. Mount image 300 to second operating system 120.
  • the electronic device 1000 may unmount the disk image 300 from the first operating system 110.
  • the electronic device 1000 may be implemented to automatically store data being processed in the first operating system 110 in the disk image 300 before the disk image 300 is unmounted from the first operating system 110. .
  • the document being edited in the document editing application 111 of the first operating system 110 is displayed in the disk image. 300 may be automatically stored. If the document that was being edited in the first operating system 110 is stored in the disk image 300, after the disk image 300 is mounted in the second operating system 120, the user can also view the document in the second operating system 120. You can edit the document via the editing application.
  • the data being processed in the first operating system 110 is not stored in the disk image 300 before the disk image 300 is unmounted from the first operating system 110, the data is stored in the electronic device 1000. ) May remain in RAM.
  • the user is prompted to perform a first operating system (
  • the document in the state of being edited in the document editing application 111 of 110 can be continuously edited.
  • the corresponding data remaining in the RAM may be stored in the disk image 300 without being lost.
  • the electronic device 1000 may determine that the first operating system 110 may display the disk image 300 in operation S320. If it is determined that the usage state to be used is in the writing operation, the mount of the disk image 300 to the second operating system 120 is awaited.
  • the electronic device 1000 is implemented to mount the disk image 300 to the second operating system 120 when a write operation of the disk image 300 is completed in the first operating system 110. Can be.
  • the data can be effectively used in the second operating system 120.
  • the device 1000 may keep the disk image 300 mounted on the first operating system 110 without having to mount the disk image 300 to the second operating system 120.
  • the electronic device 1000 may present the disk to the user in the second operating system 120, as shown in FIG. 8B.
  • a notification 122 may pop-up indicating that the mount of image 300 is pending.
  • the notification 122 may include content related to the usage state of the first operating system 110.
  • the notification 122 may include content such as "currently copying a file to the disk image 300 in the first operating system 110.”
  • the notification 122 may include contents such as a progress state of a write operation of the disk image 300 or a scheduled time of completion of the corresponding operation in the first operating system 110.
  • the notification 122 may include a selection window asking the user whether to forcibly unmount the disk image 300 on the first operating system 110 and mount it to the second operating system 120. Accordingly, the disk image 300 may be unmounted from the first operating system 110 and mounted to the second operating system 120 according to a user's intention, thereby improving user convenience.
  • the electronic device 1000 shifts focus from the first operating system 110 to the second operating system 120, and based on the usage state in which the first operating system 110 uses the disk image 300, Since the disk image 300 mounted on the operating system 110 is mounted as the second operating system 120, the disk image 300 is effectively unmounted from the first operating system 110 so that the second operating system 120 is mounted. Can be mounted on.
  • FIG. 9 is a flowchart of a method of sharing a disk image 300 between a plurality of operating systems 110, 120, and 130, according to one embodiment.
  • 10A and 10B illustrate an example of sharing a disk image 300 between a plurality of operating systems 110, 120, and 130 in an electronic device 1000, according to an embodiment.
  • step S400 the electronic device 1000 mounts the disk image 300 in the first operating system 110.
  • the electronic device 1000 may mount the disk image 300 in parallel to the plurality of operating systems 110, 120, and 130.
  • the plurality of operating systems 110, 120, and 130 all have writeable rights to the disk image 300, and the disk image 300 is mounted in parallel to the plurality of operating systems 110, 120, and 130.
  • unintended data duplication, data inconsistency, data corruption, data collision, etc. may occur in the disk image 300. It may be.
  • the electronic device 1000 may be implemented such that the writable right for the disk image 300 has only one operating system.
  • an arrow indicated by a dotted line indicates that a use right for the corresponding disc image 300 is a read-only right, and an arrow shown in solid line indicates use of the corresponding disc image 300. This means that the permission is writable.
  • the first operating system 110 may have read-only rights to the disk image 300.
  • the electronic device 1000 receives a user input of switching focus from the first operating system 110 or 130 to the second operating system 120.
  • the electronic device 1000 when a user input for switching focus from the first operating system 110 or 130 to the second operating system 120 is received and the focus is switched to the second operating system 120, the first operating system is changed.
  • the electronic device 1000 where 110 or 130 was displayed in full screen, displays the second operating system 120 in full screen.
  • step S420 the electronic device 1000 receives the first operating system 110 and 130 when a user input for switching focus from the first operating system 110 or 130 to the second operating system 120 is received in step S410. Determines the usage state using the disk image 300.
  • the electronic device 1000 is implemented to determine usage rights of the second operating system 120 for the disk image 300 based on the usage state in which the first operating system 110 and 130 use the disk image 300. Can be.
  • the electronic device 1000 may determine that the disk of the second operating system 120 is determined to be in a read operation when the first operating system 110 and 130 use the disk image 300 in step S420.
  • the usage rights for the image 300 are determined as writable rights.
  • the first operating system 110 may perform a disk image.
  • the usage state using 300 may be a read operation state.
  • the first operating system 130 uses the disc image 300.
  • the usage state may be a read operation state.
  • the electronic device 1000 when the first operating system 110 or 130 has writeable permission to the disk image 300 and is reading from the disk image 300, the electronic device 1000 may correspond to the disk. It may be implemented to change the usage rights of the first operating system 110 or 130 to the image 300 to read-only rights.
  • the electronic device 1000 may, in the first operating system 110 or 130, be changed before the usage rights of the first operating system 110 or 130 for the disk image 300 are changed to read-only rights. It can be implemented to automatically save the data being processed in the disk image.
  • step S422 when it is determined in step S420 that the usage state in which the first operating system 110 or 130 uses the disk image 300 is determined in step S420, the electronic device 1000 determines that the second operating system 120 is to be in a write operation.
  • the usage rights for the disk image 300 are determined as read-only rights.
  • the electronic device 1000 may determine the right to use the disk image 300 of the second operating system 120 as a read only right. If the write operation on the disk image 300 is completed in the first operating system 110, the electronic device 1000 reads a read-only right to use the first operating system 110 on the disk image 300. And the usage rights of the second operating system 120 to be writable.
  • the electronic device 1000 may determine the usage rights of the disk image 300 of the second operating system 120 in operation S421 or S422. Mount with).
  • the electronic device 1000 may transmit a disk image ( 300 may pop up a notification 123 indicating that the usage rights of 300 are read-only.
  • the notification 123 may include content related to a usage state of the first operating system 110.
  • the notification 123 may include content such as "currently copying a file to disk image 300 in first operating system 110."
  • the notification 123 may include contents such as a progress state of a write operation of the disk image 300 or a scheduled time of completion of the corresponding operation in the first operating system 110.
  • the notification 123 forces the user to unmount the disk image 300 on the first operating system 110 or read-only permission to use the first operating system 110 on the disk image 300. And a selection window asking whether to change the usage right of the second operating system 120 to a writable right. Therefore, a write operation may be performed on the disk image 300 in the first operating system 110 or 130 or the second operating system 120 according to the user's intention, so that user convenience may be improved.
  • the electronic device 1000 may be implemented to differently determine usage rights of each operating system for the disk image 300.
  • an operating system in which the focus is located among the plurality of operating systems 110, 120, and 130 has writeable rights to the corresponding disk image 300, and the focus is out of the plurality of operating systems 110, 120, and 130.
  • An operating system that is not located may be implemented to have read-only rights to the disk image 300. That is, for the disk image 300, the focus operating system may have writeable permission, and the background operating system may have read only permission.
  • the usage rights of the respective operating systems 110, 120, and 130 for the disk image 300 may change as the focus is switched.
  • FIG. 11 is a flowchart of a method of sharing a disk image 300 between a plurality of operating systems 110, 120, and 130 in an electronic device 1000, according to an embodiment.
  • step S500 and step S510 are the same as step S100 and step S110 described above with reference to FIG. 4, overlapping descriptions are omitted.
  • a write operation is performed on the disk image 300 in the first operating system 110.
  • a write operation is performed when a data is being stored in the disk image 300 or in an internal folder of the disk image 300 in the first operating system 110. It may be part of.
  • a write operation is a "request of write", "allocation" of the space where the data requested to be written in the disk image 300 will be stored, and “actually” writes of the data to the disk image. Can be done.
  • the write operations stopped at the first operating system 110 may be “assign” and “actually write” operations. That is, the “request of write” operation is executed in the first operating system 110, and the "assign” and “actually write” operations are deferred, until the write operation is resumed in the first operating system 110. Can stand by
  • the response from the first operating system 110 to the electronic device 1000 may be delayed.
  • an error response may not be received by the electronic device 1000, so that the write operation may not be interrupted. Since the write operation is not interrupted, when the disk image 300 is remounted on the first operating system 110, the write operation may be resumed, thereby enhancing user convenience.
  • the electronic device 1000 may be implemented to stop a write operation on the disk image 300 in the first operating system 110 based on a predetermined criterion.
  • the preset criterion may be the same as the preset criterion for mounting the disk image 300 mounted on the first operating system 110 to the second operating system 120.
  • the electronic device 1000 unmounts the disk image 300 from the first operating system 110.
  • step S522 the electronic device 1000 mounts the disk image 300 in the second operating system 120.
  • the second operating system 120 can read data stored in the mounted disk image 300 or store the data in the disk image 300 like the first operating system 110. Since the second operating system 120 can use the data stored in the disk image 300 in the first operating system 110, it is easy to share data between the first operating system 110 and the second operating system 120. There is one effect.
  • the electronic device 1000 determines whether the predetermined criterion is satisfied, and when the predetermined criterion is satisfied, the electronic device 1000 unmounts the disk image 300 from the second operating system 120 (S531). 1 Remount the operating system 110 (S532).
  • the predetermined criterion may be a usage state in which the second operating system 120 uses the disk image 300. For example, when no read or write operation is performed on the disk image 300 in the second operating system 120, the electronic device 1000 may mount the disk image 300 mounted in the second operating system 120. ) May be remounted to the first operating system 110.
  • the predetermined criterion may be an input pattern of a user in the second operating system 120. For example, after the focus is switched from the first operating system 110 to the second operating system 120, if the user does not operate the electronic device 1000 for a predetermined time or more, the user may use the disk for a predetermined time or more. When operating the electronic device 1000 irrespective of a read / write operation on the image 300, or when an idle time is greater than or equal to a predetermined time, the electronic device 1000 may operate on the second operating system 120. Mount the disk image 300 to the first operating system 110.
  • the predetermined criterion may be a workload from the first operating system 110 and / or the second operating system 120 to the disk image 300. For example, if the workload from the first operating system 110 to the disk image 300 is greater than the workload from the second operating system 120 to the disk image 300, the electronic device 1000 may be configured to have a second weight. Disk image 300 mounted on operating system 120 may be remounted to first operating system 110. Therefore, a task with a large workload is preferentially completed, so that resources of the electronic device 1000 can be efficiently used.
  • operation S540 the electronic device 1000 resumes a write operation on the disk image 300 that was stopped in the first operating system 110.
  • the writing operation to the disk image 300 may continue in the first operating system 110, which is the background operating system.
  • the user may be provided with a user experience that seems to use the disk image 300 simultaneously in a plurality of operating systems 110, 120, and 130.
  • the electronic device 1000 determines whether the write operation on the disk image 300 is completed in the first operating system 110, and when the write operation is completed, the electronic device 1000 determines the disk image 300 in the first operating system. It is unmounted from 110 (S551), and remounts the disk image 300 to the second operating system 120 (S552).
  • the first operating system 110 is the background operating system 110 and is not operated by the user, it is unnecessary to mount the disk image 300 when the continued write operation is completed. Accordingly, when the continued write operation is completed, the electronic device 1000 unmounts the disk image 300 from the first operating system 110 and mounts the second operating system 120, which is the focus operating system 120. Thus, the user can quickly access the disk image 300 at any time from the second operating system 120, which is the focus operating system 120.
  • FIG. 12 illustrates an example in which a disk image 300 is mounted in a time-sharing manner in a plurality of operating systems 110, 120, and 130, according to one embodiment.
  • FIG. 13A and 13B are conceptual views illustrating a disk image 300 mounted in a time-sharing manner, according to an embodiment.
  • disk image 300 is mounted in a time-division manner in two operating systems
  • disk image 300 is mounted in a time-division manner in three operating systems. 12, 13A, and 13B, as the electronic device 1000 receives a user input of shifting focus from the first operating system 110 to the second operating system 120, the disk image 300 is received.
  • a write operation on the disk image 300 may be started in the first operating system 110 and the second operating system 120. However, as the focus is switched from the first operating system 110 to the second operating system 120 so that the disk image 300 is mounted on the second operating system 120, the disk image in the first operating system 110 is changed. The write operation for 300 may be stopped, and the write operation for the disk image 300 may proceed in the second operating system 120.
  • the disk image 300 is stored in the first operating system. 110 and second operating system 120 may be mounted in a time-sharing manner.
  • Mounting a disk image in a time-sharing manner means that one and the same disk image is mounted alternately in multiple operating systems. For example, referring to FIG. 13A, the disk image 300 is mounted on the second operating system 120 for a time T2, and then even if there is no focus switch to the first operating system 110, the first operating system Disk image 300 may be remounted for time T1 to 110. The disk image 300 may be remounted to the first operating system 110 for a time T1 and then remounted to the second operating system 120.
  • a write operation is performed on the disk image 300 in the second operating system 120, and the disk image 300 While is mounted on the first operating system 110 for a time T1, a write operation on the disk image 300 may proceed in the first operating system 110.
  • the times T1 and T2 at which the disk image 300 is mounted on each of the first operating system 110 and the second operating system 120 may be different, respectively.
  • the electronic device 1000 may be implemented to mount the disk image 300 for a longer time in the second operating system 120 than in the first operating system 110.
  • the disk image 300 is mounted for a longer time period in the second operating system 120 than in the first operating system 110, so that the user's convenience of using the second operating system 120 can be improved by switching the focus. .
  • the electronic device 1000 may determine a ratio of time that the disk image 300 is mounted on the second operating system 120 and the first operating system 110 based on a user's input pattern on the second operating system 120. It can be implemented to determine.
  • the electronic device 1000 when the user does not operate the electronic device 1000 for a predetermined time or more, when the user operates the electronic device 1000 regardless of a read / write operation on the disk image 300 for a predetermined time or more. Or, if the idle time lasts for a predetermined time or more, the electronic device 1000 increases the ratio of the time T1 at which the disk image 300 is mounted in the first operating system 110, In the second operating system 120, the ratio of the time T2 at which the disk image 300 is mounted can be reduced.
  • the disk image 300 is mounted in a time-sharing manner in the first operating system 110 and the second operating system 120, thereby allowing the disk in the first operating system 110 and the second operating system 120 to be mounted. Image 300 can be used efficiently.
  • the disk image 300 may be mounted in a time-sharing manner on the first operating system 110, the second operating system 120, and the third operating system 130.
  • the disk image 300 is mounted on the second operating system 120 for a time T2, and then, even if there is no focus switch to the first operating system 110, the disk image 300 may be loaded into the first operating system 110.
  • the disk image 300 may be remounted during T1).
  • the disk image 300 may be remounted to the first operating system 110 for a time T1 and then mounted for a time T1 'to the third operating system 130.
  • a write operation is performed on the disk image 300 in the operating system in which the disk image 300 is mounted.
  • the times T1, T1 ′ and T2 at which the disk image 300 is mounted on the background operating system 110, 130 and the focus operating system 120 may be different, respectively.
  • the electronic device 1000 is. It can be implemented to mount the disk image 300 for a longer time in the focus operating system 120 than the background operating systems 110, and 130.
  • the disk image 300 is mounted for a longer time in the focus operating system 120 than the background operating systems 110 and 130, thereby shifting the focus to enhance user convenience in using the focus operating system 120. .
  • the electronic device 1000 is mounted with the disk image 300 in the background operating system 110, 130 based on the workload from the background operating system 110, 130 to the disk image 300. It can be implemented to determine the percentage of time.
  • the electronic device 1000 may be configured to include the first Increase the ratio of time T1 at which disk image 300 is mounted in operating system 110, and decrease the ratio of time T1 ′ at which disk image 300 is mounted in third operating system 130.
  • the workload of local copy can be larger than the workload of download over the network. Accordingly, the workload-heavy task in the background operating systems 110 and 130 is preferentially completed, so that the resources of the electronic device 1000 can be efficiently used.
  • the electronic device 1000 may determine a ratio of time that the disk image 300 is mounted in the focus operating system 120 and the background operating systems 110 and 130 based on a user's input pattern in the focus operating system 120. It can be implemented to determine.
  • the electronic device 1000 when the user does not operate the electronic device 1000 for a predetermined time or more, when the user operates the electronic device 1000 regardless of a read / write operation on the disk image 300 for a predetermined time or more. Or, if the idle time lasts for a predetermined time or more, the electronic device 1000 increases the ratio of the time T1 at which the disk image 300 is mounted in the background operating systems 110 and 130. And decrease the rate of time T2 at which the disk image 300 is mounted in the focus operating system 120.
  • the disk image 300 is mounted in a time-sharing manner, whereby the background operating system 110, and 130 and the focus operating system 120 are mounted. Disk image 300 can be used efficiently.
  • the disk image 300 is unmounted from the background operating system 110 or 130 and mounted to the focus operating system 120, whereby the performance and operating system 110, 120, and 130 of the electronic device 1000 are mounted.
  • time (t2) may take.
  • time t1 or t1 'for the disk image 300 may be taken to mount to the background operating system 110 or 130.
  • 14A and 14B are diagrams for describing a hypervisor in which a plurality of operating systems OS1, OS2 and OS3, or OS4, OS5 and OS6 are driven in an electronic device 1000 according to an embodiment.
  • the electronic device 1000 may be implemented in one hardware.
  • one hardware may include all the components included in the electronic device 1000.
  • a hypervisor can be used to run a plurality of operating systems OS1, OS2 and OS3, or OS4, OS5 and OS6 on one hardware.
  • a hypervisor may run at a first level in hardware, and guest operating systems OS1, OS2, and OS3 for that hypervisor may run at a second level in hardware.
  • the hypervisor virtualizes the resources of the hardware, a plurality of operating systems OS1, OS2, and OS3 can share the resources of the hardware through the hypervisor.
  • the plurality of operating systems OS1, OS2, and OS3 may each operate a virtual machine.
  • the host operating system (OS4) is executed at the first level in hardware, and the hypervisor is installed and executed in the host operating system (OS4) as a general program installed in the host operating system (OS4).
  • OS4 the hypervisor
  • guest operating systems OS5 and OS6 for that hypervisor can run at the third level in hardware.
  • the hypervisor virtualizes the resources of the hardware, allowing a plurality of operating systems (OS4, OS5, and OS6) to share the resources of the hardware through the hypervisor.
  • the guest operating systems OS5 and OS6 may each operate a virtual machine.
  • the invention can be represented by functional block configurations and various processing steps. Such functional blocks may be implemented in various numbers of hardware or / and software configurations that perform particular functions.
  • the present invention relates to integrated circuit configurations such as memory, processing, logic, look-up table, etc., which may execute various functions by the control of one or more microprocessors or other control devices. It can be adopted.
  • the present invention includes various algorithms implemented in data structures, processes, routines or other combinations of programming constructs, including C, C ++ It may be implemented in a programming or scripting language such as Java, assembler, or the like.
  • the functional aspects may be implemented with an algorithm running on one or more processors.
  • the present invention may employ the prior art for electronic environment setting, signal processing, and / or data processing.
  • Terms such as 'mechanism', 'element', 'means' and 'configuration' can be used widely and are not limited to mechanical and physical configurations. The term may include the meaning of a series of routines of software in conjunction with a processor or the like.
  • connection or connection members of the lines between the components shown in the drawings by way of example shows a functional connection and / or physical or circuit connections, in the actual device replaceable or additional various functional connections, physical It may be represented as a connection, or circuit connections.
  • 'essential', 'important' and the like may not be a necessary component for the application of the present invention.

Landscapes

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

Abstract

제1 운영 체제로부터 제2 운영 체제로 포커스를 전환하는 사용자 입력이 수신됨에 따라, 기설정된 기준에 기초하여 제1 운영 체제에 마운트된 디스크 이미지를 제2 운영 체제로 마운트하는 방법 및 디바이스가 개시된다.

Description

운영 체제 간 디스크 이미지를 공유하는 방법 및 디바이스
본 개시는 운영 체제 간 디스크 이미지를 공유하는 방법 및 디바이스에 관한 것으로, 더욱 상세하게는 복수의 운영 체제 간에 충돌 없이 디스크 이미지를 공유할 수 있는 방법 및 디바이스에 관한 것이다.
범용 CPU (Central Processing Unit) 에 기반한 하드웨어 플랫폼들은 기본적으로 하나의 운영 체제 (operating system) 를 구동할 수 있다. 그러나, 하나의 운영 체제를 구동하는 컴퓨터는 하드웨어의 최대 성능을 전부 사용하지 못하고, 사용자로서 해당 운영 체제에 맞게 제작된 프로그램이나 애플리케이션만을 사용할 수밖에 없다.
따라서, 하드웨어 자원을 복수의 운영 체제들이 공유하여 사용할 수 있는 가상화 기술들이 꾸준히 개발되어 왔다. 가상화란 하나의 물리적 하드웨어에서 복수의 운영체제를 구동하는 기술을 의미다. 복수의 운영 체제 각각은 가상 머신 (Virtual Machine) 이라 불릴 수 있다. 가상화는 각 가상 머신 간 실행 환경의 분리, 하드웨어의 활용률 증가, 편리한 리소스 관리 등의 장점을 갖는다.
하나의 하드웨어 플랫폼에서 복수의 운영 체제가 구동되는 경우, 각 운영 체제 상호 간의 데이터를 공유하기 위해, 웹 서버, FTP 서버 등의 별도의 네트워크 프로그램이나, SMB (Server Message Block) 또는 CIFS (Common Internet File System) 와 같은 공유 프로토콜이 이용될 수 있다.
그러나, 네트워크 프로그램이나 공유 프로토콜을 이용하여 데이터를 공유하는 방법은 필연적으로 네트워크 오버헤드를 발생시키며, 사용자 입장에서 해당 프로그램이나 프로토콜을 설정하기가 불편한 단점이 있다.
최근 각 운영 체제 상호 간의 데이터를 공유하기 위한 또 다른 방법으로서, 가상 디스크 이미지를 이용하여 각 운영 체제 상호 간에 데이터를 공유하는 방법이 각광받고 있다. 여기서, 디스크 이미지는 각 운영 체제에 마운트 (mount) 되어 하드 디스크로 에뮬레이트 (emulate) 될 수 있으며, 각 운영 체제는 해당 디스크 이미지를 실질적인 하드 디스크로 인식할 수 있다. 각 운영 체제는 마운트된 디스크 이미지에 데이터를 입력하거나, 마운트된 디스크 이미지로부터 데이터를 출력함으로써, 각 운영 체제 상호 간의 데이터가 공유될 수 있다.
그러나, 각 운영 체제는 모두 동일한 하나의 하드웨어 플랫폼을 이용하는 것이므로, 해당 디스크 이미지도 해당 하드웨어 플랫폼에 기반하여 생성된다. 따라서, 복수의 운영 체제에서 해당 디스크 이미지가 동시에 액세스되는 경우, 해당 디스크 이미지에서 사용자가 의도치 않은 데이터 중복 (data duplication) 이나, 데이터 모순 (data inconsistency), 데이터 오염 (data corruption), 데이터 충돌 (data collision) 등이 발생할 수 있다.
따라서, 복수의 운영 체제 간에 신속하고 용이하게 데이터를 공유할 수 있는 기술의 개발이 요구되고 있다.
상술한 기술적 과제를 달성하기 위한 기술적 수단으로서, 본 개시의 제 1 측면은, 복수의 운영 체제 간 디스크 이미지를 공유하는 전자 디바이스에 있어서, 상기 복수의 운영 체제 및 상기 디스크 이미지를 저장하는 스토리지, 제1 운영 체제로부터 제2 운영 체제로 포커스를 전환하는 사용자 입력을 수신하는 입력 디바이스 및 상기 사용자 입력이 수신됨에 따라, 기설정된 기준에 기초하여 상기 제1 운영 체제에 마운트된 상기 디스크 이미지를 상기 제2 운영 체제로 마운트하는 프로세서를 포함하는, 전자 디바이스를 제공할 수 있다.
개시된 일 실시예에 의해, 복수의 운영 체제 간의 데이터 공유가 용이해질 수 있다.
개시된 일 실시예에 의해, 네트워크 기반의 데이터 공유에 비해 읽기 (read) 및 쓰기 (write) 속도가 향상될 수 있다.
개시된 일 실시예에 의해, 각 운영 체제에서 디스크 이미지를 마운트하기 위한 별도의 작업 없이도, 디스크 이미지는 포커스 전환에 따라 자동으로 마운트될 수 있다.
개시된 일 실시예에 의해, 디스크 이미지가 각 운영 체제에서 자동으로 언마운트 또는 마운트되어, 복수의 운영 체제에서 디스크 이미지 사용에 따른 데이터 중복 (data duplication) 이나, 데이터 모순 (data inconsistency), 데이터 오염 (data corruption), 데이터 충돌 (data collision) 등이 억제될 수 있다.
개시된 일 실시예에 의해, 사용자가 의식하지 않더라도 디스크 이미지가 포커스 전환에 따라 각 운영 체제에서 심리스하게 (seamlessly) 마운트될 수 있다.
개시된 일 실시예에 의해, 각 운영 체제에서 디스크 이미지의 사용 상태에 따라 디스크 이미지가 효율적으로 마운트될 수 있다.
개시된 일 실시예에 의해, 각 운영 체제에서 디스크 이미지의 사용 상태에 따라 디스크 이미지가 심리스하게 (seamlessly) 마운트될 수 있다.
개시된 일 실시예에 의해, 복수의 운영 체제에서 디스크 이미지가 동시에 액세스되는 듯한 사용자 경험이 제공될 수 있다.
도 1a 및 도 1b는 일 실시예에 따른, 전자 디바이스에서 복수의 운영 체제 간 디스크 이미지를 공유하는 일례를 도시한 도면이다.
도 2 및 도 3은 일 실시예에 따른 전자 디바이스의 블록도이다.
도 4는 일 실시예에 따른, 복수의 운영 체제 간 디스크 이미지를 공유하는 방법의 흐름도이다.
도 5는 일 실시예에 따른, 복수의 운영 체제 간 디스크 이미지를 공유하는 방법의 흐름도이다.
도 6은 일 실시예에 따른, 전자 디바이스에서 복수의 운영 체제 간 디스크 이미지를 공유하는 일례를 도시한 도면이다.
도 7은 일 실시예에 따른, 복수의 운영 체제 간 디스크 이미지를 공유하는 방법의 흐름도이다.
도 8a 및 도 8b는 일 실시예에 따른, 전자 디바이스에서 복수의 운영 체제 간 디스크 이미지를 공유하는 일례를 도시한 도면이다.
도 9는 일 실시예에 따른, 복수의 운영 체제 간 디스크 이미지를 공유하는 방법의 흐름도이다.
도 10a 및 도 10b는 일 실시예에 따른, 전자 디바이스에서 복수의 운영 체제 간 디스크 이미지를 공유하는 일례를 도시한 도면이다.
도 11은 일 실시예에 따른, 전자 디바이스에서 복수의 운영 체제 간 디스크 이미지를 공유하는 방법의 흐름도이다.
도 12는 일 실시예에 따른, 복수의 운영 체제에서 디스크 이미지가 시분할 (time-sharing) 방식으로 마운트되는 일례를 도시한 도면이다.
도 13a 및 13b는 일 실시예에 따른, 시분할 (time-sharing) 방식으로 마운트되는 디스크 이미지를 설명하기 위한 개념도이다.
도 14a 및 도 14b는 일 실시예에 따른, 전자 디바이스에서 복수의 운영 체제가 구동되는 하이퍼바이저를 설명하기 위한 도면이다.
상술한 기술적 과제를 달성하기 위한 기술적 수단으로서, 본 개시의 제 1 측면은, 복수의 운영 체제 간 디스크 이미지를 공유하는 전자 디바이스에 있어서, 상기 복수의 운영 체제 및 상기 디스크 이미지를 저장하는 스토리지, 제1 운영 체제로부터 제2 운영 체제로 포커스를 전환하는 사용자 입력을 수신하는 입력 디바이스 및 상기 사용자 입력이 수신됨에 따라, 기설정된 기준에 기초하여 상기 제1 운영 체제에 마운트된 상기 디스크 이미지를 상기 제2 운영 체제로 마운트하는 프로세서를 포함하는, 전자 디바이스를 제공할 수 있다.
또한, 상기 프로세서는 상기 제2 운영 체제에서 상기 디스크 이미지를 액세스하기 위한 사용자 입력이 수신됨에 따라, 상기 제1 운영 체제에 마운트된 상기 디스크 이미지를 상기 제2 운영 체제로 마운트하는, 전자 디바이스를 제공할 수 있다.
또한, 상기 프로세서는 상기 제1 운영 체제에서 상기 디스크 이미지에 대한 쓰기 작업을 정지 (pause) 시키고, 상기 제1 운영 체제에 마운트된 상기 디스크 이미지는 상기 제1 운영 체제에서 상기 쓰기 작업이 정지된 후 상기 제2 운영 체제로 마운트되는, 방법을 제공할 수 있다.
또한, 상기 프로세서는 미리 결정된 기준에 기초하여, 상기 제2 운영 체제에 마운트된 상기 디스크 이미지를 상기 제1 운영 체제로 재마운트하고, 상기 제1 운영 체제에서 상기 디스크 이미지에 대한 상기 쓰기 작업을 속개 (resume) 하는, 전자 디바이스를 제공할 수 있다.
또한, 상기 프로세서는 상기 제2 운영 체제가 상기 디스크 이미지를 이용하는 이용 상태에 기초하여, 상기 디스크 이미지를 상기 제1 운영 체제에 재마운트할 시점을 결정하는, 전자 디바이스를 제공할 수 있다.
또한, 상기 디스크 이미지는 상기 제2 운영 체제에서 사용자의 입력 패턴에 기초하여, 상기 제1 운영 체제로 재마운트되는, 전자 디바이스를 제공할 수 있다.
또한, 상기 디스크 이미지는 상기 제1 운영 체제 및/또는 상기 제2 운영 체제에서 상기 디스크 이미지로의 워크로드 (workload) 에 기초하여, 상기 제1 운영 체제로 재마운트되는, 전자 디바이스를 제공할 수 있다.
또한, 상기 디스크 이미지는 상기 제1 운영 체제 및 상기 제2 운영 체제에서 시분할 (time-sharing) 방식으로 마운트되는, 전자 디바이스를 제공할 수 있다.
또한, 상기 프로세서는 상기 제1 운영 체제가 상기 디스크 이미지를 이용하는 이용 상태에 기초하여, 상기 디스크 이미지를 상기 제2 운영 체제에 마운트할 시점을 결정하는, 전자 디바이스를 제공할 수 있다.
또한, 상기 디스크 이미지의 상기 이용 상태가 쓰기(write) 작업 중인 경우, 상기 프로세서는 상기 제2 운영 체제로의 상기 디스크 이미지의 마운트를 대기하는, 전자 디바이스를 제공할 수 있다.
또한, 상기 이용 상태는 상기 제1 운영 체제의 상기 디스크 이미지에 대한 데이터 입출력(I/O) 패턴에 기초하여 결정되는, 전자 디바이스를 제공할 수 있다.
또한, 상기 데이터 입출력(I/O) 패턴은 상기 제1 운영 체제에서 상기 디스크 이미지의 읽기 스루풋 (read throughput) 과 쓰기 스루풋 (write throughput)에 의해 결정되는, 전자 디바이스를 제공할 수 있다.
또한, 상기 데이터 입출력(I/O) 패턴은 상기 제1 운영 체제에서 상기 디스크 이미지의 읽기 빈도 (read frequency) 와 쓰기 빈도 (write frequency)에 의해 결정되는, 전자 디바이스를 제공할 수 있.
또한, 상기 프로세서는 상기 제1 운영 체제 및 상기 제2 운영 체제에 상기 디스크 이미지를 병렬로 마운트하는, 전자 디바이스를 제공할 수 있다.
또한, 상기 제1 운영 체제가 상기 디스크 이미지를 이용하는 이용 상태에 기초하여, 상기 제1 운영 체제 및 상기 제2 운영 체제 중 적어도 하나의 상기 디스크 이미지에 대한 이용 권한이 결정되는, 전자 디바이스를 제공할 수 있다.
또한, 상기 디스크 이미지의 상기 이용 상태가 읽기(read) 작업 중인 경우, 상기 제2 운영 체제의 상기 디스크 이미지에 대한 이용 권한은 쓰기 (write) 가능 권한으로 결정되는, 전자 디바이스를 제공할 수 있다.
또한, 상기 디스크 이미지의 상기 이용 상태가 쓰기(write) 작업 중인 경우, 상기 제2 운영 체제의 상기 디스크 이미지에 대한 이용 권한은 읽기 전용 (read-only) 권한으로 결정하는, 전자 디바이스를 제공할 수 있다.
또한, 상기 복수의 운영 체제는 각각 상기 디스크 이미지를 마운트하기 위한 애플리케이션을 포함하고, 상기 스토리지는 상기 애플리케이션을 상기 복수의 운영 체제 각각에 대해 저장하는, 전자 디바이스를 제공할 수 있다.
또한, 본 개시의 제 2 측면은, 복수의 운영 체제 간에 디스크 이미지를 공유하는 방법에 있어서, 제1 운영 체제에 상기 디스크 이미지를 마운트하는 단계, 상기 제1 운영 체제에서 제2 운영 체제로 포커스를 전환하는 사용자 입력을 수신하는 단계 및 상기 사용자 입력이 수신됨에 따라, 기설정된 기준에 기초하여 상기 제1 운영 체제에 마운트된 상기 디스크 이미지를 상기 제2 운영 체제로 마운트하는 단계를 포함하는, 방법을 제공할 수 있다.
또한, 본 개시의 제3 측면은 제2 측면의 방법을 컴퓨터에서 실행시키기 위한 프로그램이 기록된 컴퓨터 판독 가능 매체를 제공할 수 있다.
아래에서는 첨부한 도면을 참고하여 실시예들에 대하여 본 발명이 속하는 기술 분야에서 통상의 지식을 가진 자가 용이하게 실시할 수 있도록 상세히 설명한다. 그러나, 본 발명은 여러 가지 상이한 형태로 구현될 수 있으며 여기에서 설명하는 실시예에 한정되지 않는다. 그리고, 도면에서 본 발명을 명확하게 설명하기 위해서 설명과 관계없는 부분은 생략하였으며, 명세서 전체를 통하여 유사한 부분에 대해서는 유사한 도면 부호를 붙였다.
본 명세서에서 사용되는 용어는 다양한 실시예에 따른 기능을 고려하면서 가능한 현재 널리 사용되는 일반적인 용어들을 선택하였으나, 이는 당 분야에 종사하는 기술자의 의도 또는 판례, 새로운 기술의 출현 등에 따라 달라질 수 있다. 또한, 특정한 경우는 출원인이 임의로 선정한 용어도 있으며, 이 경우 해당되는 실시예의 설명 부분에서 상세히 그 의미를 기재할 것이다. 따라서 본 명세서에서 사용되는 용어는 단순한 용어의 명칭이 아닌, 그 용어가 가지는 의미와 본 명세서 전반에 걸친 내용을 토대로 정의되어야 한다.
단수의 표현은 문맥상 명백하게 다르게 뜻하지 않는 한, 복수개의 표현을 포함한다. 본 명세서에서 "포함하다" 또는 "가지다" 등의 용어는 명세서상에 기재된 특징, 숫자, 단계, 동작, 구성요소, 부품 또는 이들을 조합한 것이 존재함을 지정하려는 것이지, 하나 또는 그 이상의 다른 특징들이나 숫자, 단계, 동작, 구성요소, 부품 또는 이들을 조합한 것들의 존재 또는 부가 가능성을 미리 배제하지 않는 것으로 이해되어야 한다. 특히, 명세서상에 기재된 숫자들은 이해를 돕기 위한 예로서, 본 발명은 명세서상에 기재된 숫자들에 의해 한정되어서는 안 된다.
또한, 명세서에 기재된 "…부", "모듈" 등의 용어는 적어도 하나의 기능이나 동작을 처리하는 단위를 의미하며, 이는 하드웨어 또는 소프트웨어로 구현되거나 하드웨어와 소프트웨어의 결합으로 구현될 수 있다.
명세서 전체에서 비록 "제1", "제2" 등이 다양한 구성요소들을 서술하기 위해서 사용되나, 이들 구성요소들은 이들 용어에 의해 제한되지 않음은 물론이다. 이들 용어들은 단지 하나의 구성요소를 다른 구성요소와 구별하기 위하여 사용하는 것이다. 따라서 이하에서 언급되는 "제1 구성요소"는 실시예의 기술적 사상 내에서 "제2 구성요소"일 수도 있음은 물론이다.
본 명세서에서 사용되는 용어에 대해 간략히 설명하고, 본 발명에 대해 구체적으로 설명하기로 한다.
명세서 전체에서 전자 디바이스는 스마트폰, 태블릿, 휴대폰, PDA (personal digital assistant), 미디어 플레이어, PMP (Portable Multimedia Player), 전자책 단말기, 디지털방송용 단말기, PC (Personal Computer), 노트북 (laptop), 마이크로 서버, GPS (global positioning system) 장치, 네비게이션, 키오스크, MP3 플레이어, 스마트 TV, 디지털 카메라 및 기타 모바일, 또는, 비모바일 컴퓨팅 장치일 수 있으나, 이에 제한되지 않는다.
명세서 전체에서 하이퍼바이저 (hypervisor) 는 하나의 하드웨어에서 복수의 운영 체제 (Operating Systems) 를 동시에 구동하기 위한 논리적 플랫폼을 의미한다. 하이퍼바이저는 하나의 하드웨어에서 독립적으로 운영되는 복수의 가상 머신을 생성하고, 하드웨어의 자원을 가상화할 수 있다. 생성된 가상 머신은 각각의 운영 체제에 의해 운영될 수 있으며, VirtIO와 같은 I/O 가상 구현 프레임워크를 이용하여 하이퍼바이저와 통신할 수 있으며, 하이퍼바이저를 통해 하드웨어를 액세스 (access) 할 수 있다.
하이퍼바이저로서, KVM (Kernel Virtual Machine), QEMU (Quick EMUlator), Xen, "Citrix사"의 XenServer, "Sun사"의 Logical Domain Hypervisor, "Hitachi사"의 Virtage Hypervisor, "VMware사"의 VMware ESX Server, VMware Server, VMware Workstation, 및 VMware Fusion, "마이크로소프트사"의 Hyper-V, Parallel Server, Virtual PC, 및 Virtual Server, "Oracle & SUN Microsystems사"의 Virtual Box, "SWsoft사"의 Parallels Workstation 및 Parallels Desktop 등과 같은 다양한 소프트웨어들이 이용될 수 있다.
본 명세서에서 디스크 이미지 (disk image) 는 하드 디스크 볼륨 (hard disk volume) 의 구조 (structure) 를 가지고 콘텐트를 저장할 수 있는 파일을 의미하며, 하이퍼바이저에 의해 운영 체제에 마운트되면 하드 디스크로 에뮬레이트 (emulate) 될 수 있다. 즉, 운영 체제는 마운트된 디스크 이미지를 플래시 메모리나 하드 디스크와 같은 저장 매체로 인식할 수 있다.
본 명세서에서 포커스는 전자 디바이스에서 활성화된 운영 체제를 가리키는 가상의 인디케이터 (indicator) 를 의미한다. 예를 들어, 전자 디바이스에서 활성화된 운영 체제가 전자 디바이스의 전체 화면에 디스플레이되는 경우, 전체 화면으로 디스플레이되고 있는 운영 체제에 포커스가 위치한다.
또 다른 예를 들면, 전자 디바이스의 한 화면에서 복수의 운영 체제가 함께 디스플레이되는 경우, 예컨대, 전자 디바이스의 화면이 복수의 영역으로 분할되고, 각 영역에서 각 운영 체제가 디스플레이되거나, 전자 디바이스의 화면에서 각 운영 체제의 적어도 일부가 중첩되어 디스플레이되는 경우, 사용자에 의해 가장 나중에 이용된 운영 체제에 포커스가 위치한다.
본 명세서에서 포커스 운영 체제 (focus Operating System) 는 포커스가 위치하는 운영 체제를 의미하고, 백그라운드 운영 체제 (background Operating System) 는 포커스가 위치하지 않은 운영 체제를 의미한다.
도 1a 및 도 1b는 일 실시예에 따른, 전자 디바이스 (1000) 에서 복수의 운영 체제 간 디스크 이미지 (300) 를 공유하는 일례를 도시한 도면이다.
도 1a 및 도 1b 에서 전자 디바이스 (1000) 는 태블릿 컴퓨터 (1000) 로 도시되었으나, 이에 제한되지 않고 다양하게 구현될 수 있다. 도 1a 및 도 1b를 참조하면, 전자 디바이스 (1000) 에서 복수의 운영 체제가 구동되어, 각 운영 체제가 실행된 화면 (110, 120, 및 130) 이 디스플레이될 수 있다. 설명의 편의상, 본 명세서의 기재에서 각 운영 체제의 실행 화면 (110, 120, 및 130) 을 지시하는 경우, 각 운영 체제 (110, 120, 및 130) 그 자체를 지시하는 것과 동일한 것으로 가정한다. 여기서, 복수의 운영 체제 (110, 120, 및 130) 중 제1 운영 체제 (110) 는 안드로이드 (110), 제2 운영 체제 (120) 는 마이크로소프트사의 윈도우 (120), 그리고 제3 운영 체제는 애플사의 iOS (130) 일 수 있으나, 이에 제한되지 않고 전자 디바이스 (1000) 에서 다양한 운영 체제가 구동될 수 있다.
도 1a를 참조하면, 복수의 운영 체제 (110, 120, 및 130) 중 제1 운영 체제 (110) 에 디스크 이미지 (300) 가 마운트된다. 제1 운영 체제 (110) 에 디스크 이미지 (300) 가 마운트되면, 제1 운영 체제 (110) 는 디스크 이미지 (300) 를 저장 매체로 인식할 수 있다.
따라서, 해당 디스크 이미지 (300) 가 제1 운영 체제 (110) 에서 자유롭게 액세스됨으로써, 제1 운영 체제 (110) 는 디스크 이미지 (300) 에 저장된 데이터를 읽을 (read) 수 있다. 또한, 제1 운영 체제 (110) 에서 처리되는 데이터가 해당 디스크 이미지 (300) 에 저장될 수 있고, 사용자가 별도의 작업을 통해 해당 디스크 이미지 (300) 에 데이터를 저장할 수도 있다.
전자 디바이스 (1000) 는 제1 운영 체제 (110) 로부터 제2 운영 체제 (120) 로 포커스를 전환하는 사용자 입력을 수신하면, 도 1b에 도시된 바와 같이, 제2 운영 체제 (120) 로 포커스를 전환하고, 기설정된 기준에 기초하여 제1 운영 체제 (110) 에 마운트된 디스크 이미지 (300) 를 제2 운영 체제 (120) 로 마운트한다.
제2 운영 체제 (120) 에 디스크 이미지 (300) 가 마운트되면, 제2 운영 체제 (120) 는 디스크 이미지 (300) 를 저장 매체로 인식할 수 있다. 여기서, 해당 디스크 이미지 (300) 는 제1 운영 체제 (110) 에서 처리된 데이터 및 사용자가 저장한 데이터를 포함할 수 있다.
따라서, 제2 운영 체제 (120) 에서도 제1 운영 체제 (110) 에서 처리된 데이터 및 사용자가 저장한 데이터가 액세스되어, 제1 운영 체제 (110) 및 제2 운영 체제 (120) 간에 데이터가 공유될 수 있다.
또한, 제2 운영 체제 (120) 에서 로컬 (local) 의 하드 디스크를 이용하는 것과 같은 사용자 경험이 사용자에게 제공될 수 있으므로, 종래의 네트워크 기반의 데이터 공유에 비해 데이터 읽기 (read) 및 쓰기 (write) 속도가 비약적으로 향상될 수 있다.
나아가, 사용자가 제2 운영 체제 (120) 에서 디스크 이미지 (300) 를 마운트하기 위한 별도의 작업 없이도, 제2 운영 체제 (120) 로 포커스가 전환됨에 따라 디스크 이미지 (300) 가 제2 운영 체제 (120) 로 마운트될 수 있으므로, 사용자가 운영 체제마다 디스크 이미지 (300) 를 마운트하는 불편이 해소될 수 있다.
한편, 제3 운영 체제 (130) 에 디스크 이미지 (300) 가 마운트되어, 제1 운영 체제 (110), 제2 운영 체제 (120), 및 제3 운영 체제 (130) 간에 데이터가 공유될 수도 있다.
도 2 및 도 3은 일 실시예에 따른 전자 디바이스 (1000) 의 블록도이다.
도 2에 도시된 바와 같이, 전자 디바이스 (1000) 는 스토리지 (1700), 입력 디바이스 (1100), 및 프로세서 (1300) 를 포함한다. 그러나, 도 2에 도시된 구성 요소 모두가 전자 디바이스 (1000) 의 필수 구성 요소인 것은 아니다. 도 2에 도시된 구성 요소보다 많은 구성 요소에 의해 전자 디바이스 (1000) 가 구현될 수도 있고, 도 2에 도시된 구성 요소보다 적은 구성 요소에 의해 전자 디바이스 (1000) 가 구현될 수도 있다.
스토리지 (1700) 는, 프로세서 (1300) 의 처리 및 제어를 위한 프로그램을 저장할 수 있고, 전자 디바이스 (1000) 로 입력되거나 전자 디바이스 (1000) 로부터 출력되는 데이터를 저장할 수도 있다.
구체적으로, 스토리지 (1700) 는 복수의 운영 체제 및 디스크 이미지를 저장한다.
운영 체제는 커널, 미들웨어, API 등을 포함할 수 있다. 예를 들어, 운영 체제는 안드로이드 (Android), iOS, 윈도우 (Windows), 블랙베리 OS (Black berry OS), 리눅스 (Linux), 웹 OS, 미고 (MeeGo), BREW (Binary Runtime Environment for Wireless), 심비안 (Symbian), 타이젠 (Tizen), 및 바다 (Bada) 와 같은 모바일 운영 체제일 수 있으나, 이에 제한되지 않는다.
디스크 이미지는 raw, qcow (QEMU Copy On Write), qcow2 등의 파일 포맷을 가질 수 있으며, 디스크 이미지에 데이터가 저장됨에 따라 해당 디스크 이미지의 파일 사이즈는 증가할 수 있다. 나아가, 각 운영 체제에서 마운트된 디스크 이미지가 액세스될 수 있도록, 디스크 이미지는 복수의 운영 체제에서 모두 호환되는 파일 시스템으로 포맷될 수 있다.
입력 디바이스 (1100) 는 사용자가 전자 디바이스 (1000) 를 제어하기 위해 데이터를 입력하는 수단을 의미한다.
구체적으로, 입력 디바이스 (1100) 는 제1 운영 체제 (110) 로부터 제2 운영 체제 (120) 로 포커스를 전환하는 사용자 입력을 수신할 수 있다.
프로세서 (1300) 는 통상적으로 전자 디바이스 (1000) 의 전반적인 동작을 제어함으로써, 전자 디바이스 (1000) 의 기능을 수행할 수 있다. 예를 들어, 프로세서 (1300) 는, 스토리지 (1700) 에 저장된 프로그램들을 실행함으로써, 스토리지 (1700) 및 입력 디바이스 (1100) 를 전반적으로 제어할 수 있다.
구체적으로, 프로세서 (1300) 는 입력 디바이스 (1100) 를 통해 제1 운영 체제 (110) 로부터 제2 운영 체제 (120) 로 포커스를 전환하는 사용자 입력이 수신됨에 따라, 기설정된 기준에 기초하여 제1 운영 체제 (110) 에 마운트된 디스크 이미지 (300) 를 제2 운영 체제 (120) 로 마운트한다.
도 1a 및 도 1b를 참조하면, 전자 디바이스 (1000) 에서 활성화된 운영 체제가 전자 디바이스 (1000) 의 전체 화면에 디스플레이되는 경우, 전체 화면으로 디스플레이되고 있는 운영 체제에 포커스가 위치한다. 도 1a에서 포커스는 제1 운영 체제 (110) 에 위치하여 제1 운영 체제 (110) 는 포커스 운영 체제이고, 제2 운영 체제 (120) 및 제3 운영 체제 (130)는 백그라운드 운영 체제이다. 도 1b에서 포커스는 제2 운영 체제 (120) 에 위치하여 제2 운영 체제 (120) 는 포커스 운영 체제이고, 제1 운영 체제 (110) 및 제3 운영 체제 (130) 는 백그라운드 운영 체제이다.
일 실시예에서, 제1 운영 체제 (110) 로부터 제2 운영 체제 (120) 로 포커스를 전환하는 사용자 입력이 수신되어 제2 운영 체제 (120) 로 포커스가 전환되면, 제1 운영 체제 (110) 가 전체 화면으로 디스플레이되던 전자 디바이스 (1000) 는 제2 운영 체제 (120) 를 전체 화면으로 디스플레이할 수 있다.
일 실시예에서, 전자 디바이스 (1000) 가 스마트폰이나 태블릿과 같이, 터치 스크린 디스플레이를 포함하는 경우, 제1 운영 체제 (110) 로부터 제2 운영 체제 (120) 로 포커스를 전환하는 사용자 입력은 복수의 포인터를 이용한 드래그 또는 스와이프 제스쳐 입력일 수 있다.
예컨대, 도 1a에 도시된 바와 같이, 제1 운영 체제 (110) 가 전체 화면으로 디스플레이되고 있는 전자 디바이스 (1000) 에서 복수의 포인터가 좌측 방향으로 이동하는 드래그 또는 스와이프 제스쳐가 입력되면, 제1 운영 체제 (110) 의 다음 운영 체제, 즉, 제2 운영 체제 (120) 로 포커스가 전환되어 도 1b에 도시된 바와 같이, 제2 운영 체제 (120) 가 전자 디바이스 (1000) 에서 전체화면으로 디스플레이될 수 있다.
일 실시예에서, 제1 운영 체제 (110) 로부터 제2 운영 체제 (120) 로 포커스를 전환하는 사용자 입력은 제2 운영 체제 (120) 를 실행하는 사용자 입력일 수 있다. 예컨대, 제2 운영 체제 (120) 를 실행하는 사용자 입력은 제2 운영 체제 (120) 를 실행하기 위한 바로가기 아이콘, 물리적 버튼, 가상 버튼, 및/또는 단축키에 대한 입력일 수 있다. 여기서 제2 운영 체제 (120) 를 실행하기 위한 바로가기 아이콘은 다른 운영 체제의 실행 화면, 예컨대, 제1 운영 체제 (110) 및/또는 제3 운영 체제 (130) 의 실행 화면에 배치될 수도 있다.
일 실시예에서, 전자 디바이스 (1000) 의 한 화면에서 복수의 운영 체제가 함께 디스플레이될 수 있다. 예컨대, 전자 디바이스 (1000) 의 화면이 복수의 영역으로 분할되고, 각 영역에서 각 운영 체제가 디스플레이될 수 있다. 또는, 전자 디바이스 (1000) 의 화면에서 각 운영 체제의 적어도 일부가 중첩되어 디스플레이될 수도 있다.
전자 디바이스 (1000) 의 한 화면에서 복수의 운영 체제가 함께 디스플레이되는 경우, 제1 운영 체제로부터 제2 운영 체제로 포커스를 전환하는 사용자 입력은 제2 운영 체제의 실행 화면을 선택하는 사용자 입력일 수 있다. 예컨대, 전자 디바이스 (1000) 가 스마트폰이나 태블릿과 같이, 터치 스크린 디스플레이를 포함하는 경우, 제2 운영 체제의 실행 화면을 선택하는 사용자 입력은 제2 운영 체제의 실행 화면에 대한 탭 제스처 입력일 수 있다.
도 2에 도시된 구성 요소 모두가 전자 디바이스 (1000) 의 필수 구성 요소인 것은 아니다. 도 2에 도시된 구성 요소보다 많은 구성 요소에 의해 전자 디바이스 (1000) 가 구현될 수도 있고, 예를 들어, 도 3에 도시된 바와 같이, 일 실시예에 따른 전자 디바이스 (1000) 는 전술된 스토리지 (1700), 입력 디바이스 (1100), 및 프로세서 (1300) 이외에 출력 디바이스 (1200), 센서 (1400), 통신 인터페이스 (1500), 및 A/V 입력 디바이스 (1600) 를 더 포함할 수도 있다.
이하에서는 전자 디바이스 (1000) 의 각 구성 요소들을 상세히 설명한다.
입력 디바이스 (1100) 는 사용자가 전자 디바이스 (1000) 를 제어하기 위해 데이터를 입력하는 수단을 의미한다. 예를 들어, 입력 디바이스 (1100) 에는 키 패드 (key pad), 돔 스위치 (dome switch), 터치 패드 (접촉식 정전 용량 방식, 압력식 저항막 방식, 적외선 감지 방식, 표면 초음파 전도 방식, 적분식 장력 측정 방식, 피에조 효과 방식 등), 조그 휠, 조그 스위치 등이 있을 수 있으나 이에 한정되는 것은 아니다. 특히, 터치 패드가 디스플레이 (1210) 와 레이어 구조를 구성하여, 터치 스크린 또는 터치 스크린 디스플레이로 구성되는 경우, 입력 디바이스 (1100) 는 입력 장치 이외에 출력 장치로도 사용될 수 있다.
터치 패드는 직접 터치 (real-touch) 뿐만 아니라 근접 터치 (proximity touch) 도 검출될 수 있도록 구성될 수 있으며, 본 명세서에서 설명의 편의상 직접 터치 (real-touch) 및 근접 터치 (proximity touch) 는 모두 "터치"로 지칭될 수 있다.
본 명세서에서 "직접 터치 (real-touch)"는 화면에 포인터 (pointer) 가 물리적으로 터치된 상태에서 발생되는 입력을 의미하고, "근접 터치 (proximity-touch)"는 포인터 (pointer) 가 화면에 물리적으로 터치되지 않더라도, 해당 화면으로부터 소정 거리만큼 접근된 상태에서 발생되는 입력을 의미한다.
본 명세서에서 "포인터 (pointer)"는 디스플레이된 화면의 특정 부분을 직접 터치하거나 근접 터치하기 위한 도구를 말한다. 그 일례로 스타일러스 펜, 손가락 등이 있다.
출력 디바이스 (1200) 는 오디오 신호 또는 비디오 신호 또는 진동 신호를 출력할 수 있으며, 출력 디바이스 (1200) 는 디스플레이 (1210), 음향 출력 디바이스 (1220), 및 진동 모터 (1230) 를 포함할 수 있다.
디스플레이 (1210) 는 전자 디바이스 (1000) 에서 처리되는 정보를 디스플레이한다. 예를 들어, 디스플레이 (1210) 는 전자 디바이스 (1000) 에서 구동되는 운영 체제의 실행 화면과 운영 체제에서 구동되는 애플리케이션의 실행 화면을 디스플레이할 수 있다.
한편, 디스플레이 (1210) 와 터치패드가 레이어 구조를 구성하여 터치 스크린으로 구성되는 경우, 디스플레이 (1210) 는 출력 장치 이외에 입력 장치로도 사용될 수 있다. 디스플레이 (1210) 는 액정 디스플레이 (liquid crystal display), 박막 트랜지스터 액정 디스플레이 (thin film transistor-liquid crystal display), 유기 발광 다이오드 (organic light-emitting diode), 플렉시블 디스플레이 (flexible display), 3차원 디스플레이 (3D display), 전기영동 디스플레이 (electrophoretic display) 중에서 적어도 하나를 포함할 수 있다. 그리고, 전자 디바이스 (1000) 의 구현 형태에 따라 전자 디바이스 (1000) 는 디스플레이 (1210) 를 2개 이상 포함할 수도 있다. 이때, 2개 이상의 디스플레이 (1210) 는 힌지 (hinge) 를 이용하여 마주보게 배치될 수 있다.
음향 출력 디바이스 (1220) 는 통신 인터페이스 (1500) 로부터 수신되거나 메모리 (1700) 에 저장된 오디오 데이터를 출력한다. 또한, 음향 출력 디바이스 (1220) 는 전자 디바이스 (1000) 에서 수행되는 기능과 관련된 음향 신호를 출력한다. 이러한 음향 출력 디바이스 (1220) 에는 스피커 (speaker), 버저 (Buzzer) 등이 포함될 수 있다.
진동 모터 (1230) 는 진동 신호를 출력할 수 있다. 예를 들어, 진동 모터 (1230) 는 오디오 데이터 또는 비디오 데이터의 출력에 대응하는 진동 신호를 출력할 수 있다. 또한, 진동 모터 (1230) 는 터치스크린에 터치가 입력되는 경우 진동 신호를 출력할 수도 있다.
프로세서 (1300) 는 통상적으로 전자 디바이스 (1000) 의 전반적인 동작을 제어함으로써, 전자 디바이스 (1000) 의 기능을 수행할 수 있다. 예를 들어, 프로세서 (1300) 는, 스토리지 (1700) 에 저장된 프로그램들을 실행함으로써, 입력 디바이스 (1100), 출력 디바이스 (1200), 센서 (1400), 통신 인터페이스 (1500), A/V 입력 디바이스 (1600) 등을 전반적으로 제어할 수 있다.
센서 (1400) 는 전자 디바이스 (1000) 의 상태 또는 전자 디바이스 (1000) 주변의 상태를 감지하고, 감지된 정보를 프로세서 (1300) 로 전달할 수 있다.
센서 (1400) 는 지자기 센서 (Magnetic sensor) (1410), 가속도 센서 (Acceleration sensor) (1420), 온/습도 센서 (1430), 적외선 센서 (1440), 자이로스코프 센서 (1450), 위치 센서 (예컨대, GPS) (1460), 기압 센서 (1470), 근접 센서 (1480), 및 RGB 센서 (illuminance sensor) (1490) 중 적어도 하나를 포함할 수 있으나, 이에 한정되는 것은 아니다. 각 센서들의 기능은 그 명칭으로부터 당업자가 직관적으로 추론할 수 있으므로, 구체적인 설명은 생략하기로 한다.
통신 인터페이스 (1500) 는 전자 디바이스 (1000) 와 외부 장치 간의 통신을 하게 하는 하나 이상의 구성요소를 포함할 수 있다. 예를 들어, 통신 인터페이스 (1500) 는, 근거리 통신 인터페이스 (1510), 이동 통신 인터페이스 (1520), 방송 수신부 (1530) 를 포함할 수 있다.
근거리 통신 인터페이스 (short-range wireless communication unit) (151) 는 블루투스 통신 인터페이스, BLE (Bluetooth Low Energy) 통신 인터페이스, 근거리 무선 통신 인터페이스 (Near Field Communication unit), WLAN (와이파이) 통신 인터페이스, 지그비 (Zigbee) 통신 인터페이스, 적외선 (IrDA, infrared Data Association) 통신 인터페이스, WFD (Wi-Fi Direct) 통신 인터페이스, UWB (ultra wideband) 통신 인터페이스, Ant+ 통신 인터페이스 등을 포함할 수 있으나, 이에 한정되는 것은 아니다.
이동 통신 인터페이스 (1520) 는 이동 통신망 상에서 기지국, 외부의 단말, 서버 중 적어도 하나와 무선 신호를 송수신한다. 여기에서, 무선 신호는, 음성 신호, 화상 통화 신호 또는 문자/멀티미디어 메시지 송수신에 따른 다양한 형태의 데이터를 포함할 수 있다.
방송 수신부 (1530) 는 방송 채널을 통하여 외부로부터 방송 신호 및/또는 방송 관련된 정보를 수신한다. 방송 채널은 위성 채널, 지상파 채널을 포함할 수 있다. 구현 예에 따라서 전자 디바이스 (1000) 가 방송 수신부 (1530) 를 포함하지 않을 수도 있다.
A/V (Audio/Video) 입력 디바이스 (1600) 는 오디오 신호 또는 비디오 신호 입력을 위한 것으로, 이에는 카메라 (1610) 와 마이크로폰 (1620) 등이 포함될 수 있다. 카메라 (1610) 은 화상 통화모드 또는 촬영 모드에서 이미지 센서를 통해 정지영상 또는 동영상 등의 화상 프레임을 얻을 수 있다. 이미지 센서를 통해 캡쳐된 이미지는 프로세서 (1300) 또는 별도의 이미지 프로세서를 통해 처리될 수 있다.
카메라 (1610) 에서 처리된 화상 프레임은 스토리지 (1700) 에 저장되거나 통신 인터페이스 (1500) 를 통하여 외부로 전송될 수 있다. 카메라 (1610) 는 단말기의 구성 태양에 따라 2개 이상이 구비될 수도 있다.
마이크로폰 (1620) 은, 외부의 음향 신호를 입력 받아 전기적인 음성 데이터로 처리한다. 예를 들어, 마이크로폰 (1620) 은 외부 디바이스 또는 화자로부터 음향 신호를 수신할 수 있다. 마이크로폰 (1620) 는 외부의 음향 신호를 입력 받는 과정에서 발생 되는 잡음 (noise) 를 제거하기 위한 다양한 잡음 제거 알고리즘을 이용할 수 있다. 마이크로폰 (1620) 은 전술된 프로세서 (1300) 에 의해 제공된 문제 콘텐트에 대응하는 사용자의 음성 답변 입력을 수신할 수 있다.
스토리지 (1700) 는 플래시 메모리 타입 (flash memory type), 하드디스크 타입 (hard disk type), 멀티미디어 카드 마이크로 타입 (multimedia card micro type), 카드 타입의 메모리 (예를 들어 SD 또는 XD 메모리), 램 (RAM, Random Access Memory) SRAM (Static Random Access Memory), 롬 (ROM, Read-Only Memory), EEPROM (Electrically Erasable Programmable Read-Only Memory), PROM (Programmable Read-Only Memory), 자기 메모리, 자기 디스크, 광디스크 중 적어도 하나의 타입의 저장매체를 포함할 수 있다. 스토리지는 메모리로 지칭될 수도 있다.
스토리지 (1700) 에 저장된 프로그램들은 그 기능에 따라 복수 개의 모듈들로 분류할 수 있는데, 예를 들어, UI 모듈 (1710), 터치 스크린 모듈 (1720), 알림 모듈 (1730) 등으로 분류될 수 있다.
UI 모듈 (1710) 은, 애플리케이션 별로 전자 디바이스 (1000) 와 연동되는 특화된 UI, GUI 등을 제공할 수 있다. 터치 스크린 모듈 (1720) 은 사용자의 터치 스크린 상의 터치 제스처를 감지하고, 터치 제스처에 관한 정보를 프로세서 (1300) 로 전달할 수 있다. 일 실시예에 따른 터치 스크린 모듈 (1720) 은 터치 코드를 인식하고 분석할 수 있다. 터치 스크린 모듈 (1720) 은 컨트롤러를 포함하는 별도의 하드웨어로 구성될 수도 있다.
터치 패드가 사용자의 터치를 감지하기 위해 터치 패드의 내부 또는 주변에 다양한 센서가 구비될 수 있다. 이러한 다양한 센서의 일례로 촉각 센서가 있다. 촉각 센서는 사람이 느끼는 정도로 또는 그 이상으로 특정 물체의 접촉을 감지하는 센서를 말한다. 촉각 센서는 접촉면의 거칠기, 접촉 물체의 단단함, 접촉 지점의 온도 등의 다양한 정보를 감지할 수 있다.
또한, 이러한 다양한 센서의 일례로 근접 센서가 있다. 근접 센서는 소정의 검출면에 접근하는 물체, 혹은 근방에 존재하는 물체의 유무를 전자계의 힘 또는 적외선을 이용하여 기계적 접촉이 없이 검출하는 센서를 말한다. 근접 센서의 예로는 투과형 광전 센서, 직접 반사형 광전 센서, 미러 반사형 광전 센서, 고주파 발진형 근접 센서, 정전용량형 근접 센서, 자기형 근접 센서, 적외선 근접 센서 등이 있다.
또한, 이러한 다양한 센서의 일례로 압력 감지 (force touch) 센서가 있다. 터치 패드를 터치하는 압력의 크기에 따라, 전자 디바이스 (1000) 에서 서로 다른 기능이 수행될 수 있어, 터치 패드를 통해 인가될 수 있는 제스처 (gesture) 입력이 더욱 다양화될 수 있다.
제스처 입력은 다양한 방식으로 구현될 수 있는데, 그 중 "탭 (tap)"은 터치 패드 상에서 포인터가 한 번 터치된 후 터치 패드로부터 포인터가 떨어지면서 인가되는 입력 방식을 의미하며, "더블 탭 (double tap)"이란 두 번, "멀티플 탭 (multiple tap)"은 세 번 이상의 터치가 소정 시간 내에 인가되는 입력 방식을, "롱 탭 (long tap)"이란 소정 시간 이상 또는 특정 이벤트가 발생할 때까지 터치 상태를 유지하여 인가되는 입력 방식, 즉, 길게 탭 하는 입력 방식을 의미한다. 또한, "드래그 (drag)"는 사용자가 포인터를 이용하여 터치 패드를 터치한 후, 터치 패드와 포인터가 터치된 상태를 유지하면서 포인터를 터치 패드 상에서 다른 위치로 이동시키는 동작을 의미하며, "스와이프 (swipe)"는 기본적으로 "드래그"와 마찬가지로, 사용자가 포인터를 이용하여 터치 패드를 터치한 후, 터치 패드와 포인터가 터치된 상태를 유지하면서 포인터를 터치 패드 상에서 다른 위치로 이동시키는 동작을 의미하나, 이동 속도가 비교적 "드래그"보다 빠른 동작을 의미한다.
알림 모듈 (1730) 은 전자 디바이스 (1000) 의 이벤트 발생을 알리기 위한 신호를 발생할 수 있다. 전자 디바이스 (1000) 에서 발생되는 이벤트의 예로는 신호 수신, 메시지 수신, 키 신호 입력, 일정 알림 등이 있다. 알림 모듈 (1730) 은 디스플레이 (1210) 를 통해 비디오 신호 형태로 알림 신호를 출력할 수도 있고, 음향 출력 디바이스 (1220) 를 통해 오디오 신호 형태로 알림 신호를 출력할 수도 있고, 진동 모터 (1230) 를 통해 진동 신호 형태로 알림 신호를 출력할 수도 있다.
또한, 도 2 및 도 3에 도시된 전자 디바이스 (1000) 의 각 구성들 중 일부 또는 전부는 적어도 하나의 하드웨어 프로세서에 의해 구현될 수 있다. 예를 들어, 전자 디바이스 (1000) 의 메인 프로세서 외의 별도의 프로세서를 통하여, 전자 디바이스 (1000) 의 각 구성들 중 일부 또는 전부가 구현될 수 있다.
또한, 도 2 및 도 3에 도시된 전자 디바이스 (1000) 의 각 구성들 중 일부는 적어도 하나의 소프트웨어 프로그램에 의해 구현될 수 있다. 예를 들어, 전자 디바이스 (1000) 의 일부 기능은 운영 체제 (Operating System) 프로그램에 의해 구현되고, 일부 기능은 애플리케이션 프로그램에 의해 구현될 수 있다. 이에 따라, 전자 디바이스 (1000) 의 기능들은 적어도 하나의 하드웨어 및 적어도 하나의 소프트웨어에 의해 구현될 수 있으며, 소프트웨어에 의해 구현되는 전자 디바이스 (1000) 의 기능들은, 전자 디바이스 (1000) 에 설치된 운영 체제 및 애플리케이션에 의해 실행될 수 있다.
일 실시예에 따른 전자 디바이스 (1000) 는 프로세서, 프로그램 데이터를 저장하고 실행하는 메모리, 디스크 드라이브와 같은 영구 스토리지 (permanent storage), 외부 장치와 통신하는 통신 포트, 터치 패널, 키 (key), 버튼과 같은 사용자 인터페이스 장치 등을 포함할 수 있다. 소프트웨어 모듈 또는 알고리즘으로 구현되는 방법들은 상기 프로세서상에서 실행 가능한 컴퓨터가 읽을 수 있는 코드들 또는 프로그램 명령들로서 컴퓨터가 읽을 수 있는 기록 매체 상에 저장될 수 있다. 여기서 컴퓨터가 읽을 수 있는 기록 매체로 마그네틱 저장 매체 (예컨대, ROM (read-only memory), RAM (random-access memory), 플로피 디스크, 하드 디스크), 광학적 판독 매체 (예컨대, 시디롬 (CD-ROM), 디브이디 (DVD: Digital Versatile Disc) ) 등이 있다. 컴퓨터가 읽을 수 있는 기록 매체는 네트워크로 연결된 컴퓨터 시스템들에 분산되어, 분산 방식으로 컴퓨터가 판독 가능한 코드가 저장되고 실행될 수 있다. 매체는 컴퓨터에 의해 판독가능하며, 메모리에 저장되고, 프로세서에서 실행될 수 있다.
도 4는 일 실시예에 따른, 복수의 운영 체제 (110, 120, 및 130) 간 디스크 이미지 (300) 를 공유하는 방법의 흐름도이다.
설명의 편의상, 도 1a 및 도 1b를 참조하여 설명한다.
단계 S100에서 전자 디바이스 (1000) 는 제1 운영 체제 (110) 에 디스크 이미지 (300) 를 마운트한다.
도 1a를 참조하면, 제1 운영 체제 (110) 는 안드로이드 운영 체제 (110) 일 수 있다. 제1 운영 체제 (110) 에 디스크 이미지 (300) 가 마운트되면, 제1 운영 체제 (110) 에서 마운트된 디스크 이미지 (300) 가 액세스될 수 있다.
도 1a에 도시된 바와 같이 제1 운영 체제 (110) 에 디스크 이미지 (300) 가 마운트되면, 제1 운영 체제 (110) 는 마운트된 디스크 이미지 (300) 를 플래시 메모리나 하드 디스크와 같은 저장 매체로 인식할 수 있다. 나아가, 해당 디스크 이미지 (300) 에 대해 제1 운영 체제 (110) 는 쓰기 가능 권한을 가질 수 있다.
따라서, 제1 운영 체제 (110) 는 마운트된 디스크 이미지 (300) 에 저장된 데이터를 읽을 (read) 수 있다.
예를 들어, 마운트된 디스크 이미지 (300) 에 MP3 파일과 같은 오디오 파일이 저장되어 있는 경우, 제1 운영 체제 (110) 의 음악 재생 애플리케이션을 통해 디스크 이미지 (300) 에 저장된 오디오 파일이 재생될 수도 있다. 또한, 마운트된 디스크 이미지 (300) 로부터 제1 운영 체제 (110) 로 데이터가 복사될 수도 있다.
또한, 제1 운영 체제 (110) 에서 처리되는 데이터가 마운트된 디스크 이미지 (300) 에 쓰여질 (written) 수도 있다. 즉, 제1 운영 체제 (110) 에서 처리되는 데이터가 마운트된 디스크 이미지 (300) 에 저장될 수도 있다.
예를 들어, 제1 운영 체제 (110) 의 카메라 애플리케이션의 저장 폴더가 디스크 이미지 (300) 또는 디스크 이미지 (300) 내부의 폴더로 지정된 경우, 해당 카메라 애플리케이션을 통해 촬영된 사진 및 동영상이 마운트된 디스크 이미지 (300) 에 저장될 수 있다. 또한, 제1 운영 체제 (110) 를 통해 다운로드되는 데이터가 디스크 이미지 (300) 에 저장될 수도 있으며, 제1 운영 체제 (110) 로부터 디스크 이미지 (300) 로 데이터가 복사될 수도 있다.
단계 S110에서 전자 디바이스 (1000) 는 제1 운영 체제 (110) 로부터 제2 운영 체제 (120) 로 포커스를 전환하는 사용자 입력을 수신한다.
도 1a 및 도 1b를 참조하면, 제1 운영 체제 (110) 로부터 제2 운영 체제 (120) 로 포커스를 전환하는 사용자 입력이 수신되어 제2 운영 체제 (120) 로 포커스가 전환되면, 제1 운영 체제 (110) 가 전체 화면으로 디스플레이되던 전자 디바이스 (1000) 는 제2 운영 체제 (120) 를 전체 화면으로 디스플레이한다. 제2 운영 체제 (120) 는 마이크로소프트사의 윈도우 (120) 일 수 있다.
단계 S120에서 전자 디바이스 (1000) 는, 단계 S110에서 제1 운영 체제 (110) 로부터 제2 운영 체제 (120) 로 포커스를 전환하는 사용자 입력을 수신함에 따라, 기설정된 기준에 기초하여 제1 운영 체제 (110) 에 마운트된 디스크 이미지 (300) 를 제2 운영 체제 (120) 에 마운트한다.
전자 디바이스 (1000) 가 제1 운영 체제 (110) 에 마운트된 디스크 이미지 (300) 를 제2 운영 체제 (120) 에 마운트하는 기설정된 기준은 다양할 수 있다.
예컨대, 전자 디바이스 (1000) 는 포커스를 전환하는 사용자 입력이 수신 완료된 경우, 제1 운영 체제 (110) 에 마운트된 디스크 이미지 (300) 를 제2 운영 체제 (120) 에 마운트할 수 있으며, 제1 운영 체제 (110) 로부터 제2 운영 체제 (120) 로 포커스의 전환이 완료되면, 제1 운영 체제 (110) 에 마운트된 디스크 이미지 (300) 를 제2 운영 체제 (120) 에 마운트할 수도 있다.
도 1b에 도시된 바와 같이, 제2 운영 체제 (120) 에 디스크 이미지 (300) 가 마운트되면, 제2 운영 체제 (120) 는 마운트된 디스크 이미지 (300) 를 플래시 메모리나 하드 디스크와 같은 저장 매체로 인식할 수 있다. 나아가, 해당 디스크 이미지 (300) 에 대해 제2 운영 체제 (120) 는 쓰기 가능 권한을 가질 수 있다.
따라서, 제2 운영 체제 (120) 는, 제1 운영 체제 (110) 와 마찬가지로 마운트된 디스크 이미지 (300) 에 저장된 데이터를 읽거나, 디스크 이미지 (300) 에 데이터를 저장할 수 있다. 제2 운영 체제 (120) 는 제1 운영 체제 (110) 에서 디스크 이미지 (300) 에 저장된 데이터를 이용할 수 있으므로, 제1 운영 체제 (110) 와 제2 운영 체제 (120) 간의 데이터의 공유가 용이한 효과가 있다.
또한, 제2 운영 체제 (120) 에서도 로컬 (local) 의 하드 디스크를 이용하는 것과 같은 사용자 경험이 사용자에게 제공될 수 있으므로, 종래의 네트워크 기반의 데이터 공유에 비해 데이터 읽기 (read) 및 쓰기 (write) 속도가 비약적으로 향상될 수 있다.
나아가, 사용자가 제2 운영 체제 (120) 에서 디스크 이미지 (300) 를 마운트하기 위한 별도의 작업 없이도, 제2 운영 체제 (120) 로 포커스가 전환됨에 따라 디스크 이미지 (300) 가 제2 운영 체제 (120) 로 마운트될 수 있으므로, 사용자가 운영 체제마다 디스크 이미지 (300) 를 마운트하는 불편이 해소될 수 있다.
디스크 이미지 (300) 에 대해 제1 운영 체제 (110) 및 제2 운영 체제 (120) 가 모두 쓰기 가능 권한을 갖고, 해당 디스크 이미지 (300) 가 제1 운영 체제 (110) 및 제2 운영 체제 (120) 에 병렬로 마운트될 수도 있다. 이때, 제1 운영 체제 (110) 및 제2 운영 체제 (120) 양쪽에서 해당 디스크 이미지 (300) 에 데이터 쓰기 (write) 가 시도될 수 있으며, 이러한 경우 해당 디스크 이미지 (300) 에서 사용자가 의도치 않은 데이터 중복 (data duplication) 이나, 데이터 모순 (data inconsistency), 데이터 오염 (data corruption), 데이터 충돌 (data collision) 등이 발생할 수도 있다.
따라서, 일 실시예에 따르면, 도 1b에 도시된 바와 같이, 전자 디바이스 (1000) 는 제1 운영 체제 (110) 로부터 디스크 이미지 (300) 를 언마운트 (unmount) 할 수 있다. 제1 운영 체제 (110) 로부터 디스크 이미지 (300) 가 언마운트되는 시점은, 제2 운영 체제 (120) 에 디스크 이미지 (300) 가 마운트되는 시점 이전, 동시, 또는 이후일 수 있다.
제1 운영 체제 (110) 에서 디스크 이미지 (300) 가 언마운트되면, 제1 운영 체제 (110) 에서 디스크 이미지 (300) 는 더 이상 액세스될 수 없다. 즉, 제1 운영 체제 (110) 에서 디스크 이미지 (300) 로부터 데이터를 읽거나, 디스크 이미지 (300) 에 데이터를 저장할 수 없다.
따라서, 제1 운영 체제 (110) 와 제2 운영 체제 (120) 에서 디스크 이미지 (300) 가 동시에 액세스되지 않으므로, 해당 디스크 이미지 (300) 에서 사용자가 의도치 않은 데이터 관련 문제의 발생이 억제될 수 있다.
일 실시예에서, 전자 디바이스 (1000) 는 제1 운영 체제 (110) 로부터 디스크 이미지 (300) 가 언마운트되기 전에, 제1 운영 체제 (110) 에서 처리 중인 데이터를 디스크 이미지 (300) 에 자동 저장하도록 구현될 수 있다.
따라서, 제2 운영 체제 (120) 는 제1 운영 체제 (110) 에서 작업 중이던 데이터를 이용할 수 있어, 제1 운영 체제 (110) 및 제2 운영 체제 (120) 간의 데이터가 효과적으로 공유될 수 있다.
한편, 전자 디바이스 (1000) 는 제1 운영 체제 (110) 에서 디스크 이미지 (300) 에 대한 작업을 정지 (pause) 시킨 후에 제1 운영 체제 (110) 로부터 디스크 이미지 (300) 를 언마운트하도록 구현될 수도 있다. 디스크 이미지 (300) 에 대한 작업을 정지시킨 후에 디스크 이미지 (300) 를 언마운트하는 방법은 도 11에서 후술한다.
도 5는 일 실시예에 따른, 복수의 운영 체제 (110, 120, 및 130) 간 디스크 이미지 (300) 를 공유하는 방법의 흐름도이다.
단계 S200 및 단계 S210은 도 4에서 전술된 단계 S100 및 단계 S110과 동일하므로, 중복되는 설명은 생략한다.
설명의 편의상, 도 6을 참조하여 설명한다.
도 6은 일 실시예에 따른, 전자 디바이스 (1000) 에서 복수의 운영 체제 (110, 120, 및 130) 간 디스크 이미지 (300) 를 공유하는 일례를 도시한 도면이다.
단계 S220에서, 전자 디바이스 (1000) 는, 단계 S210에서 제1 운영 체제 (110) 로부터 제2 운영 체제 (120) 로 포커스를 전환하는 사용자 입력이 수신되면, 제2 운영 체제 (120) 에서 디스크 이미지 (300) 를 액세스하기 위한 사용자 입력이 수신되는지 여부를 판단한다.
일 실시예에서, 제2 운영 체제 (120) 에서 디스크 이미지 (300) 를 액세스하기 위한 사용자 입력은 디스크 이미지 (300) 에 저장된 데이터를 읽기 위한 사용자 입력이거나, 디스크 이미지 (300) 에 데이터를 저장하기 위한 사용자 입력일 수 있다.
예컨대, 도 6을 참조하면, 제2 운영 체제 (120) 에서 디스크 이미지 (300) 를 액세스하기 위한 사용자 입력은 제2 운영 체제 (120) 에서 디스크 이미지 (300) 를 오픈 (open) 하기 위한 사용자 입력일 수 있다. 제2 운영 체제 (120) 에서 디스크 이미지 (300) 가 오픈되면, 디스크 이미지 (300) 에 포함된 파일 및 폴더를 포함하는 창 (121) 이 팝업 (pop-up) 될 수 있다.
일 실시예에서, 제2 운영 체제 (120) 에서 디스크 이미지 (300) 를 액세스하기 위한 사용자 입력은 해당 디스크 이미지 (300) 에 저장된 데이터를 읽거나, 해당 디스크 이미지 (300) 에 데이터를 저장하도록 설정된 애플리케이션을 실행하기 위한 사용자 입력일 수 있다. 나아가, 제2 운영 체제 (120) 에서 디스크 이미지 (300) 를 액세스하기 위한 사용자 입력은 해당 애플리케이션의 기능을 실행하기 위한 사용자 입력일 수도 있다.
예컨대, 제2 운영 체제 (120) 의 카메라 애플리케이션을 통해 사진 또는 동영상이 촬상되면, 촬상된 사진 또는 동영상은 해당 카메라 애플리케이션에서 설정된 폴더에 저장된다. 만약 해당 카메라 애플리케이션의 저장 폴더가 해당 디스크 이미지 (300) 또는 해당 디스크 이미지 (300) 의 내부 폴더로 지정된 경우, 제2 운영 체제 (120) 에서 해당 카메라 애플리케이션을 실행하는 사용자 입력, 및/또는 해당 카메라 애플리케이션에서 사진 또는 동영상의 촬상을 개시하는 사용자 입력은 제2 운영 체제 (120) 에서 디스크 이미지 (300) 를 액세스하기 위한 사용자 입력일 수 있다.
단계S221에서, 전자 디바이스 (1000) 는, 단계 S220에서 제2 운영 체제 (120) 에서 디스크 이미지 (300) 를 액세스하기 위한 사용자 입력이 수신됨에 따라, 제1 운영 체제 (110) 에 마운트된 디스크 이미지 (300) 를 제2 운영 체제 (120) 로 마운트한다.
도 6에 도시된 바와 같이, 전자 디바이스 (1000) 는 제1 운영 체제 (110) 로부터 디스크 이미지 (300) 를 언마운트 (unmount) 할 수 있다. 전자 디바이스 (1000) 는 제1 운영 체제 (110) 로부터 디스크 이미지 (300) 가 언마운트되기 전에, 제1 운영 체제 (110) 에서 처리 중인 데이터를 디스크 이미지 (300) 에 자동 저장하도록 구현될 수 있다.
따라서, 제2 운영 체제 (120) 는 제1 운영 체제 (110) 에서 작업 중이던 데이터를 이용할 수 있어, 제1 운영 체제 (110) 및 제2 운영 체제 (120) 간의 데이터가 효과적으로 공유될 수 있다.
한편, 단계 S220에서 제2 운영 체제 (120) 에서 디스크 이미지 (300) 를 액세스하기 위한 사용자 입력이 수신되지 않은 경우, 디스크 이미지 (300) 는 제1 운영 체제 (110) 에 마운트된 상태로 남아있을 수 있다. 따라서, 백그라운드 운영 체제 (110) 인 제1 운영 체제 (110) 에서 디스크 이미지 (300) 에 대한 작업이 중단되지 않으면서, 사용자가 포커스 운영 체제 (120) 인 제2 운영 체제 (120) 를 이용할 수 있다. 예를 들어, 제1 운영 체제 (110) 에서 디스크 이미지 (300) 에 저장된 음악 파일이 재생되고 있는 경우, 제1 운영 체제 (110) 로부터 제2 운영 체제 (120) 로 포커스가 전환된 이후에도 제1 운영 체제 (110) 로부터 디스크 이미지 (300) 가 언마운트되지 않아 해당 음악 파일은 계속하여 재생될 수 있다.
전술된 바와 같이, 전자 디바이스 (1000) 는 제1 운영 체제 (110) 로부터 제2 운영 체제 (120) 로 포커스가 전환되고, 제2 운영 체제 (120) 에서 디스크 이미지 (300) 를 액세스하기 위한 사용자 입력이 수신된 경우에, 제1 운영 체제 (110) 에 마운트된 디스크 이미지 (300) 를 제2 운영 체제 (120) 로 마운트하므로, 디스크 이미지 (300) 가 효과적으로 제1 운영 체제 (110) 로부터 언마운트되어 제2 운영 체제 (120) 에 마운트될 수 있다.
도 7은 일 실시예에 따른, 복수의 운영 체제 (110, 120, 및 130) 간 디스크 이미지 (300) 를 공유하는 방법의 흐름도이다.
단계 S300 및 단계 S310은 도 4에서 전술된 단계 S100 및 단계 S110과 동일하므로, 중복되는 설명은 생략한다.
설명의 편의상, 도 8a 및 도 8b를 참조하여 설명한다.
도 8a 및 도 8b는 일 실시예에 따른, 전자 디바이스 (1000) 에서 복수의 운영 체제 (110, 120, 및 130) 간 디스크 이미지 (300) 를 공유하는 일례를 도시한 도면이다.
단계 S320에서, 전자 디바이스 (1000) 는, 단계 S310에서 제1 운영 체제 (110) 로부터 제2 운영 체제 (120) 로 포커스를 전환하는 사용자 입력이 수신되면, 제1 운영 체제 (110) 가 디스크 이미지 (300) 를 이용하는 이용 상태를 판단한다.
일 실시예에서, 제1 운영 체제 (110) 가 디스크 이미지 (300) 를 이용하는 이용 상태는, 제1 운영 체제 (110) 가 디스크 이미지 (300) 에 저장된 데이터를 읽는 읽기 작업 상태, 또는 제1 운영 체제 (110) 가 디스크 이미지 (300) 에 데이터를 저장하는 쓰기 작업 상태로 구분될 수 있다.
예컨대, 도 8a에 도시된 바와 같이, 제1 운영 체제 (110) 에서 문서 편집 애플리케이션 (111) 이 실행되어, 디스크 이미지 (300) 내에 저장된 문서 파일이 오픈되는 경우, 제1 운영 체제 (110) 가 디스크 이미지 (300) 를 이용하는 이용 상태는 읽기 작업 상태일 수 있다. 또는, 동영상 재생 애플리케이션을 통해 디스크 이미지 (300) 내에 저장된 동영상 파일이 재생 중인 경우, 제1 운영 체제 (110) 가 디스크 이미지 (300) 를 이용하는 이용 상태는 읽기 작업 상태일 수 있다.
한편, 제1 운영 체제 (110) 에서 문서 편집 애플리케이션 (111) 이 실행되어, 디스크 이미지 (300) 내에 저장된 문서 파일이 오픈 완료되면, 해당 파일은 전자 디바이스 (1000) 의 램에 저장되어 편집될 수 있다.
그러나, 도 8b에 도시된 바와 같이, 제1 운영 체제 (110) 에서 해당 디스크 이미지 (300) 또는 해당 디스크 이미지 (300) 의 내부 폴더에 데이터가 저장되는 중인 경우, 제1 운영 체제 (110) 가 디스크 이미지 (300) 를 이용하는 이용 상태는 쓰기 작업 상태일 수 있다. 제1 운영 체제 (110) 에서 데이터가 저장되는 중인 경우, 제1 운영 체제 (110) 에서 데이터 저장 진행창 (112) 이 팝업될 수 있다. 데이터 저장 진행창 (112) 에서는 데이터가 저장되는 진행 상황과 관련된 정보가 표시되며, 데이터 저장 진행창 (112) 은 데이터가 복사되어 저장되는 경우, 또는 데이터가 다운로드되어 저장되는 경우 팝업될 수 있다. 예를 들어, 데이터 저장 진행창 (112) 에서 저장될 데이터의 크기, 저장이 진행된 데이터의 크기, 데이터가 저장되는 속도, 데이터의 저장이 완료될 때까지 걸리는 시간, 및 데이터의 저장이 완료될 때까지 남은 시간, 저장이 진행된 정도를 나타내는 진행바 (progress bar) 가 표시될 수 있다.
일 실시예에서, 제1 운영 체제 (110) 가 디스크 이미지 (300) 를 이용하는 이용 상태는 제1 운영 체제 (110) 의 디스크 이미지 (300) 에 대한 데이터 입출력 (I/O) 패턴에 기초하여 결정될 수 있다.
입출력 (I/O) 패턴은 제2 운영 체제 (120) 에서 상기 디스크 이미지 (300) 의 읽기 스루풋 (read throughput) 과 쓰기 스루풋 (write throughput) 에 의해 결정될 수 있다. 예컨대, 현재 쓰기 스루풋이 기설정된 값 이상인 경우, 이용 상태가 쓰기 작업 중인 것으로 결정되고, 현재 읽기 스루풋이 기설정된 값 이상인 경우, 이용 상태가 읽기 작업 중인 것으로 결정될 수 있다.
또한, 쓰기 스루풋 및 읽기 스루풋을 전자 디바이스의 평균 네트워크 다운로드 속도, 로컬 파일 속도, 파일 재생 속도 등과 비교하여, 제1 운영 체제 (110) 에서 디스크 이미지 (300) 에 대해 수행되는 작업이 구체적으로 어떤 종류의 작업인지 판단될 수 있다.
예컨대, 쓰기 스루풋 및 읽기 스루풋이 전자 디바이스의 평균 네트워크 다운로드 속도, 로컬 파일 속도, 또는 파일 재생 속도의 X% (0<X≤100) 이상인 경우, 전자 디바이스는 제1 운영 체제 (110) 에서 디스크 이미지 (300) 에 대해 수행되는 작업이 디스크 이미지 (300) 에 파일이 다운로드되고 있는지, 디스크 이미지 (300) 에 파일이 복사되고 있는지, 또는 디스크 이미지 (300) 에 저장된 파일이 재생되고 있는지 등을 판단할 수 있다.
입출력 (I/O) 패턴은 상기 제2 운영 체제 (120) 에서 상기 디스크 이미지 (300) 의 읽기 빈도 (read frequency) 와 쓰기 빈도 (write frequency) 에 의해 결정될 수 있다. 예컨대, 읽기 빈도가 기설정된 빈도 이상인 경우, 이용 상태가 읽기 작업 중인 것으로 결정되고, 쓰기 빈도가 기설정된 빈도 이상인 경우, 이용 상태가 쓰기 작업 중인 것으로 결정될 수 있다.
단계 S321에서, 전자 디바이스 (1000) 는 단계 S320에서 제1 운영 체제 (110) 가 디스크 이미지 (300) 를 이용하는 이용 상태가 읽기 작업 중 것으로 판단된 경우, 제1 운영 체제 (110) 에 마운트된 디스크 이미지 (300) 를 제2 운영 체제 (120) 로 마운트한다.
일 실시예에서, 도 8a에 도시된 바와 같이, 전자 디바이스 (1000) 는 제1 운영 체제 (110) 로부터 디스크 이미지 (300) 를 언마운트 (unmount) 할 수 있다. 전자 디바이스 (1000) 는 제1 운영 체제 (110) 로부터 디스크 이미지 (300) 가 언마운트되기 전에, 제1 운영 체제 (110) 에서 처리 중인 데이터를 디스크 이미지 (300) 에 자동 저장하도록 구현될 수 있다.
예를 들어, 도 8a을 참조하면, 제1 운영 체제 (110) 로부터 디스크 이미지 (300) 가 언마운트되기 전에, 제1 운영 체제 (110) 의 문서 편집 애플리케이션 (111) 에서 편집 중이던 문서는 디스크 이미지 (300) 에 자동 저장될 수 있다. 제1 운영 체제 (110) 에서 편집 중이던 문서가 디스크 이미지 (300) 에 저장된 경우, 제2 운영 체제 (120) 에 디스크 이미지 (300) 가 마운트된 후, 사용자는 제2 운영 체제 (120) 에서도 문서 편집 애플리케이션을 통해 해당 문서를 편집할 수 있다.
그러나, 제1 운영 체제 (110) 로부터 디스크 이미지 (300) 가 언마운트되기 전에, 제1 운영 체제 (110) 에서 처리 중인 데이터가 디스크 이미지 (300) 에 저장되지 않더라도, 해당 데이터는 전자 디바이스 (1000) 의 램에 남아있을 수 있다. 따라서, 디스크 이미지 (300) 가 제1 운영 체제 (110) 로부터 언마운트되어 제2 운영 체제 (120) 에 마운트된 후, 다시 제1 운영 체제 (110) 에 마운트되면, 사용자는 제1 운영 체제 (110) 의 문서 편집 애플리케이션 (111) 에서 편집하던 상태의 문서를 계속하여 편집할 수 있다. 또한, 램에 남아있는 해당 데이터는 소실되지 않고 디스크 이미지 (300) 에 저장될 수 있다.단계 S322에서, 전자 디바이스 (1000) 는 단계 S320에서 제1 운영 체제 (110) 가 디스크 이미지 (300) 를 이용하는 이용 상태가 쓰기 작업 중 것으로 판단된 경우, 제2 운영 체제 (120) 로의 디스크 이미지 (300) 의 마운트를 대기한다.
일 실시예에서, 전자 디바이스 (1000) 는, 제1 운영 체제 (110) 에서 디스크 이미지 (300) 의 쓰기 작업이 완료되면, 제2 운영 체제 (120) 로 디스크 이미지 (300) 를 마운트하도록 구현될 수 있다.
따라서, 제1 운영 체제 (110) 에서 작업 중이던 데이터를 보존하면서, 해당 데이터가 제2 운영 체제 (120) 에서도 효과적으로 이용될 수 있다.
만약 제1 운영 체제 (110) 에서 디스크 이미지 (300) 의 쓰기 작업이 완료되기 이전에, 제2 운영 체제 (120) 로부터 제1 운영 체제 (110) 로 포커스를 전환하는 사용자 입력이 수신되면, 전자 디바이스 (1000) 는 제2 운영 체제 (120) 로 디스크 이미지 (300) 를 마운트할 필요 없이, 제1 운영 체제 (110) 에 디스크 이미지 (300) 가 마운트된 상태를 계속 유지할 수도 있다.
일 실시예에서, 제2 운영 체제 (120) 로의 디스크 이미지 (300) 의 마운트를 대기하는 경우, 전자 디바이스 (1000) 는 제2 운영 체제 (120) 에서 도 8b에 도시된 바와 같이, 사용자에게 디스크 이미지 (300) 의 마운트가 대기 중임을 알리는 알림 (notification, 122) 을 팝업시킬 (pop-up) 수 있다.
해당 알림 (122) 은 제1 운영 체제 (110) 의 이용 상태와 관련한 내용을 포함할 수 있다. 예컨대, 도 8b를 참조하면, 알림 (122) 은 "현재 제1 운영 체제 (110) 에서 디스크 이미지 (300) 에 파일 복사 중"과 같은 내용을 포함할 수 있다. 나아가, 알림 (122) 은 제1 운영 체제 (110) 에서 디스크 이미지 (300) 의 쓰기 작업의 진행 상태나, 해당 작업의 완료 예정 시간 등과 같은 내용을 포함할 수도 있다.
나아가, 알림 (122) 은 사용자에게 제1 운영 체제 (110) 에서 디스크 이미지 (300) 를 강제로 언마운트하여 제2 운영 체제 (120) 로 마운트할 것인지 여부를 묻는 선택창을 포함할 수도 있다. 따라서, 사용자의 의사에 따라 제1 운영 체제 (110) 로부터 디스크 이미지 (300) 가 언마운트되어 제2 운영 체제 (120) 로 마운트될 수 있어, 사용자 편의성이 향상될 수 있다.
전자 디바이스 (1000) 는 제1 운영 체제 (110) 로부터 제2 운영 체제 (120) 로 포커스가 전환되고, 제1 운영 체제 (110) 가 디스크 이미지 (300) 를 이용하는 이용 상태에 기초하여, 제1 운영 체제 (110) 에 마운트된 디스크 이미지 (300) 를 제2 운영 체제 (120) 로 마운트하므로, 디스크 이미지 (300) 가 효과적으로 제1 운영 체제 (110) 로부터 언마운트되어 제2 운영 체제 (120) 에 마운트될 수 있다.
도 9는 일 실시예에 따른, 복수의 운영 체제 (110, 120, 및 130) 간 디스크 이미지 (300) 를 공유하는 방법의 흐름도이다.
설명의 편의상, 도 10a 및 도 10b를 참조하여 설명한다.
도 10a 및 도 10b는 일 실시예에 따른, 전자 디바이스 (1000) 에서 복수의 운영 체제 (110, 120, 및 130) 간 디스크 이미지 (300) 를 공유하는 일례를 도시한 도면이다.
단계 S400에서, 전자 디바이스 (1000) 는 제1 운영 체제 (110) 에 디스크 이미지 (300) 를 마운트한다.
도 10a 및 도 10b를 참조하면, 전자 디바이스 (1000) 는 복수의 운영 체제 (110, 120, 및 130) 에 디스크 이미지 (300) 를 병렬로 마운트할 수 있다.
디스크 이미지 (300) 에 대해 복수의 운영 체제 (110, 120, 및 130) 가 모두 쓰기 가능 권한을 갖고, 해당 디스크 이미지 (300) 가 복수의 운영 체제 (110, 120, 및 130) 에 병렬로 마운트되면, 전술된 바와 같이, 해당 디스크 이미지 (300) 에서 사용자가 의도치 않은 데이터 중복 (data duplication) 이나, 데이터 모순 (data inconsistency), 데이터 오염 (data corruption), 데이터 충돌 (data collision) 등이 발생할 수도 있다.
따라서, 전자 디바이스 (1000) 는 디스크 이미지 (300) 에 대한 쓰기 가능 권한은 하나의 운영 체제만 갖도록 구현될 수 있다. 도 10a 및 도 10b에서 점선으로 도시된 화살표는 해당 디스크 이미지 (300) 에 대한 이용 권한이 읽기 전용 (read-only) 권한임을 의미하며, 실선으로 도시된 화살표는 해당 디스크 이미지 (300) 에 대한 이용 권한이 쓰기 가능 권한임을 의미한다.
도 10a를 참조하면, 디스크 이미지 (300) 에 대해 제1 운영 체제 (110) 는 읽기 전용 (read-only) 권한을 가질 수 있다.
단계 S410에서, 전자 디바이스 (1000) 는 제1 운영 체제 (110 또는 130) 로부터 제2 운영 체제 (120) 로 포커스를 전환하는 사용자 입력을 수신한다.
도 10a 를 참조하면, 제1 운영 체제 (110 또는 130) 로부터 제2 운영 체제 (120) 로 포커스를 전환하는 사용자 입력이 수신되어 제2 운영 체제 (120) 로 포커스가 전환되면, 제1 운영 체제 (110 또는 130) 가 전체 화면으로 디스플레이되던 전자 디바이스 (1000) 는 제2 운영 체제 (120) 를 전체 화면으로 디스플레이한다.
단계 S420에서, 전자 디바이스 (1000) 는, 단계 S410에서 제1 운영 체제 (110 또는 130) 로부터 제2 운영 체제 (120) 로 포커스를 전환하는 사용자 입력이 수신되면, 제1 운영 체제 (110 및 130) 가 디스크 이미지 (300) 를 이용하는 이용 상태를 판단한다.
전자 디바이스 (1000) 는 제1 운영 체제 (110 및 130) 가 디스크 이미지 (300) 를 이용하는 이용 상태에 기초하여, 디스크 이미지 (300) 에 대한 제2 운영 체제 (120) 의 이용 권한을 결정하도록 구현될 수 있다.
단계 S421에서, 전자 디바이스 (1000) 는 단계 S420에서 제1 운영 체제 (110 및 130) 가 디스크 이미지 (300) 를 이용하는 이용 상태가 읽기 작업 중 것으로 판단된 경우, 제2 운영 체제 (120) 의 디스크 이미지 (300) 에 대한 이용 권한을 쓰기 가능 권한으로 결정한다.
도 10a를 참조하면, 제1 운영 체제 (110) 에서 문서 편집 애플리케이션 (111) 이 실행되어, 디스크 이미지 (300) 내에 저장된 문서 파일이 오픈되어 편집 중인 경우, 제1 운영 체제 (110) 가 디스크 이미지 (300) 를 이용하는 이용 상태는 읽기 작업 상태일 수 있다.
또한, 제1 운영 체제 (130) 에서 동영상 재생 애플리케이션 (131) 이 실행되어, 디스크 이미지 (300) 내에 저장된 동영상 파일이 재생되고 있는 경우, 제1 운영 체제 (130) 가 디스크 이미지 (300) 를 이용하는 이용 상태는 읽기 작업 상태일 수 있다.
일 실시예에 따르면, 제1 운영 체제 (110 또는 130) 가 디스크 이미지 (300) 에 대해 쓰기 가능 권한을 갖고, 해당 디스크 이미지 (300) 에 대해 읽기 작업 중인 경우, 전자 디바이스 (1000) 는 해당 디스크 이미지 (300) 에 대한 제1 운영 체제 (110 또는 130) 의 이용 권한을 읽기 전용 권한으로 변경하도록 구현될 수도 있다.
일 실시예에 따르면, 전자 디바이스 (1000) 는 디스크 이미지 (300) 에 대한 제1 운영 체제 (110 또는 130) 의 이용 권한이 읽기 전용 권한으로 변경되기 전에, 제1 운영 체제 (110 또는 130) 에서 처리 중인 데이터를 디스크 이미지에 자동 저장하도록 구현될 수 있다.
단계 S422에서, 전자 디바이스 (1000) 는, 단계 S420에서 제1 운영 체제 (110 또는 130) 가 디스크 이미지 (300) 를 이용하는 이용 상태가 쓰기 작업 중 것으로 판단된 경우, 제2 운영 체제 (120) 의 디스크 이미지 (300) 에 대한 이용 권한을 읽기 전용 (read-only) 권한으로 결정한다.
도 10b에 도시된 바와 같이, 제1 운영 체제 (110) 에서 디스크 이미지 (300) 로 파일을 복사 중인 경우, 제1 운영 체제 (110) 가 해당 디스크 이미지 (300) 를 이용하는 이용 상태는 쓰기 작업 중이다. 따라서, 전자 디바이스 (1000) 는 제2 운영 체제 (120) 의 디스크 이미지 (300) 이용 권한을 읽기 전용 권한으로 결정할 수 있다. 만약, 제1 운영 체제 (110) 에서 디스크 이미지 (300) 에 대한 쓰기 작업이 완료되면, 전자 디바이스 (1000) 는 디스크 이미지 (300) 에 대한 제1 운영 체제 (110) 의 이용 권한을 읽기 전용 권한으로 변경하고, 제2 운영 체제 (120) 의 이용 권한을 쓰기 가능 권한으로 변경하도록 구현될 수도 있다.
단계 S423에서, 전자 디바이스 (1000) 는, 단계 S421 또는 단계 S422에서 제2 운영 체제 (120) 의 디스크 이미지 (300) 에 대한 이용 권한이 결정되면, 디스크 이미지 (300) 를 제2 운영 체제 (120) 로 마운트한다.
일 실시예에서, 디스크 이미지 (300) 에 대해 읽기 전용 권한을 갖는 제2 운영 체제 (120) 에서 해당 디스크 이미지 (300) 에 대한 쓰기 작업이 시도되면, 전자 디바이스 (1000) 는 사용자에게 디스크 이미지 (300) 의 이용 권한이 읽기 전용임을 알리는 알림 (notification, 123) 을 팝업시킬 (pop-up) 수 있다.
해당 알림 (123) 은 제1 운영 체제 (110) 의 이용 상태와 관련한 내용을 포함할 수 있다. 예컨대, 도 10b를 참조하면, 알림 (123) 은 "현재 제1 운영 체제 (110) 에서 디스크 이미지 (300) 에 파일 복사 중"과 같은 내용을 포함할 수 있다. 나아가, 알림 (123) 은 제1 운영 체제 (110) 에서 디스크 이미지 (300) 의 쓰기 작업의 진행 상태나, 해당 작업의 완료 예정 시간 등과 같은 내용을 포함할 수도 있다.
나아가, 알림 (123) 은 사용자에게 제1 운영 체제 (110) 에서 디스크 이미지 (300) 를 강제로 언마운트하거나, 디스크 이미지 (300) 에 대한 제1 운영 체제 (110) 의 이용 권한을 읽기 전용 권한으로 변경하고, 제2 운영 체제 (120) 의 이용 권한을 쓰기 가능 권한으로 변경할 것인지 여부를 묻는 선택창을 포함할 수도 있다. 따라서, 사용자의 의사에 따라 제1 운영 체제 (110 또는 130) 또는 제2 운영 체제 (120) 에서 디스크 이미지 (300) 에 대해 쓰기 작업이 수행될 수 있어, 사용자 편의성이 향상될 수 있다.
일 실시예에 따르면, 전자 디바이스 (1000) 는 디스크 이미지 (300) 에 대한 각 운영 체제의 이용 권한을 상이하게 결정하도록 구현될 수 있다. 예컨대, 복수의 운영 체제 (110, 120, 및 130) 중에서 포커스가 위치한 운영 체제는 해당 디스크 이미지 (300) 에 대해 쓰기 가능 권한을 가지고, 복수의 운영 체제 (110, 120, 및 130) 중에서 포커스가 위치하지 않은 운영 체제는 해당 디스크 이미지 (300) 에 대해 읽기 전용 (read-only) 권한을 가지도록 구현될 수 있다. 즉, 해당 디스크 이미지 (300) 에 대해, 포커스 운영 체제는 쓰기 가능 권한을 가지고, 백그라운드 운영 체제는 읽기 전용 권한을 가질 수 있다. 따라서, 해당 디스크 이미지 (300) 에 대한 각 운영 체제 (110, 120, 및 130) 의 이용 권한은 포커스가 전환됨에 따라 변경될 수 있다.
도 11은 일 실시예에 따른, 전자 디바이스 (1000) 에서 복수의 운영 체제 (110, 120, 및 130) 간 디스크 이미지 (300) 를 공유하는 방법의 흐름도이다.
단계 S500 및 단계 S510은 도 4에서 전술된 단계 S100 및 단계 S110과 동일하므로, 중복되는 설명은 생략한다. 또한, 제1 운영 체제 (110) 에서 디스크 이미지 (300) 에 대한 쓰기 작업이 수행되고 있는 것으로 가정한다.
단계 S520에서 전자 디바이스 (1000) 는, 단계 S510에서 제1 운영 체제 (110) 로부터 제2 운영 체제 (120) 로 포커스를 전환하는 사용자 입력을 수신함에 따라, 제1 운영 체제 (110) 에서 디스크 이미지 (300) 에 대한 쓰기 작업을 정지한다.
예를 들어, 쓰기 작업은 제1 운영 체제 (110) 에서 해당 디스크 이미지 (300) 또는 해당 디스크 이미지 (300) 의 내부 폴더에 데이터가 저장되는 중인 경우 수행되는, 일련의 작업들 또는 일련의 작업들중 일부일 수 있다.
쓰기 작업은 "쓰기의 요청 (request)", 디스크 이미지 (300) 에서 쓰기 요청된 데이터가 저장될 공간의 "할당 (allocation)", 및 디스크 이미지에 데이터의 "실제로 쓰기 (write)" 작업들로 이루어질 수 있다.
구체적으로, 제1 운영 체제 (110) 에서 정지되는 쓰기 작업은 "할당" 및 "실제로 쓰기" 작업들일 수 있다. 즉, "쓰기의 요청" 작업은 제1 운영 체제 (110) 에서 실행되고, "할당" 및 "실제로 쓰기" 작업은 연기되어, 제1 운영 체제 (110) 에서 쓰기 작업은 속개 (resume) 되기 전까지 대기 (stand by) 할 수 있다.
제1 운영 체제 (110) 에서 "쓰기의 요청" 작업이 실행된 후, 제1 운영 체제 (110) 로부터 전자 디바이스 (1000) 로의 응답이 연기되도록 구현될 수도 있다. 따라서, 제1 운영 체제 (110) 로부터 디스크 이미지 (300) 가 언마운트된 후, 전자 디바이스 (1000) 로 에러 응답 (error response) 이 수신되지 않아, 쓰기 작업이 중단되지 않을 수 있다. 쓰기 작업은 중단되지 않으므로, 제1 운영 체제 (110) 에 디스크 이미지 (300) 가 재마운트되면, 쓰기 작업은 다시 속개될 수 있어, 사용자의 편의를 제고할 수 있다.
일 실시예에서, 전자 디바이스 (1000) 는 기설정된 기준에 기초하여 제1 운영 체제 (110) 에서 디스크 이미지 (300) 에 대한 쓰기 작업을 정지하도록 구현될 수도 있다. 여기서, 기설정된 기준은, 전술된 제1 운영 체제 (110) 에 마운트된 디스크 이미지 (300) 를 제2 운영 체제 (120) 에 마운트하는 기설정된 기준과 동일할 수 있다.
단계 S521에서 전자 디바이스 (1000) 는, 제1 운영 체제 (110) 로부터 디스크 이미지 (300) 를 언마운트한다.
제1 운영 체제 (110) 로부터 디스크 이미지 (300) 가 언마운트되더라도, 제1 운영 체제 (110) 에서 디스크 이미지 (300) 에 대한 쓰기 작업이 정지된 바, 해당 쓰기 작업은 중단되지 않고, 제1 운영 체제 (110) 에 디스크 이미지 (300) 가 재마운트되면, 쓰기 작업은 다시 속개될 수 있다. 따라서, 사용자의 편의가 제고될 수 있다.
단계 S522에서 전자 디바이스 (1000) 는, 제2 운영 체제 (120) 에 디스크 이미지 (300) 를 마운트한다.
제2 운영 체제 (120) 는, 제1 운영 체제 (110) 와 마찬가지로 마운트된 디스크 이미지 (300) 에 저장된 데이터를 읽거나, 디스크 이미지 (300) 에 데이터를 저장할 수 있다. 제2 운영 체제 (120) 는 제1 운영 체제 (110) 에서 디스크 이미지 (300) 에 저장된 데이터를 이용할 수 있으므로, 제1 운영 체제 (110) 와 제2 운영 체제 (120) 간의 데이터의 공유가 용이한 효과가 있다.
단계 S530에서 전자 디바이스 (1000) 는, 미리 결정된 기준의 충족 여부를 결정하여, 미리 결정된 기준이 충족된 경우, 디스크 이미지 (300) 를 제2 운영 체제 (120) 로부터 언마운트하고(S531), 제1 운영 체제 (110) 로 재마운트한다(S532).
미리 결정된 기준은 제2 운영 체제 (120) 가 디스크 이미지 (300) 를 이용하는 이용 상태일 수 있다. 예를 들어, 제2 운영 체제 (120) 에서 디스크 이미지 (300) 에 대해 읽기 또는 쓰기 작업이 수행되고 있지 않은 경우, 전자 디바이스 (1000) 는 제2 운영 체제 (120) 에 마운트된 디스크 이미지 (300) 를 제1 운영 체제 (110) 로 재마운트할 수 있다.
미리 결정된 기준은 제2 운영 체제 (120) 에서 사용자의 입력 패턴일 수 있다. 예를 들어, 제1 운영 체제 (110) 로부터 제2 운영 체제 (120) 로 포커스가 전환된 이후, 사용자가 소정의 시간 이상 전자 디바이스 (1000) 를 조작하지 않는 경우, 사용자가 소정의 시간 이상 디스크 이미지 (300) 에 대한 읽기/쓰기 작업과 무관하게 전자 디바이스 (1000) 를 조작하는 경우, 또는, 유휴 시간 (idle time) 이 소정의 시간 이상인 경우, 전자 디바이스 (1000) 는 제2 운영 체제 (120) 에 마운트된 디스크 이미지 (300) 를 제1 운영 체제 (110) 로 재마운트할 수 있다.
미리 결정된 기준은 제1 운영 체제 (110) 및/또는 제2 운영 체제 (120) 에서 디스크 이미지 (300) 로의 워크로드 (workload) 일 수 있다. 예를 들어, 제1 운영 체제 (110) 에서 디스크 이미지 (300) 로의 워크로드가, 제2 운영 체제 (120) 에서 디스크 이미지 (300) 로의 워크로드보다 큰 경우, 전자 디바이스 (1000) 는 제2 운영 체제 (120) 에 마운트된 디스크 이미지 (300) 를 제1 운영 체제 (110) 로 재마운트할 수 있다. 따라서, 워크로드가 큰 작업이 우선적으로 완료되어, 전자 디바이스 (1000) 의 리소스가 효율적으로 이용될 수 있다.
단계 S540에서 전자 디바이스 (1000) 는, 제1 운영 체제 (110) 에서 정지되었던 디스크 이미지 (300) 에 대한 쓰기 작업을 속개한다.
따라서, 사용자가 포커스 운영 체제 (120) 인 제2 운영 체제 (120) 를 이용하는 동안에도, 백그라운드 운영 체제인 제1 운영 체제 (110) 에서 디스크 이미지 (300) 에 대한 쓰기 작업이 계속될 수 있다. 사용자에게는 복수의 운영 체제 (110, 120, 및 130) 에서 디스크 이미지 (300) 를 동시에 (simultaneously) 사용하는 듯한 사용자 경험이 제공될 수 있다.
단계 S550에서 전자 디바이스 (1000) 는, 제1 운영 체제 (110) 에서 디스크 이미지 (300) 에 대한 쓰기 작업의 완료 여부를 판단하여, 쓰기 작업이 완료된 경우, 디스크 이미지 (300) 를 제1 운영 체제 (110) 로부터 언마운트하여 (S551), 제2 운영 체제 (120) 에 디스크 이미지 (300) 를 재마운트한다 (S552).
제1 운영 체제 (110) 는 백그라운드 운영 체제 (110) 로서, 사용자가 조작하고 있지 않으므로, 속개된 쓰기 작업이 완료되면, 디스크 이미지 (300) 가 마운트되어 있는 것은 불필요하다. 따라서, 전자 디바이스 (1000) 는 속개된 쓰기 작업이 완료되면, 디스크 이미지 (300) 를 제1 운영 체제 (110) 로부터 언마운트하여, 포커스 운영 체제 (120) 인 제2 운영 체제 (120) 에 마운트함으로써, 사용자가 포커스 운영 체제 (120) 인 제2 운영 체제 (120) 에서 언제든지 디스크 이미지 (300) 를 신속하게 액세스할 수 있다.
도 12는 일 실시예에 따른, 복수의 운영 체제 (110, 120, 및 130) 에서 디스크 이미지 (300) 가 시분할 (time-sharing) 방식으로 마운트되는 일례를 도시한 도면이다.
설명의 편의상 도 13a 및 도 13b를 참조하여 설명한다.
도 13a 및 도 13b는 일 실시예에 따른, 시분할 (time-sharing) 방식으로 마운트되는 디스크 이미지 (300) 를 설명하기 위한 개념도이다. 도 13a 에 도시된 바에 따르면, 디스크 이미지 (300) 는 두 개의 운영 체제에서 시분할 방식으로 마운트되고, 도 13b에 도시된 바에 따르면, 디스크 이미지 (300) 는 세 개의 운영 체제에서 시분할 방식으로 마운트된다.도 12, 도 13a 및 도 13b를 참조하면, 전자 디바이스 (1000) 는, 제1 운영 체제 (110) 로부터 제2 운영 체제 (120) 로 포커스를 전환하는 사용자 입력을 수신함에 따라, 디스크 이미지 (300) 를 제1 운영 체제 (110) 로부터 언마운트하여, 제2 운영 체제 (120) 로 마운트할 수 있다. 포커스가 제2 운영 체제 (120) 에 위치하므로, 제2 운영 체제 (120) 는 포커스 운영 체제 (120) 이고, 제1 운영 체제 (110) 및 제3 운영 체제 (130) 는 백그라운드 운영 체제 (110 및 130) 이다.
도 12에 도시된 바와 같이, 제1 운영 체제 (110) 및 제2 운영 체제 (120) 에서 디스크 이미지 (300) 에 대한 쓰기 작업이 개시된 상태일 수 있다. 다만, 제1 운영 체제 (110) 로부터 제2 운영 체제 (120) 로 포커스가 전환되어 디스크 이미지 (300) 가 제2 운영 체제 (120) 에 마운트됨에 따라, 제1 운영 체제 (110) 에서 디스크 이미지 (300) 에 대한 쓰기 작업은 정지되고, 제2 운영 체제 (120) 에서 디스크 이미지 (300) 에 대한 쓰기 작업은 진행될 수 있다.
제1 운영 체제 (110) 및 제2 운영 체제 (120) 모두에서 디스크 이미지 (300) 에 대한 쓰기 작업이 개시된 상태인 경우, 도 13a에 도시된 바와 같이, 디스크 이미지 (300) 는 제1 운영 체제 (110) 및 제2 운영 체제 (120) 에서 시분할 (time-sharing) 방식으로 마운트될 수 있다.
디스크 이미지가 시분할 (time-sharing) 방식으로 마운트되는 것은, 하나의 동일한 디스크 이미지가 복수의 운영 체제에서 교차적으로 마운트되는 것을 의미한다. 예를 들어, 도 13a를 참조하면, 디스크 이미지 (300) 는 제2 운영 체제 (120) 에 시간 (T2) 동안 마운트되었다가, 제1 운영 체제 (110) 로의 포커스 전환이 없더라도, 제1 운영 체제 (110) 로 시간 (T1) 동안 디스크 이미지 (300) 가 재마운트될 수 있다. 디스크 이미지 (300) 는 제1 운영 체제 (110) 로 시간 (T1) 동안 재마운트되었다가, 다시 제2 운영 체제 (120) 로 재마운트될 수 있다. 디스크 이미지 (300) 가 제2 운영 체제 (120) 에 시간 (T2) 동안 마운트되어 있는 동안, 제2 운영 체제 (120) 에서 디스크 이미지 (300) 에 대한 쓰기 작업이 진행되고, 디스크 이미지 (300) 가 제1 운영 체제 (110) 에 시간 (T1) 동안 마운트되어 있는 동안, 제1 운영 체제 (110) 에서 디스크 이미지 (300) 에 대한 쓰기 작업이 진행될 수 있다.
제1 운영 체제 (110) 및 제2 운영 체제 (120) 각각에 디스크 이미지 (300) 가 마운트되는 시간 (T1 및 T2) 은 각각 상이할 수 있다.
예를 들어, 전자 디바이스 (1000) 는 제1 운영 체제 (110) 보다 제2 운영 체제 (120) 에서 더 긴 시간 동안 디스크 이미지 (300) 를 마운트하고 있도록 구현될 수 있다. 디스크 이미지 (300) 가 제1 운영 체제 (110) 보다 제2 운영 체제 (120) 에서 더 긴 시간 동안 마운트됨으로써, 포커스를 전환하여 제2 운영 체제 (120) 를 이용하는 사용자의 편의성이 제고될 수 있다.
전자 디바이스 (1000) 는, 제2 운영 체제 (120) 에서 사용자의 입력 패턴에 기초하여, 제2 운영 체제 (120) 및 제1 운영 체제 (110) 에서 디스크 이미지 (300) 가 마운트되는 시간의 비율을 결정하도록 구현될 수 있다.
예를 들어, 사용자가 소정의 시간 이상 전자 디바이스 (1000) 를 조작하지 않는 경우, 사용자가 소정의 시간 이상 디스크 이미지 (300) 에 대한 읽기/쓰기 작업과 무관하게 전자 디바이스 (1000) 를 조작하는 경우, 또는, 유휴 시간 (idle time) 이 소정의 시간 이상 지속되는 경우, 전자 디바이스 (1000) 는 제1 운영 체제 (110) 에서 디스크 이미지 (300) 가 마운트되는 시간 (T1) 의 비율을 증가시키고, 제2 운영 체제 (120) 에서 디스크 이미지 (300) 가 마운트되는 시간 (T2) 의 비율을 감소시킬 수 있다.
제1 운영 체제 (110) 및 제2 운영 체제 (120) 에서 디스크 이미지 (300) 가 시분할 (time-sharing) 방식으로 마운트됨으로써, 제1 운영 체제 (110) 및 제2 운영 체제 (120) 에서 디스크 이미지 (300) 가 효율적으로 이용될 수 있다.
제1 운영 체제 (110) ,제2 운영 체제 (120), 및 제3 운영 체제 (130) 모두에서 디스크 이미지 (300) 에 대한 쓰기 작업이 개시된 상태인 경우, 도 13b에 도시된 바와 같이, 디스크 이미지 (300) 는 제1 운영 체제 (110), 제2 운영 체제 (120) 및 제3 운영 체제 (130) 에서 시분할 (time-sharing) 방식으로 마운트될 수 있다.
예를 들어, 디스크 이미지 (300) 는 제2 운영 체제 (120) 에 시간 (T2) 동안 마운트되었다가, 제1 운영 체제 (110) 로의 포커스 전환이 없더라도, 제1 운영 체제 (110) 로 시간 (T1) 동안 디스크 이미지 (300) 가 재마운트될 수 있다. 디스크 이미지 (300) 는 제1 운영 체제 (110) 로 시간 (T1) 동안 재마운트되었다가, 제3 운영 체제 (130) 로 시간 (T1') 동안 마운트될 수 있다. 디스크 이미지 (300) 가 마운트되어 있는 운영 체제에서 디스크 이미지 (300) 에 대한 쓰기 작업이 진행된다.
백그라운드 운영 체제 (110, 및 130) 및 포커스 운영 체제 (120) 각각에 디스크 이미지 (300) 가 마운트되는 시간 (T1, T1' 및 T2) 은 각각 상이할 수 있다.
예를 들어, 전자 디바이스 (1000) 는 . 백그라운드 운영 체제 (110, 및 130) 보다 포커스 운영 체제 (120) 에서 더 긴 시간 동안 디스크 이미지 (300) 를 마운트하고 있도록 구현될 수 있다. 디스크 이미지 (300) 가 백그라운드 운영 체제 (110, 및 130) 보다 포커스 운영 체제 (120) 에서 더 긴 시간 동안 마운트됨으로써, 포커스를 전환하여 포커스 운영 체제 (120) 를 이용하는 사용자의 편의성이 제고될 수 있다.
전자 디바이스 (1000) 는, 백그라운드 운영 체제 (110, 및 130) 에서 디스크 이미지 (300) 로의 워크로드 (workload) 에 기초하여, 백그라운드 운영 체제 (110, 및 130) 에서 디스크 이미지 (300) 가 마운트되는 시간의 비율을 결정하도록 구현될 수 있다.
예를 들어, 제1 운영 체제 (110) 에서 디스크 이미지 (300) 로의 워크로드가, 제3 운영 체제 (120) 에서 디스크 이미지 (300) 로의 워크로드보다 큰 경우, 전자 디바이스 (1000) 는 제1 운영 체제 (110) 에서 디스크 이미지 (300) 가 마운트되는 시간 (T1) 의 비율을 증가시키고, 제3 운영 체제 (130) 에서 디스크 이미지 (300) 가 마운트되는 시간 (T1') 의 비율을 감소시킬 수 있다. 로컬 복사 (local copy) 의 워크로드는 네트워크를 통한 다운로드의 워크로드보다 클 수 있다. 따라서, 백그라운드 운영 체제 (110, 및 130) 에서 워크로드가 큰 작업이 우선적으로 완료되어, 전자 디바이스 (1000) 의 리소스가 효율적으로 이용될 수 있다.
전자 디바이스 (1000) 는, 포커스 운영 체제 (120) 에서 사용자의 입력 패턴에 기초하여, 포커스 운영 체제 (120) 및 백그라운드 운영 체제 (110, 및 130) 에서 디스크 이미지 (300) 가 마운트되는 시간의 비율을 결정하도록 구현될 수 있다.
예를 들어, 사용자가 소정의 시간 이상 전자 디바이스 (1000) 를 조작하지 않는 경우, 사용자가 소정의 시간 이상 디스크 이미지 (300) 에 대한 읽기/쓰기 작업과 무관하게 전자 디바이스 (1000) 를 조작하는 경우, 또는, 유휴 시간 (idle time) 이 소정의 시간 이상 지속되는 경우, 전자 디바이스 (1000) 는 백그라운드 운영 체제 (110, 및 130) 에서 디스크 이미지 (300) 가 마운트되는 시간 (T1) 의 비율을 증가시키고, 포커스 운영 체제 (120) 에서 디스크 이미지 (300) 가 마운트되는 시간 (T2) 의 비율을 감소시킬 수 있다.
백그라운드 운영 체제 (110, 및 130) 및 포커스 운영 체제 (120) 에서 디스크 이미지 (300) 가 시분할 (time-sharing) 방식으로 마운트됨으로써, 백그라운드 운영 체제 (110, 및 130) 및 포커스 운영 체제 (120) 에서 디스크 이미지 (300) 가 효율적으로 이용될 수 있다.
한편, 디스크 이미지 (300) 가 백그라운드 운영 체제 (110 또는 130) 로부터 언마운트되어, 포커스 운영 체제 (120) 로 마운트되는 데, 전자 디바이스 (1000) 의 성능 및 운영 체제 (110, 120, 및 130) 의 특성에 따라 시간 (t2) 이 소요될 수 있다. 마찬가지로, 디스크 이미지 (300) 가 백그라운드 운영 체제 (110 또는 130) 로 마운트되는 데 시간 (t1 또는 t1') 이 소요될 수 있다.
도 14a 및 도 14b는 일 실시예에 따른, 전자 디바이스 (1000) 에서 복수의 운영 체제 (OS1, OS2 및 OS3, 또는, OS4, OS5 및 OS6) 가 구동되는 하이퍼바이저를 설명하기 위한 도면이다.
도 14a 및 도 14b를 참조하면, 전자 디바이스 (1000) 는 하나의 하드웨어로 구현될 수 있다. 여기서 하나의 하드웨어는 전자 디바이스 (1000) 에 포함된 구성 요소를 모두 포함할 수 있다. 하나의 하드웨어에서 복수의 운영 체제 (OS1, OS2 및 OS3, 또는, OS4, OS5 및 OS6) 를 구동하기 위해, 하이퍼바이저 (hypervisor) 가 이용될 수 있다.
전술된 다양한 실시예들은 도 14a 또는 도 14b에 도시된 하이퍼바이저를 이용하여 구현될 수 있다.
도 14a를 참조하면, 하이퍼바이저가 하드웨어에서 1번째 수준으로 실행되고, 해당 하이퍼바이저에 대한 게스트 운영 체제 (OS1, OS2, 및 OS3) 는 하드웨어에서 2번째 수준으로 실행될 수 있다. 하이퍼바이저가 하드웨어의 자원을 가상화함으로써, 복수의 운영 체제 (OS1, OS2, 및 OS3) 는 하이퍼바이저를 통해 하드웨어의 자원을 공유할 수 있다. 이때, 복수의 운영 체제 (OS1, OS2, 및 OS3) 는 각각 가상 머신을 운영할 수 있다.
도 14b를 참조하면, 호스트 운영 체제 (OS4) 가 하드웨어에서 1번째 수준으로 실행되고, 하이퍼바이저는 호스트 운영 체제 (OS4) 에 설치되는 일반적인 프로그램과 같이 호스트 운영 체제 (OS4) 에 설치되어 실행된다. 따라서, 해당 하이퍼바이저에 대한 게스트 운영 체제 (OS5 및 OS6) 는 하드웨어에서 3번째 수준으로 실행될 수 있다. 하이퍼바이저는 하드웨어의 자원을 가상화함으로써, 복수의 운영 체제 (OS4, OS5, 및 OS6) 는 하이퍼바이저를 통해 하드웨어의 자원을 공유할 수 있게 한다. 이때, 게스트 운영 체제 (OS5 및 OS6) 는 각각 가상 머신을 운영할 수 있다.
본 명세서에서 인용하는 공개 문헌, 특허 출원, 특허 등을 포함하는 모든 문헌들은 각 인용 문헌이 개별적으로 및 구체적으로 병합하여 나타내는 것 또는 본 발명에서 전체적으로 병합하여 나타낸 것과 동일하게 본 발명에 병합될 수 있다.
본 발명의 이해를 위하여, 도면에 도시된 바람직한 실시 예들에서 참조 부호를 기재하였으며, 본 발명의 실시 예들을 설명하기 위하여 특정 용어들을 사용하였으나, 특정 용어에 의해 본 발명이 한정되는 것은 아니며, 본 발명은 당업자에 있어서 통상적으로 생각할 수 있는 모든 구성 요소들을 포함할 수 있다.
본 발명은 기능적인 블록 구성들 및 다양한 처리 단계들로 나타내어질 수 있다. 이러한 기능 블록들은 특정 기능들을 실행하는 다양한 개수의 하드웨어 또는/및 소프트웨어 구성들로 구현될 수 있다. 예를 들어, 본 발명은 하나 이상의 마이크로프로세서들의 제어 또는 다른 제어 장치들에 의해서 다양한 기능들을 실행할 수 있는, 메모리, 프로세싱, 로직 (logic), 룩업 테이블 (look-up table) 등과 같은 직접 회로 구성들을 채용할 수 있다. 본 발명에의 구성 요소들이 소프트웨어 프로그래밍 또는 소프트웨어 요소들로 실행될 수 있는 것과 유사하게, 본 발명은 데이터 구조, 프로세스들, 루틴들 또는 다른 프로그래밍 구성들의 조합으로 구현되는 다양한 알고리즘을 포함하여, C, C++, 자바 (Java), 어셈블러 (assembler) 등과 같은 프로그래밍 또는 스크립팅 언어로 구현될 수 있다. 기능적인 측면들은 하나 이상의 프로세서들에서 실행되는 알고리즘으로 구현될 수 있다. 또한, 본 발명은 전자적인 환경 설정, 신호 처리, 및/또는 데이터 처리 등을 위하여 종래 기술을 채용할 수 있다. '메커니즘', '요소', '수단', '구성'과 같은 용어는 넓게 사용될 수 있으며, 기계적이고 물리적인 구성들로서 한정되는 것은 아니다. 상기 용어는 프로세서 등과 연계하여 소프트웨어의 일련의 처리들 (routines) 의 의미를 포함할 수 있다.
본 발명에서 설명하는 특정 실행들은 일 실시 예들로서, 어떠한 방법으로도 본 발명의 범위를 한정하는 것은 아니다. 명세서의 간결함을 위하여, 종래 전자적인 구성들, 제어 시스템들, 소프트웨어, 상기 시스템들의 다른 기능적인 측면들의 기재는 생략될 수 있다. 또한, 도면에 도시된 구성 요소들 간의 선들의 연결 또는 연결 부재들은 기능적인 연결 및/또는 물리적 또는 회로적 연결들을 예시적으로 나타낸 것으로서, 실제 장치에서는 대체 가능하거나 추가의 다양한 기능적인 연결, 물리적인 연결, 또는 회로 연결들로서 나타내어질 수 있다. 또한, '필수적인', '중요하게' 등과 같이 구체적인 언급이 없다면 본 발명의 적용을 위하여 반드시 필요한 구성 요소가 아닐 수 있다.
본 발명의 명세서 (특히 특허청구범위에서) 에서 '상기'의 용어 및 이와 유사한 지시 용어의 사용은 단수 및 복수 모두에 해당하는 것일 수 있다. 또한, 본 발명에서 범위 (range) 를 기재한 경우 상기 범위에 속하는 개별적인 값을 적용한 발명을 포함하는 것으로서 (이에 반하는 기재가 없다면), 발명의 상세한 설명에 상기 범위를 구성하는 각 개별적인 값을 기재한 것과 같다. 마지막으로, 본 발명에 따른 방법을 구성하는 단계들에 대하여 명백하게 순서를 기재하거나 반하는 기재가 없다면, 상기 단계들은 적당한 순서로 행해질 수 있다. 반드시 상기 단계들의 기재 순서에 따라 본 발명이 한정되는 것은 아니다. 본 발명에서 모든 예들 또는 예시적인 용어 (예들 들어, 등등) 의 사용은 단순히 본 발명을 상세히 설명하기 위한 것으로서 특허청구범위에 의해 한정되지 않는 이상 상기 예들 또는 예시적인 용어로 인해 본 발명의 범위가 한정되는 것은 아니다. 또한, 당업자는 다양한 수정, 조합 및 변경이 부가된 특허청구범위 또는 그 균등물의 범주 내에서 설계 조건 및 팩터에 따라 구성될 수 있음을 알 수 있다.

Claims (15)

  1. 복수의 운영 체제 간 디스크 이미지를 공유하는 전자 디바이스에 있어서,
    상기 복수의 운영 체제 및 상기 디스크 이미지를 저장하는 스토리지;
    제1 운영 체제로부터 제2 운영 체제로 포커스를 전환하는 사용자 입력을 수신하는 입력 디바이스; 및
    상기 사용자 입력이 수신됨에 따라, 기설정된 기준에 기초하여 상기 제1 운영 체제에 마운트된 상기 디스크 이미지를 상기 제2 운영 체제로 마운트하는 프로세서;
    를 포함하는, 전자 디바이스.
  2. 제1 항에 있어서,
    상기 프로세서는 상기 제2 운영 체제에서 상기 디스크 이미지를 액세스하기 위한 사용자 입력이 수신됨에 따라, 상기 제1 운영 체제에 마운트된 상기 디스크 이미지를 상기 제2 운영 체제로 마운트하는, 전자 디바이스.
  3. 제1 항에 있어서,
    상기 프로세서는 상기 제1 운영 체제에서 상기 디스크 이미지에 대한 쓰기 작업을 정지 (pause) 시키고,
    상기 제1 운영 체제에 마운트된 상기 디스크 이미지는 상기 제1 운영 체제에서 상기 쓰기 작업이 정지된 후 상기 제2 운영 체제로 마운트되는, 방법.
  4. 제3 항에 있어서,
    상기 프로세서는 미리 결정된 기준에 기초하여, 상기 제2 운영 체제에 마운트된 상기 디스크 이미지를 상기 제1 운영 체제로 재마운트하고, 상기 제1 운영 체제에서 상기 디스크 이미지에 대한 상기 쓰기 작업을 속개 (resume) 하는, 전자 디바이스.
  5. 제4 항에 있어서,
    상기 프로세서는 상기 제2 운영 체제가 상기 디스크 이미지를 이용하는 이용 상태에 기초하여, 상기 디스크 이미지를 상기 제1 운영 체제에 재마운트할 시점을 결정하는, 전자 디바이스.
  6. 제4 항에 있어서,
    상기 디스크 이미지는 상기 제2 운영 체제에서 사용자의 입력 패턴 및 상기 제1 운영 체제 및/또는 상기 제2 운영 체제에서 상기 디스크 이미지로의 워크로드(workload) 중 적어도 하나에 기초하여, 상기 제1 운영 체제로 재마운트되는, 전자 디바이스.
  7. 제1 항에 있어서,
    상기 디스크 이미지는 상기 제1 운영 체제 및 상기 제2 운영 체제에서 시분할(time-sharing) 방식으로 마운트되는, 전자 디바이스.
  8. 제1 항에 있어서,
    상기 프로세서는 상기 제1 운영 체제가 상기 디스크 이미지를 이용하는 이용 상태에 기초하여, 상기 디스크 이미지를 상기 제2 운영 체제에 마운트할 시점을 결정하는, 전자 디바이스.
  9. 제8 항에 있어서,
    상기 디스크 이미지의 상기 이용 상태가 쓰기(write) 작업 중인 경우, 상기 프로세서는 상기 제2 운영 체제로의 상기 디스크 이미지의 마운트를 대기하는, 전자 디바이스.
  10. 제8 항에 있어서,
    상기 이용 상태는 상기 제1 운영 체제의 상기 디스크 이미지에 대한 데이터 입출력(I/O) 패턴에 기초하여 결정되고,
    상기 데이터 입출력(I/O) 패턴은 상기 제1 운영 체제에서 상기 디스크 이미지의 읽기 스루풋 (read throughput) 과 쓰기 스루풋 (write throughput) 및 상기 제1 운영 체제에서 상기 디스크 이미지의 읽기 빈도 (read frequency) 와 쓰기 빈도 (write frequency) 중 적어도 하나에 의해 결정되는, 전자 디바이스.
  11. 제1 항에 있어서,
    상기 프로세서는 상기 제1 운영 체제 및 상기 제2 운영 체제에 상기 디스크 이미지를 병렬로 마운트하는, 전자 디바이스.
  12. 제11 항에 있어서,
    상기 제1 운영 체제가 상기 디스크 이미지를 이용하는 이용 상태에 기초하여, 상기 제1 운영 체제 및 상기 제2 운영 체제 중 적어도 하나의 상기 디스크 이미지에 대한 이용 권한이 결정되는, 전자 디바이스.
  13. 제12 항에 있어서,
    상기 디스크 이미지의 상기 이용 상태가 읽기(read) 작업 중인 경우, 상기 제2 운영 체제의 상기 디스크 이미지에 대한 이용 권한은 쓰기 (write) 가능 권한으로 결정되고,
    상기 디스크 이미지의 상기 이용 상태가 쓰기(write) 작업 중인 경우, 상기 제2 운영 체제의 상기 디스크 이미지에 대한 이용 권한은 읽기 전용 (read-only) 권한으로 결정하는, 전자 디바이스.
  14. 복수의 운영 체제 간에 디스크 이미지를 공유하는 방법에 있어서,
    제1 운영 체제에 상기 디스크 이미지를 마운트하는 단계;
    상기 제1 운영 체제에서 제2 운영 체제로 포커스를 전환하는 사용자 입력을 수신하는 단계; 및
    상기 사용자 입력이 수신됨에 따라, 기설정된 기준에 기초하여 상기 제1 운영 체제에 마운트된 상기 디스크 이미지를 상기 제2 운영 체제로 마운트하는 단계;
    를 포함하는, 방법.
  15. 제14 항의 디스크 이미지 마운트 방법을 구현하기 위한 프로그램이 기록된, 컴퓨터로 판독 가능한 기록 매체.
PCT/KR2016/007953 2015-07-21 2016-07-21 운영 체제 간 디스크 이미지를 공유하는 방법 및 디바이스 WO2017014578A1 (ko)

Priority Applications (2)

Application Number Priority Date Filing Date Title
CN201680042840.1A CN107851029B (zh) 2015-07-21 2016-07-21 用于操作系统之间共享盘映像的方法和设备
US15/744,462 US10621017B2 (en) 2015-07-21 2016-07-21 Method and device for sharing a disk image between operating systems

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
KR1020150103014A KR102322033B1 (ko) 2015-07-21 2015-07-21 운영 체제 간 디스크 이미지를 공유하는 방법 및 디바이스
KR10-2015-0103014 2015-07-21

Publications (1)

Publication Number Publication Date
WO2017014578A1 true WO2017014578A1 (ko) 2017-01-26

Family

ID=57834177

Family Applications (1)

Application Number Title Priority Date Filing Date
PCT/KR2016/007953 WO2017014578A1 (ko) 2015-07-21 2016-07-21 운영 체제 간 디스크 이미지를 공유하는 방법 및 디바이스

Country Status (4)

Country Link
US (1) US10621017B2 (ko)
KR (1) KR102322033B1 (ko)
CN (1) CN107851029B (ko)
WO (1) WO2017014578A1 (ko)

Families Citing this family (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN112506819B (zh) * 2019-08-26 2022-04-15 成都鼎桥通信技术有限公司 基于双系统的外接设备控制方法、装置、设备和存储介质

Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2008084029A (ja) * 2006-09-27 2008-04-10 Hitachi Software Eng Co Ltd 仮想マシン管理システム
JP2010244358A (ja) * 2009-04-07 2010-10-28 Hitachi Ltd シンクライアントマスタの書換システム、シンクライアントマスタの書換方法、およびシンクライアント
JP2011191939A (ja) * 2010-03-12 2011-09-29 Canon Electronics Inc 周辺装置
JP2013109776A (ja) * 2007-03-27 2013-06-06 Nec Corp 仮想マシン運用システム、仮想マシン運用方法およびプログラム
JP2013186502A (ja) * 2012-03-05 2013-09-19 Toshiba Corp 情報処理装置及びクライアント管理方法

Family Cites Families (15)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR100746025B1 (ko) * 2006-01-12 2007-08-06 삼성전자주식회사 운영체제 스위칭 장치 및 방법
US7877628B2 (en) * 2006-06-08 2011-01-25 International Business Machines Corporation Mirroring data between primary and secondary sites
US7984454B2 (en) * 2006-12-19 2011-07-19 International Business Machines Corporation Migration of single root stateless virtual functions
US8966474B2 (en) * 2007-04-30 2015-02-24 Hewlett-Packard Development Company, L.P. Managing virtual machines using shared image
CN101697134A (zh) * 2009-10-27 2010-04-21 北京大学 一种支持相似虚拟机快速启动的方法
US8930652B2 (en) 2009-11-11 2015-01-06 Red Hat Israel, Ltd. Method for obtaining a snapshot image of a disk shared by multiple virtual machines
KR101620058B1 (ko) * 2009-11-23 2016-05-24 삼성전자주식회사 가상 머신 간 화면 전환 장치 및 방법
US8312184B2 (en) 2009-11-25 2012-11-13 Canon Denshi Kabushiki Kaisha Peripheral device usable without installing driver in computer beforehand
KR101307342B1 (ko) 2009-12-21 2013-09-11 한국전자통신연구원 가상머신 간의 데이터 공유 시스템 및 그 방법
US8499114B1 (en) 2010-09-30 2013-07-30 Amazon Technologies, Inc. Virtual machine memory page sharing system
US8935431B2 (en) 2010-12-17 2015-01-13 International Business Machines Corporation Highly scalable and distributed data sharing and storage
EP2800303B1 (en) * 2012-08-17 2015-11-04 Huawei Technologies Co., Ltd. Switch method, device and system for virtual application dual machine in cloud environment
US20150067283A1 (en) * 2013-08-27 2015-03-05 International Business Machines Corporation Image Deduplication of Guest Virtual Machines
US10067777B2 (en) * 2014-09-18 2018-09-04 Intel Corporation Supporting multiple operating system environments in computing device without contents conversion
CN104516760B (zh) * 2014-12-12 2018-01-09 华为技术有限公司 一种操作系统热切换的方法、装置及移动终端

Patent Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2008084029A (ja) * 2006-09-27 2008-04-10 Hitachi Software Eng Co Ltd 仮想マシン管理システム
JP2013109776A (ja) * 2007-03-27 2013-06-06 Nec Corp 仮想マシン運用システム、仮想マシン運用方法およびプログラム
JP2010244358A (ja) * 2009-04-07 2010-10-28 Hitachi Ltd シンクライアントマスタの書換システム、シンクライアントマスタの書換方法、およびシンクライアント
JP2011191939A (ja) * 2010-03-12 2011-09-29 Canon Electronics Inc 周辺装置
JP2013186502A (ja) * 2012-03-05 2013-09-19 Toshiba Corp 情報処理装置及びクライアント管理方法

Also Published As

Publication number Publication date
CN107851029A (zh) 2018-03-27
KR102322033B1 (ko) 2021-11-04
US10621017B2 (en) 2020-04-14
US20180203747A1 (en) 2018-07-19
CN107851029B (zh) 2021-07-30
KR20170011071A (ko) 2017-02-02

Similar Documents

Publication Publication Date Title
WO2016137272A1 (ko) 복수의 운영체제가 설치된 디바이스를 제어하는 방법 및 디바이스
WO2020218742A1 (ko) 폴더블 전자 장치 및 그 동작 방법
WO2020080639A1 (en) Electronic device for controlling application according to folding angle and method thereof
WO2017065494A1 (en) Portable device and screen display method of portable device
WO2016060514A1 (en) Method for sharing screen between devices and device using the same
WO2020166892A1 (en) Electronic device for providing augmented reality user interface and operating method thereof
WO2014171705A1 (en) Method for adjusting display area and electronic device thereof
WO2016108439A1 (en) Foldable device and method of controlling the same
WO2016111555A2 (en) Bendable user terminal device and method for displaying thereof
WO2013169070A1 (en) Multiple window providing apparatus and method
WO2012157792A1 (en) Electronic device
WO2015009110A1 (ko) 디스플레이를 구비한 휴대 단말기 및 그 휴대 단말기의 동작 방법
EP3241346A1 (en) Foldable device and method of controlling the same
WO2018128253A1 (ko) 전자 장치 및 그의 표시 방법
WO2016137105A1 (en) Device and method of running multiple operating systems
WO2016035907A1 (ko) 디스플레이 장치 및 디스플레이 장치의 제어 방법
WO2018056641A1 (ko) 전자 장치 및 그 제어 방법
EP3243125A2 (en) Bendable user terminal device and method for displaying thereof
WO2016047898A1 (en) Device and method of controlling the device
WO2016013906A1 (en) Electronic apparatus for executing virtual machine and method for executing virtual machine
WO2021025497A1 (en) Electronic device and method for sharing data thereof
WO2016159654A1 (ko) 위젯 제공 시스템 및 방법
WO2016089074A1 (en) Device and method for receiving character input through the same
WO2015012629A1 (en) Method of processing input and electronic device thereof
WO2020080780A1 (en) Electronic device for executing multiple operating systems and method of controlling same

Legal Events

Date Code Title Description
121 Ep: the epo has been informed by wipo that ep was designated in this application

Ref document number: 16828082

Country of ref document: EP

Kind code of ref document: A1

WWE Wipo information: entry into national phase

Ref document number: 15744462

Country of ref document: US

NENP Non-entry into the national phase

Ref country code: DE

122 Ep: pct application non-entry in european phase

Ref document number: 16828082

Country of ref document: EP

Kind code of ref document: A1