Merge branch 'master' of git.wmi.amu.edu.pl:s444341/Pliki_SOP

synch z lapkiem
This commit is contained in:
Jakub Adamski 2018-12-05 18:52:58 +01:00
commit 3ba659a597
60 changed files with 1895 additions and 0 deletions

4
README.md Normal file
View File

@ -0,0 +1,4 @@
1 zmiana w pliku readme
zmiana readme w komputerze

View 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();
}
}

View 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 }

View 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

View 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();
}
}

View 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 }

Binary file not shown.

View 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);
}
}

View 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 }

Binary file not shown.

View 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);
}
}

View 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 }

Binary file not shown.

1
zajecia1/err.txt Normal file
View File

@ -0,0 +1 @@
rm: cannot remove 'xd.txt': No such file or directory

1
zajecia1/hello.txt Normal file
View File

@ -0,0 +1 @@
Hello world

20
zajecia1/test Normal file
View File

@ -0,0 +1,20 @@
dededej
____________
| |
|
. .
.......
____________
W tym przypadku polecenie
ls zostało uruchomione z argumentem
/etc oraz z przełącznikami al
wydanie
polecenia ls
bez
argumentu
spowoduje
wyświetlenie
zawartości
aktualnego

0
zajecia2/archiwum/a.txt Normal file
View File

View File

View File

View File

@ -0,0 +1,7 @@
123
13
13
17
324
693
88

View File

@ -0,0 +1,7 @@
324
17
13
123
88
693
13

View File

@ -0,0 +1,7 @@
324
17
13
123
88
693
13

0
zajecia2/archiwum/b.txt Normal file
View File

0
zajecia2/archiwum/c.md Normal file
View File

0
zajecia2/archiwum/d.md Normal file
View File

7
zajecia2/archiwum/f1.txt Normal file
View File

@ -0,0 +1,7 @@
324
17
13
123
88
693
13

0
zajecia2/empty.txt Normal file
View File

7
zajecia2/f1.nums Normal file
View File

@ -0,0 +1,7 @@
13
13
17
88
123
324
693

7
zajecia2/f1.txt Normal file
View File

@ -0,0 +1,7 @@
324
17
13
123
88
693
13

6
zajecia3/loop.sh Executable file
View File

@ -0,0 +1,6 @@
#!/bin/bash
while true; do
echo x;
sleep 10;
done

BIN
zajecia3/plwiki.noempty.gz Normal file

Binary file not shown.

BIN
zajecia3/plwiki.txt.gz Normal file

Binary file not shown.

1
zajecia3/sed_test.txt Normal file
View File

@ -0,0 +1 @@
one two three

5
zajecia3/skrypt.sh Executable file
View File

@ -0,0 +1,5 @@
#!/bin/bash
echo ===================================================
ps
echo ===================================================
ls

559
zajecia3/urls.txt Normal file
View File

