Task / taskSpawn()

sz L·2023년 10월 5일

VxWorks

목록 보기
1/1

Task(태스크)

컴퓨터에서 처리할 경우 처리 단위

  1. OS에 외부에서 주어지는 일의 단위(Job)
  2. OS가 자원을 할당하여 처리할 경우 일의 단위(Task)

Task는 자원의 효율적 사용, 다중 처리에서의 스루풋(처리율)의 향상을 도모하기 위해 생긴 것

각 프로그램은 Task를 거쳐 컴퓨터 자원을 할당하여 주행하는 것

Task에는 각종 상태가 있고, 이들을 제어하는 프로그램을 Task 관리 프로그램이라고 한다(주요 OS기능 중 하나임)


초기화는 taskInit()

활성화는 taskActivate()로 제공된다.

taskSpawn() 루틴은 할당, 초기화, 활성화에 대한 더 낮은 레벨의 스탭을 구체화한다.

할당 또는 활성화 중에 더 많은 컨트롤을 필요로할 때 이 루틴 사용한다.


Task가 Spawn 될 때, Task 이름으로 ASCII 문자열을 기입할 수 있다.

VxWorks는 Task의 데이터 구조에 대한 4-byte 핸들인 Task-ID를 리턴한다.

대부분 VxWorks Task루틴은 Task를 명시하는 인수로써 Task를 취한다.

VxWorks는 'Task ID0은 항상 호출하는 Task를 의미한다'라는 관례를 사용함.

보통 이름의 충돌을 피하기 위해 VxWorks는 모든 Task 이름에 접두사를 붙인다.

Target으로부터 시작된 Task는 't'를, Host로부터 시작된 Task는 'u'를 붙인다.

만약 NULL 포인터가 taskSpawn()의 name 인수를 위해 제공된다면 VxWorks는 유일무이한 이름을 할당한다.(tN형식)

N은 이름없는 Task를 위해 1씩 증가되는 십진법의 숫자이다.

profile
가랑비는 맞는다 하지만 폭풍은 내 것이야

0개의 댓글