![]() |
Görevci by Kozmotronik v2.1.1
Küçük gömülü sistemler için çoklu görev (multi-tasking) yönetimi uygulaması
|
Veri Yapıları | |
struct | Bayrak |
Makrolar | |
#define | grvBAYRAK_ILKLE(b, s) |
#define | grvBAYRAK_BEKLE(g, b) |
#define | grvBAYRAK_IMLE(b) |
Typedef'ler | |
typedef struct Bayrak | bayrak_t |
Kolaylık sağlamak için Bayrak tür tanımlaması. | |
Bu modül sayıcı bayrakları görevlerin üzerinde gerçekler. Bayraklar birkaç işlem sağlayan bir senkronizasyon ilkelleridir: bekle ve imle (wait and signal). Bekleme işlemi bayrak sayıcısını yoklar ve sıfırsa görevi bloklar. İmleme işlemi bayrak sayıcısını arttırır ama görevi bloklamaz. Başka bir görev imlenen bayrağı beklemek için bloklanmışsa, bloklanan görev, yeniden çalışabilir olacaktır.
Bayraklar, izleyiciler, ileti tamponları ve bağlı tamponlar gibi daha yapılandırılmış senkronizasyon ilkellerini gerçeklemek için kullanılabilirler.
#define grvBAYRAK_BEKLE | ( | g, | |
b ) |
Bir bayrağı bekler.
Koşut (paralel) çalışan birden fazla görevden bir kaynağa erişirken; bayrak ilklenirken belirlenen erişim sayısına bağlı olarak erişimi ilk alan görev veya görevler kaynağa veya veriye erişim sağlarken, erişim sınırı dolduktan sonra erişen görev veya görevler bloklanacak, ilk erişim alan görevler erişimi grvBAYRAK_IMLE() ile saldıktan sonra bloklanan görevler artan erişim sınırı kadar kaynağa veya veriye erişebilecektir. Kullanımı basitçe şöyledir:
g | Bayrağı alan görevin tutucusu. |
b | Bayrağa referans. |
#define grvBAYRAK_ILKLE | ( | b, | |
s ) |
Bir bayrağı ilkler.
Bayraklar kullanılmadan önce ilklenmelidirler. İlklenmeyen bayraklar belirsiz veya beklenmeyen sonuçlara neden olabilir. Bir bayrak basitçe şöyle ilklenir:
b | Bayrağa referans. |
s | Sayım, yani bir kaynağa aynı anda erişebilecek görev sayısı. |
#define grvBAYRAK_IMLE | ( | b | ) |
Bir bayrağı imler.
Birçok işletim sistemindeki signal veya give gibi işlevlere benzer. Bir görev eriştiği kaynakla işlem yapmayı bitirince, başka görevlerin de bu kaynağa erişebilmesi için bu makroyu çalıştırarak erişimi salar. Kullanımı basitçe şöyledir:
b | Bayrağa referans. |