@ -0,0 +1,559 @@
http://pl.wikipedia.org/wiki?curid=2
http://pl.wikipedia.org/wiki?curid=4
http://pl.wikipedia.org/wiki?curid=6
http://pl.wikipedia.org/wiki?curid=7
http://pl.wikipedia.org/wiki?curid=8
http://pl.wikipedia.org/wiki?curid=10
http://pl.wikipedia.org/wiki?curid=12
http://pl.wikipedia.org/wiki?curid=13
http://pl.wikipedia.org/wiki?curid=14
http://pl.wikipedia.org/wiki?curid=15
http://pl.wikipedia.org/wiki?curid=16
http://pl.wikipedia.org/wiki?curid=18
http://pl.wikipedia.org/wiki?curid=19
http://pl.wikipedia.org/wiki?curid=20
http://pl.wikipedia.org/wiki?curid=21
http://pl.wikipedia.org/wiki?curid=22
http://pl.wikipedia.org/wiki?curid=23
http://pl.wikipedia.org/wiki?curid=24
http://pl.wikipedia.org/wiki?curid=25
http://pl.wikipedia.org/wiki?curid=26
http://pl.wikipedia.org/wiki?curid=28
http://pl.wikipedia.org/wiki?curid=29
http://pl.wikipedia.org/wiki?curid=30
http://pl.wikipedia.org/wiki?curid=31
http://pl.wikipedia.org/wiki?curid=32
http://pl.wikipedia.org/wiki?curid=33
http://pl.wikipedia.org/wiki?curid=34
http://pl.wikipedia.org/wiki?curid=35
http://pl.wikipedia.org/wiki?curid=37
http://pl.wikipedia.org/wiki?curid=38
http://pl.wikipedia.org/wiki?curid=39
http://pl.wikipedia.org/wiki?curid=40
http://pl.wikipedia.org/wiki?curid=42
http://pl.wikipedia.org/wiki?curid=43
http://pl.wikipedia.org/wiki?curid=44
http://pl.wikipedia.org/wiki?curid=45
http://pl.wikipedia.org/wiki?curid=49
http://pl.wikipedia.org/wiki?curid=50
http://pl.wikipedia.org/wiki?curid=52
http://pl.wikipedia.org/wiki?curid=53
http://pl.wikipedia.org/wiki?curid=54
http://pl.wikipedia.org/wiki?curid=55
http://pl.wikipedia.org/wiki?curid=56
http://pl.wikipedia.org/wiki?curid=58
http://pl.wikipedia.org/wiki?curid=59
http://pl.wikipedia.org/wiki?curid=60
http://pl.wikipedia.org/wiki?curid=61
http://pl.wikipedia.org/wiki?curid=62
http://pl.wikipedia.org/wiki?curid=64
http://pl.wikipedia.org/wiki?curid=65
http://pl.wikipedia.org/wiki?curid=67
http://pl.wikipedia.org/wiki?curid=68
http://pl.wikipedia.org/wiki?curid=69
http://pl.wikipedia.org/wiki?curid=70
http://pl.wikipedia.org/wiki?curid=71
http://pl.wikipedia.org/wiki?curid=73
http://pl.wikipedia.org/wiki?curid=74
http://pl.wikipedia.org/wiki?curid=75
http://pl.wikipedia.org/wiki?curid=76
http://pl.wikipedia.org/wiki?curid=77
http://pl.wikipedia.org/wiki?curid=78
http://pl.wikipedia.org/wiki?curid=79
http://pl.wikipedia.org/wiki?curid=80
http://pl.wikipedia.org/wiki?curid=81
http://pl.wikipedia.org/wiki?curid=82
http://pl.wikipedia.org/wiki?curid=83
http://pl.wikipedia.org/wiki?curid=84
http://pl.wikipedia.org/wiki?curid=85
http://pl.wikipedia.org/wiki?curid=86
http://pl.wikipedia.org/wiki?curid=87
http://pl.wikipedia.org/wiki?curid=88
http://pl.wikipedia.org/wiki?curid=90
http://pl.wikipedia.org/wiki?curid=91
http://pl.wikipedia.org/wiki?curid=92
http://pl.wikipedia.org/wiki?curid=93
http://pl.wikipedia.org/wiki?curid=94
http://pl.wikipedia.org/wiki?curid=95
http://pl.wikipedia.org/wiki?curid=97
http://pl.wikipedia.org/wiki?curid=99
http://pl.wikipedia.org/wiki?curid=100
http://pl.wikipedia.org/wiki?curid=101
http://pl.wikipedia.org/wiki?curid=102
http://pl.wikipedia.org/wiki?curid=103
http://pl.wikipedia.org/wiki?curid=104
http://pl.wikipedia.org/wiki?curid=106
http://pl.wikipedia.org/wiki?curid=107
http://pl.wikipedia.org/wiki?curid=108
http://pl.wikipedia.org/wiki?curid=110
http://pl.wikipedia.org/wiki?curid=112
http://pl.wikipedia.org/wiki?curid=113
http://pl.wikipedia.org/wiki?curid=114
http://pl.wikipedia.org/wiki?curid=115
http://pl.wikipedia.org/wiki?curid=116
http://pl.wikipedia.org/wiki?curid=117
http://pl.wikipedia.org/wiki?curid=119
http://pl.wikipedia.org/wiki?curid=121
http://pl.wikipedia.org/wiki?curid=123
http://pl.wikipedia.org/wiki?curid=125
http://pl.wikipedia.org/wiki?curid=126
http://pl.wikipedia.org/wiki?curid=127
http://pl.wikipedia.org/wiki?curid=128
http://pl.wikipedia.org/wiki?curid=129
http://pl.wikipedia.org/wiki?curid=130
http://pl.wikipedia.org/wiki?curid=131
http://pl.wikipedia.org/wiki?curid=132
http://pl.wikipedia.org/wiki?curid=133
http://pl.wikipedia.org/wiki?curid=134
http://pl.wikipedia.org/wiki?curid=136
http://pl.wikipedia.org/wiki?curid=137
http://pl.wikipedia.org/wiki?curid=138
http://pl.wikipedia.org/wiki?curid=139
http://pl.wikipedia.org/wiki?curid=141
http://pl.wikipedia.org/wiki?curid=142
http://pl.wikipedia.org/wiki?curid=143
http://pl.wikipedia.org/wiki?curid=144
http://pl.wikipedia.org/wiki?curid=146
http://pl.wikipedia.org/wiki?curid=148
http://pl.wikipedia.org/wiki?curid=149
http://pl.wikipedia.org/wiki?curid=150
http://pl.wikipedia.org/wiki?curid=151
http://pl.wikipedia.org/wiki?curid=152
http://pl.wikipedia.org/wiki?curid=153
http://pl.wikipedia.org/wiki?curid=156
http://pl.wikipedia.org/wiki?curid=157
http://pl.wikipedia.org/wiki?curid=158
http://pl.wikipedia.org/wiki?curid=159
http://pl.wikipedia.org/wiki?curid=160
http://pl.wikipedia.org/wiki?curid=162
http://pl.wikipedia.org/wiki?curid=163
http://pl.wikipedia.org/wiki?curid=164
http://pl.wikipedia.org/wiki?curid=165
http://pl.wikipedia.org/wiki?curid=166
http://pl.wikipedia.org/wiki?curid=167
http://pl.wikipedia.org/wiki?curid=168
http://pl.wikipedia.org/wiki?curid=170
http://pl.wikipedia.org/wiki?curid=171
http://pl.wikipedia.org/wiki?curid=172
http://pl.wikipedia.org/wiki?curid=175
http://pl.wikipedia.org/wiki?curid=176
http://pl.wikipedia.org/wiki?curid=177
http://pl.wikipedia.org/wiki?curid=178
http://pl.wikipedia.org/wiki?curid=179
http://pl.wikipedia.org/wiki?curid=180
http://pl.wikipedia.org/wiki?curid=181
http://pl.wikipedia.org/wiki?curid=183
http://pl.wikipedia.org/wiki?curid=184
http://pl.wikipedia.org/wiki?curid=185
http://pl.wikipedia.org/wiki?curid=186
http://pl.wikipedia.org/wiki?curid=188
http://pl.wikipedia.org/wiki?curid=189
http://pl.wikipedia.org/wiki?curid=190
http://pl.wikipedia.org/wiki?curid=191
http://pl.wikipedia.org/wiki?curid=192
http://pl.wikipedia.org/wiki?curid=195
http://pl.wikipedia.org/wiki?curid=196
http://pl.wikipedia.org/wiki?curid=198
http://pl.wikipedia.org/wiki?curid=200
http://pl.wikipedia.org/wiki?curid=202
http://pl.wikipedia.org/wiki?curid=203
http://pl.wikipedia.org/wiki?curid=205
http://pl.wikipedia.org/wiki?curid=206
http://pl.wikipedia.org/wiki?curid=207
http://pl.wikipedia.org/wiki?curid=210
http://pl.wikipedia.org/wiki?curid=211
http://pl.wikipedia.org/wiki?curid=212
http://pl.wikipedia.org/wiki?curid=213
http://pl.wikipedia.org/wiki?curid=214
http://pl.wikipedia.org/wiki?curid=216
http://pl.wikipedia.org/wiki?curid=218
http://pl.wikipedia.org/wiki?curid=219
http://pl.wikipedia.org/wiki?curid=220
http://pl.wikipedia.org/wiki?curid=223
http://pl.wikipedia.org/wiki?curid=224
http://pl.wikipedia.org/wiki?curid=225
http://pl.wikipedia.org/wiki?curid=228
http://pl.wikipedia.org/wiki?curid=229
http://pl.wikipedia.org/wiki?curid=230
http://pl.wikipedia.org/wiki?curid=231
http://pl.wikipedia.org/wiki?curid=232
http://pl.wikipedia.org/wiki?curid=233
http://pl.wikipedia.org/wiki?curid=236
http://pl.wikipedia.org/wiki?curid=238
http://pl.wikipedia.org/wiki?curid=240
http://pl.wikipedia.org/wiki?curid=241
http://pl.wikipedia.org/wiki?curid=242
http://pl.wikipedia.org/wiki?curid=245
http://pl.wikipedia.org/wiki?curid=247
http://pl.wikipedia.org/wiki?curid=248
http://pl.wikipedia.org/wiki?curid=249
http://pl.wikipedia.org/wiki?curid=251
http://pl.wikipedia.org/wiki?curid=252
http://pl.wikipedia.org/wiki?curid=253
http://pl.wikipedia.org/wiki?curid=255
http://pl.wikipedia.org/wiki?curid=256
http://pl.wikipedia.org/wiki?curid=257
http://pl.wikipedia.org/wiki?curid=258
http://pl.wikipedia.org/wiki?curid=259
http://pl.wikipedia.org/wiki?curid=260
http://pl.wikipedia.org/wiki?curid=262
http://pl.wikipedia.org/wiki?curid=263
http://pl.wikipedia.org/wiki?curid=265
http://pl.wikipedia.org/wiki?curid=266
http://pl.wikipedia.org/wiki?curid=267
http://pl.wikipedia.org/wiki?curid=268
http://pl.wikipedia.org/wiki?curid=271
http://pl.wikipedia.org/wiki?curid=273
http://pl.wikipedia.org/wiki?curid=274
http://pl.wikipedia.org/wiki?curid=276
http://pl.wikipedia.org/wiki?curid=277
http://pl.wikipedia.org/wiki?curid=278
http://pl.wikipedia.org/wiki?curid=279
http://pl.wikipedia.org/wiki?curid=281
http://pl.wikipedia.org/wiki?curid=282
http://pl.wikipedia.org/wiki?curid=283
http://pl.wikipedia.org/wiki?curid=284
http://pl.wikipedia.org/wiki?curid=285
http://pl.wikipedia.org/wiki?curid=287
http://pl.wikipedia.org/wiki?curid=289
http://pl.wikipedia.org/wiki?curid=290
http://pl.wikipedia.org/wiki?curid=291
http://pl.wikipedia.org/wiki?curid=292
http://pl.wikipedia.org/wiki?curid=293
http://pl.wikipedia.org/wiki?curid=294
http://pl.wikipedia.org/wiki?curid=295
http://pl.wikipedia.org/wiki?curid=296
http://pl.wikipedia.org/wiki?curid=297
http://pl.wikipedia.org/wiki?curid=298
http://pl.wikipedia.org/wiki?curid=299
http://pl.wikipedia.org/wiki?curid=301
http://pl.wikipedia.org/wiki?curid=303
http://pl.wikipedia.org/wiki?curid=305
http://pl.wikipedia.org/wiki?curid=306
http://pl.wikipedia.org/wiki?curid=308
http://pl.wikipedia.org/wiki?curid=310
http://pl.wikipedia.org/wiki?curid=312
http://pl.wikipedia.org/wiki?curid=316
http://pl.wikipedia.org/wiki?curid=317
http://pl.wikipedia.org/wiki?curid=318
http://pl.wikipedia.org/wiki?curid=321
http://pl.wikipedia.org/wiki?curid=323
http://pl.wikipedia.org/wiki?curid=324
http://pl.wikipedia.org/wiki?curid=325
http://pl.wikipedia.org/wiki?curid=326
http://pl.wikipedia.org/wiki?curid=327
http://pl.wikipedia.org/wiki?curid=328
http://pl.wikipedia.org/wiki?curid=329
http://pl.wikipedia.org/wiki?curid=330
http://pl.wikipedia.org/wiki?curid=331
http://pl.wikipedia.org/wiki?curid=332
http://pl.wikipedia.org/wiki?curid=333
http://pl.wikipedia.org/wiki?curid=334
http://pl.wikipedia.org/wiki?curid=336
http://pl.wikipedia.org/wiki?curid=337
http://pl.wikipedia.org/wiki?curid=338
http://pl.wikipedia.org/wiki?curid=339
http://pl.wikipedia.org/wiki?curid=341
http://pl.wikipedia.org/wiki?curid=342
http://pl.wikipedia.org/wiki?curid=343
http://pl.wikipedia.org/wiki?curid=344
http://pl.wikipedia.org/wiki?curid=345
http://pl.wikipedia.org/wiki?curid=346
http://pl.wikipedia.org/wiki?curid=347
http://pl.wikipedia.org/wiki?curid=348
http://pl.wikipedia.org/wiki?curid=349
http://pl.wikipedia.org/wiki?curid=350
http://pl.wikipedia.org/wiki?curid=351
http://pl.wikipedia.org/wiki?curid=352
http://pl.wikipedia.org/wiki?curid=353
http://pl.wikipedia.org/wiki?curid=354
http://pl.wikipedia.org/wiki?curid=355
http://pl.wikipedia.org/wiki?curid=356
http://pl.wikipedia.org/wiki?curid=358
http://pl.wikipedia.org/wiki?curid=359
http://pl.wikipedia.org/wiki?curid=360
http://pl.wikipedia.org/wiki?curid=361
http://pl.wikipedia.org/wiki?curid=362
http://pl.wikipedia.org/wiki?curid=364
http://pl.wikipedia.org/wiki?curid=365
http://pl.wikipedia.org/wiki?curid=366
http://pl.wikipedia.org/wiki?curid=367
http://pl.wikipedia.org/wiki?curid=368
http://pl.wikipedia.org/wiki?curid=369
http://pl.wikipedia.org/wiki?curid=370
http://pl.wikipedia.org/wiki?curid=371
http://pl.wikipedia.org/wiki?curid=372
http://pl.wikipedia.org/wiki?curid=373
http://pl.wikipedia.org/wiki?curid=374
http://pl.wikipedia.org/wiki?curid=375
http://pl.wikipedia.org/wiki?curid=377
http://pl.wikipedia.org/wiki?curid=378
http://pl.wikipedia.org/wiki?curid=379
http://pl.wikipedia.org/wiki?curid=380
http://pl.wikipedia.org/wiki?curid=384
http://pl.wikipedia.org/wiki?curid=385
http://pl.wikipedia.org/wiki?curid=386
http://pl.wikipedia.org/wiki?curid=387
http://pl.wikipedia.org/wiki?curid=391
http://pl.wikipedia.org/wiki?curid=392
http://pl.wikipedia.org/wiki?curid=393
http://pl.wikipedia.org/wiki?curid=394
http://pl.wikipedia.org/wiki?curid=395
http://pl.wikipedia.org/wiki?curid=396
http://pl.wikipedia.org/wiki?curid=397
http://pl.wikipedia.org/wiki?curid=398
http://pl.wikipedia.org/wiki?curid=399
http://pl.wikipedia.org/wiki?curid=400
http://pl.wikipedia.org/wiki?curid=401
http://pl.wikipedia.org/wiki?curid=402
http://pl.wikipedia.org/wiki?curid=403
http://pl.wikipedia.org/wiki?curid=404
http://pl.wikipedia.org/wiki?curid=405
http://pl.wikipedia.org/wiki?curid=406
http://pl.wikipedia.org/wiki?curid=407
http://pl.wikipedia.org/wiki?curid=408
http://pl.wikipedia.org/wiki?curid=410
http://pl.wikipedia.org/wiki?curid=412
http://pl.wikipedia.org/wiki?curid=414
http://pl.wikipedia.org/wiki?curid=415
http://pl.wikipedia.org/wiki?curid=416
http://pl.wikipedia.org/wiki?curid=417
http://pl.wikipedia.org/wiki?curid=418
http://pl.wikipedia.org/wiki?curid=420
http://pl.wikipedia.org/wiki?curid=421
http://pl.wikipedia.org/wiki?curid=423
http://pl.wikipedia.org/wiki?curid=424
http://pl.wikipedia.org/wiki?curid=426
http://pl.wikipedia.org/wiki?curid=450
http://pl.wikipedia.org/wiki?curid=452
http://pl.wikipedia.org/wiki?curid=455
http://pl.wikipedia.org/wiki?curid=459
http://pl.wikipedia.org/wiki?curid=460
http://pl.wikipedia.org/wiki?curid=461
http://pl.wikipedia.org/wiki?curid=467
http://pl.wikipedia.org/wiki?curid=468
http://pl.wikipedia.org/wiki?curid=469
http://pl.wikipedia.org/wiki?curid=471
http://pl.wikipedia.org/wiki?curid=472
http://pl.wikipedia.org/wiki?curid=473
http://pl.wikipedia.org/wiki?curid=474
http://pl.wikipedia.org/wiki?curid=475
http://pl.wikipedia.org/wiki?curid=476
http://pl.wikipedia.org/wiki?curid=477
http://pl.wikipedia.org/wiki?curid=479
http://pl.wikipedia.org/wiki?curid=480
http://pl.wikipedia.org/wiki?curid=481
http://pl.wikipedia.org/wiki?curid=488
http://pl.wikipedia.org/wiki?curid=489
http://pl.wikipedia.org/wiki?curid=490
http://pl.wikipedia.org/wiki?curid=491
http://pl.wikipedia.org/wiki?curid=492
http://pl.wikipedia.org/wiki?curid=493
http://pl.wikipedia.org/wiki?curid=495
http://pl.wikipedia.org/wiki?curid=498
http://pl.wikipedia.org/wiki?curid=500
http://pl.wikipedia.org/wiki?curid=501
http://pl.wikipedia.org/wiki?curid=502
http://pl.wikipedia.org/wiki?curid=503
http://pl.wikipedia.org/wiki?curid=504
http://pl.wikipedia.org/wiki?curid=505
http://pl.wikipedia.org/wiki?curid=508
http://pl.wikipedia.org/wiki?curid=510
http://pl.wikipedia.org/wiki?curid=511
http://pl.wikipedia.org/wiki?curid=512
http://pl.wikipedia.org/wiki?curid=514
http://pl.wikipedia.org/wiki?curid=515
http://pl.wikipedia.org/wiki?curid=516
http://pl.wikipedia.org/wiki?curid=517
http://pl.wikipedia.org/wiki?curid=518
http://pl.wikipedia.org/wiki?curid=519
http://pl.wikipedia.org/wiki?curid=521
http://pl.wikipedia.org/wiki?curid=522
http://pl.wikipedia.org/wiki?curid=523
http://pl.wikipedia.org/wiki?curid=524
http://pl.wikipedia.org/wiki?curid=525
http://pl.wikipedia.org/wiki?curid=526
http://pl.wikipedia.org/wiki?curid=527
http://pl.wikipedia.org/wiki?curid=529
http://pl.wikipedia.org/wiki?curid=530
http://pl.wikipedia.org/wiki?curid=532
http://pl.wikipedia.org/wiki?curid=533
http://pl.wikipedia.org/wiki?curid=534
http://pl.wikipedia.org/wiki?curid=535
http://pl.wikipedia.org/wiki?curid=536
http://pl.wikipedia.org/wiki?curid=537
http://pl.wikipedia.org/wiki?curid=538
http://pl.wikipedia.org/wiki?curid=539
http://pl.wikipedia.org/wiki?curid=540
http://pl.wikipedia.org/wiki?curid=541
http://pl.wikipedia.org/wiki?curid=542
http://pl.wikipedia.org/wiki?curid=544
http://pl.wikipedia.org/wiki?curid=545
http://pl.wikipedia.org/wiki?curid=546
http://pl.wikipedia.org/wiki?curid=547
http://pl.wikipedia.org/wiki?curid=548
http://pl.wikipedia.org/wiki?curid=549
http://pl.wikipedia.org/wiki?curid=550
http://pl.wikipedia.org/wiki?curid=551
http://pl.wikipedia.org/wiki?curid=552
http://pl.wikipedia.org/wiki?curid=553
http://pl.wikipedia.org/wiki?curid=554
http://pl.wikipedia.org/wiki?curid=555
http://pl.wikipedia.org/wiki?curid=557
http://pl.wikipedia.org/wiki?curid=558
http://pl.wikipedia.org/wiki?curid=559
http://pl.wikipedia.org/wiki?curid=560
http://pl.wikipedia.org/wiki?curid=562
http://pl.wikipedia.org/wiki?curid=563
http://pl.wikipedia.org/wiki?curid=564
http://pl.wikipedia.org/wiki?curid=565
http://pl.wikipedia.org/wiki?curid=566
http://pl.wikipedia.org/wiki?curid=568
http://pl.wikipedia.org/wiki?curid=569
http://pl.wikipedia.org/wiki?curid=570
http://pl.wikipedia.org/wiki?curid=571
http://pl.wikipedia.org/wiki?curid=572
http://pl.wikipedia.org/wiki?curid=574
http://pl.wikipedia.org/wiki?curid=575
http://pl.wikipedia.org/wiki?curid=576
http://pl.wikipedia.org/wiki?curid=578
http://pl.wikipedia.org/wiki?curid=582
http://pl.wikipedia.org/wiki?curid=584
http://pl.wikipedia.org/wiki?curid=587
http://pl.wikipedia.org/wiki?curid=588
http://pl.wikipedia.org/wiki?curid=589
http://pl.wikipedia.org/wiki?curid=590
http://pl.wikipedia.org/wiki?curid=591
http://pl.wikipedia.org/wiki?curid=592
http://pl.wikipedia.org/wiki?curid=595
http://pl.wikipedia.org/wiki?curid=596
http://pl.wikipedia.org/wiki?curid=597
http://pl.wikipedia.org/wiki?curid=599
http://pl.wikipedia.org/wiki?curid=601
http://pl.wikipedia.org/wiki?curid=602
http://pl.wikipedia.org/wiki?curid=606
http://pl.wikipedia.org/wiki?curid=607
http://pl.wikipedia.org/wiki?curid=608
http://pl.wikipedia.org/wiki?curid=609
http://pl.wikipedia.org/wiki?curid=612
http://pl.wikipedia.org/wiki?curid=614
http://pl.wikipedia.org/wiki?curid=615
http://pl.wikipedia.org/wiki?curid=616
http://pl.wikipedia.org/wiki?curid=617
http://pl.wikipedia.org/wiki?curid=621
http://pl.wikipedia.org/wiki?curid=622
http://pl.wikipedia.org/wiki?curid=624
http://pl.wikipedia.org/wiki?curid=625
http://pl.wikipedia.org/wiki?curid=627
http://pl.wikipedia.org/wiki?curid=630
http://pl.wikipedia.org/wiki?curid=631
http://pl.wikipedia.org/wiki?curid=632
http://pl.wikipedia.org/wiki?curid=633
http://pl.wikipedia.org/wiki?curid=634
http://pl.wikipedia.org/wiki?curid=638
http://pl.wikipedia.org/wiki?curid=639
http://pl.wikipedia.org/wiki?curid=643
http://pl.wikipedia.org/wiki?curid=644
http://pl.wikipedia.org/wiki?curid=645
http://pl.wikipedia.org/wiki?curid=646
http://pl.wikipedia.org/wiki?curid=647
http://pl.wikipedia.org/wiki?curid=650
http://pl.wikipedia.org/wiki?curid=651
http://pl.wikipedia.org/wiki?curid=652
http://pl.wikipedia.org/wiki?curid=655
http://pl.wikipedia.org/wiki?curid=656
http://pl.wikipedia.org/wiki?curid=657
http://pl.wikipedia.org/wiki?curid=658
http://pl.wikipedia.org/wiki?curid=660
http://pl.wikipedia.org/wiki?curid=661
http://pl.wikipedia.org/wiki?curid=662
http://pl.wikipedia.org/wiki?curid=663
http://pl.wikipedia.org/wiki?curid=664
http://pl.wikipedia.org/wiki?curid=665
http://pl.wikipedia.org/wiki?curid=666
http://pl.wikipedia.org/wiki?curid=667
http://pl.wikipedia.org/wiki?curid=668
http://pl.wikipedia.org/wiki?curid=669
http://pl.wikipedia.org/wiki?curid=670
http://pl.wikipedia.org/wiki?curid=672
http://pl.wikipedia.org/wiki?curid=674
http://pl.wikipedia.org/wiki?curid=675
http://pl.wikipedia.org/wiki?curid=676
http://pl.wikipedia.org/wiki?curid=677
http://pl.wikipedia.org/wiki?curid=678
http://pl.wikipedia.org/wiki?curid=679
http://pl.wikipedia.org/wiki?curid=680
http://pl.wikipedia.org/wiki?curid=681
http://pl.wikipedia.org/wiki?curid=682
http://pl.wikipedia.org/wiki?curid=683
http://pl.wikipedia.org/wiki?curid=685
http://pl.wikipedia.org/wiki?curid=686
http://pl.wikipedia.org/wiki?curid=687
http://pl.wikipedia.org/wiki?curid=689
http://pl.wikipedia.org/wiki?curid=690
http://pl.wikipedia.org/wiki?curid=691
http://pl.wikipedia.org/wiki?curid=692
http://pl.wikipedia.org/wiki?curid=693
http://pl.wikipedia.org/wiki?curid=694
http://pl.wikipedia.org/wiki?curid=695
http://pl.wikipedia.org/wiki?curid=696
http://pl.wikipedia.org/wiki?curid=697
http://pl.wikipedia.org/wiki?curid=698
http://pl.wikipedia.org/wiki?curid=699
http://pl.wikipedia.org/wiki?curid=700
http://pl.wikipedia.org/wiki?curid=702
http://pl.wikipedia.org/wiki?curid=703
http://pl.wikipedia.org/wiki?curid=704
http://pl.wikipedia.org/wiki?curid=705
http://pl.wikipedia.org/wiki?curid=706
http://pl.wikipedia.org/wiki?curid=708
http://pl.wikipedia.org/wiki?curid=709
http://pl.wikipedia.org/wiki?curid=710
http://pl.wikipedia.org/wiki?curid=712
http://pl.wikipedia.org/wiki?curid=713
http://pl.wikipedia.org/wiki?curid=714
http://pl.wikipedia.org/wiki?curid=715
http://pl.wikipedia.org/wiki?curid=716
http://pl.wikipedia.org/wiki?curid=717
http://pl.wikipedia.org/wiki?curid=718
http://pl.wikipedia.org/wiki?curid=719
http://pl.wikipedia.org/wiki?curid=720
http://pl.wikipedia.org/wiki?curid=721
http://pl.wikipedia.org/wiki?curid=722
http://pl.wikipedia.org/wiki?curid=723
http://pl.wikipedia.org/wiki?curid=724
http://pl.wikipedia.org/wiki?curid=726
http://pl.wikipedia.org/wiki?curid=727
http://pl.wikipedia.org/wiki?curid=729
http://pl.wikipedia.org/wiki?curid=731
http://pl.wikipedia.org/wiki?curid=733
http://pl.wikipedia.org/wiki?curid=735
http://pl.wikipedia.org/wiki?curid=741
http://pl.wikipedia.org/wiki?curid=742
http://pl.wikipedia.org/wiki?curid=743
http://pl.wikipedia.org/wiki?curid=744
http://pl.wikipedia.org/wiki?curid=745
http://pl.wikipedia.org/wiki?curid=748
http://pl.wikipedia.org/wiki?curid=749
http://pl.wikipedia.org/wiki?curid=750
http://pl.wikipedia.org/wiki?curid=751
http://pl.wikipedia.org/wiki?curid=752
http://pl.wikipedia.org/wiki?curid=755
http://pl.wikipedia.org/wiki?curid=757
http://pl.wikipedia.org/wiki?curid=760
http://pl.wikipedia.org/wiki?curid=763
http://pl.wikipedia.org/wiki?curid=764
http://pl.wikipedia.org/wiki?curid=765
http://pl.wikipedia.org/wiki?curid=766
http://pl.wikipedia.org/wiki?curid=767
http://pl.wikipedia.org/wiki?curid=769
http://pl.wikipedia.org/wiki?curid=770
http://pl.wikipedia.org/wiki?curid=771
http://pl.wikipedia.org/wiki?curid=772
http://pl.wikipedia.org/wiki?curid=773
http://pl.wikipedia.org/wiki?curid=776
http://pl.wikipedia.org/wiki?curid=777
http://pl.wikipedia.org/wiki?curid=778
http://pl.wikipedia.org/wiki?curid=779
http://pl.wikipedia.org/wiki?curid=780
http://pl.wikipedia.org/wiki?curid=781

