同步分為兩種類型:
(1) 資源同步(resource synchronization):
決定共享記憶體的存取是否安全。假設記憶體出現不安全的情況,那麼資源同步可以知道記憶體何時是安全的狀態。一般來說,通常很多任務都是同步在執行的,所以資源共享也是必須配合共享的,但是,因為記憶體是沒有排他性的,每個任務都會去使用到記憶體存取的功能,這時候,就有可能因為排程或者感測器的優先順序,導致最後資料的解釋錯誤。所以通常為了確保任務的執行,而不被其他執行的任務給中斷,此時就會設定一個競爭的臨界區段(competing critical section),藉由這個區段存取共同資源。
(2) 活動同步(activity synchronization):
也稱為條件同步,或順序同步,決定程式的執行是否能達到一個穩定的狀態,如果沒有達到穩定的狀態,就要等待,並且要等到穩定狀態時,通知系統。正常來說,嵌入式控制系統都會牽涉到很多不同複雜的任務,任務當中的某些部分是受到例如說輸入輸出設備的管控,有些則是需要大量的浮點運算,有些則是大量靠CPU運算,所以任務在很多不同的時間就會到達一個屏障點(Barrier),等其他任務都抵達屏障點時,再依優先順序跨越屏障點繼續執行任務。屏障點的方式,是可以允許多個任務同步活動的。另外,有一種稱為交會同步(rendezvous synchronization),此種方式是指允許兩個任務之間的同步的。基本上還是都要等待的。
以上大至說明兩種同步的方式,同步的作用跟之前的各種方式都是一樣,主要是希望能達到嵌入式系統效能達到最大化的結果。