임베디드 시스템 개요

공부기록·2023년 10월 13일
0
post-thumbnail

✏️임베디드란?


  • 컴퓨터 하드웨어와 소프트웨어의 조합으로 특수한 목적이 존재한다.
  • cross-develop platform : software(pc/host) - hardware(target) 교차개발환경
  • real-time features



✏️Embedded Software Architecture


  • device handling
    • A device check routin
      • ISR(Interrupt Service Routine) : 빠른 응답, 짧게 처리
    • A data processing routine
      • 후속처리과정, 디바이스에서 받은 내용 처리하는 task 셍성

📂Round-robin


  • 가정
    • 모든 프로세스에 우선순위를 두지않고 CPU에 할당하는 알고리즘으로 모두 공정한 기회를 부여받는다.
    • A 부터 J 까지 10개의 device 존재한다고 가정한다.
    • 모든 ISR 실행은 1ms 소요된다.
    • task 실행시간은 100ms이다.

  • 최악의 경우 ISR J는 909ms에 실행된다.

	while(1){
    	if(Device A needs service)
        	take care of A;
            process data from A;
        if(Device B needs service)
        	take care of B;
            process data from B;
           ...
        if(Device j needs service)
        	take care of j;
            process data from j;
     }

📂Round-robin with interrupt


  • Device Check Routine

  • Priority : ISR > task routine

  • 각 task에 ISR이라는 별도의 함수를 부여하여 ISR로 FLAG를 설정한 후 LOOP가 이 실행되도록 하는 방식이다.

  • 문제 : task들간의 우선순위가 없다.



📂Function queue scheduling


  • task간의 우선순위가 존재한다.

  • 문제 : 비선점방식 - 낮은 우선순위의 task의 수행시간이 길면 높은 우선순위를 갖는 task의 deadline을 만족하지 못할 수 있다. (real-time 불만족)



📂Real-time operating systems


  • task간의 선점(preemption)이 이루어진다.


  • 스케쥴러가 task의 실행을 결정한다.

  • deadline이 보장된다.



    Embedded Linux


  • vendor independence, various hardware support, low cost, open source

    Embedded Linux vs Desktop Linux

  • embedded linux는 작아야하고 flash driver와 flash file system로 커널이 구성된다.

0개의 댓글

관련 채용 정보