Strona 1 z 2

Wątki, muteksy i semafory.

: 15 grudnia 2007, 19:47
autor: Dusty
Witam all.
Mam pytanko... Czy ktoś z Was miał kiedykolwiek do czynienia (jeśli chodzi o systemy operacyjne) z wątkami, semaforami, muteksami itp. itd.? Potrzebuje pewnej pomocy. Dzięki za odpowiedź. Pozdro.

: 15 grudnia 2007, 21:04
autor: 0dd
na linuxie mialem do czynienia z tego typu zabawkami, na window$ie nie.

: 16 grudnia 2007, 20:05
autor: Dusty
No właśnie mi o linuxa chodzi... Pod windą nie wiem czy wogole cos takiego jest... Odd a qmasz to dobrze? Bo mam zadanko takie małe i moze bys pomogl troche jak wiesz o co chodzi. Pozdro.
Ps. Od razu wkleje treść zadanka:

Roboty drogowe.
Na pewnym odcinku drogi z Białegostoku do Kuźnicy z powodu robót drogowych zamknięto jeden pas ruchu. Na obu końcach odcinka zainstalowano sygnalizację świetlną. Możliwe kombinacje świateł to:
(1) prawy koniec – zielone, lewy koniec – czerwone: na odcinek mogą wjeżdżać samochody jadące od Białegostoku, samochody od strony Kuźnicy czekają na swoją kolejkę;
(2) prawy koniec – czerwone, lewy koniec – czerwone: zmiana kierunku ruchu, oczekiwanie, aż ostatni pojazd opuści zwężony odcinek;
(3) prawy koniec – zielone, lewy koniec – czerwone: na zwężony odcinek mogą wjeżdżać pojazdy jadące od strony Kuźnicy.
Implementacja:
a) – założyć, że na odcinku może przebywać na raz tylko jeden pojazd
b) – założyć, że na odcinku może przebywać na raz N pojazdów (jadących w jedną stronę z jednakową prędkością)
c) – założyć, że na odcinku drogi może przebywać na raz nieokreślona ilość pojazdów, zależąca od ich prędkości (prędkość pojazdu można zasymulować funkcją nanosleep, określającą czas przejazdu pojazd przez rozkopany odcinek).

: 16 grudnia 2007, 20:46
autor: 0dd
Dusty pisze:Pod windą nie wiem czy wogole cos takiego jest... Odd a qmasz to dobrze?
pewno ze pod window$em sa takie rzeczy, dlaczego niby nie mialo by ich byc? a co do kumania to tak sie sklada ze udalo mi sie napisac pare programow wspolbieznych

ja bym zrobil tak:
oba konce drogi jako semafory binarne
a) droge mozesz zrobic na mutexie
b) droga na semaforze
c) synchronizowany obaszar pamieci wspoldzielone przechowujacy ilosc pojazdow na drodze?
wydaje mi sie ze na semaforze tez sie bedzie dalo jezeli wykorzystasz go jako licznik

: 17 grudnia 2007, 18:29
autor: Dusty
Odd, a jak znajdziesz chwilke to mozesz to naskrobac w np. c lub c++ ;) bo ja totalna noga z tego... Albo chociaz jakis szkielet tego...

: 17 grudnia 2007, 19:08
autor: salmon
Daj od razu maila do prowadzącego, to się mu wyśle :p

: 17 grudnia 2007, 20:14
autor: Dusty

: 17 grudnia 2007, 20:17
autor: 0dd
niestety pisac za Ciebie nie bede chocby dlatego ze lepiej bedzie dla Ciebie jak sie tego nauczysz, napisalem Ci jak ja to widzie reszta nalezy do Ciebie. Powodzenia! tak przy okazji polecam "Linux. Programowanie dla zaawansowanych" - Mark Mitchell

: 17 grudnia 2007, 20:25
autor: Dusty
Ok, przesadzilem z tym pisaniem za mnie... Ale Odd moze cos wiecej mi wytlumaczysz, bo wogole nie wiem od ktorej strony sie za to zabrac... Jak zakumam o co to wogole chodzi to mysle ze napisze juz to wszystko sam jakos... Pozdro. Jak mozesz to napisz jakby to mialo mniej wiecej dzialac...

: 17 grudnia 2007, 20:59
autor: 0dd
nie rozumiem czego nierozumiesz. robisz sobie semafor binarny (taki dwuwartosciowy), pare watkow, jakiegos mutexa, odpalasz i wszystko chodzi. a tak naserio to jesli kiedykolwiek w zyciu napisalez program wspolbiezny z sekcjami krytycznymi to dasz sobie rade.