경량 커널 스레드
Light Weight Kernel Threads![]() | 이 글은 대부분의 독자들이 이해하기에는 너무 기술적인 것일 수도 있다.. (2014년 8월 (이 템플릿 를 및 정보를 할 수 하십시오 |
LWKT(Light Weight Kernel Threads)는 컴퓨터 과학 용어로서 특히 DragonFlyBSD에서 유래했다.LWKT는 일반 커널 스레드를 선점할 수 있다는 점에서 일반 커널 스레드와 다르다.DragonFlyBSD 제작자인 Matt Dillon에 따르면:
LWKT 스케줄러는 실제로 스레드를 실행하는 것을 책임진다.고정 우선 순위 체계를 사용하지만 고정 우선 순위는 사용자 프로세스가 아닌 주요 하위 시스템을 차별화하는 것이다.예를 들어, 하드웨어 인터럽트 스레드가 가장 높은 우선 순위를 가지며, 소프트웨어 인터럽트, 커널 전용 스레드가 그 뒤를 따르고, 마지막으로 사용자 스레드가 그 뒤를 잇는다.사용자 스레드는 사용자-커널 우선 순위로 실행되거나(예: 사용자 국가를 대신하여 syscall을 실행하는 경우) 사용자 스레드가 사용자 우선 순위로 실행된다.
DragonFly는 선점한다. 그것은 단지 매우 신중하고 특정한 상황에서만 그것을 한다.예를 들어 LWKT 인터럽트 스레드는 대부분의 다른 스레드를 선점할 수 있다.이는 FreeBSD-4.x가 스플릿/런 인터럽트 컨텍스트-인-컨텍스트-컨텍스트-컨텍스트-전류 프로세스 메커니즘으로 이미 한 것과 유사하다.DragonFly가 하는 *NOT*는 중단 없는 커널 스레드가 또 다른 중단 없는 커널 스레드를 선점하도록 허용하는 것이다.
메인프레임 z/OS 운영 체제는 SRB(Service Request Block)라는 유사한 메커니즘을 지원한다.
SRB는 시스템 서비스 루틴을 실행하기 위한 요청을 나타낸다.SRB는 일반적으로 하나의 주소 공간이 다른 주소 공간에 영향을 미치는 이벤트를 감지할 때 생성된다. SRB는 z/OS에서 실행되는 프로그램에 대해 비동기식 주소간 공간 통신을 위한 여러 메커니즘 중 하나를 제공한다.
SRB는 시스템에 대한 작업 단위를 식별한다는 점에서 PCB(Process Control Block)와 유사하다.PCB와 달리 SRB는 저장 영역을 "소유"할 수 없다.멀티프로세서 환경에서 SRB 루틴은 스케줄링된 후 다른 프로세서에서 디스패치할 수 있으며 스케줄링 프로그램과 동시에 실행될 수 있다.스케줄링 프로그램은 SRB 루틴과 병행하여 다른 처리를 계속 할 수 있다.커널 모드에서 실행 중인 프로그램만 SRB를 생성할 수 있다.
윈도 운영 체제는 "파이버"라는 유사한 경량 나사산 메커니즘을 알고 있다.섬유는 응용 프로그램에 의해 계획되어 있다.Windows 플랫폼에 대한 CICS Transaction Server의 포트는 섬유를 사용하며, z/OS에서 "enclaves"를 사용하는 것과 다소 유사하다.
UNIX에서 "커널 스레드"는 두 개의 스레드를 가지고 있는데 하나는 코어 스레드, 하나는 사용자 스레드를 가지고 있다.
참고 항목
원천
- LWKT 스케줄러에 대한 Matt Dillon의 게시물
- Kerner, Sean Michael (2006-01-10), "New DragonFly Released For BSD Users", InternetNews, retrieved 2011-11-20
- Biancuzzi, Federico (2004-07-08), "Behind DragonFly BSD", O'Reilly Media, retrieved 2011-11-20
- Loli-Queru, Eugenia (2004-03-13), "Interview with Matthew Dillon of DragonFly BSD", OSNews
- Luciani, Robert (2009-05-24), M:N threading in DragonflyBSD (PDF), BSDCon, archived from the original (PDF) on 2010-12-23
- Andrews, Jeremy (2007-08-06), "Interview: Matthew Dillon", KernelTrap, archived from the original on 2011-05-15, retrieved 2011-11-20
- Vervloesem, Koen (2010-04-21), "DragonFly BSD 2.6: towards a free clustering operating system", LWN.net, retrieved 2011-11-19
- Kerner, Sean Michael (2006-07-25), "DragonFly BSD 1.6 Cuts the Cord", InternetNews, retrieved 2011-11-20
- Townsend, Trent (2006-01-18), "A Quick Review of DragonFly BSD 1.4", OSNews, retrieved 2011-11-16
- Interjú Matthew Dillionnal a DragonFly BSD alapítójával, 2003-10-10, retrieved 2011-11-20