15
zajecia6/zad1.cm Normal file
View File

@ -0,0 +1,15 @@
void hello (char id)
{
cout << "Hi! I am a process!" << endl;
cout << "My ID is: " << id << endl;
cout << "Bye!" << endl;
}
main()
{
cobegin {
hello('A'); hello('B'); hello('C');
}
cout << "All processes finished" << endl;
}

18
zajecia6/zad1.lst Normal file
View File

@ -0,0 +1,18 @@
BACI System: C-- to PCODE Compiler in C, 11:30 1 Oct 2012
Source file: zad1.cm Mon Nov 19 15:55:34 2018
line pc
1 0 void hello (char id)
2 0 {
3 0 cout << "Hi! I am a process!" << endl;
4 2 cout << "My ID is: " << id << endl;
5 6 cout << "Bye!" << endl;
6 8 }
7 9
8 9 main()
9 10 {
10 10 cobegin {
11 11 hello('A'); hello('B'); hello('C');
12 23 }
13 24
14 24 cout << "All processes finished" << endl;
15 26 }

BIN
zajecia6/zad1.pco Normal file

Binary file not shown.

19
zajecia6/zad2.cm Normal file
View File

@ -0,0 +1,19 @@
binarysem s;
int suma=0;
void dodawanie (int ile){
int i;
for(i=0; i<ile; i=i+1){
wait(s);
suma=suma+1;
signal(s);
}
}
main(){
initialsem(s, 1);
cobegin{
dodawanie(10); dodawanie(10);
}
cout << "Suma = " << suma << endl;
}

