KR100930017B1 - 다수 개의 커널을 운영하는 시스템 및 방법 - Google Patents
다수 개의 커널을 운영하는 시스템 및 방법 Download PDFInfo
- Publication number
- KR100930017B1 KR100930017B1 KR1020070065812A KR20070065812A KR100930017B1 KR 100930017 B1 KR100930017 B1 KR 100930017B1 KR 1020070065812 A KR1020070065812 A KR 1020070065812A KR 20070065812 A KR20070065812 A KR 20070065812A KR 100930017 B1 KR100930017 B1 KR 100930017B1
- Authority
- KR
- South Korea
- Prior art keywords
- kernel
- kernels
- hypervisor
- data
- unit
- Prior art date
Links
Images
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F9/00—Arrangements for program control, e.g. control units
- G06F9/06—Arrangements 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/46—Multiprogramming arrangements
- G06F9/50—Allocation of resources, e.g. of the central processing unit [CPU]
- G06F9/5061—Partitioning or combining of resources
- G06F9/5077—Logical partitioning of resources; Management or configuration of virtualized resources
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F9/00—Arrangements for program control, e.g. control units
- G06F9/06—Arrangements 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/46—Multiprogramming arrangements
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F9/00—Arrangements for program control, e.g. control units
- G06F9/06—Arrangements 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/30—Arrangements for executing machine instructions, e.g. instruction decode
- G06F9/38—Concurrent instruction execution, e.g. pipeline, look ahead
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F9/00—Arrangements for program control, e.g. control units
- G06F9/06—Arrangements 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/46—Multiprogramming arrangements
- G06F9/48—Program initiating; Program switching, e.g. by interrupt
- G06F9/4806—Task transfer initiation or dispatching
- G06F9/4812—Task transfer initiation or dispatching by interrupt, e.g. masked
- G06F9/4825—Interrupt from clock, e.g. time of day
-
- Y—GENERAL TAGGING OF NEW TECHNOLOGICAL DEVELOPMENTS; GENERAL TAGGING OF CROSS-SECTIONAL TECHNOLOGIES SPANNING OVER SEVERAL SECTIONS OF THE IPC; TECHNICAL SUBJECTS COVERED BY FORMER USPC CROSS-REFERENCE ART COLLECTIONS [XRACs] AND DIGESTS
- Y02—TECHNOLOGIES OR APPLICATIONS FOR MITIGATION OR ADAPTATION AGAINST CLIMATE CHANGE
- Y02D—CLIMATE CHANGE MITIGATION TECHNOLOGIES IN INFORMATION AND COMMUNICATION TECHNOLOGIES [ICT], I.E. INFORMATION AND COMMUNICATION TECHNOLOGIES AIMING AT THE REDUCTION OF THEIR OWN ENERGY USE
- Y02D10/00—Energy efficient computing, e.g. low power processors, power management or thermal management
Abstract
Description
Claims (18)
- 하드웨어에 포팅된 N(N은 1을 초과하는 정수)개의 커널; 및상기 N개의 커널을 교대로 스위칭하기 위한 타이머 인터럽트를 발생시킬 수 있는 타이머를 설정하고, 상기 타이머 인터럽트가 발생되면 상기 N개의 커널 중 현재 실행 중인 커널로부터 미리 정해진 다음 커널로 제어권한이 넘어가도록 제어하여, 상기 N개의 커널이 동시에 수행될 수 있도록 상기 N개의 커널을 운영하는 하이퍼바이저를 포함하며,상기 하이퍼바이저는,상기 하이퍼바이저 및 상기 N개의 커널 간에 데이터를 주고받을 수 있도록 상기 하이퍼바이저 및 상기 N개의 커널의 데이터를 저장하는 공유 데이터 저장부;상기 N개의 커널을 각각 순차적으로 호출하여 초기화 상태로 만들고, 상기 타이머를 설정하는 시스템 초기화 수행부; 및상기 타이머 인터럽트의 발생 시에 상기 현재 실행 중인 커널로부터 상기 다음 커널로 제어권한이 넘어갈 수 있도록 하는 타이머 인터럽트 서비스 루틴을 포함하는 인터럽트 서비스 루틴부를 포함하는 것을 특징으로 하는 다수 개의 커널을 운영하는 시스템.
- 삭제
- 제 1 항에 있어서, 상기 인터럽트 서비스 루틴부는 소프트웨어 인터럽트를 처리할 수 있는 소프트웨어 인터럽트 서비스 루틴을 더 포함하는 것을 특징으로 하는 다수 개의 커널을 운영하는 시스템.
- 제 1 항에 있어서, 상기 하이퍼바이저는,특정 데이터를 보내고자 하는 송신 커널이 상기 공유 데이터 저장부의 정해진 위치에 상기 특정 데이터와 관련된 통신 데이터 정보를 라이트할 수 있도록 인터페이스 기능을 제공하는 송신 API(Application Program Interface)부; 및상기 특정 데이터를 받고자 하는 수신 커널이 상기 공유 데이터 저장부의 정해진 위치로부터 상기 통신 데이터 정보를 리드할 수 있도록 인터페이스 기능을 제공하는 수신 API부를 더 포함하는 것을 특징으로 하는 다수 개의 커널을 운영하는 시스템.
- 제 4 항에 있어서, 상기 공유 데이터 저장부는,상기 하이퍼바이저의 스택 주소를 저장하는 하이퍼바이저 스택 주소 저장부;상기 N개의 커널의 스택 주소를 저장할 수 있도록 상기 N개의 커널에 대응되게 구비되는 N개의 커널 스택 주소 저장부; 및상기 N개의 커널 간의 데이터 통신을 위하여 상기 N개의 커널에 대응되게 구비되는 N개의 커널 통신 큐를 포함하는 것을 특징으로 하는 다수 개의 커널을 운영하는 시스템.
- 제 5 항에 있어서, 상기 커널 통신 큐는 다수 개의 단위 요소를 포함하며,상기 단위 요소는 상기 통신 데이터 정보를 저장하는 것을 특징으로 하는 다수 개의 커널을 운영하는 시스템.
- 제 6 항에 있어서, 상기 통신 데이터 정보는 상기 송신 커널의 식별자, 상기 특정 데이터의 사이즈, 상기 특정 데이터의 주소 중 적어도 어느 하나를 포함하는 것을 특징으로 하는 다수 개의 커널을 운영하는 시스템.
- 제 1 항에 있어서, 상기 시스템 초기화 수행부는 상기 N개의 커널 중 미리 정해진 첫 번째 커널로 제어권한을 넘겨주고 상기 첫 번째 커널에서 특정 모듈을 호출하면 다시 제어권한을 넘겨받은 뒤 다음 커널로 제어권한을 넘겨주는 동작을 N번째 커널까지 반복하여 상기 N개의 커널을 실행 시작 대기 상태로 만든 뒤, 상기 타이머를 설정하는 것을 특징으로 하는 다수 개의 커널을 운영하는 시스템.
- 제 1 항에 있어서, 상기 타이머 인터럽트 서비스 루틴은,상기 타이머 인터럽트가 발생하면, 상기 현재 실행 중인 커널을 확인하고, 상기 공유 데이터 저장부에 존재하는 상기 현재 실행 중인 커널의 스택 주소 저장부에 현재 스택 포인터를 저장하고, 상기 공유 데이터 저장부에 존재하는 상기 다음 커널의 스택 주소 저장부에 저장되어 있는 스택 주소를 스택 포인터 레지스터로 복사하는 것을 특징으로 하는 다수 개의 커널을 운영하는 시스템.
- 삭제
- 삭제
- 삭제
- 삭제
- 삭제
- 삭제
- N(N은 1을 초과하는 정수)개의 커널 및 상기 N개의 커널을 운영하는 하이퍼바이저를 포함하는 시스템을 이용하여,특정 데이터를 보내고자 하는 송신 커널이 상기 하이퍼바이저에 의하여 제공되는 송신 API(Application Program Interface)를 통하여 상기 하이퍼바이저에 구비된 공유 데이터 저장부의 정해진 영역에 상기 특정 데이터와 관련된 통신 데이터 정보를 라이트하는 단계;상기 특정 데이터를 수신하고자 하는 수신 커널이 상기 하이퍼바이저에 의하 여 제공되는 수신 API를 통하여 상기 공유 데이터 저장부의 정해진 영역으로부터 상기 통신 데이터 정보를 리드하는 단계; 및상기 수신 커널이 상기 통신 데이터 정보에 포함된 상기 특정 데이터의 주소를 이용하여 상기 특정 데이터를 가져오는 단계를 포함하는 것을 특징으로 하는 방법.
- 제 16 항에 있어서, 상기 통신 데이터 정보는 상기 송신 커널의 식별자, 상기 데이터의 사이즈 및 상기 데이터의 주소를 포함하는 것을 특징으로 하는 방법.
- 제 16 항에 있어서, 상기 공유 데이터 저장부의 정해진 영역은 상기 공유 데이터 저장부에 구비된 상기 수신 커널의 커널 통신 큐인 것을 특징으로 하는 방법.
Priority Applications (2)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
KR1020070065812A KR100930017B1 (ko) | 2007-06-29 | 2007-06-29 | 다수 개의 커널을 운영하는 시스템 및 방법 |
PCT/KR2008/003519 WO2009005234A2 (en) | 2007-06-29 | 2008-06-20 | System and method for running multiple kernels |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
KR1020070065812A KR100930017B1 (ko) | 2007-06-29 | 2007-06-29 | 다수 개의 커널을 운영하는 시스템 및 방법 |
Publications (2)
Publication Number | Publication Date |
---|---|
KR20090002462A KR20090002462A (ko) | 2009-01-09 |
KR100930017B1 true KR100930017B1 (ko) | 2009-12-07 |
Family
ID=40226637
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
KR1020070065812A KR100930017B1 (ko) | 2007-06-29 | 2007-06-29 | 다수 개의 커널을 운영하는 시스템 및 방법 |
Country Status (2)
Country | Link |
---|---|
KR (1) | KR100930017B1 (ko) |
WO (1) | WO2009005234A2 (ko) |
Families Citing this family (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
KR101592916B1 (ko) * | 2014-04-03 | 2016-02-18 | 오픈스택 주식회사 | 사용자 스페이스와 커널 스페이스간의 콘텍스트 스위칭과 데이터 복사를 최소화하여 네트워크상의 복수의 목적지에 동일한 데이터를 전송하는 방법 |
Citations (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP2005018560A (ja) * | 2003-06-27 | 2005-01-20 | Hitachi Ltd | 命令プロセッサ割り当てスケジューリング方法、該命令プロセッサ割り当てスケジューリング方法を実現する計算機システムおよびそのためのプログラム |
JP2005122640A (ja) * | 2003-10-20 | 2005-05-12 | Hitachi Ltd | サーバシステム及びi/oスロット共有方法。 |
US20050251806A1 (en) | 2004-05-10 | 2005-11-10 | Auslander Marc A | Enhancement of real-time operating system functionality using a hypervisor |
US20070055830A1 (en) | 2005-09-08 | 2007-03-08 | Brenner Larry B | Time slicing in a shared partition |
Family Cites Families (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US5303369A (en) * | 1990-08-31 | 1994-04-12 | Texas Instruments Incorporated | Scheduling system for multiprocessor operating system |
-
2007
- 2007-06-29 KR KR1020070065812A patent/KR100930017B1/ko active IP Right Grant
-
2008
- 2008-06-20 WO PCT/KR2008/003519 patent/WO2009005234A2/en active Application Filing
Patent Citations (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP2005018560A (ja) * | 2003-06-27 | 2005-01-20 | Hitachi Ltd | 命令プロセッサ割り当てスケジューリング方法、該命令プロセッサ割り当てスケジューリング方法を実現する計算機システムおよびそのためのプログラム |
JP2005122640A (ja) * | 2003-10-20 | 2005-05-12 | Hitachi Ltd | サーバシステム及びi/oスロット共有方法。 |
US20050251806A1 (en) | 2004-05-10 | 2005-11-10 | Auslander Marc A | Enhancement of real-time operating system functionality using a hypervisor |
US20070055830A1 (en) | 2005-09-08 | 2007-03-08 | Brenner Larry B | Time slicing in a shared partition |
Also Published As
Publication number | Publication date |
---|---|
WO2009005234A3 (en) | 2009-02-26 |
KR20090002462A (ko) | 2009-01-09 |
WO2009005234A2 (en) | 2009-01-08 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US9311110B2 (en) | Techniques to initialize from a remotely accessible storage device | |
JP5598493B2 (ja) | 情報処理装置、演算装置および情報転送方法 | |
US6629157B1 (en) | System and method for virtualizing the configuration space of PCI devices in a processing system | |
CN101344860B (zh) | 接合实时操作系统环境和本地主机操作系统的虚拟机环境 | |
EP2002333B1 (en) | Shared nonvolatile memory architecture | |
EP1963962B1 (en) | Changing a scheduler in a virtual machine monitor | |
US7809875B2 (en) | Method and system for secure communication between processor partitions | |
US7930443B1 (en) | Router having routing engine software instance and interface controller software instance on a single processor | |
EP3855318B1 (en) | Apparatus and method for configuring sets of interrupts | |
WO2006082989A2 (en) | System and method of interrupt handling | |
WO2006035728A1 (ja) | 情報処理装置、割り込み処理制御方法、並びにコンピュータ・プログラム | |
US8578069B2 (en) | Prefetching for a shared direct memory access (DMA) engine | |
US20110219373A1 (en) | Virtual machine management apparatus and virtualization method for virtualization-supporting terminal platform | |
CN111176829B (zh) | 虚拟化处理系统中的物理功能和虚拟功能的灵活资源分配 | |
EP4336359A1 (en) | Method for processing page faults and corresponding apparatus | |
WO2011117987A1 (ja) | マルチコアシステムおよび起動方法 | |
US20060015876A1 (en) | Light weight context switching technique | |
EP3770759A1 (en) | Wake-up and scheduling of functions with context hints | |
EP3807755B1 (en) | Resource efficient deployment of multiple hot patches | |
CN107066331B (zh) | 一种基于TrustZone的资源分配方法及设备 | |
CN113312141B (zh) | 用于卸载串行端口模拟的计算机系统、存储介质和方法 | |
KR100930017B1 (ko) | 다수 개의 커널을 운영하는 시스템 및 방법 | |
JP5289688B2 (ja) | プロセッサシステム及びプロセッサシステムを動作させるオペレーティングシステムプログラムの処理方法 | |
WO2012069831A1 (en) | Method and arrangement for a multi-core system | |
US20220019437A1 (en) | Clearing Register Data |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
A201 | Request for examination | ||
E902 | Notification of reason for refusal | ||
E902 | Notification of reason for refusal | ||
E701 | Decision to grant or registration of patent right | ||
GRNT | Written decision to grant | ||
FPAY | Annual fee payment |
Payment date: 20121127 Year of fee payment: 4 |
|
FPAY | Annual fee payment |
Payment date: 20131127 Year of fee payment: 5 |
|
FPAY | Annual fee payment |
Payment date: 20141125 Year of fee payment: 6 |
|
FPAY | Annual fee payment |
Payment date: 20151125 Year of fee payment: 7 |
|
FPAY | Annual fee payment |
Payment date: 20161128 Year of fee payment: 8 |
|
FPAY | Annual fee payment |
Payment date: 20171102 Year of fee payment: 9 |
|
FPAY | Annual fee payment |
Payment date: 20181122 Year of fee payment: 10 |
|
FPAY | Annual fee payment |
Payment date: 20191024 Year of fee payment: 11 |