KR101312819B1 - 시스템 우선 순위 관리 방법 및 컴퓨터 판독가능 매체 - Google Patents

시스템 우선 순위 관리 방법 및 컴퓨터 판독가능 매체 Download PDF

Info

Publication number
KR101312819B1
KR101312819B1 KR1020087013251A KR20087013251A KR101312819B1 KR 101312819 B1 KR101312819 B1 KR 101312819B1 KR 1020087013251 A KR1020087013251 A KR 1020087013251A KR 20087013251 A KR20087013251 A KR 20087013251A KR 101312819 B1 KR101312819 B1 KR 101312819B1
Authority
KR
South Korea
Prior art keywords
processes
priority
container
startup
entity
Prior art date
Application number
KR1020087013251A
Other languages
English (en)
Other versions
KR20080072699A (ko
Inventor
센크 에르간
단 리
마이클 알. 포틴
로빈 지에세
로버트 엘. 레이나워
Original Assignee
마이크로소프트 코포레이션
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by 마이크로소프트 코포레이션 filed Critical 마이크로소프트 코포레이션
Publication of KR20080072699A publication Critical patent/KR20080072699A/ko
Application granted granted Critical
Publication of KR101312819B1 publication Critical patent/KR101312819B1/ko

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F9/00Arrangements for program control, e.g. control units
    • G06F9/06Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
    • G06F9/44Arrangements for executing specific programs
    • G06F9/4401Bootstrapping
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F17/00Digital computing or data processing equipment or methods, specially adapted for specific functions
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F13/00Interconnection of, or transfer of information or other signals between, memories, input/output devices or central processing units
    • G06F13/14Handling requests for interconnection or transfer
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F13/00Interconnection of, or transfer of information or other signals between, memories, input/output devices or central processing units
    • G06F13/14Handling requests for interconnection or transfer
    • G06F13/16Handling requests for interconnection or transfer for access to memory bus
    • G06F13/18Handling requests for interconnection or transfer for access to memory bus based on priority control
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F9/00Arrangements for program control, e.g. control units
    • G06F9/06Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
    • G06F9/46Multiprogramming arrangements
    • G06F9/50Allocation of resources, e.g. of the central processing unit [CPU]
    • G06F9/5005Allocation of resources, e.g. of the central processing unit [CPU] to service a request
    • G06F9/5027Allocation of resources, e.g. of the central processing unit [CPU] to service a request the resource being a machine, e.g. CPUs, Servers, Terminals
    • G06F9/505Allocation of resources, e.g. of the central processing unit [CPU] to service a request the resource being a machine, e.g. CPUs, Servers, Terminals considering the load

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Software Systems (AREA)
  • Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Computer Security & Cryptography (AREA)
  • Data Mining & Analysis (AREA)
  • Databases & Information Systems (AREA)
  • Mathematical Physics (AREA)
  • Stored Programmes (AREA)

Abstract

소정의 애플리케이션의 시동을 지연시킴에 의해 시스템의 전체 성능을 향상시킬 수 있다. 지연시킬 애플리케이션은, 그들이 추적될 수 있도록, 또한 지연시킨 애플리케이션들에 종속된 다른 애플리케이션들이 적절하게 처리될 수 있도록, 컨테이너 개체 또는 박스에 위치될 수 있다.
Figure R1020087013251
애플리케이션, 컨테이너 개체, 애플리케이션의 시동,

Description

시스템 우선 순위 관리 방법 및 컴퓨터 판독가능 매체{DELAY START-UP OF APPLICATIONS}
컴퓨터 운영 체제는, 컴퓨터의 전원이 켜지거나, 또는 사용자가 로그-온 될 때 개시될 애플리케이션들을 등록하는 여러 방식을 제공한다. 이들 시동 애플리케이션은 부트(boot)[전원 켜짐(power-up)] 및 로그온 시에 성능 문제의 주요 원인일 수 있다. 설치 시에, 소프트웨어 애플리케이션들은 종종 자신이 사용자에게 필요한지의 여부를 고려함 없이 시동 애플리케이션으로서 그들 자신을 등록한다. 사용자는 종종 이런 옵션을 어떻게 턴-오프(turn off)할지 모르고 혼란스러워 하며, 최종 결과로 초기화하는 데 긴 시간이 걸리는 보통 수준의 사용자의 머신(machine)에서는 다수의 시동 애플리케이션이 있게 된다. 이런 초기화 동안, 시동 애플리케이션 중 대부분이 불필요하거나 또는 사용자가 원하지 않더라도, 그것들은 머신 상에서 시스템 리소스를 소비하고, 더 낮은 속도로 시동될 수 있다. 상당 수의 마이크로소프트 윈도우 고객들은 이런 문제로 인해 로그 온 이후에 컴퓨터를 사용하기 시작할 수 있기까지 긴 시간을 대기해야 한다. 물론, 거기에는 인스턴트 메신저(instant messenger), 안티-바이러스(anti-virus), 또는 안티-스파이웨어(anti-spyware) 애플리케이션들과 같이 필수적인 중요한 시동 애플리케이션들이 존재한다.
<요약>
소정의 애플리케이션들을 시동함에 있어 지연(delay)은 시스템의 인지 성능(the perceived performance)을 향상시키는 결과를 가져올 수 있다. 이는, 프로세스들이 개시되는 시점을 지연시킴으로써, 및/또는 프로세서, I/O, 또는 메모리 리소스 등의 다양한 시스템 리소스들에 대한 이들 프로세스의 우선 순위를 감소시킴으로써, 달성될 수 있다. 이는, 시동 애플리케이션들이 초기화를 끝내도록 기다리기보다는 사용자가 원하는 어떤 용도로든지 이들 리소스가 사용자에게 더 신속하게 이용될 수 있도록 해준다. 또한, 사용자가 시동 우선 순위를 조정하도록 허용하는 사용자 인터페이스가 개시될 수 있다.
도 1은 청구항들에 따라 동작할 수 있는 컴퓨팅 시스템의 블록도이다.
도 2는 청구항들에 따른 본 방법의 고-레벨의 예시(a high-level illustration of a method)일 수 있다.
도 3은 청구항들에 따른 본 방법의 다른 실시예를 예시할 수 있다.
하기의 본문은 여러 다른 실시예들의 상세한 설명을 기술하고 있지만, 상세한 설명의 법적인 범위는 본 특허의 마지막 부분에 기술된 청구항들의 단어들에 의해 정의된다. 불가능하지 않다면 모든 가능한 실시예를 기술하겠지만, 모든 가능한 실시예를 기술하는 것은 실행 불가능하기 때문에, 상세한 설명은 단지 예시로서 만 이해되고 모든 가능한 실시예를 기술한 것은 아니다. 여러 다른 실시예는 현재의 기술 또는 본 특허의 출원일 이후에 개발된 기술 중 어느 것을 이용하여 구현될 수 있으며, 여전히 청구항들의 범위 내에 속할 것이다.
"본원에 사용된, '_____'라는 용어는 ....을 의미하는 것으로 정의된다"라는 문장 또는 유사한 문장을 사용하여, 그 용어가 본 특허에서 명백하게 정의되지 않는 한, 해당 용어의 의미를, 그 평범한 또는 통상의 의미를 넘어, 명백히 또는 암시적으로, 제한하고자 하는 의도는 없다고 이해되어야 하며, 이런 용어는 (청구항들의 언어 외에)본 특허의 어떤 섹션에서 행해진 어떤 진술문에 기초하여 범위에 있어 제한되는 것으로 해석되어서는 안 된다. 본 특허의 마지막 부분의 청구항들에 기술된 임의의 용어는 단일 의미에 일치되는 방식으로 본 특허에서 참조되는 정도까지, 그것은 이는 독자를 혼란스럽게 하지 않기 위해 명료함을 목적으로만 행해지며, 이런 청구항 용어는 제한적으로, 함축적으로 또는 달리 그 단일 의미로 의도된 것은 아니다. 결국, 청구항 구성요소가 임의의 구조에 대한 설명 없이 기능 및 "수단"이라는 단어를 기술하여 정의되지 않는 한, 임의의 청구항 구성요소의 범위는 35 U.S.C. §112, 여섯 번째 문단의 적용에 기초하여 해석되어야 한다는 것으로 의도되지 않는다.
도 1은 청구된 방법의 단계들을 위한 시스템 및 장치가 구현되기에 적합한 컴퓨팅 시스템 환경(100)의 일례를 도시하고 있다. 컴퓨팅 시스템 환경(100)은 적합한 컴퓨팅 환경의 일례에 불과하며, 청구항들의 장치의 방법의 용도 또는 기능성의 범위에 관해 어떤 제한을 암시하고자 하는 것이 아니다. 컴퓨팅 환경(100)이 예시적인 운영 환경(100)에 도시된 컴포넌트들 중 임의의 하나 또는 그 컴포넌트들의 임의의 조합과 관련하여 어떤 의존성 또는 요구사항을 갖는 것으로 해석되어서는 안된다.
청구된 방법의 단계들 및 장치는 많은 기타 범용 또는 특수 목적의 컴퓨팅 시스템 환경 또는 구성에서 동작할 수 있다. 청구항들의 방법 또는 장치에 사용하는 데 적합할 수 있는 잘 알려진 컴퓨팅 시스템, 환경 및/또는 구성의 예로는 퍼스널 컴퓨터, 서버 컴퓨터, 핸드-헬드 또는 랩톱 장치, 멀티프로세서 시스템, 마이크로프로세서 기반 시스템, 셋톱 박스, 프로그램가능한 가전제품, 네트워크 PC, 미니컴퓨터, 메인프레임 컴퓨터, 상기 시스템들이나 장치들 중 임의의 것을 포함하는 분산 컴퓨팅 환경, 기타 등등이 있지만 이에 제한되는 것은 아니다.
청구된 방법의 단계들 및 장치는 일반적으로 컴퓨터에 의해 실행되는 프로그램 모듈과 같은 컴퓨터 실행가능 명령어와 관련하여 기술될 것이다. 일반적으로, 프로그램 모듈은 특정 태스크를 수행하거나 특정 추상 데이터 유형을 구현하는 루틴, 프로그램, 개체, 컴포넌트, 데이터 구조 등을 포함한다. 본 방법 및 장치는 또한 통신 네트워크를 통해 연결되어 있는 원격 처리 장치들에 의해 태스크가 수행되는 분산 컴퓨팅 환경에서 실시될 수 있다. 분산 컴퓨팅 환경에서, 프로그램 모듈은 메모리 저장 장치를 비롯한 로컬 및 원격 컴퓨터 저장 매체 둘다에 위치할 수 있다.
도 1과 관련하여, 청구된 방법의 단계들 및 장치를 구현하기 위한 예시적인 시스템은 컴퓨터(110) 형태의 범용 컴퓨팅 장치를 포함한다. 컴퓨터(110)의 컴포 넌트들은 처리 장치(120), 시스템 메모리(130), 및 시스템 메모리를 비롯한 각종 시스템 컴포넌트들을 처리 장치(120)에 연결시키는 시스템 버스(121)를 포함하지만 이에 제한되는 것은 아니다. 시스템 버스(121)는 메모리 버스 또는 메모리 컨트롤러, 주변 장치 버스 및 각종 버스 아키텍처 중 임의의 것을 이용하는 로컬 버스를 비롯한 몇몇 유형의 버스 구조 중 어느 것이라도 될 수 있다. 예로서, 이러한 아키텍처는 ISA(industry standard architecture) 버스, MCA(micro channel architecture) 버스, EISA(Enhanced ISA) 버스, VESA(video electronics standard association) 로컬 버스, 그리고 메자닌 버스(mezzanine bus)로도 알려진 PCI(peripheral component interconnect) 버스 등을 포함하지만 이에 제한되는 것은 아니다.
컴퓨터(110)는 통상적으로 각종 컴퓨터 판독가능 매체를 포함한다. 컴퓨터(110)에 의해 액세스 가능한 매체는 그 어떤 것이든지 컴퓨터 판독가능 매체가 될 수 있고, 이러한 컴퓨터 판독가능 매체는 휘발성 및 비휘발성 매체, 이동식 및 비이동식 매체를 포함한다. 예로서, 컴퓨터 판독가능 매체는 컴퓨터 저장 매체 및 통신 매체를 포함하지만 이에 제한되는 것은 아니다. 컴퓨터 저장 매체는 컴퓨터 판독가능 명령어, 데이터 구조, 프로그램 모듈 또는 기타 데이터와 같은 정보를 저장하는 임의의 방법 또는 기술로 구현되는 휘발성 및 비휘발성, 이동식 및 비이동식 매체를 포함한다. 컴퓨터 저장 매체는 RAM, ROM, EEPROM, 플래시 메모리 또는 기타 메모리 기술, CD-ROM, DVD(digital versatile disk) 또는 기타 광 디스크 저장 장치, 자기 카세트, 자기 테이프, 자기 디스크 저장 장치 또는 기타 자기 저장 장치, 또는 컴퓨터(110)에 의해 액세스되고 원하는 정보를 저장할 수 있는 임의의 기타 매체를 포함하지만 이에 제한되는 것은 아니다. 통신 매체는 통상적으로 반송파(carrier wave) 또는 기타 전송 메커니즘(transport mechanism)과 같은 피변조 데이터 신호(modulated data signal)에 컴퓨터 판독가능 명령어, 데이터 구조, 프로그램 모듈 또는 기타 데이터 등을 구현하고 모든 정보 전달 매체를 포함한다. "피변조 데이터 신호"라는 용어는, 신호 내에 정보를 인코딩하도록 그 신호의 특성들 중 하나 이상을 설정 또는 변경시킨 신호를 의미한다. 예로서, 통신 매체는 유선 네트워크 또는 직접 배선 접속(direct-wired connection)과 같은 유선 매체, 그리고 음향, RF, 적외선, 기타 무선 매체와 같은 무선 매체를 포함한다. 상술된 매체들의 모든 조합이 또한 컴퓨터 판독가능 매체의 영역 안에 포함되는 것으로 한다.
시스템 메모리(130)는 판독 전용 메모리(ROM)(131) 및 랜덤 액세스 메모리(RAM)(132)와 같은 휘발성 및/또는 비휘발성 메모리 형태의 컴퓨터 저장 매체를 포함한다. 시동 중과 같은 때에, 컴퓨터(110) 내의 구성요소들 사이의 정보 전송을 돕는 기본 루틴을 포함하는 기본 입/출력 시스템(BIOS)(133)은 통상적으로 ROM(131)에 저장되어 있다. RAM(132)은 통상적으로 처리 장치(120)가 즉시 액세스 할 수 있고 및/또는 현재 동작시키고 있는 데이터 및/또는 프로그램 모듈을 포함한다. 예로서, 도 1은 운영 체제(134), 애플리케이션 프로그램(135), 기타 프로그램 모듈(136) 및 프로그램 데이터(137)를 도시하고 있지만 이에 제한되는 것은 아니다.
컴퓨터(110)는 또한 기타 이동식/비이동식, 휘발성/비휘발성 컴퓨터 저장매체를 포함한다. 단지 예로서, 도 1은 비이동식·비휘발성 자기 매체에 기록을 하거나 그로부터 판독을 하는 하드 디스크 드라이브(141), 이동식·비휘발성 자기 디스크(152)에 기록을 하거나 그로부터 판독을 하는 자기 디스크 드라이브(151), CD-ROM 또는 기타 광 매체 등의 이동식·비휘발성 광 디스크(156)에 기록을 하거나 그로부터 판독을 하는 광 디스크 드라이브(155)를 포함한다. 예시적인 운영 환경에서 사용될 수 있는 기타 이동식/비이동식, 휘발성/비휘발성 컴퓨터 저장 매체로는 자기 테이프 카세트, 플래시 메모리 카드, DVD, 디지털 비디오 테이프, 고상(solid state) RAM, 고상 ROM 등이 있지만 이에 제한되는 것은 아니다. 하드 디스크 드라이브(141)는 통상적으로 인터페이스(140)와 같은 비이동식 메모리 인터페이스를 통해 시스템 버스(121)에 접속되고, 자기 디스크 드라이브(151) 및 광 디스크 드라이브(155)는 통상적으로 인터페이스(150)와 같은 이동식 메모리 인터페이스에 의해 시스템 버스(121)에 접속된다.
위에서 설명되고 도 1에 도시된 드라이브들 및 이들과 관련된 컴퓨터 저장 매체는, 컴퓨터(110)를 위해, 컴퓨터 판독가능 명령어, 데이터 구조, 프로그램 모듈 및 기타 데이터를 저장한다. 도 1에서, 예를 들어, 하드 디스크 드라이브(141)는 운영 체제(144), 애플리케이션 프로그램(145), 기타 프로그램 모듈(146), 및 프로그램 데이터(147)를 저장하는 것으로 도시되어 있다. 여기서 주의할 점은 이들 컴포넌트가 운영 체제(134), 애플리케이션 프로그램(135), 기타 프로그램 모듈(136), 및 프로그램 데이터(137)와 동일하거나 그와 다를 수 있다는 것이다. 이 에 관해, 운영 체제(144), 애플리케이션 프로그램(145), 기타 프로그램 모듈(146) 및 프로그램 데이터(147)에 다른 번호가 부여되어 있다는 것은 적어도 이들이 다른 사본(copy)이라는 것을 나타내기 위한 것이다. 사용자는 키보드(162), 마이크(163) 및 마우스, 트랙볼(trackball) 또는 터치 패드와 같은 포인팅 장치(161) 등의 입력 장치를 통해 명령 및 정보를 컴퓨터(110)에 입력할 수 있다. 다른 입력 장치(도시 생략)로는 마이크, 조이스틱, 게임 패드, 위성 안테나, 스캐너 등을 포함할 수 있다. 이들 및 기타 입력 장치는 종종 시스템 버스에 결합된 사용자 입력 인터페이스(160)를 통해 처리 장치(120)에 접속되지만, 병렬 포트, 게임 포트 또는 USB(universal serial bus) 등의 다른 인터페이스 및 버스 구조에 의해 접속될 수도 있다. 모니터(191) 또는 다른 유형의 디스플레이 장치도 비디오 인터페이스(190) 등의 인터페이스를 통해 시스템 버스(121)에 접속될 수 있다. 모니터 외에, 컴퓨터는 스피커(197) 및 프린터(196) 등의 기타 주변 출력 장치를 포함할 수 있고, 이들은 출력 주변장치 인터페이스(195)를 통해 접속될 수 있다.
컴퓨터(110)는 원격 컴퓨터(180)와 같은 하나 이상의 원격 컴퓨터로의 논리적 접속을 사용하여 네트워크화된 환경에서 동작할 수 있다. 원격 컴퓨터(180)는 또 하나의 퍼스널 컴퓨터, 핸드-헬드 장치, 서버, 라우터, 네트워크 PC, 피어 장치 또는 기타 통상의 네트워크 노드일 수 있고, 통상적으로 컴퓨터(110)와 관련하여 상술된 구성요소들의 대부분 또는 그 전부를 포함하지만, 도 1에는 메모리 저장 장치(181)만이 도시되어 있다. 도 1에 도시된 논리적 접속으로는 LAN(171) 및 WAN(173)이 있지만, 기타 네트워크를 포함할 수도 있다. 이러한 네트워킹 환경은 사무실, 전사적 컴퓨터 네트워크(enterprise-wide computer network), 인트라넷, 및 인터넷에서 일반적인 것이다.
LAN 네트워킹 환경에서 사용될 때, 컴퓨터(110)는 네트워크 인터페이스 또는 어댑터(170)를 통해 LAN(171)에 접속된다. WAN 네트워킹 환경에서 사용될 때, 컴퓨터(110)는 통상적으로 인터넷과 같은 WAN(173)을 통해 통신을 설정하기 위한 모뎀(172) 또는 기타 수단을 포함한다. 내장형 또는 외장형일 수 있는 모뎀(172)은 사용자 입력 인터페이스(160) 또는 기타 적절한 메커니즘을 통해 시스템 버스(121)에 접속된다. 네트워크화된 환경에서, 컴퓨터(110) 또는 그의 일부와 관련하여 기술된 프로그램 모듈은 원격 메모리 저장 장치에 저장될 수 있다. 예로서, 도 1은 원격 애플리케이션 프로그램(185)이 메모리 저장 장치(181)에 있는 것으로 도시하고 있지만 이에 제한되는 것은 아니다. 도시된 네트워크 접속은 예시적인 것이며 이 컴퓨터들 사이에 통신 링크를 설정하는 기타 수단이 사용될 수 있다는 것을 이해할 것이다.
애플리케이션의 지연된 시동( DELAYED START - UP OF APPLICATIONS )
"실행(Run)" 레지스트리 키(registry key) 등의 다양한 등록 지점(registration point)으로부터 시동 애플리케이션을 제거함으로써, 시동 프로세스로부터 시동 애플리케이션을 "제거하는(remove)" 옵션을 사용자에게 제공하는 것은 유용할 것이지만, 이런 특징에는 여러 문제들이 존재한다. 첫째로, 시동 애플리케이션들은 종종 이들 등록 지점들을 모니터링하고, 되돌아가 그들 자신을 추가 한다. 둘째로, 시동 시퀀스로부터 애플리케이션들을 완전히 제거함으로써, 일부 기능성은 의도하지 않게 파괴되거나 사라질 수 있다.
로그온 시에 사용자가 그들 컴퓨터에 대한 백 컨트롤(back control of their computer)을 행하고, 시동 애플리케이션들을 시동에서 완전히 제거할 필요가 없게 해주는, 시동 애플리케이션을 "지연시키는(delaying)" 방법이, 하나의 해법으로서 하기에 기술된다. 사용자의 시스템에 대한 시동 애플리케이션들의 영향은, 프로세스들의 CPU, I/O, 및 메모리에 대한 그들 각각의 우선 순위를 낮춰, 상기한 유형의 시스템 리소스들의 소비를 제한함으로써, 감소될 수 있다. 시동 애플리케이션들이 개시될 때, 본 방법은 시동 애플리케이션들의 CPU, I/O, 및 페이지 우선 순위를 낮추고, 어떤 추적(tracking) 개체에 시동 애플리케이션을 위치시킬 수 있다. 이런 방법은 "박싱(boxing)"으로서 지칭된다. 컨피규레이션 가능한 기간(configurable period) 이후에, 본 방법은 시동 애플리케이션의 우선 순위를 원래의 설정으로 회복시킬 수 있다.
도 2는 청구항들에 따른 본 방법의 고-레벨의 예시일 수 있다. 단계(200)에서, 사용자는 사용자 인터페이스를 사용하여 지연시킬 소정의 애플리케이션을 설정할 수 있다. 단계(205)에서, 본 방법은 선택된 애플리케이션이 메모리에 저장되게 할 수 있다. 단계(210)에서, 운영 체제가 시작될 수 있다. 단계(215)에서, 본 방법은 시동 애플리케이션들을 개시할 수 있다. 단계(220)에서, 본 방법은 특정 애플리케이션이 지연시킬 프로세스로서 단계(210)에서 저장되었는지의 여부를 판정할 수 있다. 판정이 아니오라면, 단계(225)에서, 본 방법은 정상적으로 개시될 수 있 고, 본 방법은 종료할 것이다. 단계(220)에서의 판정이 예이면, 본 방법은 특정 애플리케이션의 작성 프로세스(create process)를 보류(suspend)할 수 있다(단계(230)). 단계(235)에서, 본 방법은 지연시킬 특정 애플리케이션을 작업 컨테이너 개체(job container object)에 추가할 수 있다. 단계(240)에서, 본 방법은 특정 애플리케이션의 프로세스 우선 순위를 낮출 수 있고, 본 방법은 워킹 세트(a working set)를 제한할 수 있다. 단계(245)에서, 타이머가 시작될 수 있고, 단계(250)에서, 타이머가 만료할 수 있다. 단계(255)에서, 특정 애플리케이션의 우선 순위는 회복될 수 있고, 본 방법은 워킹 세트를 비제한(unlimit)으로 할 수 있다.
일 실시예에서, 시스템 레지스트리의 보호 키(protected key)는 이미지마다의 경로 기반(a per-image path basis)으로 박싱이 턴온 또는 턴오프되게 허용하는 예외 리스트(exception list)를 포함한다. 예를 들어, 예외 리스트에 나열되지 않은 모든 애플리케이션은 컨테이너 개체에 위치되거나, 또는 박싱된다(boxed).
운영 체제는 박싱되고 있는 초기 및 파생 프로세스들을 추적할 필요가 있다. 예를 들어, 시동 애플리케이션을 박싱되고 있고 주어진 애플리케이션 프로세스가 자식(child) 프로세스를 개시하는 경우, 자식 프로세스 역시 박싱되어야 하며, 부모(parent)(초기) 프로세스가 언박싱될(unboxed) 때에, 자식 프로세스 역시 언박싱되어야 한다. 마이크로소프트 윈도우에서는, 작업 개체(job objects)가 이런 태스크를 달성하는 데 사용될 수 있다.
본 방법은, 시동 애플리케이션들이 언박싱되어 본 방법의 혜택을 크게 감소 시키기 전에, 시동 애플리케이션들이 그들의 우선 순위를 다시 상승시키는 것에 대하여 가드(guard)를 할 수 있다면 가장 효과적이다. 마이크로소프트 윈도우에서, 작업 개체는 프로세스들에 우선 순위 제한(restrictions)을 부여하는 데 사용될 수 있어, 작업 개체의 원래의 작성자(즉, 박스(box), 및 그러므로 운영 체제)가, 주어진 애플리케이션을 언박싱하는 경우와 같이, 제한을 풀기로 능동적으로 결심하지 않는 한, 프로세스가 제한으로부터 벗어날 수는 없다.
본 발명은, 프로세스가 시동 애플리케이션으로서 실행되는 경우, 프로세스가 (그 실행가능한 이미지 파일명을 통하여) 박싱되어야 하는지의 여부에 대한 이미지마다의 파일명 설정을 저장하기 위해서 시스템 레지스트리를 사용할 수 있다. 윈도우 시스템에서는, 여러 다른 특징(features)을 실행할 수 있는 "rundll32.exe" 같은 범용 메카니즘에 대하여 특별한 주의가 필요로 될 수 있고, 따라서 사용자의 의도는, "rundll32.exe"에 브랭킷 제한(blanket restrictions)을 하기보다는 이들 특징에 대해 더 정밀한-입도의(finer-grained) 컨트롤을 행하는 경우, 가장 잘 반영될 수 있다. 본 방법은, 통상의 시동 애플리케이션이 해당 키로 자기 자신의 설정을 수정할 수 없도록, 키를 액세스 컨트롤 제한(access control limit)("ACL")할 필요가 있을 수 있다.
일단 본 방법이 모든 시동 애플리케이션을 개시했다면, 소정의 컨피규레이션 가능한 타임아웃(예컨대, 30초) 이후에 작업을 릴리즈하도록(즉, 프로세스를 그들의 제한으로부터 릴리즈하고 우선 순위를 회복시키도록) 박스 개체를 설정할 수 있다.
본 방법은 또한 사용자가 박싱된 애플리케이션과 대화하고 있는지의 여부를 검출하기 위해 운영 체제의 다른 부분과 관련될 수 있고, 그 정보를 사용하여 애플리케이션의 박싱 타임아웃이 만료되기 전에 주어진 애플리케이션을 언박싱한다. 이는 통상의 경우 운영 체제로 하여금 원하지 않는 시동 애플리케이션들의 비용을 감소시키지만, 또한 우선 순위 제한이 시스템에서의 사용자 경험에 해가 될 수 있는 시점, 즉 애플리케이션을 사용자가 희망할 경우를 동적으로 검출하게 해준다. 이들 애플리케이션에 대한 사용자 활동을 검출하는 방법은 애플리케이션에 의한 활동을 속이는 것(이는 본 방법의 효용을 잃게 함)을 방지해야 한다. 시동 애플리케이션이 대화적으로 사용되고 있다는 지식은 또한 이력 데이터로서 유지될 수 있고, 그 시동 애플리케이션이 향후에 박싱되는 것을 방지하여 사용자의 경험을 향상시킬 가능성이 있다. 사용자가 시동 애플리케이션과 대화하고 있는 경우를 판정하는, 한 가지 단순한 접근 예는, 시동 애플리케이션의 윈도우들 중 임의의 것이 포어그라운드 윈도우가 되는지의 여부, 및 마우스의 커서가 포어그라운드 윈도우 내에 위치되어 있는지의 여부를 반복적으로 체크하는 것이다.
도 3은 청구항들에 따른 본 방법의 다른 실시예를 예시한다. 단계(300)에서, 본 방법은 프로세스의 우선 순위 클래스, I/O 우선 순위, 우선 순위 페이지, 워킹 세트, 및 네트워킹 능력(networking capabilities) 중 하나에 우선 순위가 할당되게 허용한다. 단계(305)에서, 본 방법은, 프로세스와 종속 프로세스들이 추적될 수 있도록 하기 위해 프로세스를 작업 개체에 위치시킬 수 있다. 단계(310)에서 본 방법은 시동 시에 우선 순위가 더 낮게 조정되게 허용하고, 단계(315)에서 본 방법은 시동 후의 지연 기간 이후 우선 순위가 더 높게 조정되게 허용할 수 있다. 단계(320)에서, 본 방법은, 사용도가 높은 기간 동안, 우선 순위가 더 낮게 조정되게 허용할 수 있다. 단계(325)에서, 본 방법은, 사용도가 높은 기간 이후, 우선 순위가 더 높게 조정되게 허용할 수 있다. 단계(330)에서, 본 방법은, 모든 시동 애플리케이션이 조인(join)될 세션 와이드 작업 개체(a session wide job object)를 작성할 수 있다. 단계(335)에서, 본 방법은 프로세스들을 그룹으로서 박싱할 수 있고, 단일 프로세스가 단독으로 언박싱되는 것을 허용하지 않는다. 단계(340)에서, 본 방법은 쓰레드 레벨 저장소를 사용하여 박싱이 요청된다는 정보를 시스템에 전한다. 이는, "Run Startup Apps Thread"에 (CBox) 개체를 작성하고 쓰레드 레벨 저장소 포인터를 인접한 (CBox)에 예약함으로써 달성될 수 있다. 단계(345)에서, 본 방법은 수정된 API 스택을 사용하여 박싱이 요청된다는 정보를 시스템에 전한다. 단계(350)에서, 본 방법은 프로세스 작성 시에 쓰레드 레벨 저장소로부터 (CBox) 개체를 발행(issue)할 수 있고, 프로세스를 박싱할 것인지 아닌지의 여부를 판정할 수 있다. 단계(355)에서, 본 방법은 참조 포인터로서, 카운티드 포인터(counted pointer)를 사용할 수 있다. 단계(360)에서, 본 방법은 쓰레드 레벨 저장소 슬롯이 가리키는 박스 개체에 대한 참조 카운터를 증가시킬 수 있다. 단계(365)에서, 본 방법은 컨피규레이션 가능한 기간(configurable time period) 이후에 작업을 박스 개체로부터 릴리즈하는 설정을 할 수 있다. 단계(370)에서, 본 방법은 이미지가 시동 애플리케이션으로서 실행되어야 하는 경우 이미지가 박싱되어야 하는지에 대한 이미지마다의 뷰어(viewer) 설정을 저장하기 위해서 레지스트리를 이용할 수 있다. 단계(375)에서, 본 방법은, 통상의 시동 애플리케이션이 키(key)로 자기 자신의 설정을 수정할 수 없도록, 레지스트리에 대한 키를 액세스 컨트롤 리스트 하에 둘 수 있다. 단계(380)에서, 본 방법은, 박싱된 애플리케이션이 우선 순위 설정을 위반하지 않도록, 작업 개체가 파기될 때까지 작업과의 연관성이 위반되지 않도록, 작업 개체에 의해 설정된 제한들이 박싱된 프로세스들에 의해 덮여쓰여지지(overwritten) 않도록, 프로세스들이 개시될 때 프로세스들을 제한 작업 개체(a restrictive job object)에 위치시킬 수 있다. 단계(385)에서, 본 방법은 I/O 및 페이지 우선 순위 제한(limits)을 컨트롤하는 작업 개체 제한 구조(a job object limitation structure)를 작성할 수 있다.
전술된 본문에서는 여러 다른 실시예들의 상세한 설명을 기술하였지만, 본 특허의 범위는 본 특허의 마지막 부분에 기술된 청구항들의 단어들에 의해 정의되는 것으로 이해되어야 한다. 불가능하지 않다면 모든 가능한 실시예를 기술하겠지만, 모든 가능한 실시예를 기술하는 것은 실행 불가능하기 때문에, 상세한 설명은 단지 예시로서만 이해되고 모든 가능한 실시예를 기술한 것은 아니다. 여러 다른 실시예는 현재의 기술 또는 본 특허의 출원일 이후에 개발된 기술 중 어느 것을 이용하여 구현될 수 있으며, 여전히 청구항들의 범위 내에 속할 것이다.
따라서, 여러 수정 및 변형은 본 청구항들의 범위 및 정신으로부터 벗어남 없이 본원에 예시 및 기술된 구조 및 기법에 행해질 수 있다. 이에 따라서, 본원에 기술된 방법 및 장치는 단지 예시적이며, 청구항들의 범위를 제한하는 것은 아니다.

Claims (20)

  1. 시스템 우선 순위(system priority)를 관리하는 방법으로서,
    CPU(프로세서), I/O, 메모리 페이지, 메모리 워킹 세트(memory working set) 및 네트워킹 능력(networking capabilites) 중 적어도 하나에 대한 우선 순위가 프로세스에 할당되도록 하는 단계;
    상기 프로세스와 종속 프로세스들을 추적할 수 있도록, 상기 프로세스를 컨테이너 개체(a container object)에 위치시키는 단계;
    애플리케이션 시동(application startup) 시에, 상기 우선 순위가 더 낮게 조정되도록 하는 단계;
    시동 후의 지연 기간 이후, 상기 우선 순위가 더 높게 조정되도록 하는 단계; 및
    컨피규레이션 가능한 기간(configurable time period) 동안 또는 그 후에 상기 우선 순위를 원래의 설정(original settings)으로 선택적으로 복구하는 단계
    를 포함하는 방법.
  2. 제1항에 있어서,
    미리 설정된 값보다 시스템 리소스 사용도가 높은 기간 동안, 상기 우선 순위가 더 낮게 조정되도록 하는 단계를 더 포함하는 방법.
  3. 제1항에 있어서,
    미리 설정된 값보다 시스템 리소스 사용도가 높은 기간 이후, 상기 우선 순위가 더 높게 조정되도록 하는 단계를 더 포함하는 방법.
  4. 제1항에 있어서,
    모든 시동 애플리케이션의 프로세스가 함께 위치하게 될, 전 세션에 걸친 컨테이너 개체(a session wide container object)를 생성하는 단계를 더 포함하는 방법.
  5. 제1항에 있어서,
    프로세스들을 그룹으로서 상기 컨테이너 개체에 추가하는 단계를 더 포함하는 방법.
  6. 제1항에 있어서,
    상기 컨피규레이션 가능한 기간 이후에 상기 컨테이너 개체로부터 상기 프로세스를 릴리즈(release)하는 설정을 하는 단계를 더 포함하는 방법.
  7. 제1항에 있어서,
    상기 컨테이너 개체 내의 프로세스들과의 사용자 대화(user interaction)를 검출하는 단계와, 상기 사용자 대화의 검출에 기초하여, 프로세스들의 제한을 제거하는 단계 및 이력 정보를 사용하여 프로세스들이 향후에 상기 컨테이너 개체에 위치되는 것을 방지하는 단계 중 하나 또는 양자 모두를 더 포함하는 방법.
  8. 제1항에 있어서,
    주어진 프로세스가 시동 애플리케이션으로서 실행되는 경우, 주어진 프로세스가 상기 컨테이너 개체에 위치되어야 하는지에 대한 이미지마다의 파일명 설정(a per-image file name settings)을 저장하기 위해 레지스트리를 사용하는 단계를 더 포함하는 방법.
  9. 제8항에 있어서,
    통상의 시동 애플리케이션이 키(key)로 자기 자신의 설정을 수정할 수 없도록, 상기 레지스트리에 대한 키를 액세스 컨트롤 리스트(a access control list) 하에 두는 단계를 더 포함하는 방법.
  10. 제1항에 있어서,
    상기 프로세스들이 개시될 때, 상기 프로세스들을 제한 컨테이너 개체(a restrictive container object)에 위치시켜, 상기 컨테이너 개체 내의 프로세스들이 우선 순위 설정을 위반하지 않도록 하고, 상기 컨테이너 개체가 파기될 때까지 상기 컨테이너 개체와 프로세스와의 연관성이 없어지지 않도록 하며, 상기 컨테이너 개체에 의해 설정된 제한들이 상기 컨테이너 개체 내의 프로세스들에 의해 덮여쓰여지지(overwritten) 않도록 하는 단계를 더 포함하는 방법.
  11. 제1항에 있어서,
    I/O 및 페이지 우선 순위 제한(page priority limits)을 컨트롤하는 작업 개체 제한 구조(a job object limitation structure)를 생성하는 단계를 더 포함하는 방법.
  12. 시스템 우선 순위를 관리하기 위한 컴퓨터 실행가능한 명령어들을 포함하는 컴퓨터 판독가능 저장 매체로서,
    CPU, I/O, 메모리 페이지, 메모리 워킹 세트 및 네트워킹 능력 중 적어도 하나에 대한 우선 순위가 프로세스에 할당되도록 하고,
    상기 프로세스와 종속 프로세스들을 추적할 수 있도록, 컨테이너 개체에 상기 프로세스를 위치시키고,
    시동 시에, 상기 우선 순위가 더 낮게 조정되도록 하고,
    시동 후의 지연 기간 이후, 상기 우선 순위가 더 높게 조정되도록 하고,
    컨피규레이션 가능한 기간 세션(configurable time period session) 동안 또는 그 후에 상기 우선 순위를 원래의 설정(original settings)으로 선택적으로 복구하기 위한 컴퓨터 실행가능한 명령어를 포함하는 컴퓨터 판독가능 저장 매체.
  13. 제12항에 있어서,
    미리 설정된 값보다 시스템 리소스 사용도가 높은 기간 동안, 상기 우선 순위가 더 낮게 설정되도록 하고,
    상기 미리 설정된 값보다 시스템 리소스 사용도가 높은 기간 이후, 상기 우선 순위가 더 높게 설정되도록 하고,
    모든 시동 애플리케이션의 프로세스가 함께 위치하게 될, 전 세션에 걸친 컨테이너 개체를 생성하고,
    프로세스들을 그룹으로서 상기 컨테이너에 추가하고,
    컨피규레이션 가능한 기간 이후, 상기 컨테이너 개체로부터 상기 프로세스를 릴리즈하는 것으로 설정하는 것 중 적어도 하나를 위한 컴퓨터 실행가능한 명령어를 더 포함하는 컴퓨터 판독가능 저장 매체.
  14. 제12항에 있어서,
    상기 컨테이너 개체 내의 프로세스들과의 사용자 대화를 검출하는 것과, 상기 사용자 대화의 검출에 기초하여, 프로세스들의 제한을 제거하는 것 및 이력 정보를 사용하여 프로세스들이 향후에 상기 컨테이너 개체 내에 위치되는 것을 방지하는 것 중 하나 또는 양자 모두를 위한 컴퓨터 실행가능한 명령어를 더 포함하는 컴퓨터 판독가능 저장 매체.
  15. 제12항에 있어서,
    주어진 프로세스가 시동 애플리케이션으로서 실행되는 경우, 주어진 프로세스가 상기 컨테이너 개체에 위치되어야 하는지의 여부에 대한 이미지마다의 파일명을 저장하기 위하여 레지스트리를 사용하기 위한 컴퓨터 실행가능한 명령어를 더 포함하는 컴퓨터 판독가능 저장 매체.
  16. 제15항에 있어서,
    통상의 시동 애플리케이션(common startup application)이 키로 자기 자신의 설정을 수정할 수 없도록, 상기 레지스트리에 대한 키를 액세스 컨트롤 리스트 하에 두기 위한 컴퓨터 실행가능한 명령어를 더 포함하는 컴퓨터 판독가능 저장 매체.
  17. 제12항에 있어서,
    상기 프로세스들이 개시될 때, 상기 프로세스들을 제한 작업 개체에 위치시켜, 상기 컨테이너 개체 내의 프로세스들이 우선 순위 설정을 위반하지 않도록 하고, 상기 컨테이너 개체가 파기될 때까지 상기 컨테이너 개체와 프로세스와의 연관성이 없어지지 않도록 하며, 상기 컨테이너 개체에 의해 설정된 제한들이 상기 컨테이너 개체 내의 프로세스들에 의해 덮여쓰여지지 않도록 하기 위한 컴퓨터 실행가능한 명령어를 더 포함하는 컴퓨터 판독가능 저장 매체.
  18. 제12항에 있어서,
    I/O 및 페이지 우선 순위 제한을 컨트롤하는 프로세스 개체 제한 구조를 생성하기 위한 컴퓨터 실행가능한 명령어를 더 포함하는 컴퓨터 판독가능 저장 매체.
  19. 명령어를 실행하도록 적응되어 있는 프로세서와, 상기 프로세서와 연결된 메모리와, 상기 프로세서 및 상기 메모리와 연결된 입력/출력 장치를 포함하는 컴퓨터 시스템으로서, 상기 명령어는,
    CPU, I/O, 메모리 페이지, 메모리 워킹 세트 및 네트워킹 능력 중 적어도 하나에 대한 우선 순위가 프로세스에 할당되도록 하고,
    상기 프로세스와 종속 프로세스들을 추적할 수 있도록, 컨테이너 개체에 상기 프로세스를 위치시키고,
    애플리케이션 시동 시에, 상기 우선 순위가 더 낮게 조정되도록 하고,
    시동 후의 지연 기간 이후, 상기 우선 순위가 더 높게 조정되도록 하고,
    컨피규레이션 가능한 기간 세션 동안 또는 그 후에 상기 우선 순위를 원래의 설정으로 선택적으로 복구하기 위한 것인 컴퓨터 시스템.
  20. 제19항에 있어서,
    상기 프로세스들이 개시될 때 상기 프로세스들을 제한 작업 개체에 위치시켜, 상기 컨테이너 개체 내의 프로세스들이 우선 순위 설정을 위반하지 않도록 하고, 상기 프로세스 개체가 파기될 때까지 상기 컨테이너 개체와 프로세스와의 연관성이 없어지지 않도록 하며, 상기 컨테이너 개체에 의해 설정된 제한들이 상기 컨테이너 개체 내의 프로세스들에 의해 덮여쓰여지지 않도록 하는 명령어를 더 포함하는 컴퓨터 시스템.
KR1020087013251A 2005-11-30 2006-11-29 시스템 우선 순위 관리 방법 및 컴퓨터 판독가능 매체 KR101312819B1 (ko)

Applications Claiming Priority (3)

Application Number Priority Date Filing Date Title
US11/290,105 US7500091B2 (en) 2005-11-30 2005-11-30 Delay start-up of applications
US11/290,105 2005-11-30
PCT/US2006/045708 WO2007064717A1 (en) 2005-11-30 2006-11-29 Delay start-up of applications

Publications (2)

Publication Number Publication Date
KR20080072699A KR20080072699A (ko) 2008-08-06
KR101312819B1 true KR101312819B1 (ko) 2013-09-27

Family

ID=38087430

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1020087013251A KR101312819B1 (ko) 2005-11-30 2006-11-29 시스템 우선 순위 관리 방법 및 컴퓨터 판독가능 매체

Country Status (10)

Country Link
US (1) US7500091B2 (ko)
EP (1) EP1955200B1 (ko)
JP (1) JP5127722B2 (ko)
KR (1) KR101312819B1 (ko)
CN (1) CN101317171B (ko)
AU (1) AU2006320589B2 (ko)
BR (1) BRPI0618430A2 (ko)
CA (1) CA2628416C (ko)
RU (1) RU2419840C2 (ko)
WO (1) WO2007064717A1 (ko)

Families Citing this family (23)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
EP1944690A3 (de) * 2006-12-19 2009-05-20 Continental Automotive GmbH Verfahren, Vorrichtung und System
US8176314B2 (en) * 2008-02-22 2012-05-08 International Business Machines Corporation System startup with applications using configurable options
CN101296199A (zh) * 2008-06-27 2008-10-29 腾讯科技(深圳)有限公司 一种即时通讯工具调度任务的方法和即时通讯工具
US8370613B1 (en) * 2009-06-30 2013-02-05 Symantec Corporation Method and apparatus for automatically optimizing a startup sequence to improve system boot time
JP5590114B2 (ja) * 2010-03-11 2014-09-17 富士通株式会社 ソフトウェア制御装置、ソフトウェア制御方法、およびソフトウェア制御プログラム
NL2004913C2 (en) * 2010-06-17 2011-12-20 Sytse S Professional Ict Solutions Method, computer system and computer program product stored on a computer system readable medium for starting up of a computer system.
JP5631112B2 (ja) * 2010-08-23 2014-11-26 キヤノン株式会社 画像形成装置
JP2012058879A (ja) * 2010-09-07 2012-03-22 Toshiba Corp オペレーティングシステム起動管理装置
US8677158B2 (en) 2011-08-10 2014-03-18 Microsoft Corporation System and method for assigning a power management classification including exempt, suspend, and throttling to an process based upon various factors of the process
US8935697B2 (en) 2011-08-10 2015-01-13 Microsoft Corporation Suspension and/or throttling of processes for connected standby
US8788863B2 (en) * 2011-08-10 2014-07-22 Microsoft Corporation System and method for restoring and/or continuing execution functionality to various processes based on predefined power classifications while transitioning a computing environment from connected standby state to execution state
JP5831324B2 (ja) * 2012-03-27 2015-12-09 富士通株式会社 制御装置,制御方法,プログラム及び分散処理システム
TW201416979A (zh) * 2012-10-29 2014-05-01 Acer Inc 開機加速方法與電腦系統裝置
CA2890000A1 (en) * 2012-10-31 2014-05-08 Volcano Corporation Dependency-based startup in a multi-modality medical system
CN103019706A (zh) * 2012-11-29 2013-04-03 北京奇虎科技有限公司 针对启动项目的处理方法和装置
US9959187B2 (en) * 2014-04-25 2018-05-01 Lenovo (Singapore) Pte. Ltd. Decoalescing resource utilization at boot
CN104142828A (zh) * 2014-07-30 2014-11-12 北京奇虎科技有限公司 应用加速方法及装置
JP5862722B2 (ja) * 2014-07-31 2016-02-16 富士通株式会社 マルチコアプロセッサシステム、マルチコアプロセッサシステムの制御方法、およびマルチコアプロセッサシステムの制御プログラム
DE102015205378A1 (de) * 2015-03-25 2016-09-29 Volkswagen Aktiengesellschaft Informations- und Unterhaltungssystem für ein Fahrzeug
CN107220077B (zh) * 2016-10-20 2019-03-19 华为技术有限公司 应用启动的管控方法和管控设备
CN109753209B (zh) * 2018-06-21 2020-05-05 北京字节跳动网络技术有限公司 一种应用程序启动方法、装置及设备
CN109213537A (zh) * 2018-08-16 2019-01-15 Oppo广东移动通信有限公司 应用程序的启动控制方法、装置、存储介质及终端
KR20200125258A (ko) * 2019-04-26 2020-11-04 삼성전자주식회사 어플리케이션 실행을 제어하기 위한 방법, 이를 위한 전자 장치 및 저장 매체

Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20020066329A1 (en) * 2000-12-06 2002-06-06 Brickner Chad T. System for definable single lever control shift pattern joint
US20020166072A1 (en) * 2001-05-02 2002-11-07 International Business Machines Corporation Data processing system and method for password protecting a boot device
US6697851B1 (en) * 1999-09-02 2004-02-24 International Business Machines Corporation Method and apparatus for identifying clients using incoming option data
US20050149938A1 (en) * 2003-12-23 2005-07-07 Samsung Electronics Co., Ltd Method of initializing multiple devices using job scheduler

Family Cites Families (27)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US5732266A (en) * 1994-09-02 1998-03-24 Compaq Computer Corporation Storage medium storing application programs and application initialization files and automatic launching of computer applications stored on the storage medium
US5968173A (en) * 1996-10-01 1999-10-19 Texas Instruments Incorporated Method and system for maximizing the apparent initial processing capability of a computer
US6091414A (en) * 1996-10-31 2000-07-18 International Business Machines Corporation System and method for cross-environment interaction in a computerized graphical interface environment
US5867160A (en) * 1996-10-31 1999-02-02 International Business Machines Corporation System and method for task prioritization in computerized graphic interface environments
JPH10283084A (ja) * 1997-04-10 1998-10-23 Canon Inc 情報処理装置及びその制御方法及び記憶媒体
US6275932B1 (en) * 1997-10-08 2001-08-14 Sony Corporation Program startup apparatus and program startup method for use in electronic machine, and medium
US6564318B1 (en) * 1997-12-10 2003-05-13 Phoenix Technologies Ltd. Method and apparatus for execution of an application during computer pre-boot operation and post-boot under normal OS control
US6122677A (en) * 1998-03-20 2000-09-19 Micron Technology, Inc. Method of shortening boot uptime in a computer system
US6324546B1 (en) * 1998-10-12 2001-11-27 Microsoft Corporation Automatic logging of application program launches
US6367074B1 (en) * 1998-12-28 2002-04-02 Intel Corporation Operation of a system
WO2001057658A2 (en) * 2000-02-04 2001-08-09 Insyde Software, Inc A system and method for altering an operating system start-up sequence prior to operating system loading
JP2001265598A (ja) * 2000-03-15 2001-09-28 Matsushita Electric Ind Co Ltd 情報処理装置
JP4132623B2 (ja) * 2000-09-29 2008-08-13 株式会社リコー 電源投入後に立上制御を行う装置及びその立上制御方法並びにその立上制御プログラムを書き込んだ記憶媒体
US20020147967A1 (en) * 2001-02-14 2002-10-10 Ncr Corporation Operating software scheduling priority recorder
US20020147966A1 (en) * 2001-02-14 2002-10-10 Ncr Corporation Operating software performance monitor
US6948165B1 (en) * 2001-02-28 2005-09-20 Western Digital Ventures, Inc. Method for installing an application program, to be executed during each bootload of a computer system for presenting a user with content options prior to conventional system startup presentation, without requiring a user's participation to install the program
JP2002259010A (ja) * 2001-03-05 2002-09-13 Fujitsu Ltd ショートカットアイコンの自動作成・削除プログラム
GB0107639D0 (en) * 2001-03-27 2001-05-16 Marconi Comm Ltd Network tunnelling
DE10220341C1 (de) * 2002-05-07 2003-10-30 Siemens Ag Verfahren zur Ermittlung der prioritätsabhängigen Rechenzeitverteilung in einem prioritätsgesteuerten MehrProzess-Rechensystem
US7299346B1 (en) * 2002-06-27 2007-11-20 William K. Hollis Method and apparatus to minimize computer apparatus initial program load and exit/shut down processing
TW588284B (en) * 2002-11-12 2004-05-21 Mitac Technology Corp Computer real-time power-on system and method
JP4187151B2 (ja) * 2003-01-08 2008-11-26 ソニー株式会社 情報処理装置および方法、並びにプログラム
US7243245B2 (en) * 2003-06-20 2007-07-10 International Business Machines Corporation Method and system for performing automatic startup application launch elimination
US7275150B2 (en) * 2004-03-15 2007-09-25 International Business Machines Corporation Method and system for adding frequently selected applications to a computer startup sequence
JP2005284491A (ja) * 2004-03-29 2005-10-13 Mitsubishi Electric Corp 計算機の起動時間短縮方式
JP4604543B2 (ja) * 2004-04-30 2011-01-05 日本電気株式会社 計算機、計算機起動方法、管理サーバ装置およびプログラム
US7735085B2 (en) * 2004-05-26 2010-06-08 Qualcomm Incorporated System for application priority based on device operating mode

Patent Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US6697851B1 (en) * 1999-09-02 2004-02-24 International Business Machines Corporation Method and apparatus for identifying clients using incoming option data
US20020066329A1 (en) * 2000-12-06 2002-06-06 Brickner Chad T. System for definable single lever control shift pattern joint
US20020166072A1 (en) * 2001-05-02 2002-11-07 International Business Machines Corporation Data processing system and method for password protecting a boot device
US20050149938A1 (en) * 2003-12-23 2005-07-07 Samsung Electronics Co., Ltd Method of initializing multiple devices using job scheduler

Also Published As

Publication number Publication date
CN101317171A (zh) 2008-12-03
JP5127722B2 (ja) 2013-01-23
JP2009517784A (ja) 2009-04-30
EP1955200A1 (en) 2008-08-13
US7500091B2 (en) 2009-03-03
CA2628416A1 (en) 2007-06-07
US20070121665A1 (en) 2007-05-31
AU2006320589A1 (en) 2007-06-07
CA2628416C (en) 2014-09-02
CN101317171B (zh) 2010-09-15
EP1955200A4 (en) 2009-01-28
RU2419840C2 (ru) 2011-05-27
WO2007064717A1 (en) 2007-06-07
RU2008121719A (ru) 2009-12-10
KR20080072699A (ko) 2008-08-06
AU2006320589B2 (en) 2011-01-20
BRPI0618430A2 (pt) 2011-08-30
EP1955200B1 (en) 2018-11-14

Similar Documents

Publication Publication Date Title
KR101312819B1 (ko) 시스템 우선 순위 관리 방법 및 컴퓨터 판독가능 매체
US9773102B2 (en) Selective file access for applications
US8078740B2 (en) Running internet applications with low rights
RU2432605C1 (ru) Способ расширения, основанный на сервере архитектуры десктопной виртуальной машины на клиентские машины, и машиночитаемая среда
US8180893B1 (en) Component-level sandboxing
US20090019226A1 (en) Methods and systems for providing a level of access to a computing device
US8271995B1 (en) System services for native code modules
JP2005327239A (ja) セキュリティ関連プログラミング・インターフェース
US8918776B2 (en) Self-adapting software system
US8521950B2 (en) Booting an operating system from a virtual hard disk
KR20060063643A (ko) 운영 체제의 성능을 향상시키는 방법 및 시스템
US11372662B2 (en) Agent-based throttling of command executions
US20200218635A1 (en) Logging stored information for identifying a fix for and/or a cause of an error condition
US7383506B2 (en) Rendering with GPU during screen saver activation
US7587594B1 (en) Dynamic out-of-process software components isolation for trustworthiness execution
US8370854B2 (en) Automatic closure of a file or a device in a data processing system
KR101434794B1 (ko) 프로그램 해킹 방어 방법 및 시스템
US8332940B2 (en) Techniques for securing a computing environment
US10198342B1 (en) Advanced binary instrumentation for debugging and performance enhancement
CN115061802A (zh) 进程防清理方法、装置、电子设备及存储介质

Legal Events

Date Code Title Description
A201 Request for examination
E701 Decision to grant or registration of patent right
GRNT Written decision to grant
FPAY Annual fee payment

Payment date: 20160818

Year of fee payment: 4

FPAY Annual fee payment

Payment date: 20170818

Year of fee payment: 5

FPAY Annual fee payment

Payment date: 20180903

Year of fee payment: 6

FPAY Annual fee payment

Payment date: 20190829

Year of fee payment: 7