22
zajecia6/zad2.lst Normal file
View File

@ -0,0 +1,22 @@
BACI System: C-- to PCODE Compiler in C, 11:30 1 Oct 2012
Source file: zad2.cm Mon Nov 19 16:19:44 2018
line pc
1 0 binarysem s;
2 0 int suma=0;
3 0
4 0 void dodawanie (int ile){
5 0 int i;
6 0 for(i=0; i<ile; i=i+1){
7 14 wait(s);
8 16 suma=suma+1;
9 21 signal(s);
10 23 }
11 24 }
12 25
13 25 main(){
14 26 initialsem(s, 1);
15 29 cobegin{
16 30 dodawanie(10); dodawanie(10);
17 38 }
18 39 cout << "Suma = " << suma << endl;
19 43 }

BIN
zajecia6/zad2.pco Normal file

Binary file not shown.

28
zajecia6/zad3.cm Normal file
View File

@ -0,0 +1,28 @@
semaphore se;
int liczba1=0;
int liczba2=0;
int s=0;
void suma(){
wait(se);
wait(se);
s=liczba1+liczba2;
}
void a(){
liczba1=10;
signal(se);
}
void b(){
liczba2=5;
signal(se);
}
main(){
initialsem(se, 0);
cobegin{
a(); b(); suma();
}
cout << "Suma = " << s << endl;
}

