Evo recimo koja je primjena LSB-a. U Linux kernelu 2.4 korišćen je O(1) metod za kratkoročno raspoređivanje procesa, tako što je korišćen bitvektor dužine, ne znam koliko, recimo u našem slučaju da je 32 bita (jedan int, mislim kod linuksa je bio 140). Svaki bit označava da li u redu čekanja za taj prioritet postoji neki proces. Pošto prioriteti sa manjom vrijednošću imaju veći prioritet, da bi Linux kernel pronašao slijedeći proces za izvršavanje, potrebno je samo da pronađe prvi queue u kom se nalazi neki proces. Kako naći taj queue, pa umjesto da vrši ono što zovemo linearnu pretragu, postoji komanda koja nam za neki broj može reći koji je po redu njegov LSB. Tako npr ako imamo recimo samo 8 prioriteta procesa na nekom sistemu i slijedeće procese:
A - prioritet 3
B - prioritet 4
C - prioritet 4
D - prioritet 7
Onda njihov bitvektor izgleda ovako:
10011000
I jedinice predstavljaju koji su redovi (queue) puni, a nule koji su prazni. Prvi red "s desna" koji nije prazan, sadrži slijedeći proces koji treba da se izvrši na procesoru. Komanda koja vraća indeks LSB-a je mislim BLSB, ali to nije važno, poenta je da su bitovi jako moćna stvar i da to što oni "ko fol" malo optimizuju ubrzava rad cijelog sistema za neki procenat a da toga niste ni svjesni
Edit:
Inače ova "BLSB" instrukcija je ustvari "logaritam po bazi 2", bolje rečeno. Važno je kako je i implementirana ta funkcija na arhitekturi, ako radi samo kao SHR i &1 onda baš i nije neki "improvement" - pa čak i nemaju je neke arhitekture, ako sam dobro shvatio predavanja

Btw, zato linux 2.6 koristi crveno crna stabla, koja nam, jel, slično prethodnom primjeru, garantuju O(logn) za pretraživanje i umetanje ključeva (prioriteta).