PDF Archive

Easily share your PDF documents with your contacts, on the Web and Social Networks.

Share a file Manage my documents Convert Recover PDF Search Help Contact



Projekt .pdf


Original filename: Projekt.pdf
Author: Krzysiek

This PDF 1.5 document has been generated by Microsoft® Word 2010, and has been sent on pdf-archive.com on 19/11/2015 at 18:19, from IP address 178.36.x.x. The current document download page has been viewed 321 times.
File size: 376 KB (2 pages).
Privacy: public file




Download original PDF file









Document preview


Projekt: Zarządzanie procesami / Wzajemne wykluczanie
Napisad program sterujący w czasie rzeczywistym systemem technologicznym przedstawionym na rysunku 1.
Celem algorytmu sterującego jest nalewanie płynu do butelek o odpowiednich parametrach (PH = 7 0,3,
temp=30
2 , pojemnośd L=5 0,25 kg).
Celem projektu jest zarządzanie procesami sterującymi czterema zaworami oraz regulacją temperatury za pomocą
oddzielnych procesów pracujących współbieżnie.
W programie pr4a.c utworzono odpowiednią liczbę wątków symulujących poziom, PH oraz temperaturę cieczy w
zbiorniku, poziom cieczy w butelce oraz informację o prawidłowym położeniu butelki pod zaworem napełniania
butelek.
Dostęp do tych informacji możliwy jest poprzez pamięd współdzieloną w postaci struktury:
typedef struct {
// stan czynnika:
float Temp, Poziom, PH, m;
// stan regulatorow:
bool Zawor1, Zawor2, Zawor3;
float Grzejnik;
// stan beczek:
bool Beczka_OK, NowaBeczka;
// sterowanie programem:
pthread_mutex_t mutex;
bool KONIEC_PROG;

} bufor_t;

gdzie:
float Poziom, PH, Temp
bool Zawor1, Zawor2, Zawor3

-

poziom, PH oraz temperatura cieczy w zbiorniku,

-

float Grzejnik
float m
bool Beczka_OK

-

bool NowaBeczka

-

pthread_mutex_t mutex

-

bool KONIEC_PROG

-

sterowanie zaworami rurociągu A, rurociągu B oraz zawór
butelkowania
regulacja mocy grzejnika (wartośd z zakresu 0 – 1)
poziom cieczy w butelce,
czujnik prawidłowego położenia butelki pod zaworem
napełniania butelek
uruchomienie procesu przesunięcia butelek (nowa butelka
jest gotowa do napełniania dopiero, gdy zmienna
Beczka_OK przyjmie wartośd TRUE)
mutex wyłączności odczytu i zapisu zmiennych w pamięci
współdzielonej
zmienna sygnalizująca koniec programu

Program powinien realizowad następujące zadania:
1. Program powinien składad się z czterech osobnych procesów sterujących zmiennymi: Zawor1, Zawor2, Grzejnik
oraz Zawor3 wraz NowaBeczka
2. Procesy mogą pobierad informacje o stanie czynnika i ustawiad stan zaworów rurociągów (zmienne Poziom, PH,
Temp, Zawor1, Zawor2, Zawor3, Grzejnik, m, Beczka_OK, NowaBeczka) pod warunkiem wyłączności tej operacji
(należy zająd mutex na czas tej operacji).
3. Procesy sterowania powinny zakooczyd swoje działanie po ustawieniu zmiennej KONIEC_PROG (zmienna
ustawiana jest po naciśnięciu klawisza ‘q’ w oknie symulatora).

Program należy napisad w postaci 2 osobnych programów: symulator (pr4a.c) oraz sterownik uruchamiający 4
procesy: (w nawiasie podane są funkcje, jakie należy wykorzystad do pisania poszczególnych programów)
Zawór Z1: (fork, szeregowanie karuzelowe, priorytet dobrad)
Zawór Z2: (fork, szeregowanie FIFO, priorytet dobrad)
Grzejnik: (exec, szeregowanie sporadyczne, priorytet N= dobrad, L= dobrad, B/T = 20%)
Zawór Z3: (spawn, szeregowanie karuzelowe, priorytet dobrad)
Każdy proces po wykonaniu odczytu i ustaleniu stanu zaworów powinien zwolnid procesor (funkcja int
sched_yield(void);)

Rys 1- model procesu

Kompilację programu pr4a.c ze względu na wykorzystane biblioteki należy wykonad następującą instrukcją:
gcc pr4a.c -lncurses -lm -o pr4a


Projekt.pdf - page 1/2
Projekt.pdf - page 2/2

Related documents


projekt
projekty do kontraktu 070814
cv
analysis 3736 e4d6b54af93dd2b76cc8cb4b48211783
mti welding translation
pi karska promocja pepsi zg oszenie


Related keywords