KR20080063080A - 정보 처리 장치 및 방법, 프로그램, 및 기록 매체 - Google Patents
정보 처리 장치 및 방법, 프로그램, 및 기록 매체 Download PDFInfo
- Publication number
- KR20080063080A KR20080063080A KR1020070128994A KR20070128994A KR20080063080A KR 20080063080 A KR20080063080 A KR 20080063080A KR 1020070128994 A KR1020070128994 A KR 1020070128994A KR 20070128994 A KR20070128994 A KR 20070128994A KR 20080063080 A KR20080063080 A KR 20080063080A
- Authority
- KR
- South Korea
- Prior art keywords
- application program
- executed
- user
- program
- illegal update
- Prior art date
Links
Images
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F12/00—Accessing, addressing or allocating within memory systems or architectures
- G06F12/14—Protection against unauthorised use of memory or access to memory
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F11/00—Error detection; Error correction; Monitoring
- G06F11/07—Responding to the occurrence of a fault, e.g. fault tolerance
- G06F11/0703—Error or fault processing not based on redundancy, i.e. by taking additional measures to deal with the error or fault not making use of redundancy in operation, in hardware, or in data representation
- G06F11/0793—Remedial or corrective actions
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F11/00—Error detection; Error correction; Monitoring
- G06F11/07—Responding to the occurrence of a fault, e.g. fault tolerance
- G06F11/0703—Error or fault processing not based on redundancy, i.e. by taking additional measures to deal with the error or fault not making use of redundancy in operation, in hardware, or in data representation
- G06F11/0706—Error or fault processing not based on redundancy, i.e. by taking additional measures to deal with the error or fault not making use of redundancy in operation, in hardware, or in data representation the processing taking place on a specific hardware platform or in a specific software environment
- G06F11/0715—Error or fault processing not based on redundancy, i.e. by taking additional measures to deal with the error or fault not making use of redundancy in operation, in hardware, or in data representation the processing taking place on a specific hardware platform or in a specific software environment in a system implementing multitasking
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F11/00—Error detection; Error correction; Monitoring
- G06F11/07—Responding to the occurrence of a fault, e.g. fault tolerance
- G06F11/0703—Error or fault processing not based on redundancy, i.e. by taking additional measures to deal with the error or fault not making use of redundancy in operation, in hardware, or in data representation
- G06F11/0706—Error or fault processing not based on redundancy, i.e. by taking additional measures to deal with the error or fault not making use of redundancy in operation, in hardware, or in data representation the processing taking place on a specific hardware platform or in a specific software environment
- G06F11/0736—Error or fault processing not based on redundancy, i.e. by taking additional measures to deal with the error or fault not making use of redundancy in operation, in hardware, or in data representation the processing taking place on a specific hardware platform or in a specific software environment in functional embedded systems, i.e. in a data processing system designed as a combination of hardware and software dedicated to performing a certain function
- G06F11/0742—Error or fault processing not based on redundancy, i.e. by taking additional measures to deal with the error or fault not making use of redundancy in operation, in hardware, or in data representation the processing taking place on a specific hardware platform or in a specific software environment in functional embedded systems, i.e. in a data processing system designed as a combination of hardware and software dedicated to performing a certain function in a data processing system embedded in a mobile device, e.g. mobile phones, handheld devices
Landscapes
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Physics & Mathematics (AREA)
- General Engineering & Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Quality & Reliability (AREA)
- Computer Security & Cryptography (AREA)
- Stored Programmes (AREA)
- Storage Device Security (AREA)
Abstract
정보 처리 장치는: 유저에 의한 조작을 받아들이고, 상기 조작에 대응하는 처리의 실행을 제어하는 제 1의 어플리케이션 프로그램에서, 상기 정보 처리 장치의 메모리에 기억되어 있는 정보가 부정하게 갱신되는 부정 갱신 처리가 실행되었는지의 여부를 판정하도록 구성된 판정 유닛과; 상기 판정 유닛에 의해 부정 갱신 처리가 실행되었다고 판정된 경우, 상기 제 1의 어플리케이션 프로그램을 강제종료시키도록 구성된 강제종료 유닛과; 상기 판정 유닛에 의해 상기 부정 갱신 처리가 실행되었다고 판정된 경우, 상기 강제종료 유닛에 의해 상기 제 1의 어플리케이션 프로그램이 종료된 후, 상기 유저에게 상기 부정 갱신 처리의 발생을 통지함과 함께, 자신의 재기동에 관한 지령의 조작을 받아들이는 제 2의 어플리케이션 프로그램의 실행을 제어하도록 구성된 재기동 제어 유닛을 포함한다.
Description
우선권 정보
본 발명은 2006년 12월 28일자로 일본특허청에 특허출원된 일본특허원 제2006-355322호를 우선권으로 주장한다.
기술 분야
본 발명은, 정보 처리 장치 및 방법, 프로그램, 및 기록 매체에 관한 것으로, 특히, OS의 메모리 보호 기능을 유효하게 활용함과 함께, 유저에 의한 조작성을 향상시킬 수 있도록 하는 정보 처리 장치 및 방법, 프로그램, 및 기록 매체에 관한 것이다.
컴퓨터의 OS(operating system)에서는, 메모리나 디스크 등의 하드웨어 디바이스는 물론, 어플리케이션 프로그램이 이용하고 있는 레지스터 세트나 메인 메모리 이미지, 파일 등의 각종 자원을 관리하고, 어플리케이션 프로그램이 각종 자원을 이용할 수 있도록 하는 기능이 제공되어 있다.
또한, 근래의 OS에서는, 특히, 메인 메모리에의 데이터의 기록 처리 등이 정상적으로 행하여졌는지의 여부를 감시하고, 메인 메모리가 잘못된 영역에 데이터가 기록되는 등에 의한 컴퓨터의 동작 불량을 억제하는 메모리 보호 기능이 발달하고 있다.
예를 들면, 어떤 어플리케이션 프로그램에 의해, 메인 메모리의 잘못된 영역에 데이터가 기록되는 경우, OS의 기능에 의해, 그 어플리케이션 프로그램의 프로세스가 킬(강제종료)되게 된다.
또한, OS가 갖는 메모리 보호 기능을 이용하여, 멀티 잡을 처리하는 싱글 프로세서 시스템에서, 전용 명령 없이 효율 좋고 안전하게 유저 프로세스 레벨에서 배타적인 제어를 행하는 것도 제안되어 있다(예를 들면, 일본 특개 제2002-157132호 참조).
그러나, 휴대전화기나 디지털 카메라 등의 CE(Consumer Electronics) 기기에서는, 유저에 의한 기기 본체의 기동, 종료 등의 지령이, 어플리케이션 프로그램을 통하여 받아들여지는 것이 많다.
따라서 CE 기기에서, OS의 기능에 의해, 그 어플리케이션 프로그램의 프로세스가 강제종료된 경우(킬 된 경우), 유저는, 기기의 이상에 대처하기 위해 그 기기의 전원을 끊는 등의 조작을 강요받는 일이 있다.
본 발명은 이와 같은 상황을 감안하여 이루어진 것으로, OS의 메모리 보호 기능을 유효하게 활용함과 함께, 유저에 의한 조작성을 향상시키는 것이 바람직하다.
본 발명의 실시예에 따른 정보 처리 장치는: 유저에 의한 조작을 받아들이고, 상기 조작에 대응하는 처리의 실행을 제어하는 제 1의 어플리케이션 프로그램에서, 상기 정보 처리 장치의 메모리에 기억되어 있는 정보가 부정하게 갱신되는 부정 갱신 처리가 실행되었는지의 여부를 판정하는 판정 수단과; 상기 판정 수단에 의해 부정 갱신 처리가 실행되었다고 판정된 경우, 상기 제 1의 어플리케이션 프로그램을 강제종료시키는 강제종료 수단; 및 상기 판정 수단에 의해 상기 부정 갱신 처리가 실행되었다고 판정된 경우, 상기 강제종료 수단에 의해 상기 제 1의 어플리케이션 프로그램이 종료된 후, 상기 유저에게 상기 부정 갱신 처리의 발생을 통지 함과 함께, 자신의 재기동에 관한 지령의 조작을 받아들이는 제 2의 어플리케이션 프로그램의 실행을 제어하는 재기동 제어 수단을 포함한다.
상기 판정 수단은, 상기 제 2의 어플리케이션 프로그램에 의해, 상기 부정 갱신 처리가 실행되었는지의 여부를 또한 판정하고, 상기 제 2의 어플리케이션 프로그램에 의해, 상기 부정 갱신 처리가 실행되었다고 판정된 경우, 상기 재기동 제어 수단은, 상기 유저의 조작의 유무에 관계없이 자신을 재기동시키는 처리의 실행을 제어하도록 할 수 있다.
상기 정보 처리 장치는, 화상을 표시하는 표시 화면을 또한 구비하고, 상기 제 2의 어플리케이션 프로그램에 의해, 상기 부정 갱신 처리의 발생을 통지하는 메시지, 및 상기 재기동에 관한 지령의 조작을 받아들이는 GUI(Graphical User Interface)가 상기 표시 화면에 표시되도록 할 수 있다.
메모리 보호 기능을 갖는 오퍼레이팅 시스템이 실장되고, 상기 판정 수단, 및 상기 강제종료 수단의 처리는, 각각 상기 오퍼레이팅 시스템의 메모리 보호 기능으로서 실행되도록 할 수 있다.
상기 재기동 제어 수단의 처리는, 상기 오퍼레이팅 시스템에 훅된(hooked) 프로그램에 의해 실행되도록 할 수 있다.
본 발명의 다른 실시예에 따른 정보 처리 방법은: 유저에 의한 조작을 받아들이고, 상기 조작에 대응하는 처리의 실행을 제어하는 제 1의 어플리케이션 프로그램에서, 상기 정보 처리 장치의 메모리에 기억되어 있는 정보가 부정하게 갱신되는 부정 갱신 처리가 실행되었는지의 여부를 판정하는 스텝과; 상기 부정 갱신 처 리가 실행되었다고 판정된 경우, 상기 제 1의 어플리케이션 프로그램을 강제종료시키는 스텝; 및 상기 부정 갱신 처리가 실행되었다고 판정된 경우, 상기 제 1의 어플리케이션 프로그램이 종료된 후, 상기 유저에게 상기 부정 갱신 처리의 발생을 통지함과 함께, 자신의 재기동에 관한 지령의 조작을 받아들이는 제 2의 어플리케이션 프로그램의 실행을 제어하는 스텝을 포함한다.
본 발명의 실시예에 따른 컴퓨터 판독 가능 프로그램은: 유저에 의한 조작을 받아들이고, 상기 조작에 대응하는 처리의 실행을 제어하는 제 1의 어플리케이션 프로그램에서, 상기 정보 처리 장치의 메모리에 기억되어 있는 정보가 부정하게 갱신되는 부정 갱신 처리가 실행되었는지의 여부가 판정되도록 제어하는 스텝과; 상기 부정 갱신 처리가 실행되었다고 판정된 경우, 상기 제 1의 어플리케이션 프로그램을 강제종료시키도록 제어하는 스텝; 및 상기 부정 갱신 처리가 실행되었다고 판정된 경우, 상기 제 1의 어플리케이션 프로그램이 종료된 후, 상기 유저에게 상기 부정 갱신 처리의 발생을 통지함과 함께, 자신의 재기동에 관한 지령의 조작을 받아들이는 제 2의 어플리케이션 프로그램의 실행이 제어되도록 하는 스텝을 포함한다.
본 발명의 다른 실시예에 따르면, 유저에 의한 조작을 받아들이고, 상기 조작에 대응하는 처리의 실행을 제어하는 제 1의 어플리케이션 프로그램에서, 상기 정보 처리 장치의 메모리에 기억되어 있는 정보가 부정하게 갱신되는 부정 갱신 처리가 실행되었는지의 여부가 판정되고, 상기 부정 갱신 처리가 실행되었다고 판정된 경우, 상기 제 1의 어플리케이션 프로그램이 강제종료시켜지고, 상기 부정 갱신 처리가 실행되었다고 판정된 경우, 상기 제 1의 어플리케이션 프로그램이 종료된 후, 상기 유저에게 상기 부정 갱신 처리의 발생을 통지함과 함께, 자신의 재기동에 관한 지령의 조작을 받아들이는 제 2의 어플리케이션 프로그램의 실행이 제어된다.
본 발명에 의하면, OS의 메모리 보호 기능을 유효하게 활용함과 함께, 유저에 의한 조작성을 향상시킬 수 있다.
이하에 본 발명의 실시예를 설명하는데, 본 발명의 구성 요건과, 명세서 또는 도면에 기재된 실시예와의 대응 관계를 예시하면, 다음과 같이 된다. 이 기재는, 본 발명을 서포트하는 실시예가, 명세서 또는 도면에 기재되어 있는 것을 확인하기 위한 것이다. 따라서, 명세서 또는 도면 중에는 기재되어 있지만, 본 발명의 구성 요건에 대응하는 실시예로서, 여기에는 기재되지 않은 실시예가 있었다고 하더라도, 그것은, 그 실시예가, 그 구성 요건에 대응하는 것이 아닌 것을 의미하는 것이 아니다. 역으로, 실시예가 구성 요건에 대응하는 것으로서 여기에 기재되어 있다고 하여도, 그것은, 그 실시예가, 그 구성 요건 이외의 구성 요건에는 대응하지 않는 것을 의미하는 것도 아니다.
본 발명의 실시예에 따른 정보 처리 장치는, 유저에 의한 조작을 받아들이고 상기 조작에 대응하는 처리의 실행을 제어하는 제 1의 어플리케이션 프로그램에서, 상기 정보 처리 장치의 메모리에 기억되어 있는 정보가 부정하게 갱신되는 부정 갱신 처리가 실행되었는지의 여부를 판정하는 판정 수단(예를 들면, 도 4의 스텝 S101의 처리를 실행하는 도 2의 OS(101)의 커널)과; 상기 판정 수단에 의해 부정 갱신 처리가 실행되었다고 판정된 경우, 상기 제 1의 어플리케이션 프로그램을 강제종료시키는 강제종료 수단(예를 들면, 도 4의 스텝 S103의 처리를 실행하는 도 2의 OS(101)의 커널)과; 상기 판정 수단에 의해 상기 부정 갱신 처리가 실행되었다고 판정된 경우, 상기 강제종료 수단에 의해 상기 제 1의 어플리케이션 프로그램이 종료된 후, 상기 유저에게, 상기 부정 갱신 처리의 발생을 통지함과 함께, 정보 처리 장치의 재기동에 관한 지령의 조작을 받아들이는 제 2의 어플리케이션 프로그램의 실행을 제어하는 재기동 제어 수단(예를 들면, 도 3의 예외 처리기(exception handler; 133))를 구비한다.
본 발명의 다른 실시예에 따른 정보 처리 방법은, 유저에 의한 조작을 받아들이고 상기 조작에 대응하는 처리의 실행을 제어하는 제 1의 어플리케이션 프로그램에서, 상기 정보 처리 장치의 메모리에 기억되어 있는 정보가 부정하게 갱신되는 부정 갱신 처리가 실행되었는지의 여부를 판정하고(예를 들면, 도 4의 스텝 S101의 처리), 상기 부정 갱신 처리가 실행되었다고 판정된 경우, 상기 제 1의 어플리케이션 프로그램을 강제종료시키고(예를 들면, 예를 들면, 도 4의 스텝 S103의 처리), 상기 부정 갱신 처리가 실행되었다고 판정된 경우, 상기 제 1의 어플리케이션 프로그램이 종료된 후, 상기 유저에게 상기 부정 갱신 처리의 발생을 통지함과 함께, 정보 처리 장치의 재기동에 관한 지령의 조작을 받아들이는 제 2의 어플리케이션 프로그램의 실행을 제어하는(예를 들면, 도 5의 스텝 S121 내지 S 125의 처리) 스텝을 포함한다.
이하, 도면을 참조하여, 본 발명의 실시예에 관해 설명한다.
도 1은, 본 발명의 실시예에 따른 CE(Consumer Electronics) 기기의 구성예를 도시하는 블록도이다. 도 1에 도시된 CE 기기(10)는, 예를 들면, 디지털 카메라이다.
이 실시예의 CE 기기(10)는, 크게 나누면, 카메라 유닛(41)과, 카메라 DSP(Digital Signal Processor)(42)와, 매체 인터페이스(이하, 매체 I/F라고 한다)(44)와, 제어 유닛(45)과, 조작 유닛(46)과, LCD(Liquid Crystal Display) 컨트롤러(47)와, LCD(20)와, 외부 인터페이스(이하, 외부 I/F라고 한다)(48)와, 통신 인터페이스(이하, 통신 I/F라고 한다)(49)를 구비함과 함께, 기록 매체(60)가 착탈 가능한 구성으로 되어 있다.
기록 매체(60)는, 반도체 메모리를 이용한 이른바 메모리 카드, 기록 가능한 DVD(Digital Versatile Disc)나 기록 가능한 CD(Compact Disc) 등의 광기록 매체, 자기 디스크 등으로 구성된다.
카메라 유닛(41)에는, 예를 들면, 렌즈, 포커스 기구, 셔터 기구, 조리개(아이리스) 기구 등을 구비한 광학 블록(71), CCD(Charge Coupled Device)(72), 광학 블록(71)의 구동을 제어하는 드라이버(73)가 마련되어 있다. 또한, CCD(72)를 대신하여, CMOS(Complementary Metal-Oxide Semiconductor) 센서 등의 광전변환 디바이스를 이용하여도 좋다.
예를 들면, 조작 유닛(46)을, 유저가 조작함에 의해, 카메라 유닛(41)에 의해 화상이 촬영되고, 그 화상 데이터가 제어 유닛(45), 및 매체 I/F(44)를 통하여 기록 매체(60)에 기록된다. 조작 유닛(46)은, 예를 들면, 터치 패널이나 컨트롤 키 등으로 이루어지고, 각종의 조작 버튼 등을 포함하는 구성으로 된다.
또한, 기록 매체(60)에 기록된 화상 데이터는, 조작 유닛(46)을 통하여 받아들인 유저로부터의 조작 입력에 응하여, 매체 I/F(44)를 통하여 기록 매체(60)로부터 판독되고, 이것이 카메라 DSP(42)에 공급된다.
카메라 DSP(42)는, 기록 매체(60)로부터 판독되고, 매체 I/F(44)를 통하여 공급된 부호화되어 있는 화상 데이터를 복호하고, 복호 후의 화상 데이터를, 시스템 버스(84)를 통하여, LCD 컨트롤러(47)에 공급한다. LCD 컨트롤러(47)는, 이것에 공급된 화상 데이터로부터 LCD(20)에 공급하는 화상 신호를 형성하고, 이것을 LCD(20)에 공급한다. 이로써, 기록 매체(60)에 기록되어 있는 화상 데이터에 응한 화상이, LCD(20)의 표시 화면에 표시된다.
또한, LCD(20)에는, 제어 유닛(45)에 의해 생성된 GUI(Graphical User Interface)의 화상 등도 적절히 표시된다.
또한, 제어 유닛(45)은, CPU(Central Processing Unit)(81), RAM(Random Access Memory)(82), ROM(Read Only Memory)(83)을 포함하고, 이들은 시스템 버스(84)를 통하여 서로 접속되어 있다. 제어 유닛(45)은, 예를 들면, 범용의 조립형의 마이크로컴퓨터 또는 전용의 시스템 LSI(Large Scale Integrated circuit) 등으로서 구성되고, CE 기기(10)의 각 부분을 제어할 수 있는 것이다.
RAM(82)은, 처리의 도중 결과를 일시 기억하는 등 주로 작업 영역으로서 이용되는 것이다. 또한, ROM(83)은, CPU(81)에서 실행하는 여러가지의 프로그램이나, 처리에 필요하게 되는 데이터 등을 기억한다.
즉, 제어 유닛(45)에서, ROM(83)으로부터 RAM(82)에 로드된 프로그램이 CPU(81)에 의해 실행됨으로써, 카메라 유닛(41) 및 DSP(42)에 제어 신호를 출력하여 CE 기기(10)에 의한 화상의 촬영 처리, 촬영한 화상의 표시 처리 등의 각종의 처리가, 조작 유닛(46)을 통하여 입력된 유저의 지령에 의거하여 실행되도록 되어 있다.
또한, CE 기기(10)는, 외부 I/F(48)를 통하여, 예를 들면 외부의 퍼스널 컴퓨터와 접속하고, 퍼스널 컴퓨터로부터 화상 데이터의 공급을 받아서, 이것을 기록 매체(60)에 기록하거나, 또한, 기록 매체(60)에 기록되어 있는 화상 데이터를 외부의 퍼스널 컴퓨터 등에 공급하거나 할 수 있는 것이다.
또한, CE 기기(10)의 통신 I/F(49)는, 예를 들면, 네트워크 인터페이스 카드(NIC) 등으로 이루어지고, 네트워크에 접속하여, 네트워크를 통하여 각종의 데이터를, 송수신하는 것이 가능하게 되도록 구성되어 있다.
도 2는, CPU(81)에 의해 실행되는 소프트웨어의 기능적 구성예를 도시하는 블록도이다. 도 2에 도시된 바와 같이, CPU(81)에 의해 실행되는 소프트웨어는, OS(operating system)(101), 어플리케이션 프로그램(102), 드라이버(103)를 포함한다.
도 2에 있어서, OS(101)는, RAM(82), 기록 매체(60) 등의 하드웨어 디바이스, 어플리케이션 프로그램(102)이 이용하고 있는 레지스터 세트나, RAM(82)에 기억되어 있는 데이터에 의해 구성되는 메인 메모리 이미지, 파일 등의 각종 자원을 관리하고, 어플리케이션 프로그램(102)이 각종 자원을 이용할 수 있도록 하는 기능을 갖고 있다. 또한, OS(101)는, CE 기기(10)에 실장되어 있는 소프트웨어가 정상적으로 동작할 수 없는 상태가 되는 시스템 에러를 검지한다.
OS(101)는 메모리 보호 기능을 갖는다. 예를 들면, 메모리 보호 기능은, RAM(82)으로의 데이터의 기록 처리 등이 정상적으로 행하여졌는지의 여부를 감시하고, RAM(82)으로의 데이터의 기록 처리 등이 부정하게 행하여진 경우, 시스템 에러로서 검지하고, 또한, 예를 들면, RAM(82)의 잘못된 영역에 데이터가 기록되는 것과 같은 부정한 기록 처리에 의해 야기되는 CE 기기(10)의 동작 불량을 방지한다. OS(101)는, 예를 들면, Linux(등록상표) 등의 기본 소프트웨어에 의해 구성된다.
어플리케이션 프로그램(102)은, OS(101)상에서 실행되는 프로그램 등의 소프트웨어로서, 예를 들면, 카메라 유닛(41)에 의한 화상의 촬영, LCD(20)에의 화상의 표시 등의 처리의 실행을 제어하는 프로그램이다.
드라이버(103)는, 예를 들면, 드라이버(73), 매체 I/F(44) 등의 CE 기기(10)의 각 부위의 하드웨어의 동작을 제어하는 디바이스 드라이버 등에 대응하는 소프트웨어가 된다. 드라이버(103)는, OS(101)의 일부로서 구성되도록 하는 것도 가능하다.
도 3은, 도 2의 소프트웨어가 실행될 때, OS(101)에 의해 관리되는 RAM(82)의 기억 영역(또는, 가상 기억 영역)의 구성을 설명하는 도면이다.
도 3에 도시된 바와 같이, OS(101)는, RAM(82)의 기억 영역(또는, 가상 기억 영역)을, 커널 공간(131)과, 사용자 공간(132)으로 나누어 관리한다.
커널 공간(131)에서는, 주로 OS(101)의 코어 부분인 커널이라고 불리는 소프트웨어에 대응하는 프로세스의 실행에 필요하게 되는 데이터가 보존된다. 사용자 공간(132)에서는, 주로 어플리케이션 프로그램(102)을 구성하는 소프트웨어의 실행에 필요하게 되는 데이터가 보존된다.
예를 들면, 어플리케이션 프로그램(102)을 구성하는 프로그램이 실행되고 있는 경우, 사용자 공간(132)에서, 그 프로그램에 대응하는 프로세스(151)의 기억 영역이, 커널 공간(131)에서 실행되고 있는 OS(101)의 커널에 의해 할당된다.
즉, OS(101)를 구성하는 소프트웨어(프로그램 등)는, 커널 공간(131)에서 실행되고, 어플리케이션 프로그램(102)을 구성하는 소프트웨어(프로그램 등)는, 사용자 공간(132)에서 실행된다.
CE 기기(10)는, 예를 들면, 유저에 의한 조작 유닛(46)의 조작, 또는 제어 유닛(45)에 내장되는 도시하지 않은 타이머 등에 의해 계시(計時)된 시간 등에 의거하여, 카메라 유닛(41), 카메라 DSP(42), LCD(20) 등에 대한 전력의 공급이 차단되도록 되어 있다. 예를 들면, 조작 유닛(46)에 포함되는 파워 ON/OFF 버튼이 압하된 경우, 조작 유닛(46)에 대한 조작이 소정의 시간 이상 행하여지지 않은 경우 등, CE 기기(10)는, 소비 전력을 억제하기 위해, 카메라 유닛(41), 카메라 DSP(42), LCD(20) 등에 대한 전력의 공급을 차단한다.
그러나, 상술한 바와 같이, 카메라 유닛(41), 카메라 DSP(42), LCD(20) 등에 대한 전력의 공급이 차단된 상태라도, RAM(82)에는, 전력이 공급되어 있고, RAM(82)에 보존된 데이터가, 재차 이용 가능하게 되도록 되어 있다. 이로써, 예를 들면, 유저가, 조작 유닛(46)에 포함되는 파워 ON/OFF 버튼을 재차 압하한 경우, ROM(83)으로부터 RAM(82)에의 프로그램의 로드가 이미 완료한 상태, 즉, OS(101)를 구성하는 소프트웨어가, 커널 공간(131)에서 실행되고, 어플리케이션 프로그램(102)을 구성하는 소프트웨어가, 사용자 공간(132)에서 실행된 상태에서, 카메라 유닛(41), 카메라 DSP(42), LCD(20) 등에 대한 전력의 공급이 재개되도록 되어 있다. 따라서, CE 기기(10)는, 파워 ON/OFF 버튼이 압하된 후, 곧바로 화상의 촬영 등이 가능하고, 유저에 있어서의 조작성이 높아지도록 구성되어 있다.
이와 같은 CE 기기(10)의 구성은, 예를 들면, 종래부터 노트형의 퍼스널 컴퓨터 등에서 많이 실장되어 있는 기능이고, 컴퓨터를 종료시키기 직전의 상태를 일시적으로 보존하여 두고, 재차 시작한 때에, 즉석에서 작업을 재개할 수 있는 기능인, 이른바 서스펜드/리줌과 같은 기능을 실현하는 구성으로 된다.
단, 서스펜드/리줌을 반복하면, RAM 등의 메모리에 보존되어 있는 데이터가 잘못 갱신되거나, 파괴되거나 함으로써, 기기의 동작 불량을 초래하는 일이 있다. 이와 같은 경우, 종래의 퍼스널 컴퓨터에서는, 예를 들면, 자신을 셧다운 또는 리부트하는 등, 재기동시켜서, RAM 등의 메모리에, 재차 프로그램을 로드함으로써, 처리를 계속할 수 있도록 되어 있다.
그러나, 디지털 카메라 등의 CE 기기에서는, 예를 들면, 내장되는 배터리의 분리가 행하여진 경우, 팜웨어의 갱신 등이 행하여진 경우 등의 경우를 제외하고, 통상, 셧다운 또는 리부트가 행하여지는 일은 없다.
디지털 카메라 등의 CE 기기에서는, 어플리케이션 프로그램(102)을 구성하는 프로그램의 처리가, 예를 들면, 화상의 촬영, 화상의 표시 등의 처리로 한정되어 있기 때문에, OS(101)상에서, 통상, 복수의 어플리케이션 프로그램(102)의 프로그램이 동시에 실행되는 일은 없고, 예를 들면, 복수의 프로그램이 동시에 RAM 등의 메모리에 보존되는 데이터를 이용함에 의해, 데이터가 잘못 갱신되는 등의 가능성은 적은 것이라고 생각되기 때문이다. 또한, RAM의 데이터를 보존하기 위해 RAM에 대해 공급되는 전력은 미약한 것이고, 디지털 카메라 등의 CE 기기에서는, 기동이나 종료시에, 그때마다, 셧다운 또는 리부트를 행하는 것보다도, 서스펜드/리줌을 반복하는 쪽이, 보다 유저의 조작성을 향상시킬 수 있기 때문이다.
그러나, CE 기기에서도, 서스펜드/리줌을 반복하면, RAM 등의 메모리에 보존되어 있는 데이터가 잘못 갱신되거나, 파괴되거나 함으로써, 기기의 동작 불량을 초래하는 경우가 있다.
예를 들면, 프로세스(151)에 대응하는 프로그램에서, 메모리 사이즈의 확보나 개방 등의 처리의 기술(記述)에 오류가 있고(버그 등이 있고), 확보된 메모리 사이즈를 초과하는 데이터가 입력되는 등을 한 경우, RAM(82)의 잘못된 영역에 데이터가 기록되어, CE 기기(10)가 정상적으로 동작하지 않게 되는 일이 있다. 이 때문에, 커널 공간(131)에서 실행되고 있는 OS(101)의 커널이, RAM(82)으로의 데이터의 기록 처리가 정상적으로 행하여졌는지의 여부를 감시하고, RAM(82)으로의 데이터의 기록 처리 등이 정상적으로 행하여지지 않은(부정하게 행하여진) 경우, 프로세스(151)에 대한 기억 영역의 배당을 해제하는 등을 하여, 프로세스(151)에 대응하는 프로그램을 강제종료시키도록 되어 있다.
상술한 바와 같이, 프로그램의 버그 등에 의해 야기되는 부적절한 처리뿐만 아니라, 어플리케이션 프로그램(102)의 프로그램에서의 부정한 메모리 갱신 처리도, CE 기기(10)의 벤더가 당연히 상정하여 두어야 할 시스템 에러라고 생각된다. 따라서, CE 기기(10)의 벤더는, 이와 같은 시스템 에러가 발생하는 경우에도, CE 기기(10)의 사용을 할 수 없게 되는 사태에는 이르지 않도록 CE 기기(10)를 설계할 필요가 있다. 이 때문에, 근래의 CE 기기에서는, OS(101)와 같이, 메모리 보호 기능을 갖는 오퍼레이팅 시스템이 실장되는 것이 일반적으로 되어 있다.
한편으로, CE 기기에서는, 화상의 촬영이나, 화상의 표시 등의 지령뿐만 아니라, 기기 본체의 기동, 종료 등의 지령도, 어플리케이션 프로그램을 통하여 받아들이도록 되어 있는 경우가 있다. 예를 들면, LCD에 표시되는 GUI의 화상에 의거하여, 유저가 조작부를 조작함에 의해, CE 기기의 기동이나 종료를 지령하는 것도 가능하다. 디지털 카메라 등의 소형의 CE 기기에서는, 소프트웨어를 기억하는 ROM 등의 기억 용량은 한정된 것이고, 또한, 조작부의 구성도 단순한 것으로 되는 것이 바람직하기 때문에, 유저의 조작을 받아들이는 GUI의 제어 등의 기능은, 하나의 어플리케이션 프로그램에 포함되어 실장되는 것이 많다.
따라서 종래의 CE 기기에서, OS(101)의 메모리 보호 기능에 의해, 어플리케이션 프로그램(102)이 강제종료된 경우, 유저에 있어서는, CE 기기가 조작 불능으로 된 것이라고 느껴진다. 이와 같은 경우, 유저는, CE 기기의 OS(101)를 재기동시킬 필요가 있고, 예를 들면, CE 기기의, 도시하지 않은 배터리를 분리하고, 다시 바꾸어 부착하는 등의 조작을 강요받는다.
또는 또한, 종래의 CE 기기에서, OS(101)의 기능에 의해, 어플리케이션 프로그램(102)이 강제종료된 경우, 자동적으로, CE 기기의 OS(101)를 재실행시키도록, OS(101)의 커널의 일부를 변경하는 등을 하여 대처하는 것도 가능하지만, OS(101)를 다시 RAM에 로드하여 재실행함으로써 CE 기기를 재기동하는 경우, 재기동에 수반한 각종의 처리에 시간이 걸리고, 소정의 시간은, 조작부를 통한 조작의 입력이 받아들여지지 않는다. 이와 같은 경우, 유저에 있어서는, 역시 CE 기기가 갑자기, 조작 불능으로 된 것같이 느껴지고, CE 기기의 조작성이 극히 낮은 것이라고 느껴진다.
그래서, 본 발명에서는, OS(101)의 기능에 의해, 통상 실행되고 있는 어플리케이션 프로그램이 강제종료된 경우, 유저에게, CE 기기(10)의 시스템 에러를 통지하고, 재기동을 촉구하기 위한 새로운 어플리케이션 프로그램이 실행되도록 한다.
구체적으로는, 커널 공간(131)에서 실행되고, OS(101)의 커널에 훅되는 소프트웨어로서 예외 처리기(133)를 마련한다. 그리고, OS(101)의 커널이, RAM(82)으로의 데이터의 기록 처리가 부정하게 행하여진 것을 검지한 경우, OS(101)의 커널로부터 예외 처리기(133)에, RAM(82)에의 데이터의 기록 처리가 부정하게 행하여진 것을 통지하는 처리가 발생하도록 하여, 그 후, OS(101)의 커널이 프로세스(151)에 대응하는 프로그램을 강제종료하도록 한다.
여기서, 예외 처리기(133)는, 예를 들면, OS(101)에 부가되는 프로그램으로서 ROM(83) 등에 미리 기억되어 있다. 즉, 예외 처리기(133)는, 실제로는, RAM(82)에 로드되어 커널 공간(131)에서 실행되는 프로그램의 일부이다.
예외 처리기(133)는, OS(101)의 커널로부터 RAM(82)에의 데이터의 기록 처리가 부정하게 행하여진 것이 통지된 경우, 프로세스(151)의 프로그램이 종료된 후, 종료된 프로그램과는 별개의 프로그램으로서, 유저에게, CE 기기(10)의 시스템 에러를 통지하고, 재기동을 촉구하기 위한 어플리케이션 프로그램의 실행을 제어한다.
또한, CE 기기(10)에서, 통상 실행되고 있는 어플리케이션 프로그램을, 이하 적절히, 통상 어플리케이션이라고 칭하고, 유저에게, CE 기기(10)의 시스템 에러를 통지하고, 재기동을 촉구하기 위한 어플리케이션 프로그램을, 이하 적절히, 예외 어플리케이션이라고 칭하기로 한다. 통상 어플리케이션 및 예외 어플리케이션은, 모두, 어플리케이션 프로그램(102)을 구성하는 프로그램으로서, ROM(83) 등에 미리 기억되어 있는 것으로 한다. 또한, 예외 어플리케이션은, 예외 처리기(133)의 제어에 의해서만 실행되는 것으로 하고, CE 기기(10)에 전력이 공급되어 기동되는 경우 등은, 자동적으로 통상 어플리케이션이 실행되는 것으로 한다.
예외 처리기(133)에 의해, 예외 어플리케이션의 실행이 제어되는 경우, OS(101)의 커널은, 사용자 공간(132)에서, 예외 어플리케이션에 대응하는 프로세스(152)의 기억 영역을 할당한다. 그리고, CE 기기(10)의 CPU(81)에 의해 예외 어플리케이션이 실행되고, 예를 들면, LCD(20)에, 소정의 메시지나 GUI가 표시됨으로써, 유저에게, CE 기기(10)의 시스템 에러가 통지되고, 재기동이 촉구되게 된다.
다음에, 도 4의 플로우차트를 참조하여, OS(101)의 커널에 의한 이상 종료 대응 처리의 예에 관해 설명한다. 이 처리는, CE 기기(10)가 기동되고, OS(101), 어플리케이션 프로그램(102) 등의 소프트웨어가 RAM(82)에 로드되어 있을 때, OS(101)의 커널에 의해 실행된다. 여기서는, CE 기기(10)에는, 어플리케이션 프로그램(102)을 구성하는 프로그램으로서, 통상 어플리케이션과, 예외 어플리케이션이 실장되어 있는 것으로 한다.
스텝 S101에서, OS(101)의 커널은, 사용자 공간(132)에서 실행되고 있는 통상 어플리케이션에 의한 부정한 처리(즉, 시스템 에러)가 있었는지의 여부를 판정하고, 부정한 처리가 있었다고 판정될 때까지 대기한다.
예를 들면, 통상 어플리케이션에, 메모리 사이즈의 확보나 개방 등의 처리의 기술에 오류가 있고, 확보된 메모리 사이즈를 초과하는 데이터가 입력되는 등을 한 경우, RAM(82)의 잘못된 영역에 데이터가 기록되고, 스텝 S101의 처리에서 부정한 처리가 있었다고 판정되고, 처리는, 스텝 S102로 진행한다.
스텝 S102에서, OS(101)의 커널은, 통상 어플리케이션에 의한 부정한 처리가 있음을, 예외 처리기(133)에 통지한다. 이 때, 예를 들면, OS(101)의 커널의 처리에서, 인터럽트가 발생하여, 예외 처리기(133)에 대응하는 프로그램(코드)이 호출되어 예외 처리기(133)의 처리가 실행됨과 함께, OS(101)의 커널에서 검지된 부정한 처리를 특정하는 정보 등을 포함하는 파라미터 등이, 예외 처리기(133)에 인도됨에 의해, 통상 어플리케이션에 의한 부정한 처리가 있음이, 예외 처리기(133)에 통지된다.
스텝 S103에서, OS(101)의 커널은, 사용자 공간(132)에서 실행되고 있는 통상 어플리케이션에 대응하는 프로세스를 강제적으로 종료시킨다(프로세스를 킬한 다).
스텝 S104에서, OS(101)의 커널은, 예외 어플리케이션, 또는 예외 처리기(133)로부터의, 리부트 또는 셧다운의 요구가 있었는지의 여부를 판정하고, 아직, 리부트 또는 셧다운의 요구가 없다고 판정된 경우, 처리는, 스텝 S101로 되돌아와, 그 이후의 처리가 반복하여 실행된다.
스텝 S104에서, 예외 어플리케이션, 또는 예외 처리기(133)로부터의, 리부트 또는 셧다운의 요구가 있었다고 판정된 경우, 처리는, 스텝 S105로 진행한다.
스텝 S105에서, OS(101)의 커널은, 리부트 또는 셧다운를 행한다. 이로써, CE 기기(10)가 다음번 기동될 때에는, RAM(82)에, OS(101), 어플리케이션 프로그램(102) 등의 소프트웨어가 새롭게 로드되게 된다.
또한, 스텝 S105의 처리에서, 리부트가 행하여지는 경우, CE 기기(10)가, 자동적으로 재기동되어 RAM(82)에, OS(101), 어플리케이션 프로그램(102) 등의 소프트웨어가 새롭게 로드되게 되는데, 스텝 S105의 처리에서, 셧다운이 행하여지는 경우, 스텝 S105에서는, RAM(82)을 포함하여 CE 기기(10) 전체에의 전력의 공급이 차단되게 되고, 그 후, 예를 들면, 조작 유닛(46)에 포함되는 파워 ON/OFF 버튼이 압하되면, CE 기기(10)가 재기동되어, OS(101), 어플리케이션 프로그램(102) 등의 소프트웨어가 RAM(82)에 새롭게 로드된다.
다음에, 도 5의 플로우차트를 참조하여, 예외 처리기의 처리의 예에 관해 설명한다.
스텝 S121에서, 예외 처리기(133)는, OS(101)의 커널로부터 통상 어플리케이 션에 의한 부정 처리에 대한 통지가 있었는지의 여부를 판정하고, 통상 어플리케이션에 의한 부정 처리에 대한 통지가 있었다고 판정될 때까지 대기한다. 여기서는, 도 4의 스텝 S102의 처리에 의한 통지가 있었는지의 여부가 판정되게 된다.
스텝 S121에서, OS(101)의 커널로부터 통상 어플리케이션에 의한 부정 처리에 대한 통지가 있었다고 판정된 경우, 처리는, 스텝 S122로 진행하여, 예외 처리기(133)는, 로그를 출력한다. 이 때, 예를 들면, 부정한 처리에 관한 프로그램, 시각 등을 특정하는 정보 등이 로그로서 출력된다.
스텝 S123에서, 예외 처리기(133)는, 도 4의 스텝 S103의 처리에서 킬된 통상 어플리케이션에 대응하는 프로세스(예를 들면, 도 3의 프로세스(151))가 완전히 종료할 때까지 대기한다.
스텝 S123에서, 통상 어플리케이션에 대응하는 프로세스가 완전하게 종료하였다고 판정된 경우, 처리는, 스텝 S124로 진행하여, 예외 처리기(133)는, 플래그가 "OFF"인지의 여부를 판정한다. 여기서, 플래그는, 예외 처리기(133)에, 예외 어플리케이션을 기동(실행)시키는지의 여부를 판정하기 위한 플래그이고, "ON" 또는 "OFF"의 상태가 있을 수 있는 것이고, 초기치로서는 "OFF"로 된다.
지금의 경우, 플래그는 초기치의 "OFF"이기 때문에, 스텝 S124에서는, 플래그는 "OFF"라고 판정되고, 처리는 스텝 S125로 진행한다.
스텝 S125에서, 예외 처리기(133)는, 예외 어플리케이션의 실행을 제어한다. 이로써, 사용자 공간(132)에서, 예외 어플리케이션에 대응하는 프로세스(예를 들면, 도 3의 프로세스(152))가 실행되게 된다.
예외 어플리케이션이 실행된 경우, 예를 들면, 도 6에 도시되는 바와 같은 화면이 LCD(20)에 표시된다.
도 6은, 예외 어플리케이션에 의해 표시되는 화면의 예를 도시하고 있고, 이 예에서는, 화면(201)에, "시스템 에러가 발생하였습니다. 종료하여 주십시오."라는 메시지가 표시되어 있다. 이로써, 유저에게, CE 기기(10)에서, 시스템 에러가 발생한 것을 인식시킬 수 있다.
또한, 화면(201)은, GUI로서의 기능도 갖고 있고, 버튼(202)이 표시되어 있다. 예를 들면, 유저가, 조작 유닛(46)을 조작하여, 화면(201)의 버튼(202)에 커서를 맞추는 등을 하여 압하함에 의해, CE 기기(10)의 셧다운 또는 리부트가 지령되도록 되어 있다.
즉, 예외 어플리케이션은, 유저에게, CE 기기(10)의 시스템 에러를 통지하는 메시지를 표시하고, 버튼(202)을 압하시킴으로써 재기동을 촉구하기 위한 화면(201)을 표시시키는 처리를 실행하는 어플리케이션 프로그램이다.
도 5로 되돌아와, 스텝 S125의 처리의 후, 예외 처리기(133)는, 스텝 S126에서, 플래그를 갱신한다. 지금의 경우, 플래그가 초기치의 "OFF"로부터 "ON"으로 갱신된다.
다음에, 도 7의 플로우차트를 참조하여, 예외 어플리케이션의 처리의 예에 관해 설명한다.
스텝 S141에서, 예외 어플리케이션은, 예를 들면, 도 6의 버튼(202)과 같이, 재기동에 관한 처리의 실행을 지령하는 버튼이 압하되었는지의 여부를 판정하고, 버튼이 압하되었다고 판정될 때까지 대기한다. 스텝 S141에서, 재기동에 관한 처리의 실행을 지령하는 버튼이 압하되었다고 판정된 경우, 처리는, 스텝 S142로 진행한다.
스텝 S142에서, 예외 어플리케이션은, OS(101)의 커널에 리부트 또는 셧다운의 실행을 요구한다. 이로써, 도 4의 스텝 S105의 처리에서 리부트 또는 셧다운이 행하여지게 된다. 또한, 이 리부트 또는 셧다운의 후, CE 기기(10)가 재기동될 때에는, 통상 어플리케이션이 자동적으로 실행되도록 되어 있다.
이와 같이 함으로써, 어플리케이션 프로그램(102)을 구성하는 프로그램에 의한 부정한 처리가 실행되고, OS(101)의 기능에 의해 그 프로그램이 강제종료된 경우라도, 유저에게, CE 기기(10)에서 시스템 에러가 발생한 것을 인식시킬 수 있다. 따라서 OS(101)의 메모리 보호 기능을 유효하게 활용함과 함께, 유저에 의한 조작성을 향상시킬 수 있도록 한 것이다.
그런데, 예외 어플리케이션은, 상술한 바와 같이, 화면(201)을 표시하고, OS(101)의 커널에 리부트의 실행을 요구할뿐의 단순한 프로그램이지만, 예외 어플리케이션에도 역시 버그가 있고, 확보된 메모리 사이즈를 초과하는 데이터가 입력되는 등의 처리가 실행될 가능성도 있다. 이와 같은 경우, 예외 어플리케이션에 의한 부정한 처리가 OS(101)의 커널에 의해 검지되고, 예외 어플리케이션이 강제종료되게 된다.
그러나, 이와 같은 경우, 통상 어플리케이션이 강제종료된 경우와 마찬가지로, 예외 어플리케이션을 새롭게 실행하여도, 역시 또한, 예외 어플리케이션에 의 한 부정한 처리가 반복될 우려가 있다. 그래서, 본 발명에서는, 예외 어플리케이션에 의한 부정한 처리가 OS(101)의 커널에 의해 검지되어, 예외 어플리케이션이 강제종료되는 경우, CE 기기(10)가 리부트 또는 셧다운되어 재기동되도록 되어 있다.
즉, 예외 어플리케이션이 기동중에 부정한 처리가 실행된 경우, 도 4의 스텝 S101의 처리에서, 부정한 처리가 있었다고 판정되고, 처리는, 스텝 S102, S103으로 진행하게 된다. 또한, 지금의 경우, 스텝 S103에서는, 사용자 공간(132)에서 실행되고 있는 예외 어플리케이션에 대응하는 프로세스(152)가 킬되게 된다.
또한, 스텝 S102의 처리에서, 예외 처리기(133)에, OS(101)의 커널로부터, 예외 어플리케이션에 의한 부정한 처리가 있은 것의 통지가 행하여지고, 이에 수반하여, 도 5의 스텝 S122 내지 S124의 처리가 실행되게 되지만, 지금의 경우, 플래그는, "ON"이기 때문에, 스텝 S124의 처리의 후, 처리는, 스텝 S127로 진행하게 된다.
스텝 S127에서는, 예외 처리기(133)로부터 OS(101)의 커널에 리부트 또는 셧다운의 실행이 요구된다. 그리고, 도 4의 스텝 S104와 S105의 처리가 실행되게 된다.
지금의 경우, 도 4의 스텝 S104에서는, 리부트 또는 셧다운이 요구되었다고 판정되고, 스텝 S105에서, OS(101)의 커널이, CE 기기(10)의 리부트 또는 셧다운을 행한다. 이로써, CE 기기(10)가 리부트 또는 셧다운 후에 재기동되어, RAM(82)에, OS(101), 어플리케이션 프로그램(102) 등의 소프트웨어가 새롭게 로드되게 된다. 또한, 이 재기동에 수반하여, 역시 통상 어플리케이션이 자동적으로 실행된다.
이상에서는, OS(101)에 의해 검지되는 시스템 에러의 예로서, 프로그램에 의해 확보된 메모리 사이즈를 초과하는 데이터가 입력되는 등으로, RAM(82)의 잘못된 영역에 데이터가 기록되는 부정한 처리의 발생을 설명하였만, 예를 들면, 어플리케이션 프로그램(102)의 프로그램에 의해 RAM(82)에서 사용 가능한 기억 영역을 모두 사용하여 버린, 이른바 아웃 오브 메모리의 발생, 그 밖의 부정한 처리로서 소프트웨어가 정상적으로 동작할 수 없는 상태가 되는 부정한 처리의 발생이, OS(101)에 의해 시스템 에러로서 검지되도록 하여도 좋다.
또한, 이상에서는, CE 기기(10)에 본 발명을 적용하는 예에 관해 설명하였만, 예를 들면, 도 8에 도시되는 바와 같은 퍼스널 컴퓨터에 본 발명을 적용하는 것도 가능하다. 도 8은, 퍼스널 컴퓨터(700)의 구성예를 도시하는 블록도이다.
도 8에서, CPU(Central Processing Unit)(701)는, ROM(Read Only Memory)(702)에 기억되어 있는 프로그램, 또는 기억 유닛(708)으로부터 RAM(Random Access Memory)(703)에 로드된 프로그램에 따라 각종의 처리를 실행한다. RAM(703)에는 또한, CPU(701)가 각종의 처리를 실행하는데 필요한 데이터 등도 적절히 기억된다.
CPU(701), ROM(702), 및 RAM(703)은, 버스(704)를 통하여 상호 접속되어 있다. 이 버스(704)에는 또한, 입출력 인터페이스(705)도 접속되어 있다.
입출력 인터페이스(705)에는, 키보드, 마우스 등으로 이루어지는 입력 유닛(706), CRT(Cathode Ray Tube), LCD(Liquid Crystal display) 등으로 이루어지는 디스플레이, 및 스피커 등으로 이루어지는 출력 유닛(707), 하드디스크 등으로 구 성되는 기억 유닛(708), 모뎀, LAN 카드 등의 네트워크 인터페이스 카드 등으로 구성되는 통신 유닛(709)이 접속되어 있다. 통신 유닛(709)은, 인터넷을 포함하는 네트워크를 통한 통신 처리를 행한다.
입출력 인터페이스(705)에는 또한, 필요에 따라 드라이브(710)가 접속되고, 자기 디스크, 광디스크, 광자기 디스크, 또는 반도체 메모리 등의 리무버블 미디어(711)가 적절히 장착되고, 그들로부터 판독된 컴퓨터 프로그램이, 필요에 응하여 기억 유닛(708)에 인스톨된다.
상술한 일련의 처리는, 하드웨어에 의해 실행시킬 수도 있고, 소프트웨어에 의해 실행시킬 수도 있다. 상술한 일련의 처리를 소프트웨어에 의해 실행시키는 경우에는, 그 소프트웨어를 구성하는 프로그램이, 도 1의 CE 기기(10), 도 8의 퍼스널 컴퓨터(700) 등에, 인터넷 등의 네트워크나, 기록 매체(60), 리무버블 미디어(711) 등으로 이루어지는 기록 매체로부터 인스톨된다.
또한, 이 기록 매체는, 도 8에 도시되는, 장치 본체와는 별개로, 유저에게 프로그램을 배신하기 위해 배포되는, 프로그램이 기록되어 있는 자기 디스크(플로피 디스크(등록상표)를 포함한다), 광디스크(CD-ROM(Compact Disk-Read Only Memory), DVD(Digital Versatile Disk)를 포함한다), 광자기 디스크(MD(Mini-Disk)(등록상표)를 포함한다), 또는 반도체 메모리 등으로 이루어지는 리무버블 미디어(711)에 의해 구성되는 것뿐만 아니라, 장치 본체에 미리 조립된 상태에서 유저에게 배신되는, 프로그램이 기록되어 있는 ROM(83), ROM(702), 기억 유닛(708)에 포함되는 하드디스크 등으로 구성되는 것도 포함한다.
본 명세서에서 상술한 일련의 처리를 실행하는 스텝은, 기재된 순서에 따라 시계열적으로 행하여지는 처리는 물론, 반드시 시계열적으로 처리되지 않더라도, 병렬적 또는 개별적으로 실행되는 처리도 포함하는 것이다.
당업자라면, 첨부된 특허청구범위 또는 그 등가의 범위 내에 있는 한, 필요에 따라 여러가지 변경예, 수정예, 부분변경예, 대체예 등을 실시할 수 있을 것이다.
도 1은 본 발명을 적용한 CE 기기의 한 실시 형태에 관한 구성예를 도시하는 블록도.
도 2는 도 1의 CPU에 의해 실행되는 소프트웨어의 기능적 구성예를 도시하는 블록도.
도 3은 도 2의 소프트웨어가 실행될 때, OS에 의해 관리되는 기억 영역의 구성을 설명하는 도면.
도 4는 이상 종료 대응 처리의 예를 설명하는 플로우차트.
도 5는 예외 처리기의 처리의 예를 설명하는 플로우차트.
도 6은 예외 어플리케이션에 의해 표시되는 화면의 예를 도시하는 도면.
도 7은 예외 어플리케이션의 처리의 예를 설명하는 플로우차트.
도 8은 퍼스널 컴퓨터의 구성예를 도시하는 블록도.
(도면의 주요 부분에 대한 부호의 설명)
10 : CE 기기 20 : LCD
41 : 카메라부 45 : 제어부
46 : 조작부 60 : 기록 매체
81 : CPU 82 : RAM
83 : ROM 101 : OS
102 : 어플리케이션 프로그램 133 : 예외 처리기
701 : CPU 702 : ROM
703 : RAM 711 : 리무버블 미디어
Claims (9)
- 유저에 의한 조작을 받아들이고, 상기 조작에 대응하는 처리의 실행을 제어하는 제 1의 어플리케이션 프로그램에서, 상기 정보 처리 장치의 메모리에 기억되어 있는 정보가 부정하게 갱신되는 부정 갱신 처리가 실행되었는지의 여부를 판정하는 판정 수단과;상기 판정 수단에 의해 부정 갱신 처리가 실행되었다고 판정된 경우, 상기 제 1의 어플리케이션 프로그램을 강제종료시키는 강제종료 수단; 및상기 판정 수단에 의해 상기 부정 갱신 처리가 실행되었다고 판정된 경우, 상기 강제종료 수단에 의해 상기 제 1의 어플리케이션 프로그램이 종료된 후, 상기 유저에게 상기 부정 갱신 처리의 발생을 통지함과 함께, 자신의 재기동에 관한 지령의 조작을 받아들이는 제 2의 어플리케이션 프로그램의 실행을 제어하는 재기동 제어 수단을 구비하는 것을 특징으로 하는 정보 처리 장치.
- 제 1항에 있어서,상기 판정 수단은, 상기 제 2의 어플리케이션 프로그램에 의해, 상기 부정 갱신 처리가 실행되었는지의 여부를 또한 판정하고, 상기 제 2의 어플리케이션 프로그램에 의해, 상기 부정 갱신 처리가 실행되었다고 판정된 경우,상기 재기동 제어 수단은, 상기 유저의 조작의 유무에 관계없이 자신을 재기동시키는 처리의 실행을 제어하는 것을 특징으로 하는 정보 처리 장치.
- 제 1항에 있어서,화상을 표시하는 표시 화면을 또한 구비하고,상기 제 2의 어플리케이션 프로그램에 의해, 상기 부정 갱신 처리의 발생을 통지하는 메시지, 및 상기 재기동에 관한 지령의 조작을 받아들이는 GUI(Graphical User Interface)가 상기 표시 화면에 표시되는 것을 특징으로 하는 정보 처리 장치.
- 제 1항에 있어서,메모리 보호 기능을 갖는 오퍼레이팅 시스템이 실장되고,상기 판정 수단, 및 상기 강제종료 수단의 처리는, 각각 상기 오퍼레이팅 시스템의 메모리 보호 기능으로서 실행되는 것을 특징으로 하는 정보 처리 장치.
- 제 4항에 있어서,상기 재기동 제어 수단의 처리는, 상기 오퍼레이팅 시스템에 훅 된 프로그램에 의해 실행되는 것을 특징으로 하는 정보 처리 장치.
- 유저에 의한 조작을 받아들이고, 상기 조작에 대응하는 처리의 실행을 제어하는 제 1의 어플리케이션 프로그램에서, 상기 정보 처리 장치의 메모리에 기억되어 있는 정보가 부정하게 갱신되는 부정 갱신 처리가 실행되었는지의 여부를 판정 하는 스텝과;상기 부정 갱신 처리가 실행되었다고 판정된 경우, 상기 제 1의 어플리케이션 프로그램을 강제종료시키는 스텝; 및상기 부정 갱신 처리가 실행되었다고 판정된 경우, 상기 제 1의 어플리케이션 프로그램이 종료된 후, 상기 유저에게 상기 부정 갱신 처리의 발생을 통지함과 함께, 자신의 재기동에 관한 지령의 조작을 받아들이는 제 2의 어플리케이션 프로그램의 실행을 제어하는 스텝을 포함하는 것을 특징으로 하는 정보 처리 방법.
- 유저에 의한 조작을 받아들이고, 상기 조작에 대응하는 처리의 실행을 제어하는 제 1의 어플리케이션 프로그램에서, 상기 정보 처리 장치의 메모리에 기억되어 있는 정보가 부정하게 갱신되는 부정 갱신 처리가 실행되었는지의 여부가 판정되도록 제어하는 스텝과;상기 부정 갱신 처리가 실행되었다고 판정된 경우, 상기 제 1의 어플리케이션 프로그램을 강제종료시키도록 제어하는 스텝; 및상기 부정 갱신 처리가 실행되었다고 판정된 경우, 상기 제 1의 어플리케이션 프로그램이 종료된 후, 상기 유저에게 상기 부정 갱신 처리의 발생을 통지함과 함께, 자신의 재기동에 관한 지령의 조작을 받아들이는 제 2의 어플리케이션 프로그램의 실행이 제어되도록 하는 스텝을 포함하는 것을 특징으로 하는 컴퓨터가 판독 가능한 프로그램.
- 제 7항에 기재된 프로그램이 기록되어 있는 것을 특징으로 하는 기록 매체.
- 유저에 의한 조작을 받아들이고, 상기 조작에 대응하는 처리의 실행을 제어하는 제 1의 어플리케이션 프로그램에서, 상기 정보 처리 장치의 메모리에 기억되어 있는 정보가 부정하게 갱신되는 부정 갱신 처리가 실행되었는지의 여부를 판정하도록 구성된 판정 유닛과;상기 판정 유닛에 의해 부정 갱신 처리가 실행되었다고 판정된 경우, 상기 제 1의 어플리케이션 프로그램을 강제종료시키도록 구성된 강제종료 유닛과;상기 판정 유닛에 의해 상기 부정 갱신 처리가 실행되었다고 판정된 경우, 상기 강제종료 유닛에 의해 상기 제 1의 어플리케이션 프로그램이 종료된 후, 상기 유저에게 상기 부정 갱신 처리의 발생을 통지함과 함께, 자신의 재기동에 관한 지령의 조작을 받아들이는 제 2의 어플리케이션 프로그램의 실행을 제어하도록 구성된 재기동 제어 유닛을 구비하는 것을 특징으로 하는 정보 처리 장치.
Applications Claiming Priority (2)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JPJP-P-2006-00355322 | 2006-12-28 | ||
JP2006355322A JP4544246B2 (ja) | 2006-12-28 | 2006-12-28 | 制御装置および方法、プログラム、並びに記録媒体 |
Publications (1)
Publication Number | Publication Date |
---|---|
KR20080063080A true KR20080063080A (ko) | 2008-07-03 |
Family
ID=39585812
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
KR1020070128994A KR20080063080A (ko) | 2006-12-28 | 2007-12-12 | 정보 처리 장치 및 방법, 프로그램, 및 기록 매체 |
Country Status (5)
Country | Link |
---|---|
US (1) | US8887091B2 (ko) |
JP (1) | JP4544246B2 (ko) |
KR (1) | KR20080063080A (ko) |
CN (1) | CN101211278B (ko) |
TW (1) | TWI389034B (ko) |
Cited By (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
KR20150108257A (ko) * | 2014-03-17 | 2015-09-25 | 삼성전자주식회사 | 전자장치에서 메모리를 제어하는 방법 및 장치 |
Families Citing this family (21)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20080159328A1 (en) * | 2007-01-02 | 2008-07-03 | International Business Machines Corporation | Method and system for in-context assembly of interactive actionable insights and modalities in physical spaces |
US20080158223A1 (en) * | 2007-01-02 | 2008-07-03 | International Business Machines Corporation | Method and system for dynamic adaptability of content and channels |
US20080163052A1 (en) * | 2007-01-02 | 2008-07-03 | International Business Machines Corporation | Method and system for multi-modal fusion of physical and virtual information channels |
JP4609521B2 (ja) * | 2008-04-21 | 2011-01-12 | ソニー株式会社 | 情報処理装置、および情報処理方法、並びにコンピュータ・プログラム |
US20110265072A1 (en) * | 2010-04-27 | 2011-10-27 | Jack Matthew | Dynamic Installation of Files for Running Programs |
US8429674B2 (en) | 2010-07-20 | 2013-04-23 | Apple Inc. | Maintaining data states upon forced exit |
CN102902585A (zh) * | 2012-10-12 | 2013-01-30 | 深圳市远行科技有限公司 | 一种常驻进程控制系统及其控制方法 |
CN103870319B (zh) * | 2012-12-14 | 2018-12-14 | 联想(北京)有限公司 | 信息处理方法、装置及电子设备 |
JP6205861B2 (ja) * | 2013-06-03 | 2017-10-04 | 株式会社リコー | 情報処理システム、情報処理方法、及びプログラム |
US10223156B2 (en) | 2013-06-09 | 2019-03-05 | Apple Inc. | Initiating background updates based on user activity |
US9432796B2 (en) | 2014-05-30 | 2016-08-30 | Apple Inc. | Dynamic adjustment of mobile device based on peer event data |
EP3221792A1 (en) * | 2014-11-18 | 2017-09-27 | Tactual Labs Co. | System and method for inter-module communication |
JP6430321B2 (ja) * | 2015-04-16 | 2018-11-28 | 株式会社日立製作所 | 制御サーバ |
US10491708B2 (en) | 2015-06-05 | 2019-11-26 | Apple Inc. | Context notifications |
US20180101391A1 (en) * | 2016-10-09 | 2018-04-12 | The Charles Stark Draper Laboratory, Inc. | System for co-adaptive human-computer interaction |
GB2554940B (en) * | 2016-10-14 | 2020-03-04 | Imagination Tech Ltd | Out-of-bounds recovery circuit |
JPWO2018180143A1 (ja) * | 2017-03-31 | 2020-02-06 | ソニー株式会社 | 情報処理装置及び情報処理方法、コンピュータ・プログラム、並びにプログラム製造方法 |
CN108197023B (zh) * | 2017-12-28 | 2021-11-16 | 努比亚技术有限公司 | 移动终端重启定位方法、移动终端及计算机可读存储介质 |
CN108076200B (zh) * | 2017-12-28 | 2021-01-05 | 努比亚技术有限公司 | 移动终端重启定位方法、移动终端及计算机可读存储介质 |
CN108228424A (zh) * | 2017-12-28 | 2018-06-29 | 努比亚技术有限公司 | 基于gpu的重启定位方法、移动终端及可读存储介质 |
CN108763132A (zh) * | 2018-05-18 | 2018-11-06 | 苏州佳世达光电有限公司 | 一种下载升级用制具 |
Family Cites Families (19)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JPS638834A (ja) * | 1986-06-28 | 1988-01-14 | Nec Corp | コンピユ−タシステムの自動障害復旧のための稼働状況管理方式 |
US5815702A (en) * | 1996-07-24 | 1998-09-29 | Kannan; Ravi | Method and software products for continued application execution after generation of fatal exceptions |
US5991856A (en) * | 1997-09-30 | 1999-11-23 | Network Associates, Inc. | System and method for computer operating system protection |
JP2001229032A (ja) * | 2000-02-15 | 2001-08-24 | Matsushita Electric Ind Co Ltd | アプリケーション自動復旧システム、アプリケーション自動復旧方法及びその記録媒体 |
JP2001290661A (ja) * | 2000-04-04 | 2001-10-19 | Matsushita Commun Ind Co Ltd | オペレーティングシステム制御装置及び制御方法並びにオペレーティングシステム制御プログラムを記録した記録媒体 |
JP2002055851A (ja) * | 2000-08-10 | 2002-02-20 | Himacs Ltd | コンピュータシステムにおける不正なメモリアクセスを検出する監視方法及びそのプログラム並びにその記録媒体 |
JP2002063051A (ja) * | 2000-08-23 | 2002-02-28 | Will:Kk | ソフトウェア動作監視システムおよびその記録媒体およびソフトウェア動作監視方法 |
JP3598282B2 (ja) * | 2000-09-07 | 2004-12-08 | 株式会社ソニー・コンピュータエンタテインメント | コンピュータ、その制御方法及びその制御方法を記録した記録媒体 |
JP2002149437A (ja) * | 2000-11-15 | 2002-05-24 | Hitachi Ltd | ソフトウェア再起動方法 |
CA2347404C (en) * | 2001-05-10 | 2008-11-18 | Corel Corporation | System and method for recovering applications |
JP2002342095A (ja) * | 2001-05-22 | 2002-11-29 | Nec Microsystems Ltd | アプリケーションの異常終了検出・復帰方法 |
US7243267B2 (en) * | 2002-03-01 | 2007-07-10 | Avaya Technology Llc | Automatic failure detection and recovery of applications |
JP2004070593A (ja) * | 2002-08-05 | 2004-03-04 | Matsushita Electric Ind Co Ltd | 認証システムと認証方法と装置 |
EP1734748A4 (en) * | 2004-04-06 | 2008-12-03 | Panasonic Corp | PROGRAM EXECUTION DEVICE |
JP2006053788A (ja) * | 2004-08-12 | 2006-02-23 | Ntt Docomo Inc | ソフトウェア動作監視装置及びソフトウェア動作監視方法 |
JP2006092055A (ja) * | 2004-09-22 | 2006-04-06 | Hitachi Ltd | 計算機システム |
US7823021B2 (en) * | 2005-05-26 | 2010-10-26 | United Parcel Service Of America, Inc. | Software process monitor |
US8332826B2 (en) * | 2005-05-26 | 2012-12-11 | United Parcel Service Of America, Inc. | Software process monitor |
US8645760B2 (en) * | 2008-07-29 | 2014-02-04 | FAQware | Alternate procedures assisting computer users in solving problems related to error and informational messages |
-
2006
- 2006-12-28 JP JP2006355322A patent/JP4544246B2/ja not_active Expired - Fee Related
-
2007
- 2007-12-10 TW TW096147049A patent/TWI389034B/zh not_active IP Right Cessation
- 2007-12-12 KR KR1020070128994A patent/KR20080063080A/ko not_active Application Discontinuation
- 2007-12-17 US US12/002,352 patent/US8887091B2/en not_active Expired - Fee Related
- 2007-12-28 CN CN2007103054450A patent/CN101211278B/zh not_active Expired - Fee Related
Cited By (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
KR20150108257A (ko) * | 2014-03-17 | 2015-09-25 | 삼성전자주식회사 | 전자장치에서 메모리를 제어하는 방법 및 장치 |
Also Published As
Publication number | Publication date |
---|---|
US20080163050A1 (en) | 2008-07-03 |
CN101211278B (zh) | 2010-06-16 |
CN101211278A (zh) | 2008-07-02 |
US8887091B2 (en) | 2014-11-11 |
JP2008165551A (ja) | 2008-07-17 |
TW200841248A (en) | 2008-10-16 |
JP4544246B2 (ja) | 2010-09-15 |
TWI389034B (zh) | 2013-03-11 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
KR20080063080A (ko) | 정보 처리 장치 및 방법, 프로그램, 및 기록 매체 | |
JP3598272B2 (ja) | オペレーティングシステムの起動及びリスタート方法 | |
KR100951830B1 (ko) | 정보 처리 장치, 전원 제어 방법 및 컴퓨터 판독가능한 기록 매체 | |
CN108304282B (zh) | 一种双bios的控制方法及相关装置 | |
TWI382346B (zh) | 保護雙基本輸出入系統程式之電腦系統及其控制方法 | |
CN105917306B (zh) | 用于配置系统固件配置数据的系统和方法 | |
CN101470615B (zh) | 单键控制自动修复系统组态的方法 | |
JP2002244874A (ja) | 情報処理装置およびファームウェア更新方法 | |
RU2517542C2 (ru) | Аппарат обработки изображений и способ для управления аппаратом обработки изображений | |
JP3777136B2 (ja) | コンピュータ装置、データのデッドコピー方法、プログラム、コンピュータ装置の稼動方法 | |
US20130061090A1 (en) | Partial rebooting recovery apparatus and method | |
JP2006215905A (ja) | コンピュータの停止状況監視方法、情報処理装置及びプログラム | |
TW202223655A (zh) | 可自我監視及恢復作業系統運作的電腦系統及方法 | |
JP5206863B2 (ja) | 情報処理装置、電源制御方法及びプログラム | |
JP2001005661A (ja) | コンピュータシステムおよびそのcpu性能制御方法 | |
KR101850275B1 (ko) | 빠른 부팅을 위한 부트 이미지를 생성하는 방법 및 이를 수행하는 화상형성장치, 부트 이미지를 이용하여 빠른 부팅을 수행하는 방법 및 이를 수행하는 화상형성장치 | |
KR101845467B1 (ko) | 빠른 부팅을 위한 부트 이미지의 에러를 복구하는 방법 및 이를 수행하는 화상형성장치 | |
KR101850272B1 (ko) | 빠른 부팅을 위한 부트 이미지를 업데이트하는 방법 및 이를 수행하는 화상형성장치 | |
CN112817642A (zh) | X86平台使用固件自动切换启动efi操作系统的方法、装置 | |
JP2011248692A (ja) | 情報処理装置及びプログラム | |
JP2010079572A (ja) | 情報処理装置、外部記憶装置、制御方法 | |
CN114356659A (zh) | 重启方法及装置、终端设备及存储介质 | |
CN112231149A (zh) | 升级失败的处理方法、装置及电子设备 | |
JP2001310537A (ja) | 印刷装置 | |
JP2006133823A (ja) | コンピュータシステム |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
WITN | Application deemed withdrawn, e.g. because no request for examination was filed or no examination fee was paid |