31
zajecia6/zad3.lst Normal file
View File

@ -0,0 +1,31 @@
BACI System: C-- to PCODE Compiler in C, 11:30 1 Oct 2012
Source file: zad3.cm Mon Nov 19 16:51:42 2018
line pc
1 0 semaphore se;
2 0 int liczba1=0;
3 0 int liczba2=0;
4 0 int s=0;
5 0
6 0 void suma(){
7 0 wait(se);
8 2 wait(se);
9 4 s=liczba1+liczba2;
10 9 }
11 10
12 10 void a(){
13 10 liczba1=10;
14 13 signal(se);
15 15 }
16 16
17 16 void b(){
18 16 liczba2=5;
19 19 signal(se);
20 21 }
21 22
22 22 main(){
23 23 initialsem(se, 0);
24 26 cobegin{
25 27 a(); b(); suma();
26 36 }
27 37 cout << "Suma = " << s << endl;
28 41 }

BIN
zajecia6/zad3.pco Normal file

Binary file not shown.

17
zajecia6/zad6.cm Normal file
View File

@ -0,0 +1,17 @@
int ile1=0, ile2=0, ile3=0, ile4=0;
void kw1(){
}
void kw2(){
}
void kw3(){
}
void kw4(){
}
main(){
}

49
zajecia7/zad1.cm Normal file
View File

