KR19990057122A - 실시간 시스템을 위한 사용자 레벨 다중 쓰레딩 방법 - Google Patents
실시간 시스템을 위한 사용자 레벨 다중 쓰레딩 방법 Download PDFInfo
- Publication number
- KR19990057122A KR19990057122A KR1019970077166A KR19970077166A KR19990057122A KR 19990057122 A KR19990057122 A KR 19990057122A KR 1019970077166 A KR1019970077166 A KR 1019970077166A KR 19970077166 A KR19970077166 A KR 19970077166A KR 19990057122 A KR19990057122 A KR 19990057122A
- Authority
- KR
- South Korea
- Prior art keywords
- user
- event
- kernel
- thread
- scheduler
- Prior art date
- Legal status (The legal status 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 status listed.)
- Ceased
Links
Landscapes
- Executing Machine-Instructions (AREA)
Abstract
Description
Claims (4)
- 프로세스를 스케쥴링하는 커널 모드와 쓰레드를 스케쥴링하는 사용자 모드를 포함하는 쓰레딩 방법에 있어서,쓰레드가 커널을 블록킹하는 경우 커널은 새로운 커널 스택을 생성하는 단계; 및업콜을 유발하는 이벤트들을 특정하고, 이러한 특정된 이벤트들에 의한 스케쥴링 이벤트 업콜에 의하여 커널의 이벤트를 사용자 스케쥴러에게 전달하는 단계를 포함하는 것임을 특징으로 하는 실시간 시스템을 위한 사용자 레벨 다중 쓰레딩 방법.
- 제1항에 있어서, 상기 방법에서 커널이 사용자 스케쥴러에게 이벤트의 발생을 알리기 위하여 이벤트 큐를 사용하는 것임을 특징으로 하는 실시간 시스템을 위한 사용자 레벨 다중 쓰레딩 방법.
- 제2항에 있어서, 상기 업콜을 유발하는 특정된 이벤트들은,쓰레드가 커널에서 블록을 한 블록 이벤트;블록된 쓰레드가 커널에서 깨어난 웨이크업 이벤트; 및사용자 스케쥴러가 설정한 시간이 끝난 타이머 이벤트를 포함하는 것임을 특징으로 하는 실시간 시스템을 위한 사용자 레벨 다중 쓰레딩 방법.
- 제3항에 있어서, 상기 방법은 업콜의 오버레드를 줄이기 위하여 사용자 스케쥴러가 첫 번째 섹션에서는 쓰레드의 문맥을 저장하고, 이벤트 큐가 빌 때까지 이벤트를 꺼내서 우선순위 조정과 같은 스케쥴링 정책에 연관된 작업을 처리하고, 두 번째 섹션에서는 다음에 수행되어야 하는 쓰레드를 선택하여 수행시키는 작업을 하는 그러한 기준 모델에 따르고, 다음과 같은 제1 내지 제6 규칙들에 의하여 사용자 스케쥴러를 록-프리하는 것임을 특징으로 하는 실시간 시스템을 위한 사용자 레벨 다중 쓰레딩 방법;제1 규칙 : 이벤트의 삽입이벤트가 발생하면 커널은 꼬리 인덱스가 가르키는 곳에 이벤트를 기록하고 꼬리 인덱스를 증가시킨다.제2 규칙 : 사용자 스케쥴러의 호출커널은, 큐가 비어 있는 상태에서 이벤트가 발생하는 경우와 스케쥴링 제어 블록의 록 변수의 값이 '0'인 경우의 두 가지 상황이 만족되어야만 사용자 스케쥴러를 호출한다. 이외의 상황에서는 단순히 큐에 발생한 이벤트를 기록하고 바로 이전에 수행되던 곳으로 되돌아간다.제3 규칙 : 사용자 스케쥴러의 블록라이브러리 함수가 임계 영역에 들어가기 전에 록 변수를 '1'로 세트한다.제4 규칙 : 사용자 스케쥴러의 언블럭라이브러리 함수가 임계 영역을 빠져 나올 때 록 변수를 '0'으로 리셋한다. 그리고, 이벤트 큐를 조사하여 이벤트 큐가 비어있지 않다면 사용자 스케쥴러로 문맥 교환을 한다.제5 규칙 : 쓰레드의 문맥이벤트에 수반되는 쓰레드의 문맥은, 사용자 스케쥴러가 수행되고 있는 동안 이벤트가 발생하는 경우와 스케쥴링 제어 블록의 록 변수가 '1'인 동안 이벤트가 발생하는 경우에는 유효하지 않다. 이러한 두 경우를 제외하면 사용자 스케쥴러가 저장하여야 할 문맥은 오직 한 경우이다. 즉, 쓰레드가 스케쥴러를 록하지 않고 술행중일 때 사용자 스케쥴러가 호출되는 경우이다.제6 규칙 : 사용자 스케쥴러의 문맥 처리사용자 스케쥴러는 쓰레드의 문맥이 유효한 경우에만 쓰레드 제어 블록에 문맥을 저장한다.
Priority Applications (1)
| Application Number | Priority Date | Filing Date | Title |
|---|---|---|---|
| KR1019970077166A KR19990057122A (ko) | 1997-12-29 | 1997-12-29 | 실시간 시스템을 위한 사용자 레벨 다중 쓰레딩 방법 |
Applications Claiming Priority (1)
| Application Number | Priority Date | Filing Date | Title |
|---|---|---|---|
| KR1019970077166A KR19990057122A (ko) | 1997-12-29 | 1997-12-29 | 실시간 시스템을 위한 사용자 레벨 다중 쓰레딩 방법 |
Publications (1)
| Publication Number | Publication Date |
|---|---|
| KR19990057122A true KR19990057122A (ko) | 1999-07-15 |
Family
ID=66172094
Family Applications (1)
| Application Number | Title | Priority Date | Filing Date |
|---|---|---|---|
| KR1019970077166A Ceased KR19990057122A (ko) | 1997-12-29 | 1997-12-29 | 실시간 시스템을 위한 사용자 레벨 다중 쓰레딩 방법 |
Country Status (1)
| Country | Link |
|---|---|
| KR (1) | KR19990057122A (ko) |
Cited By (2)
| Publication number | Priority date | Publication date | Assignee | Title |
|---|---|---|---|---|
| KR20040036993A (ko) * | 2002-10-25 | 2004-05-04 | 주식회사 디지털앤디지털 | 시스템 타이머를 이용한 스케쥴링 장치 및 방법 |
| KR100651722B1 (ko) * | 2004-12-03 | 2006-12-01 | 한국전자통신연구원 | 실시간 성능 지원을 위한 리눅스 커널의 구성 방법 및실시간 성능 테스트 방법 |
-
1997
- 1997-12-29 KR KR1019970077166A patent/KR19990057122A/ko not_active Ceased
Cited By (2)
| Publication number | Priority date | Publication date | Assignee | Title |
|---|---|---|---|---|
| KR20040036993A (ko) * | 2002-10-25 | 2004-05-04 | 주식회사 디지털앤디지털 | 시스템 타이머를 이용한 스케쥴링 장치 및 방법 |
| KR100651722B1 (ko) * | 2004-12-03 | 2006-12-01 | 한국전자통신연구원 | 실시간 성능 지원을 위한 리눅스 커널의 구성 방법 및실시간 성능 테스트 방법 |
Similar Documents
| Publication | Publication Date | Title |
|---|---|---|
| US5452452A (en) | System having integrated dispatcher for self scheduling processors to execute multiple types of processes | |
| US6754690B2 (en) | Method for time partitioned application scheduling in a computer operating system | |
| US6910211B1 (en) | System and method for queue-less enforcement of queue-like behavior on multiple threads accessing a scarce source | |
| EP1735705B1 (en) | Improvements in or relating to an operating system for a computing device | |
| Fidge | Real-time schedulability tests for preemptive multitasking | |
| US12118384B2 (en) | Scheduling of threads for clusters of processors | |
| US20250021380A1 (en) | Thread scheduling including preemption of a thread in a kernel persona | |
| US20240419485A1 (en) | Thread state transitions | |
| CN114185666A (zh) | 一种分时系统下周期性调度线程的调度管理方法 | |
| KR19990057122A (ko) | 실시간 시스템을 위한 사용자 레벨 다중 쓰레딩 방법 | |
| Migge et al. | Timing analysis of compound scheduling policies: Application to Posix1003. 1b | |
| EP1540475A2 (en) | System and method for robust time partitioning of tasks in a real-time computing environment | |
| Oikawa et al. | Efficient timing management for user-level real-time threads | |
| Labrosse | Inside real-time kernels | |
| US12106141B2 (en) | Interrupt handling | |
| KR100324264B1 (ko) | 실시간운영체제의인터럽트마스킹방법 | |
| CN120216124A (zh) | 一种用户中断事件回调机制实现方法 | |
| Seo et al. | Supporting preemptive multithreading in the ARX real-time operating system | |
| Zhu | Toward to a More Predictable Real-Time Operating System Kernel | |
| Mullender et al. | Real Time in Plan 9 | |
| Chengjun | The Research and Design on Key Issues for Threads Packages | |
| JPH01216432A (ja) | マルチタスクシステム |
Legal Events
| Date | Code | Title | Description |
|---|---|---|---|
| A201 | Request for examination | ||
| PA0109 | Patent application |
Patent event code: PA01091R01D Comment text: Patent Application Patent event date: 19971229 |
|
| PA0201 | Request for examination |
Patent event code: PA02012R01D Patent event date: 19971229 Comment text: Request for Examination of Application |
|
| PG1501 | Laying open of application | ||
| E902 | Notification of reason for refusal | ||
| PE0902 | Notice of grounds for rejection |
Comment text: Notification of reason for refusal Patent event date: 20000320 Patent event code: PE09021S01D |
|
| E902 | Notification of reason for refusal | ||
| PE0902 | Notice of grounds for rejection |
Comment text: Notification of reason for refusal Patent event date: 20001117 Patent event code: PE09021S01D |
|
| E601 | Decision to refuse application | ||
| PE0601 | Decision on rejection of patent |
Patent event date: 20010126 Comment text: Decision to Refuse Application Patent event code: PE06012S01D Patent event date: 20001117 Comment text: Notification of reason for refusal Patent event code: PE06011S01I Patent event date: 20000320 Comment text: Notification of reason for refusal Patent event code: PE06011S01I |