본문 바로가기
Microprocessor

Multi Task, Multi Process, Multi Thread

by 청운추월 2023. 5. 31.
반응형

1개의 작업을 Task 라고 이야기 할 수 있습니다.
어떤곳에서는 Task로 또 다른곳에서는 Process라는 용어를 사용합니다.
일반적으로 Task 나 Process 나 같은 의미로 사용됩니다.

피쳐폰(폰모양으로 생긴폰)에서는 Task라는 용어를 사용하는데
전화기는을 담당하는 Call Task
LCD 및 Keypad 입력을 받는 Handset Task
UI(User Interface)를 담당하는 UI Task 등등이 있습니다.
이 Task들이 서로 유기적으로 신호를 주고 받고 해서 프로그램이 동작하게 됩니다

Linux의 경우는 Process라는 용어를 사용하는데
Process는 하나의 프로그램이라고 볼 수 있습니다.
이 프로그램이 여러개의 동작을 해야 할 때 Thread를 생성하게 됩니다.
Game의 경우에 각각 독립적으로 움직여야 하는 부분은 Thread를 사용하게 됩니다.
Process와 Thread의 큰 차이점은
Process와 Process 간의 메모리 공유가 안된다는 점입니다.
Process와 Thread 간에는 메모를 공유할 수 있다는 점이 특징적입니다.


Microprocess는 부팅후 하는 일은 무한 루프를 도는 일입니다.
void main(void)
{

    while(1){
         task 처리.....   
    }
}


간단하게 while 문 안에 key 입력을 Check 하고 LED를 켤 수 있게
만들 수도 있습니다.

좀더 복잡한 프로그램은 main 에서 Task를 생성시켜고
scheduler가 주기적으로  또는 신호가 있을때 Task를 호출하는 방식으로 동작합니다.
Task  내부에서 Signal을 기다리면서 무한루프를 돌게 되고 무한루프를 빠져나오면
Task가 종료되게 됩니다.

반응형

'Microprocessor' 카테고리의 다른 글

Register 와 Hyper Threading  (0) 2023.05.31
Stack , Context Switching(문맥교환)  (0) 2023.05.31
Static RAM & Dynamic RAM  (0) 2023.05.31
Vector Table & Exception  (0) 2023.05.31
Scatter loading & ROM Binary  (0) 2023.05.31