IT/임베디드 시스템36 파이프 - 큐와 비슷하지만 다른 변형들 큐와 메일박스에 이어서 파이프도 설명하고 넘어가야 합니다. 그리고 전반적인 OS의 내용을 요약할 테니 복습과 예습을 동시에 해봅시다. [파이프] 큐와 매우 비슷한 작동을 합니다. RTOS는 파이프를 생성할 수 있고, 쓸 수 있고, 읽을 수 있습니다. 그러나 파이프의 세부 사항은 메일박스나 큐처럼 알토스마다 다양합니다. 변형을 보고 생각해봅시다. - 어떤 RTOS는 다양한 길이의 메시지를 파이프에 쓸 수 있도록 합니다. 보통 길이가 고정된 상태인 메일박스나 큐와는 다르죠. - 어떤 알토스에서 파이프는 완전히 바이트 수에 의해서 운영되곤 합니다. 만약에 태스크 A가 11바이트를 파이프에 쓰고 태스크 B가 19바이트를 파이프에 썼다면 태스크 C가 파이프로부터 14바이트를 읽었을 때 C는 A가 쓴 11바이트를 .. 2020. 6. 6. 메시지큐 / 메일박스 : 또 다른 수단 RTOS를 왜 사용하는지 알았으니 이번에는 제공되는 또 다른 기능들에 대해서 알아보겠습니다. 태스크간 통신, 타이머 서비스, 메모리 관리, 이벤트, 인터럽트 루틴 등 상호작용에 대해서 말이죠. [메시지큐 / 메일박스 그리고 파이프] 태스크는 동작을 제어하거나 데이터를 공유하기 위해서 태스크들 간에 통신을 할 수 있어야 합니다. 우유 저장 창고 감시 시스템에서 창고에서 우유의 양을 게산하는 태스크가 있다고 하면 시스템의 다른 부분들이 우유가 얼마나 들어있는지 알도록 해야합니다. 시리얼 포트 프린터를 네트워크에 연결시켜 주는 텔레그래프 시스템에서는 네트워크에서 데이터를 받는 태스크는 프린터로 데이터를 넘겨주는 다른 태스크로 데이터를 넘겨 주너가 또는 네트워크로 응답을 보내려는 태스크로 데이터를 넘겨주어야 하.. 2020. 6. 6. 세마포어의 용도/종류/문제 그리고 공유데이터 보호 방법 앞의 내용에 바로 이어서 세마포어의 다양한 면에 대해서 얘기해보겠습니다. [다중 세마포어] 세마포어 함수들이 초기화되거나, 내려가거나, 올라간 세마포어를 인식하기 위해서 인자 값을 사용하는 것을 알게 되었을 거라고 생각합니다. 대부분의 RTOS는 원하는 만큼 세마포어를 가질 수 있도록 하기 때문에 각각의 세마포어 함수들은 사용하려는 세마포어를 인식해야만 합니다. 모든 세마포어들은 서로 독립적입니다. 한 태스크가 세마포어 A를 가지고 있다면 다른 태스크는 세마포어 B를 기다리지 않고 가질 수 있습니다. 같은 맥락에서 한 태스크가 세마포어 C를 기다리고 있다고 하면 다른 태스크가 세마포어 D를 풀어 줘도 여전히 기다려야 하는 것이지요. 다중 세마포어를 사용하는 장점은 뭘까요? 태스크가 세마포어를 가질 때마다.. 2020. 6. 3. RTOS 문제 해결 툴 - 세마포어 RTOS가 태스크와 태스크 간의 마이크로프로세서 전환과 인터럽트 같은 실행 순서의 변경으로 인해 어떻게 새로운 종류의 공유 데이터 문제를 일으킬 수 있는지 말해봤었죠. 문제가 있다면 해결법이 있는 법. RTOS는 이런 문제를 해결할 수 있는 새로운 툴 역시 제공합니다. 그 중 하나가 세마포어입니다. 세마포어의 어원을 찾아 올라가면 오래된 때로 올라가야 합니다. 과거 철도에서는 기차들이 서로 충돌하면 사업에 대단히 안좋을 것임이 명백하기 때문에 걱정이 쌓여갔습니다. 그래서 철도의 까치발 신호기로 신호를 사용했는데 이것의 이름이 세마포어입니다. 1번 기차가 가운데 영역에 들어오면 바로 전에 있는 세마포어가 자동으로 내려갑니다. 2번 기차가 도착할 때 기차의 승무원은 세마포어가 내려가 있는 것을 보고 세마포어.. 2020. 6. 3. 이전 1 ··· 4 5 6 7 8 9 다음