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 |