Bu ödevde lottery scheduling algoritmasını implement etmeniz bekleniyor.
Lottery scheduling algoritması söyle çalışır : Sisteme yeni bir thread katıldığında işletim sistemi elindeki biletlerden bir kısmını (en az bir tane en fazla k tane olacak şekilde) yeni gelen thread’e verir. İşletim sistemi thread switch yapacağı zaman dağıttığı biletlerden bir tanesini random olarak seçer ve o bilet hangi threadde ise o threadi çalıştırır.
Bu durumda bir threadin prioritisi o threadde bulunan bilet sayısı ile doğru orantılı olacaktır.
>Bir örnek verecek olursak : Sistemde A , B ve C threadleri bulunsun ve bunların ellerindeki bilet sayıları sırasıyla 5,3 ve 2 olsun. Bu durumda B’nin seçilme ihtimali %30 ‘dur. Sistemde B ve C olsaydı sadece B’nin seçilme ihtimali %60 olacaktı.