@ -0,0 +1,49 @@
semaphore s2;
semaphore s;
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 prod(int n){
int i = 0;
int cnt = 1;
for(i = 0; i < n; i=i+1){
wait(s2);
queue_add(cnt);
cnt = cnt +1;
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);
cobegin {
prod(50); kons(50);
}
}

52
zajecia7/zad1.lst Normal file
View File

@ -0,0 +1,52 @@
BACI System: C-- to PCODE Compiler in C, 11:30 1 Oct 2012
Source file: zad1.cm Mon Nov 26 16:14:36 2018
line pc
1 0 semaphore s2;
2 0 semaphore s;
3 0 const int N = 5;
4 0 int buffer[N];
5 0 int write_pos = 0;
6 0 int read_pos = 0;
7 0 void queue_add(int item)
8 0 {
9 0 buffer[write_pos] = item;
10 5 write_pos = (write_pos + 1) % N;
11 12 }
12 13 int queue_get()
13 13 {
14 13 int item;
15 13 item = buffer[read_pos];
16 19 read_pos = (read_pos + 1) % N;
17 26 return item;
18 30 }
19 31
20 31 void prod(int n){
21 31 int i = 0;
22 34 int cnt = 1;
23 37 for(i = 0; i < n; i=i+1){
24 51 wait(s2);
25 53 queue_add(cnt);
26 57 cnt = cnt +1;
27 62 signal(s);
28 64 }
29 65 }
30 66
31 66 void kons(int n){
32 66 int i = 0;
33 69 int liczba;
34 69 for(i = 0; i < n; i = i+1){
35 83 wait(s);
36 85 liczba = queue_get();
37 90 signal(s2);
38 92 cout << "Pobralem" <<liczba<< endl;
39 96 }
40 97 }
41 98
42 98 main()
43 99 {
44 99 initialsem(s2, 5);
45 102 initialsem(s, 0);
46 105 cobegin {
47 106 prod(50); kons(50);
48 114 }
49 115 }

