Posty

Wyświetlanie postów z maj, 2014

[ANSI C][LINUX] Wątki / THREADS, muteksy

Obraz
Program nr 1: watki.c Program uruchamia 6 watkow i wyswietla info o ich stanie (czy sa w sekcji kryt czy tez nie). W sekcji krytycznej wypisuje nr watku ktory ja wykonuje oraz pokazuje wartosc zmiennej globalnej, oraz wyswietla info gdy watek opuszcza sekcje krytyczna. Gdy sterowanie watku jest w sekcji krytycznej naliczanie jest wstrzymane. Na koniec wypisuje wartosc zmiennej dzielonej, ktora jest rowna ilości watkow pomnozonej przez ilosc wywolan (w tym przypadku 4 wywolania dla 6 watkow); _____________________________________________________________________ ____________________________________________________________________ KOMPILACJA... ---------------------------------------------------------------------- W katalogu znajduje sie plik MAKEFILE z podstawową funkcjonalnością. W celu skompilowania plików, należy wykonać komendę: make ... I URUCHOMIENIE ---------------------------------------------------------------------- w celu uruchomienia progra

[ANSI C][LINUX] Kolejki komunikatow - klient i serwer

Obraz
Program nr 1: server: kolejka.h funkcje.c serv.c odbiera ciag znakow i przetwarza go odsylajac do klienta (zmienia litery komunikatu na duze) Aby zamknac program serwera prosze wcisnac CTRL+C, gdyż napisalem stosowna funkcje ktora usuwa kolejke komunikatow zanim zabije proces serwera. Programy nr 2/3/4: klient/2/3: kolejka.h funkcje.c klient/2/3.c (takie same, roznia sie jedynie wysylanym tekstem) wysylaja do procesu serwera ciag znakow Po wpisaniu polecenia ' make run_client ' otworzy sie kilka terminali z ktorych zostanie wyslany komuinikat do serwera, po czym zamkna sie i zostanie tylko jeden(procz terminalu z serwerem) ktory wyswietli stosowne komunikaty. _____________________________________________________________________ _____________________________________________________________________ KOMPILACJA... ---------------------------------------------------------------------- W katalogu znajduje sie plik MAKEFILE z podstawową funkcjon

[ANSI C pseudo kod][LINUX] Pamiec dzielona: wielu konsumentow i wielu producentow

Uogolnienie problemu na wielu producentow i wielu konsumentow w pseudokodzie klik:

[ANSI C][LINUX] Pamięć dzielona: producent i konsument

Przy pomocy pamieci dzielonej oraz semaforow systemu UNIX zaimplementowac problem ,,Producenta–Konsumenta”. Zamiast potoku uzyc N-elementowego bufora cyklicznego (tzn. po dojsciu do konca bufora wracamy na jego poczatek) umieszczonego w pamieci dzielonej, gdzie elementem bufora jest pewna ustalona porcja bajtow. Dostep do wspolnego bufora synchronizowac przy pomocy semaforow. Dodatkowo stworzyc biblioteke statyczna oraz dzielona z funcji do obslugi semaforow i pamieci dzielonej. a zeby wszystko dobrze dzialalo trzeba stworzyc plik "plik.txt" z jakims tekstem w srodku. ____________________________________________________________________ Program nr 1: producent: header.h funkcje.c pamiec.h pamiec.c 1.c Program tworzy pamiec wspoldzielona o podanym identyfikatorze, dowiazuje do niej bufor cykliczny i porcjami wrzuca do niego tekst pobierany z pliku plik.txt. Tworzy rowniez semafor, ktory steruje zapisem i odczytem danych z i do bufora cyklicznego. Wyp

[ANSI C][LINUX] Semafory: wzajemne wykluczanie sie procesow

Przy pomocy semaforow systemu UNIX zaimplementowac zadanie wzajemnego wykluczania dla procesow. Czas operacji na wspolnym zasobie symulowac uzywajac np. funkcji sleep. Dla demonstracji poprawnosci dzialania programu uzyc odpowiednich komunikatow wypisywanych przez poszczegolne procesy przed, w trakcie i po sekcji krytycznej oraz funkcji podajacych stan semafora i liczbe procesow pod nim czekajacych. Pamietac o zainicjowaniu semafora odpowiednia wartoscia zaraz po jego utworzeniu. Stworzyc wlasna biblioteke prostych w uzyciu funkcji do: tworzenia, uzyskiwania dostepu, inicjowania, sterowania, operowania i usuwania semaforow (korzystajacych z odpowiednich funkcji systemowych, ale ukrywajacych ich szczegoly techniczne). Napisac specjalny program do powielania procesow realizujacych wzajemne wykluczanie – w oparciu o funkcje fork i exec (nazwe programu do inicjowania procesow oraz liczbe procesow mozna przekazywa´c przez argumenty programu ,,powielacza”). Program ten powinien na poczatku u

[c++][openGL] model galaktyki

Tak więc zapraszam do zapoznania się z modelem naszej Drogi Mlecznej. Nie zrobiłem gwiazd (bo nie) oraz księżyców dla innych planet niż nasz Ziemia, ale jednak poglądowo pokazuję że jeśli się przysiądzie to można coś fajnego razem z OGL naskrobać :P PS. Jeśli ktoś chce tekstury których użyłem w tym projekcie, to niech po prostu je sobie przekopiuje do folderu z main.cpp link: https://drive.google.com/folderview?id=0B4bHZa8SDykjTlNXMDNrdVlqWlE&usp=sharing 1)tam są 2 pliki *.dll pochodzące z Visual Studio bez których nie ruszy ten program. 2) opcja fullscreen ale mam nadzieję że każdemu zadziała. kod - klik:

Festiwal Nauki w Krakowie

Już od czwartku aż do soboty odbędzie się Festiwal Nauki o którym można poczytać tutaj:  Jeśli chodzi o mnie, to będę bawił się robocikami zbudowanymi z klocków LegoMindstorm. Będzie można je "obczaić" w piątek i sobotę w godzinach od 11-18 w namiocie FAiS UJ na Rynku Głównym. Oczywiście będzie miało miejsce dużo innych fajnych rzeczy, których spis + mapka są tutaj: http://mobilnyfestiwal.ur.krakow.pl/program http://mobilnyfestiwal.ur.krakow.pl/