dodanie folderu zad dom
This commit is contained in:
parent
9d9dbd31c5
commit
8be57ea953
29
Zadania_domowe/zajecia6/prod-cons.cm
Normal file
29
Zadania_domowe/zajecia6/prod-cons.cm
Normal file
@ -0,0 +1,29 @@
|
||||
semaphore s;
|
||||
semaphore t;
|
||||
int liczba;
|
||||
|
||||
void kons(){
|
||||
int i;
|
||||
for(i=0; i<10; i=i+1){
|
||||
wait(t);
|
||||
cout << liczba << endl;
|
||||
signal(s);
|
||||
}
|
||||
}
|
||||
|
||||
void prod(){
|
||||
int i;
|
||||
for(i=0; i<10; i=i+1){
|
||||
wait(s);
|
||||
liczba=i;
|
||||
signal(t);
|
||||
}
|
||||
}
|
||||
|
||||
main(){
|
||||
initialsem(s, 1);
|
||||
initialsem(t, 0);
|
||||
cobegin{
|
||||
prod(); kons();
|
||||
}
|
||||
}
|
32
Zadania_domowe/zajecia6/prod-cons.lst
Normal file
32
Zadania_domowe/zajecia6/prod-cons.lst
Normal file
@ -0,0 +1,32 @@
|
||||
BACI System: C-- to PCODE Compiler in C, 11:30 1 Oct 2012
|
||||
Source file: prod-cons.cm Tue Dec 4 15:01:25 2018
|
||||
line pc
|
||||
1 0 semaphore s;
|
||||
2 0 semaphore t;
|
||||
3 0 int liczba;
|
||||
4 0
|
||||
5 0 void kons(){
|
||||
6 0 int i;
|
||||
7 0 for(i=0; i<10; i=i+1){
|
||||
8 14 wait(t);
|
||||
9 16 cout << liczba << endl;
|
||||
10 19 signal(s);
|
||||
11 21 }
|
||||
12 22 }
|
||||
13 23
|
||||
14 23 void prod(){
|
||||
15 23 int i;
|
||||
16 23 for(i=0; i<10; i=i+1){
|
||||
17 37 wait(s);
|
||||
18 39 liczba=i;
|
||||
19 42 signal(t);
|
||||
20 44 }
|
||||
21 45 }
|
||||
22 46
|
||||
23 46 main(){
|
||||
24 47 initialsem(s, 1);
|
||||
25 50 initialsem(t, 0);
|
||||
26 53 cobegin{
|
||||
27 54 prod(); kons();
|
||||
28 60 }
|
||||
29 61 }
|
112
Zadania_domowe/zajecia6/prod-cons.pco
Normal file
112
Zadania_domowe/zajecia6/prod-cons.pco
Normal file
@ -0,0 +1,112 @@
|
||||
BACI System: C-- to PCODE Compiler in C, 11:30 1 Oct 2012
|
||||
Source file: prod-cons.cm Tue Dec 4 15:01:25 2018
|
||||
0 62 PCODE table
|
||||
lc f x y
|
||||
0 0 1 5
|
||||
1 24 0 0
|
||||
2 38 0 0
|
||||
3 1 1 5
|
||||
4 24 0 10
|
||||
5 47 0 0
|
||||
6 15 0 22
|
||||
7 14 0 14
|
||||
8 0 1 5
|
||||
9 1 1 5
|
||||
10 24 0 1
|
||||
11 52 0 0
|
||||
12 38 0 0
|
||||
13 14 0 3
|
||||
14 0 0 1
|
||||
15 6 0 0
|
||||
16 1 0 2
|
||||
17 29 0 1
|
||||
18 63 0 0
|
||||
19 0 0 0
|
||||
20 7 0 0
|
||||
21 14 0 8
|
||||
22 32 0 0
|
||||
23 0 1 5
|
||||
24 24 0 0
|
||||
25 38 0 0
|
||||
26 1 1 5
|
||||
27 24 0 10
|
||||
28 47 0 0
|
||||
29 15 0 45
|
||||
30 14 0 37
|
||||
31 0 1 5
|
||||
32 1 1 5
|
||||
33 24 0 1
|
||||
34 52 0 0
|
||||
35 38 0 0
|
||||
36 14 0 26
|
||||
37 0 0 0
|
||||
38 6 0 0
|
||||
39 0 0 2
|
||||
40 1 1 5
|
||||
41 38 0 0
|
||||
42 0 0 1
|
||||
43 7 0 0
|
||||
44 14 0 31
|
||||
45 32 0 0
|
||||
46 80 0 62
|
||||
47 0 0 0
|
||||
48 24 0 1
|
||||
49 39 0 0
|
||||
50 0 0 1
|
||||
51 24 0 0
|
||||
52 39 0 0
|
||||
53 4 0 0
|
||||
54 18 0 7
|
||||
55 19 0 4
|
||||
56 3 0 1
|
||||
57 18 0 5
|
||||
58 19 0 4
|
||||
59 3 0 1
|
||||
60 5 0 0
|
||||
61 31 0 0
|
||||
62 81 0 0
|
||||
1 9 IDENTIFIER table
|
||||
index identifier link obj type ref normal lev adr mon atomic
|
||||
1 ++-outer-++ 0 7 0 0 1 0 62 0 0
|
||||
2 s 1 1 5 0 1 0 0 0 0
|
||||
3 t 2 1 5 0 1 0 1 0 0
|
||||
4 liczba 3 1 1 0 1 0 2 0 0
|
||||
5 kons 4 3 0 1 1 0 0 0 0
|
||||
6 i 0 1 1 0 1 1 5 0 0
|
||||
7 prod 5 3 0 2 1 0 23 0 0
|
||||
8 i 0 1 1 0 1 1 5 0 0
|
||||
9 main 7 6 0 3 1 0 46 0 0
|
||||
0 3 BLOCK table
|
||||
index last lastpar psize vsize
|
||||
0 9 9 0 3
|
||||
1 6 5 5 6
|
||||
2 8 7 5 6
|
||||
3 9 9 5 5
|
||||
0 -1 ARRAY table
|
||||
index inxtype eltyp elref low high elsize size
|
||||
0 0 60 STRING table
|
||||
0 0 Input File array
|
||||
index parent file name
|
||||
0 -1 prod-cons.cm
|
||||
0 19 PCODE debugging information
|
||||
lc findex flineno
|
||||
0 0 7
|
||||
14 0 8
|
||||
16 0 9
|
||||
19 0 10
|
||||
21 0 11
|
||||
22 0 12
|
||||
23 0 16
|
||||
37 0 17
|
||||
39 0 18
|
||||
42 0 19
|
||||
44 0 20
|
||||
45 0 21
|
||||
46 0 23
|
||||
47 0 24
|
||||
50 0 25
|
||||
53 0 26
|
||||
54 0 27
|
||||
60 0 28
|
||||
61 0 29
|
||||
62 0 -29
|
26
Zadania_domowe/zajecia6/seq.cm
Normal file
26
Zadania_domowe/zajecia6/seq.cm
Normal file
@ -0,0 +1,26 @@
|
||||
semaphore s;
|
||||
semaphore t;
|
||||
|
||||
void a(){
|
||||
cout << "Proces 1" <<endl;
|
||||
signal(s);
|
||||
}
|
||||
|
||||
void b(){
|
||||
wait(s);
|
||||
cout <<"Proces 2" <<endl;
|
||||
signal(t);
|
||||
}
|
||||
|
||||
void c(){
|
||||
wait(t);
|
||||
cout <<"Proces 3" <<endl;
|
||||
}
|
||||
|
||||
main(){
|
||||
initialsem(s, 0);
|
||||
initialsem(t, 0);
|
||||
cobegin{
|
||||
a(); b(); c();
|
||||
}
|
||||
}
|
29
Zadania_domowe/zajecia6/seq.lst
Normal file
29
Zadania_domowe/zajecia6/seq.lst
Normal file
@ -0,0 +1,29 @@
|
||||
BACI System: C-- to PCODE Compiler in C, 11:30 1 Oct 2012
|
||||
Source file: seq.cm Tue Dec 4 14:48:43 2018
|
||||
line pc
|
||||
1 0 semaphore s;
|
||||
2 0 semaphore t;
|
||||
3 0
|
||||
4 0 void a(){
|
||||
5 0 cout << "Proces 1" <<endl;
|
||||
6 2 signal(s);
|
||||
7 4 }
|
||||
8 5
|
||||
9 5 void b(){
|
||||
10 5 wait(s);
|
||||
11 7 cout <<"Proces 2" <<endl;
|
||||
12 9 signal(t);
|
||||
13 11 }
|
||||
14 12
|
||||
15 12 void c(){
|
||||
16 12 wait(t);
|
||||
17 14 cout <<"Proces 3" <<endl;
|
||||
18 16 }
|
||||
19 17
|
||||
20 17 main(){
|
||||
21 18 initialsem(s, 0);
|
||||
22 21 initialsem(t, 0);
|
||||
23 24 cobegin{
|
||||
24 25 a(); b(); c();
|
||||
25 34 }
|
||||
26 35 }
|
BIN
Zadania_domowe/zajecia6/seq.pco
Normal file
BIN
Zadania_domowe/zajecia6/seq.pco
Normal file
Binary file not shown.
59
Zadania_domowe/zajecia7/zad1.cm
Normal file
59
Zadania_domowe/zajecia7/zad1.cm
Normal file
@ -0,0 +1,59 @@
|
||||
semaphore s2;
|
||||
semaphore s;
|
||||
semaphore t;
|
||||
const int N = 5;
|
||||
int buffer[N];
|
||||
int write_pos = 0;
|
||||
int read_pos = 0;
|
||||
|
||||
void queue_add(int item)
|
||||
{
|
||||
buffer[write_pos] = item;
|
||||
write_pos = (write_pos + 1) % N;
|
||||
}
|
||||
int queue_get()
|
||||
{
|
||||
int item;
|
||||
item = buffer[read_pos];
|
||||
read_pos = (read_pos + 1) % N;
|
||||
return item;
|
||||
}
|
||||
|
||||
void prod1(int i, int n){
|
||||
for(i; i <= n; i=i+1){
|
||||
wait(s2);
|
||||
queue_add(i);
|
||||
signal(s);
|
||||
}
|
||||
signal(t);
|
||||
}
|
||||
|
||||
void prod2(int i, int n){
|
||||
wait(t);
|
||||
for(i; i<=n; i=i+1){
|
||||
wait(s2);
|
||||
queue_add(i);
|
||||
signal(s);
|
||||
}
|
||||
}
|
||||
|
||||
void kons(int n){
|
||||
int i = 0;
|
||||
int liczba;
|
||||
for(i = 0; i < n; i = i+1){
|
||||
wait(s);
|
||||
liczba = queue_get();
|
||||
signal(s2);
|
||||
cout << "Pobralem" <<liczba<< endl;
|
||||
}
|
||||
}
|
||||
|
||||
main()
|
||||
{
|
||||
initialsem(s2, 5);
|
||||
initialsem(s, 0);
|
||||
initialsem(t, 0);
|
||||
cobegin {
|
||||
prod1(1, 25); prod2(101, 125); kons(50);
|
||||
}
|
||||
}
|
61
Zadania_domowe/zajecia7/zad1.lst
Normal file
61
Zadania_domowe/zajecia7/zad1.lst
Normal file
@ -0,0 +1,61 @@
|
||||
BACI System: C-- to PCODE Compiler in C, 11:30 1 Oct 2012
|
||||
Source file: zad1.cm Wed Dec 5 14:22:03 2018
|
||||
line pc
|
||||
1 0 semaphore s2;
|
||||
2 0 semaphore s;
|
||||
3 0 semaphore t;
|
||||
4 0 const int N = 5;
|
||||
5 0 int buffer[N];
|
||||
6 0 int write_pos = 0;
|
||||
7 0 int read_pos = 0;
|
||||
8 0 void queue_add(int item)
|
||||
9 0 {
|
||||
10 0 buffer[write_pos] = item;
|
||||
11 5 write_pos = (write_pos + 1) % N;
|
||||
12 12 }
|
||||
13 13 int queue_get()
|
||||
14 13 {
|
||||
15 13 int item;
|
||||
16 13 item = buffer[read_pos];
|
||||
17 19 read_pos = (read_pos + 1) % N;
|
||||
18 26 return item;
|
||||
19 30 }
|
||||
20 31
|
||||
21 31 void prod1(int i, int n){
|
||||
22 31 for(i; i <= n; i=i+1){
|
||||
23 42 wait(s2);
|
||||
24 44 queue_add(i);
|
||||
25 48 signal(s);
|
||||
26 50 }
|
||||
27 51 signal(t);
|
||||
28 53 }
|
||||
29 54
|
||||
30 54 void prod2(int i, int n){
|
||||
31 54 wait(t);
|
||||
32 56 for(i; i<=n; i=i+1){
|
||||
33 67 wait(s2);
|
||||
34 69 queue_add(i);
|
||||
35 73 signal(s);
|
||||
36 75 }
|
||||
37 76 }
|
||||
38 77
|
||||
39 77 void kons(int n){
|
||||
40 77 int i = 0;
|
||||
41 80 int liczba;
|
||||
42 80 for(i = 0; i < n; i = i+1){
|
||||
43 94 wait(s);
|
||||
44 96 liczba = queue_get();
|
||||
45 101 signal(s2);
|
||||
46 103 cout << "Pobralem" <<liczba<< endl;
|
||||
47 107 }
|
||||
48 108 }
|
||||
49 109
|
||||
50 109 main()
|
||||
51 110 {
|
||||
52 110 initialsem(s2, 5);
|
||||
53 113 initialsem(s, 0);
|
||||
54 116 initialsem(t, 0);
|
||||
55 119 cobegin {
|
||||
56 120 prod1(1, 25); prod2(101, 125); kons(50);
|
||||
57 134 }
|
||||
58 135 }
|
BIN
Zadania_domowe/zajecia7/zad1.pco
Normal file
BIN
Zadania_domowe/zajecia7/zad1.pco
Normal file
Binary file not shown.
53
Zadania_domowe/zajecia7/zad2.cm
Normal file
53
Zadania_domowe/zajecia7/zad2.cm
Normal file
@ -0,0 +1,53 @@
|
||||
const int N = 5;
|
||||
binarysem forks[N];
|
||||
binarysem print_sem;
|
||||
|
||||
void phil(int id)
|
||||
{
|
||||
int i;
|
||||
for(i = 0; i < 1000; i++){
|
||||
wait(print_sem);
|
||||
cout << "Jestem filozofem o numerze "<<id<<" i mysle" <<endl;
|
||||
signal(print_sem);
|
||||
|
||||
wait(forks[id]);
|
||||
wait(forks[(id+1)%N]);
|
||||
|
||||
wait(print_sem);
|
||||
cout << "Jestem filozofem o numerze " <<id<<" i jem po raz " <<i+1<<endl;
|
||||
signal(print_sem);
|
||||
|
||||
signal(forks[id]);
|
||||
signal(forks[(id+1)%N]);
|
||||
}
|
||||
}
|
||||
|
||||
void phil2(int id)
|
||||
{
|
||||
int i;
|
||||
for(i=0; i<1000; i++){
|
||||
wait(print_sem);
|
||||
cout <<"Jestem filozofem o numerze "<<id<<" i mysle"<<endl;
|
||||
signal(print_sem);
|
||||
|
||||
wait(forks[(id+1)%N]);
|
||||
wait(forks[id]);
|
||||
|
||||
wait(print_sem);
|
||||
cout<<"Jestem filozofem o numerze "<<id<<" i jem po raz "<<i+1<<endl;
|
||||
signal(print_sem);
|
||||
|
||||
signal(forks[(id+1)%N]);
|
||||
signal(forks[id]);
|
||||
}
|
||||
}
|
||||
|
||||
main(){
|
||||
int i;
|
||||
for(i=0; i<N; i++)
|
||||
initialsem(forks[i], 1);
|
||||
initialsem(print_sem, 1);
|
||||
cobegin{
|
||||
phil(0); phil2(1); phil(2); phil2(3); phil(4);
|
||||
}
|
||||
}
|
56
Zadania_domowe/zajecia7/zad2.lst
Normal file
56
Zadania_domowe/zajecia7/zad2.lst
Normal file
@ -0,0 +1,56 @@
|
||||
BACI System: C-- to PCODE Compiler in C, 11:30 1 Oct 2012
|
||||
Source file: zad2.cm Wed Dec 5 16:39:31 2018
|
||||
line pc
|
||||
1 0 const int N = 5;
|
||||
2 0 binarysem forks[N];
|
||||
3 0 binarysem print_sem;
|
||||
4 0
|
||||
5 0 void phil(int id)
|
||||
6 0 {
|
||||
7 0 int i;
|
||||
8 0 for(i = 0; i < 1000; i++){
|
||||
9 14 wait(print_sem);
|
||||
10 16 cout << "Jestem filozofem o numerze "<<id<<" i mysle" <<endl;
|
||||
11 21 signal(print_sem);
|
||||
12 23
|
||||
13 23 wait(forks[id]);
|
||||
14 27 wait(forks[(id+1)%N]);
|
||||
15 35
|
||||
16 35 wait(print_sem);
|
||||
17 37 cout << "Jestem filozofem o numerze " <<id<<" i jem po raz " <<i+1<<endl;
|
||||
18 46 signal(print_sem);
|
||||
19 48
|
||||
20 48 signal(forks[id]);
|
||||
21 52 signal(forks[(id+1)%N]);
|
||||
22 60 }
|
||||
23 61 }
|
||||
24 62
|
||||
25 62 void phil2(int id)
|
||||
26 62 {
|
||||
27 62 int i;
|
||||
28 62 for(i=0; i<1000; i++){
|
||||
29 76 wait(print_sem);
|
||||
30 78 cout <<"Jestem filozofem o numerze "<<id<<" i mysle"<<endl;
|
||||
31 83 signal(print_sem);
|
||||
32 85
|
||||
33 85 wait(forks[(id+1)%N]);
|
||||
34 93 wait(forks[id]);
|
||||
35 97
|
||||
36 97 wait(print_sem);
|
||||
37 99 cout<<"Jestem filozofem o numerze "<<id<<" i jem po raz "<<i+1<<endl;
|
||||
38 108 signal(print_sem);
|
||||
39 110
|
||||
40 110 signal(forks[(id+1)%N]);
|
||||
41 118 signal(forks[id]);
|
||||
42 122 }
|
||||
43 123 }
|
||||
44 124
|
||||
45 124 main(){
|
||||
46 125 int i;
|
||||
47 125 for(i=0; i<N; i++)
|
||||
48 139 initialsem(forks[i], 1);
|
||||
49 145 initialsem(print_sem, 1);
|
||||
50 148 cobegin{
|
||||
51 149 phil(0); phil2(1); phil(2); phil2(3); phil(4);
|
||||
52 169 }
|
||||
53 170 }
|
BIN
Zadania_domowe/zajecia7/zad2.pco
Normal file
BIN
Zadania_domowe/zajecia7/zad2.pco
Normal file
Binary file not shown.
Loading…
Reference in New Issue
Block a user