BIN
zajecia7/zad1.pco Normal file

Binary file not shown.

37
zajecia7/zad2.cm Normal file
View File

@ -0,0 +1,37 @@
const int N = 5;
binarysem forks[N];
binarysem print_sem;
semaphore s;
void phil(int id)
{
int i;
for(i = 0; i < 1000; i++){
//wait(s); dzieki temu sem nie bedzie deadlocka inne rozwiazanie w zad dom
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]);
//signal(s);
}
}
main(){
int i;
for(i=0; i<N; i++)
initialsem(forks[i], 1);
initialsem(print_sem, 1);
//initialsem(s, 4);
cobegin{
phil(0); phil(1); phil(2); phil(3); phil(4);
}
}

40
zajecia7/zad2.lst Normal file
View File

@ -0,0 +1,40 @@
BACI System: C-- to PCODE Compiler in C, 11:30 1 Oct 2012
Source file: zad2.cm Mon Nov 26 16:53:03 2018
line pc
1 0 const int N = 5;
2 0 binarysem forks[N];
3 0 binarysem print_sem;
4 0 semaphore s;
5 0
6 0 void phil(int id)
7 0 {
8 0 int i;
9 0 for(i = 0; i < 1000; i++){
10 14 //wait(s);
11 14 wait(print_sem);
12 16 cout << "Jestem filozofem o numerze "<<id<<" i mysle" <<endl;
13 21 signal(print_sem);
14 23
15 23 wait(forks[id]);
16 27 wait(forks[(id+1)%N]);
17 35
18 35 wait(print_sem);
19 37 cout << "Jestem filozofem o numerze " <<id<<" i jem po raz " <<i+1<<endl;
20 46 signal(print_sem);
21 48
22 48 signal(forks[id]);
23 52 signal(forks[(id+1)%N]);
24 60 //signal(s);
25 60 }
26 61 }
27 62
28 62 main(){
29 63 int i;
30 63 for(i=0; i<N; i++)
31 77 initialsem(forks[i], 1);
32 83 initialsem(print_sem, 1);
33 86 //initialsem(s, 4);
34 86 cobegin{
35 87 phil(0); phil(1); phil(2); phil(3); phil(4);
36 107 }
37 108 }

BIN
zajecia7/zad2.pco Normal file

Binary file not shown.

View File

@ -0,0 +1,23 @@
monitor simple_monitor
{
void say_hello (char id)
{
cout << "Hi! I am a process!" << endl;
cout << "My ID is: " << id << endl;
cout << "Bye!" << endl;
}
}
void process_hello(char id)
{
say_hello(id);
}
main()
{
cobegin
{
process_hello('A'); process_hello('B'); process_hello('C');
}
cout << "All processes finished" << endl;
}

View File

@ -0,0 +1,26 @@
BACI System: C-- to PCODE Compiler in C, 11:30 1 Oct 2012
Source file: przyklad_monitora.cm Mon Dec 3 15:50:30 2018
line pc
1 0 monitor simple_monitor
2 0 {
3 0 void say_hello (char id)
4 1 {
5 1 cout << "Hi! I am a process!" << endl;
6 3 cout << "My ID is: " << id << endl;
7 7 cout << "Bye!" << endl;
8 9 }
9 11 }
10 12
11 12 void process_hello(char id)
12 12 {
13 12 say_hello(id);
14 16 }
15 17
16 17 main()
17 18 {
18 18 cobegin
19 19 {
20 19 process_hello('A'); process_hello('B'); process_hello('C');
21 31 }
22 32 cout << "All processes finished" << endl;
23 34 }

Binary file not shown.

26
zajecia8/zad1.cm Normal file
View File

@ -0,0 +1,26 @@
monitor s{
int suma;
void inc() {
suma=suma+1;
}
int getSuma() {
return suma;
}
init{
suma=0;
}
}
void pro(int n){
int i;
for(i=0; i<n; i=i+1) inc();
}
main(){
cobegin{
pro(10); pro(10);
}
cout << getSuma() << endl;
}

29
zajecia8/zad1.lst Normal file
View File

@ -0,0 +1,29 @@
BACI System: C-- to PCODE Compiler in C, 11:30 1 Oct 2012
Source file: zad1.cm Mon Dec 3 16:10:29 2018
line pc
1 0 monitor s{
2 0 int suma;
3 0 void inc() {
4 1 suma=suma+1;
5 6 }
6 8
7 8 int getSuma() {
8 9 return suma;
9 13 }
10 15
11 15 init{
12 15 suma=0;
13 18 }
14 19 }
15 19
16 19 void pro(int n){
17 19 int i;
18 19 for(i=0; i<n; i=i+1) inc();
19 37 }
20 38
21 38 main(){
22 39 cobegin{
23 40 pro(10); pro(10);
24 48 }
25 49 cout << getSuma() << endl;
26 54 }

106
zajecia8/zad1.pco Normal file
View File

@ -0,0 +1,106 @@
BACI System: C-- to PCODE Compiler in C, 11:30 1 Oct 2012
Source file: zad1.cm Mon Dec 3 16:10:29 2018
0 57 PCODE table
lc f x y
0 8 0 2
1 0 1 5
2 1 1 5
3 24 0 1
4 52 0 0
5 38 0 0
6 9 0 0
7 32 0 0
8 8 0 2
9 0 2 0
10 1 1 5
11 38 0 0
12 14 0 13
13 9 0 0
14 33 0 0
15 0 1 5
16 24 0 0
17 38 0 0
18 41 0 0
19 0 1 6
20 24 0 0
21 38 0 0
22 1 1 6
23 1 1 5
24 47 0 0
25 15 0 37
26 14 0 33
27 0 1 6
28 1 1 6
29 24 0 1
30 52 0 0
31 38 0 0
32 14 0 22
33 18 0 4
34 19 -1 4
35 3 0 1
36 14 0 27
37 32 0 0
38 80 0 55
39 4 0 0
40 18 0 6
41 24 0 10
42 19 0 5
43 3 0 1
44 18 0 6
45 24 0 10
46 19 0 5
47 3 0 1
48 5 0 0
49 18 0 5
50 19 -1 4
51 3 0 1
52 29 0 1
53 63 0 0
54 31 0 0
55 18 0 2
56 40 0 0
57 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 55 0 0
2 s 1 5 0 1 1 0 15 0 0
3 suma 0 1 1 0 1 1 5 0 0
4 inc 2 3 0 2 1 1 0 2 0
5 getSuma 4 4 1 3 1 1 8 2 0
6 pro 5 3 0 4 1 0 19 0 0
7 n 0 1 1 0 1 1 5 0 0
8 i 7 1 1 0 1 1 6 0 0
9 main 6 6 0 5 1 0 38 0 0
0 5 BLOCK table
index last lastpar psize vsize
0 9 9 0 0
1 3 2 5 6
2 4 4 5 5
3 5 5 5 5
4 8 7 6 7
5 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 zad1.cm
0 16 PCODE debugging information
lc findex flineno
0 0 3
1 0 4
6 0 5
8 0 7
9 0 8
13 0 9
15 0 12
18 0 13
19 0 18
37 0 19
38 0 21
39 0 22
40 0 23
48 0 24
49 0 25
54 0 26
57 0 -26

