[OSy] nonblocking queue

Martin Decky decky at dsrg.mff.cuni.cz
Wed Oct 17 14:58:25 CEST 2007


Hezky den,

diky za upresneni otazky. Pokusim se to tedy rozebrat:

a) Myslim, ze existuje rozdil mezi algoritmem (byt zapsanym
   v pseudokodu) a odladenou implementaci. Nikdo Vam nemuze zakazat,
   abyste si nasel vhodny algoritmus a podle nej velmi presne napsal
   implementaci. To, co nechceme, abyste delal, je copy & paste nejake
   cizi implementace.

   Soucasti Vaseho reseni je i navrh rozhrani (ktere v tomto pripade
   zadani nijak nespecifikuje), takze se bude opet jednat o neco vic nez
   jen 1:1 prepis algoritmu do kodu.

b) Podrobnejsi popis teto problematiky bude behem nekolika tydnu
   soucasti prednasky z OSu, nejste tedy odkazan pouze na Google.
   Do odevzdani rozsireneho zadani je jeste dost casu.

c) Zadani je ve skutecnosti jeste obecnejsi, nez se na prvni pohled zda:
   pozaduje jen implementaci datove struktury bez pouziti
   synchronizacnich primitiv pro zachovani jeji konzistence. Pro tuto
   ulohu lze jiste vymyslet vice nez jen dva algoritmy (uz jen proto, ze
   nikde neni receno, o jaky seznam se ma presne jednat).

> Je smyslem to srovnani s blokovacim pristupem a tudiz mohu pouzit nalezene algoritmy
> nebo je smyslem vymyslet ty algoritmy nebraje v potaz to, ze nakonec z toho nejspis bude
> to, co jsem nasel?

Smyslem je odevzdat odladenou impelementaci a porovnat ji
s implementaci, ktera bude pouzivat synchronizacni primitiva. Pokud
vymyslite svuj vlastni unikatni algoritmus, bude to Vase plus, ale neni
to podminkou.

Ostatne do velmi podobne situace se dostanete i v pripade vetsiny zbytku
zadani (synchronizacni primitiva, alokator, preklad adres apod.).


M.D.




More information about the NSWI004 mailing list