테크/OSEK ⁄ VDX

OSEK Real-Time OS : 특징1(Task, 스케줄링, 인터럽트)

2023. 7. 16. 00:58
목차
  1. 1. Task
  2. 1) Basic task state model
  3. 2) Extended task state model
  4. 3) Task activation
  5. 2. Task Scheduling
  6. 3. Interrupt processing
  7. 1) ISR Category 1
  8. 2) ISR Category2

1. Task

일반적인 OS에서의 process생성과정은(생성, 준비, 실행, 대기, 종료) 5가지 방식으로 나뉘지만 OSEK OS에서는 조금 다르다. Task는 크게 2가지 방식으로 나뉜다.

1) Basic task state model

  • running : task가 CPU를 할당받아 작업하는 상태. 한 번에 한 작업만이 이 상태에 있을 수 있으며, 다른 모든 상태는 여러 작업이 동시에 적용될 수 있다.
  • suspend : running 상태인 직업이 “terminate(종료)”명령을 받으면 일시중지인 상태로 작업이 비활성화 된다. “activate”명령을 받으면 ready상태로 돌아간다.
  • ready : running상태의 작업이 preemptive스케줄링에 의해 우선순위가 밀릴때 ready상태로 들어온다. suspend상태에서 activate명령을 받을때도 ready상태로 변한다.

2) Extended task state model

전체적인 방식은 Basic task state model과 동일하나 waiting 상태가 추가되었다.

  • waiting : 실행중인 task가 wait명령을 받아서 Event를 기다리고 있는 상태.

3) Task activation

비활성화 되어있는 task를 활성화 시켜준다. Task API중 ActivateTask 와 ChainTask 를 이용하면 활성화된다.


2. Task Scheduling

  • task switching : OSEK OS에서의 context switching
    • 스케줄러가 다음 실행할 task를 고른다
  • 우선순위 기반 스케줄링
    • 개별 task는 모두 고유의 우선순위를 할당받는다
    • 0이 가장 낮은 우선순위, 숫자가 높을수록 우선순위가 높아진다.
    • 우선순위가 system이 동작하는 동안은 바뀌지 않는다.
    • 동일한 우선순위의 작업이 큐에 있다면 FIFO방식으로 동작한다.
  • Preemptive 와 non-preemptive 스케줄링 둘다 지원하므로 섞어서도 사용 가능하다.

1) Preemptive

  • T1의 우선순위가 높기 때문에 T2가 실행하고 있어도 중간에 T1 activate가 들어오면 T1이 실행된다.

2) non-preemptive

  • T1의 우선순위가 높아도 non-preemptive이기 때문에 중간에 T1의 activate가 들어와도 바로 실행하지 않고 ready상태로 들어가서 대기한 다음 T2의 작업이 끝나야 T1이 동작한다.

3. Interrupt processing

OSEK OS에서는 ISR이 2부류로 나뉜다.

1) ISR Category 1

  • 운영체제를 사용하지 않는다 → direct로 H/W사용
  • 오버헤드가 가장 적다. → 가볍고 빠르다

2) ISR Category2

  • OSEK OS의 API를 사용한다.
  • 오버헤드가 있지만 다양한 기능을 활용할 수 있다.

참고자료

Specification OSEK OS 2.2.3 (irisa.fr)

 

저작자표시 (새창열림)

'테크 > OSEK ⁄ VDX' 카테고리의 다른 글

OSEK Real-Time OS : 특징2(Event, Alarm, Hook) 및 실습  (0) 2023.07.17
OSEK/VDX 개요  (0) 2023.07.16
범용운영체제  (0) 2023.07.16
  1. 1. Task
  2. 1) Basic task state model
  3. 2) Extended task state model
  4. 3) Task activation
  5. 2. Task Scheduling
  6. 3. Interrupt processing
  7. 1) ISR Category 1
  8. 2) ISR Category2
'테크/OSEK ⁄ VDX' 카테고리의 다른 글
  • OSEK Real-Time OS : 특징2(Event, Alarm, Hook) 및 실습
  • OSEK/VDX 개요
  • 범용운영체제
시그널보내
시그널보내
삽질을 통해 깊게 공부하는 Electronic Engineer 연락 및 문의사항은 'donghyun9904@naver.com' 으로 부탁드립니다!
시그널보내
시그널보내
시그널보내
전체
오늘
어제
  • 분류 전체보기 (86)
    • 감상평 (0)
    • 테크 (4)
      • Network (2)
      • C | C++ (3)
      • MATLAB (12)
      • OSEK ⁄ VDX (4)
      • AVR(Microchip Studio) (9)
      • STM32 (1)
      • PcB (2)
      • [verilog | VHDL] (6)
      • 라즈베리파이 (4)
      • 아두이노 (6)
      • ML | DL (5)
      • ROS (3)
      • 리눅스 (12)
      • 프로젝트 (3)
      • 예제 (3)
    • 연수 ⁄ 교육 (4)
    • 대회 ⁄ 공모전 (3)
    • 취준 (4)
    • 사담 (4)

블로그 메뉴

  • 홈
  • 태그
  • 방명록

공지사항

인기 글

태그

  • 선형회귀
  • 아트멜스튜디오
  • MSE
  • IDEC
  • 라즈베리파이
  • 아두이노avr
  • AVR
  • 차량용운영체제
  • 경사하강법
  • vhdl문법
  • osek
  • 아두이노
  • 머신러닝
  • 마이크로프로세서
  • VHDL
  • osekos
  • 매트랩
  • 현대오토에버
  • 현대오토에버 모빌리티 임베디드 SW스쿨
  • 리눅스

최근 댓글

최근 글

hELLO · Designed By 정상우.
시그널보내
OSEK Real-Time OS : 특징1(Task, 스케줄링, 인터럽트)
상단으로

티스토리툴바

개인정보

  • 티스토리 홈
  • 포럼
  • 로그인

단축키

내 블로그

내 블로그 - 관리자 홈 전환
Q
Q
새 글 쓰기
W
W

블로그 게시글

글 수정 (권한 있는 경우)
E
E
댓글 영역으로 이동
C
C

모든 영역

이 페이지의 URL 복사
S
S
맨 위로 이동
T
T
티스토리 홈 이동
H
H
단축키 안내
Shift + /
⇧ + /

* 단축키는 한글/영문 대소문자로 이용 가능하며, 티스토리 기본 도메인에서만 동작합니다.