48
zajecia8/zad2.cm Normal file
View File

@ -0,0 +1,48 @@
monitor m{
condition c;
int ile;
int liczba1;
int liczba2;
void gen1(int n){
liczba1=n;
ile=ile+1;
if(ile==2) signalc(c);
}
void gen2(int n){
liczba2=n;
ile=ile+1;
if(ile==2) signalc(c);
}
int getSuma(){
if(ile < 2) waitc(c);
return liczba1+liczba2;
}
init{
liczba1=0;
liczba2=0;
ile=0;
}
}
void a(){
gen1(10);
}
void b(){
gen2(15);
}
void c(){
cout << getSuma() <<endl;
}
main(){
cobegin{
a(); b(); c();
}
}

51
zajecia8/zad2.lst Normal file
View File

@ -0,0 +1,51 @@
BACI System: C-- to PCODE Compiler in C, 11:30 1 Oct 2012
Source file: zad2.cm Mon Dec 3 16:27:21 2018
line pc
1 0 monitor m{
2 0 condition c;
3 0 int ile;
4 0 int liczba1;
5 0 int liczba2;
6 0
7 0 void gen1(int n){
8 1 liczba1=n;
9 4 ile=ile+1;
10 9 if(ile==2) signalc(c);
11 15 }
12 17
13 17 void gen2(int n){
14 18 liczba2=n;
15 21 ile=ile+1;
16 26 if(ile==2) signalc(c);
17 32 }
18 34
19 34 int getSuma(){
20 35 if(ile < 2) waitc(c);
21 42 return liczba1+liczba2;
22 48 }
23 50
24 50 init{
25 50 liczba1=0;
26 53 liczba2=0;
27 56 ile=0;
28 59 }
29 60 }
30 60
31 60
32 60 void a(){
33 60 gen1(10);
34 64 }
35 65
36 65 void b(){
37 65 gen2(15);
38 69 }
39 70
40 70 void c(){
41 70 cout << getSuma() <<endl;
42 75 }
43 76
44 76 main(){
45 77 cobegin{
46 78 a(); b(); c();
47 87 }
48 88 }

162
zajecia8/zad2.pco Normal file
View File

@ -0,0 +1,162 @@
BACI System: C-- to PCODE Compiler in C, 11:30 1 Oct 2012
Source file: zad2.cm Mon Dec 3 16:27:21 2018
0 91 PCODE table
lc f x y
0 8 0 2
1 0 1 7
2 1 2 5
3 38 0 0
4 0 1 6
5 1 1 6
6 24 0 1
7 52 0 0
8 38 0 0
9 1 1 6
10 24 0 2
11 45 0 0
12 15 0 15
13 0 1 5
14 11 0 0
15 9 0 0
16 32 0 0
17 8 0 2
18 0 1 8
19 1 2 5
20 38 0 0
21 0 1 6
22 1 1 6
23 24 0 1
24 52 0 0
25 38 0 0
26 1 1 6
27 24 0 2
28 45 0 0
29 15 0 32
30 0 1 5
31 11 0 0
32 9 0 0
33 32 0 0
34 8 0 2
35 1 1 6
36 24 0 2
37 47 0 0
38 15 0 42
39 0 1 5
40 24 0 10
41 10 0 0
42 0 2 0
43 1 1 7
44 1 1 8
45 52 0 0
46 38 0 0
47 14 0 48
48 9 0 0
49 33 0 0
50 0 1 7
51 24 0 0
52 38 0 0
53 0 1 8
54 24 0 0
55 38 0 0
56 0 1 6
57 24 0 0
58 38 0 0
59 41 0 0
60 18 0 7
61 24 0 10
62 19 -1 5
63 3 0 1
64 32 0 0
65 18 0 9
66 24 0 15
67 19 -1 5
68 3 0 1
69 32 0 0
70 18 0 11
71 19 -1 4
72 3 0 1
73 29 0 1
74 63 0 0
75 32 0 0
76 80 0 89
77 4 0 0
78 18 0 12
79 19 0 4
80 3 0 1
81 18 0 13
82 19 0 4
83 3 0 1
84 18 0 14
85 19 0 4
86 3 0 1
87 5 0 0
88 31 0 0
89 18 0 2
90 40 0 0
91 81 0 0
1 15 IDENTIFIER table
index identifier link obj type ref normal lev adr mon atomic
1 ++-outer-++ 0 7 0 0 1 0 89 0 0
2 m 1 5 0 1 1 0 50 0 0
3 c 0 1 6 0 1 1 5 0 0
4 ile 3 1 1 0 1 1 6 0 0
5 liczba1 4 1 1 0 1 1 7 0 0
6 liczba2 5 1 1 0 1 1 8 0 0
7 gen1 2 3 0 2 1 1 0 2 0
8 n 0 1 1 0 1 2 5 0 0
9 gen2 7 3 0 3 1 1 17 2 0
10 n 0 1 1 0 1 2 5 0 0
11 getSuma 9 4 1 4 1 1 34 2 0
12 a 11 3 0 5 1 0 60 0 0
13 b 12 3 0 6 1 0 65 0 0
14 c 13 3 0 7 1 0 70 0 0
15 main 14 6 0 8 1 0 76 0 0
0 8 BLOCK table
index last lastpar psize vsize
0 15 15 0 0
1 6 2 5 9
2 8 8 6 6
3 10 10 6 6
4 11 11 5 5
5 12 12 5 5
6 13 13 5 5
7 14 14 5 5
8 15 15 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 zad2.cm
0 29 PCODE debugging information
lc findex flineno
0 0 7
1 0 8
4 0 9
9 0 10
15 0 11
17 0 13
18 0 14
21 0 15
26 0 16
32 0 17
34 0 19
35 0 20
42 0 21
48 0 22
50 0 25
53 0 26
56 0 27
59 0 28
60 0 33
64 0 34
65 0 37
69 0 38
70 0 41
75 0 42
76 0 44
77 0 45
78 0 46
87 0 47
88 0 48
91 0 -48