KR20090002462A - 다수 개의 커널을 운영하는 시스템 및 방법 - Google Patents
다수 개의 커널을 운영하는 시스템 및 방법 Download PDFInfo
- Publication number
- KR20090002462A KR20090002462A KR1020070065812A KR20070065812A KR20090002462A KR 20090002462 A KR20090002462 A KR 20090002462A KR 1020070065812 A KR1020070065812 A KR 1020070065812A KR 20070065812 A KR20070065812 A KR 20070065812A KR 20090002462 A KR20090002462 A KR 20090002462A
- Authority
- KR
- South Korea
- Prior art keywords
- kernel
- kernels
- hypervisor
- timer
- unit
- Prior art date
Links
- 238000000034 method Methods 0.000 title claims abstract description 40
- 238000004891 communication Methods 0.000 claims abstract description 51
- 230000005540 biological transmission Effects 0.000 claims abstract description 11
- 238000013500 data storage Methods 0.000 claims description 37
- 230000006870 function Effects 0.000 claims description 34
- 238000012546 transfer Methods 0.000 claims description 9
- 238000012545 processing Methods 0.000 claims description 6
- 238000010586 diagram Methods 0.000 description 14
- ZVKAMDSUUSMZES-NZQWGLPYSA-N OS II Natural products CC(=O)N[C@H]1[C@H](OC[C@@H](O)[C@@H](O)[C@@H](O)CO)O[C@H](CO)[C@H](O[C@H]2O[C@H](CO)[C@@H](O)[C@H](O)[C@H]2O)[C@@H]1O[C@@H]3O[C@H](CO)[C@@H](O)[C@H](O)[C@H]3O ZVKAMDSUUSMZES-NZQWGLPYSA-N 0.000 description 9
- 238000005516 engineering process Methods 0.000 description 2
- 238000007726 management method Methods 0.000 description 2
- 238000012986 modification Methods 0.000 description 2
- 230000004048 modification Effects 0.000 description 2
- 238000010276 construction Methods 0.000 description 1
- 239000004973 liquid crystal related substance Substances 0.000 description 1
- 230000001360 synchronised effect Effects 0.000 description 1
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 or 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
Landscapes
- Engineering & Computer Science (AREA)
- Software Systems (AREA)
- Theoretical Computer Science (AREA)
- Physics & Mathematics (AREA)
- General Engineering & Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Stored Programmes (AREA)
- Hardware Redundancy (AREA)
- Storage Device Security (AREA)
- Executing Machine-Instructions (AREA)
Abstract
Description
Claims (18)
- 하드웨어에 포팅된 N(N은 1을 초과하는 정수)개의 커널; 및상기 N개의 커널을 교대로 스위칭하기 위한 타이머 인터럽트를 발생시킬 수 있는 타이머를 설정하고, 상기 타이머 인터럽트가 발생되면 상기 N개의 커널 중 현재 실행 중인 커널로부터 미리 정해진 다음 커널로 제어권한이 넘어가도록 제어하여, 상기 N개의 커널이 동시에 수행될 수 있도록 상기 N개의 커널을 운영하는 하이퍼바이저를 포함하는 것을 특징으로 하는 다수 개의 커널을 운영하는 시스템.
- 제 1 항에 있어서, 상기 하이퍼바이저는,상기 하이퍼바이저 및 상기 커널 간에 데이터를 주고받을 수 있도록 상기 하이퍼바이저 및 상기 커널의 데이터를 저장하는 공유 데이터 저장부;상기 N개의 커널을 각각 순차적으로 호출하여 초기화 상태로 만들고, 상기 타이머를 설정하는 시스템 초기화 수행부; 및상기 타이머 인터럽트의 발생 시에 상기 현재 실행 중인 커널로부터 상기 다음 커널로 제어권한이 넘어할 수 있도록 하는 타이머 인터럽트 서비스 루틴을 포함하는 인터럽트 서비스 루틴부를 포함하는 것을 특징으로 하는 다수 개의 커널을 운영하는 시스템.
- 제 2 항에 있어서, 상기 인터럽트 서비스 루틴부는 소프트웨어 인터럽트를 처리할 수 있는 소프트웨어 인터럽트 서비스 루틴을 더 포함하는 것을 특징으로 하는 다수 개의 커널을 운영하는 시스템.
- 제 2 항에 있어서, 상기 하이퍼바이저는,특정 데이터를 보내고자 하는 송신 커널이 상기 공유 데이터 저장부의 정해진 위치에 상기 특정 데이터와 관련된 통신 데이터 정보를 라이트할 수 있도록 인터페이스 기능을 제공하는 송신 API(Application Program Interface)부; 및상기 특정 데이터를 받고자 하는 수신 커널이 상기 공유 데이터 저장부의 정해진 위치로부터 상기 통신 데이터 정보를 리드할 수 있도록 인터페이스 기능을 제공하는 수신 API부를 더 포함하는 것을 특징으로 하는 다수 개의 커널을 운영하는 시스템.
- 제 4 항에 있어서, 상기 공유 데이터 저장부는,상기 하이퍼바이저의 스택 주소를 저장하는 하이퍼바이저 스택 주소 저장부;각각 상기 커널의 스택 주소를 저장할 수 있도록 상기 N개의 커널에 대응되게 구비되는 N개의 커널 스택 주소 저장부; 및상기 커널 간의 데이터 통신을 위하여 상기 N개의 커널에 대응되게 구비되는 N개의 커널 통신 큐를 포함하는 것을 특징으로 하는 다수 개의 커널을 운영하는 시스템.
- 제 5 항에 있어서, 상기 커널 통신 큐는 다수 개의 단위 요소를 포함하며,상기 단위 요소는 상기 통신 데이터 정보를 저장하는 것을 특징으로 하는 다수 개의 커널을 운영하는 시스템.
- 제 6 항에 있어서, 상기 통신 데이터 정보는 상기 송신 커널의 식별자, 상기 특정 데이터의 사이즈, 상기 특정 데이터의 주소 중 적어도 어느 하나를 포함하는 것을 특징으로 하는 다수 개의 커널을 운영하는 시스템.
- 제 2 항에 있어서, 상기 시스템 초기화 수행부는 상기 N개의 커널 중 미리 정해진 첫 번째 커널로 제어권한을 넘겨주고 상기 첫 번째 커널에서 특정 모듈을 호출하면 다시 제어권한을 넘겨받은 뒤 다음 커널로 제어권한을 넘겨주는 동작을 N번째 커널까지 반복하여 상기 N개의 커널을 실행 시작 대기 상태로 만든 뒤, 상기 타이머를 설정하는 것을 특징으로 하는 다수 개의 커널을 운영하는 시스템.
- 제 2 항에 있어서, 상기 타이머 인터럽트 서비스 루틴은,상기 타이머 인터럽트가 발생하면, 상기 현재 수행되고 있는 커널을 확인하고, 상기 공유 데이터 저장부에 존재하는 상기 현재 수행되고 있는 커널의 스택 주소 저장부에 현재 스택 포인터를 저장하고, 상기 공유 데이터 저장부에 존재하는 상기 다음 커널의 스택 주소 저장부에 저장되어 있는 스택 주소를 스택 포인터 레지스터로 복사하는 것을 특징으로 하는 다수 개의 커널을 운영하는 시스템.
- N(N은 1을 초과하는 정수)개의 커널이 시스템에서 동시에 실행될 수 있도록 상기 시스템을 운영하는 하이퍼바이저를 이용하여,상기 N개의 커널 중 미리 정해진 첫 번째 커널로 제어권한을 넘겨주고 상기 첫 번째 커널에서 특정 모듈을 호출하면 다시 제어권한을 넘겨받은 뒤 다음 커널로 제어권한을 넘겨주는 동작을 N번째 커널까지 반복하여 상기 N개의 커널을 실행 시작 대기 상태로 만드는 단계; 및상기 N개의 커널을 교대로 스위칭하기 위한 타이머 인터럽트 발생시킬 수 있는 타이머를 설정하는 단계를 포함하는 것을 특징으로 하는 방법.
- 제 10 항에 있어서, 상기 실행 시작 대기 상태는, 상기 특정 모듈이 현재 수 행중인 콘텍스트를 저장하고 상기 제어권한을 상기 하이퍼바이저로 넘겨준 뒤, 상기 타이머의 설정이 있을 때가지 일시적으로 대기하는 상태인 것을 특징으로 하는 방법.
- N(N은 1을 초과하는 정수)개의 커널 및 상기 N개의 커널을 운영하는 하이퍼바이저를 포함하는 시스템을 이용하여,상기 하이퍼바이저에 의하여 설정된 타이머로부터 커널 스위칭을 위한 타이머 인터럽트가 발생하면, 상기 하이퍼바이저는 메모리의 특정 영역을 조회하여 상기 N개의 커널 중 현재 수행되고 있는 커널을 확인하는 단계; 및상기 확인된 커널이 미리 정해진 다음 커널로 상기 제어권한을 넘기는 단계를 포함하는 것을 특징으로 하는 방법.
- 제 12 항에 있어서, 상기 하이퍼바이저가 상기 제어권한이 상기 미리 정해진 다음 커널로 넘어갔음을 상기 메모리의 특정 영역에 저장하는 단계를 더 포함하는 것을 특징으로 하는 방법.
- 제 12 항에 있어서, 상기 제어권한을 넘기는 단계는,상기 확인된 커널이 상기 하이퍼바이저의 공유 데이터 저장부에 존재하는 상기 확인된 커널의 스택 주소 저장부에 스택 포인터를 저장하는 단계;및 상기 확인된 커널이 상기 공유 데이터 저장부에 존재하는 상기 다음 커널의 스택 주소 저장부에 저장되어 있는 스택 주소를 스택 포인터 레지스터에 저장하는 단계를 포함하는 것을 특징으로 하는 방법.
- 제 12 항에 있어서, 상기 설정된 타이머로부터 상기 타이머 인터럽트가 주기적으로 발생하고, 상기 타이머 인터럽트가 발생할 때마다 상기 커널을 확인하는 단계 및 상기 제어권한을 넘기는 단계가 수행되어, 상기 N개의 커널이 교대로 반복 실행되는 것을 특징으로 하는 방법.
- 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 true KR20090002462A (ko) | 2009-01-09 |
KR100930017B1 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) |
Cited By (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
KR20150115211A (ko) * | 2014-04-03 | 2015-10-14 | 오픈스택 주식회사 | 사용자 스페이스와 커널 스페이스간의 콘텍스트 스위칭과 데이터 복사를 최소화하여 네트워크상의 복수의 목적지에 동일한 데이터를 전송하는 방법 |
Family Cites Families (5)
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 |
JP3922576B2 (ja) * | 2003-06-27 | 2007-05-30 | 株式会社日立製作所 | 命令プロセッサ割り当てスケジューリング方法、該命令プロセッサ割り当てスケジューリング方法を実現する計算機システムおよびそのためのプログラム |
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 |
US7370331B2 (en) | 2005-09-08 | 2008-05-06 | International Business Machines Corporation | Time slicing in a shared partition |
-
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
Cited By (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
KR20150115211A (ko) * | 2014-04-03 | 2015-10-14 | 오픈스택 주식회사 | 사용자 스페이스와 커널 스페이스간의 콘텍스트 스위칭과 데이터 복사를 최소화하여 네트워크상의 복수의 목적지에 동일한 데이터를 전송하는 방법 |
Also Published As
Publication number | Publication date |
---|---|
WO2009005234A2 (en) | 2009-01-08 |
WO2009005234A3 (en) | 2009-02-26 |
KR100930017B1 (ko) | 2009-12-07 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
JP5598493B2 (ja) | 情報処理装置、演算装置および情報転送方法 | |
US9311110B2 (en) | Techniques to initialize from a remotely accessible storage device | |
EP2323064B1 (en) | Computing system using single operating system to provide normal security services and high security services, and methods thereof | |
US7802042B2 (en) | Method and system for handling a management interrupt event in a multi-processor computing device | |
CN101344860B (zh) | 接合实时操作系统环境和本地主机操作系统的虚拟机环境 | |
EP3444723A1 (en) | Shared nonvolatile memory architecture | |
US20120331465A1 (en) | Virtual machine system, virtual machine control method, virtual machine control application, and semiconductor integrated circuit | |
US7809875B2 (en) | Method and system for secure communication between processor partitions | |
US20120227050A1 (en) | Changing a scheduler in a virtual machine monitor | |
EP3855318B1 (en) | Apparatus and method for configuring sets of interrupts | |
WO2006035728A1 (ja) | 情報処理装置、割り込み処理制御方法、並びにコンピュータ・プログラム | |
WO2006082989A2 (en) | System and method of interrupt handling | |
CN111095205A (zh) | 用于片上系统的预启动环境的多核框架 | |
US20130268700A1 (en) | Prefetching for a shared direct memory access (dma) engine | |
TW200525365A (en) | Optimization of SMI handling and initialization | |
EP4336359A1 (en) | Method for processing page faults and corresponding apparatus | |
WO2011117987A1 (ja) | マルチコアシステムおよび起動方法 | |
EP3770759A1 (en) | Wake-up and scheduling of functions with context hints | |
US20070283138A1 (en) | Method and apparatus for EFI BIOS time-slicing at OS runtime | |
EP3807755B1 (en) | Resource efficient deployment of multiple hot patches | |
CN113312141B (zh) | 用于卸载串行端口模拟的计算机系统、存储介质和方法 | |
KR100930017B1 (ko) | 다수 개의 커널을 운영하는 시스템 및 방법 | |
JP5289688B2 (ja) | プロセッサシステム及びプロセッサシステムを動作させるオペレーティングシステムプログラムの処理方法 | |
CN111176829B (zh) | 虚拟化处理系统中的物理功能和虚拟功能的灵活资源分配 | |
WO2001086430A2 (en) | Cryptographic data processing systems, computer programs, and methods of operating same |
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 |