5.2. 스레드
실시간 시스템에서는 프로세스 내에 여러 스레드가 있어 가상 주소 공간 및 시스템 리소스를 공유할 수 있습니다. 스레드는 프로그램 카운터, 레지스터 컨텍스트 및 스택 포인터를 포함하는 예약 가능한 엔터티입니다.A thread is a schedulable entity that contains a program counter, a register context, and a stack pointer.
실시간에서는 병렬 처리를 생성하기 위한 잠재적인 메커니즘이 있습니다.
-
fork()및exec()함수 호출을 사용하여 새 프로세스를 생성합니다.fork()호출은 호출되고 고유한 프로세스 식별자가 있는 프로세스의 정확한 중복을 생성합니다. -
POSIX 스레드(
pthreads) API를 사용하여 이미 실행 중인 프로세스 내에서 새 스레드를 생성합니다.
실시간 스레드를 생성하기 전에 구성 요소 상호 작용 수준을 평가해야 합니다. 새 주소 공간을 만들고 새 프로세스로 실행하면 구성 요소가 서로 독립적이거나 상호 작용이 적을 때 유용합니다. 데이터를 공유하거나 자주 통신하는 데 구성 요소가 필요한 경우 하나의 주소 공간 내에서 스레드를 실행하는 것이 더 효율적입니다.
실시간으로 fork() 시스템 호출이 성공하면 0 값을 반환합니다. 오류 발생 시 오류 번호를 반환합니다.
자세한 내용은 시스템의 포크(2) 및 exec(2) 도움말 페이지를 참조하십시오.