From dd867a39df6580eacb513ad992cc2e445a65c8c4 Mon Sep 17 00:00:00 2001 From: kadsendino <maxii.prietzel@gmail.com> Date: Mon, 13 May 2024 14:35:17 +0200 Subject: [PATCH] Aufgabe04-1 --- aufgabe03/Makefile | 0 aufgabe03/aufgabe1.d | 1 - aufgabe03/aufgabe1.o | Bin 10920 -> 0 bytes aufgabe03/solution | Bin 21064 -> 0 bytes aufgabe04/Makefile | 28 ++++++++++++++++ aufgabe04/aufgabe1.c | 74 +++++++++++++++++++++++++++++++++++++++++++ 6 files changed, 102 insertions(+), 1 deletion(-) mode change 100644 => 100755 aufgabe03/Makefile delete mode 100644 aufgabe03/aufgabe1.d delete mode 100644 aufgabe03/aufgabe1.o delete mode 100755 aufgabe03/solution create mode 100644 aufgabe04/Makefile create mode 100644 aufgabe04/aufgabe1.c diff --git a/aufgabe03/Makefile b/aufgabe03/Makefile old mode 100644 new mode 100755 diff --git a/aufgabe03/aufgabe1.d b/aufgabe03/aufgabe1.d deleted file mode 100644 index 10ae487..0000000 --- a/aufgabe03/aufgabe1.d +++ /dev/null @@ -1 +0,0 @@ -aufgabe1.o: aufgabe1.c diff --git a/aufgabe03/aufgabe1.o b/aufgabe03/aufgabe1.o deleted file mode 100644 index 1b6abb05dc605b854d71df24eb7df14a18c00a84..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 10920 zcmb<-^>JfjWMqH=Mg}_u1P><4z@VXwU^{@B4h(V(vJ8$Pp&q@uAc0_y&fgxL?>(B| zD5Q9Fv#4q?Ffe#@x~NDP9`NjZ@&cs9@S9KPb1=)JJ4A)Uqn8yd`ro5d<OWz6y8@7@ za25Z-3PJk7*fl7~Kge34D7B=tC{H0dKP6QmttdZNp`awAC^a!9KDj70u_RSNLsKEM zSV1*~iy=5Ow=^fQBr`uRHO~qx;+>z9lUa-;05%v(IEJV3zdvC3&7;>AB;pw6(`yQ5 zggS<V27C0%f;b+{Z#+=^Y+-nSUlZ&(pWYM|gX3T(NF`Jh><5ot7ZriyE-E|%>Y$Kf zQQ?<&VDRbIQE@f=@6-7f6c#@{dPPCnd^+EQwX`1KZ=J=!z~I?@oYAxSD2HeBf0oi~ zAblR)wG4*eJerSkfED^!J}rIY(aQ_c?9nY~c)-(Igsqm>!&-#7j=dS|97d1k0~{XB zKNLzIdo&+}MTUpviPCe;IVwDi{H+E5|Nq|yb{xd>h6liAcY^}}8X!<H!~bBZv<aQZ zP$l;N|NkE%2XYDnJZ=4AL*-Y@DGl+>5Ox%qcXR&Dn`iTOWnMP%O|GBhQ7yPSO#092 zfGa_N96J?Q_`@8%yf><bXiQzDuHWUV-zs;d`T0E&|8I*FI+FCe(rr2JU77u2kGb_^ zU!U(E>h^uV_x;(~Jx|P)kEl%%{#e>{!*ScsoS7-od|KXGdZMXDY0al1zI}=DJ#yhN z%j3dztKKfJO(_5PBxvuJx7!5X<jpm5Nqom`-fDKx@VmHqXBppu!<^B<d!DV>xs0oQ z4bS`qf$OH0YVEr4itqG-C6f<xO!t#h-dFO=P{?cfgLz_Fx^tDRBwtRsw7&J!Dd8Ko zw#iPV5r4Tw&Z+HVx}Fv|?@+VndkzD`w)9C;RW~awFgviBVanT0pJPJhp4_r|5^j1@ z+SN#EqRiV`4wZ&-p59>PRhIMqdnkQox&Gp$MDVGO8EneSI6n)kzG8hEY;ewB@}lad zCH716r)*vNY{GqZ{lvpl)~&pDtXc1Ko1FOMnzEZ6>WUIum?p0bVSd5*d$roG3-^BP zH@eEQ%)ugF>*8bS4RUPj7@KY1v>E)*WU1tM<jtyZNAgv(InxK*#3xG2wl~DFd=cu% zR!DQydAyXNR_IU;_ZrO&&stwJrfpZq_xxVKBwW3Qx#tn*JZ`u2@2-_{o3}NI`<6c5 z^ltB}$s4{mmK{>7XWp?U-M{B?$TWsr@A;cms#F-K^jMy>NYHfqW4~bchtR9$o=ca# zwm;JJWzkM+hTAc<8y@M!C?58+xxaRz?H(!SOA2AG{N=NHetZm(+?AL7!b3^!Rq(NU z9{-t|B#YEK(!XjiUNGzYq|J%W+%v-JKCG~I)%VhuFmGLRA<^sn)$+DWpO1Oz{NKG} z&EXmPMz0Ol_=H}%lI^)$?*0_nJNpf_A{yP#n(9`>Z#!YQw_t<e>(Afr&OiCCX?n$m zDfKyjA4@vy+p<|?_iX7^XR93Dc0UT-ZdN-rMe5$Bj?9~F?D|*5IN#>A-!%&Be>u78 zP*mC{BeCRi#_nBW4^N++&Tx9~!7Dtxrti0{ZoGf;de!2va>sv+Ibmg7pqv0Jb0wKT zJVZXJm{S^fI*7?o;LXh)n=CeLa5>?2MYXHy^64<mjLxSgYZ&a4r&fKL{KxjQ18>wk zBV$|JyT*#$YwFfE>a<U7c;P(7d*4&m=*q(f&I#|mFk7YlX|cim%^Hn&8E=TpyD(FQ zWdTRc<oc&~#TG?KbyY62lM~(Go^sg5%<s#om0xZ-+}^Ub<eAJ@{mi9@-_#rwzjey` zt>x2F11k&u^8u4IW-eyr55KPyH{%|EuE=+WB}&)jWoE5&|2Fg5DfY)*=e$lXnrW6D zdhvqg+?+5yhNod=e%W8W1M+XzsLQhQ-{G3kcQX3J&%`91x7N4TMMqv-@j1Yr{lgC5 zb+7v`8C2d$-YmiNY(M7#&v~C7fAzn;e{1EBWiIUVeI1P57!cv(4-Ggd#ZWQlb6QG5 zLh6GA2L>~V=2piZ!-iDG$5CzyTc;H&D<^X-6S7ll{;5+V*7H%PUE;l=(J|u<MMa-J zad8<LDXmUoSjjZ0E#VS}$0;Mp^XU`ko;Z?XG{2EEalb-<A~SP<ahIysA6K3;2J3n@ zzN!&ZHFXS8Og;8fC+pvgCIzuwg=-Y9Z}8e6X3)?xX+k2qp#$5A7n{UG4s2D-7EIwu z71T-RaVyIfm~gu1K~cjTJ_fU=vW=+m4XIlZ{;Qa?IWZw2A&G&Jk1ZwOTm#o03CRsi z4BG6BobC(^46F<sVEy0{9mHZ`U|}(LX7LSSKoVkQ5nam2a+UEtBLh1~5eS#VS*Jir z4i<i<AP!RaR?L|iu-lK>P~gk0nR~s9Dhu{`GYUC&tq@S)l49X4VN}UbXlYY(Xl!9w zxZsiaJLU;L8f%zD{;=3Lt;mS@t=Hjk{Xx=o<IUD`mCo9%qN}8riU`)4ORt;gJnx0m zR2kpcyIpCPTAH^+gM+jbLa$y9oh%@{$aX@djIvc(?QZ_V^RL~SBJ2{))TZx|a%PWW zq+o@HMOpUxj=41rCsx+1W9GDbz27V2liHby7WdN=r$sO4;9Pl0RI+_*#I)6!|N8~w zGygP*@n5VsSGsRD-wZ!17l#?z3iB7dUH7L|>bu~Ft^TqFJCs=xJzdWF|D5n**+0hD z;%*$@E`ENu+%hz!{<uwaNacgM*JMgNt>PCdZ+QN9S>c|*{S_%KKloq1lHiUr+}?cu zKw6>Dy7t{GW_9<d*DTBaw9|e&pPCXZJhx$lXKK*Fyu%7SUzdMiUg>2Oy7!C0+YPtN zZb>SB5DH7uD%g}0Z|^bL?5&<#Tl)Uvo2PD?W%^-(kd#MmhmMS4fplQ>)ChOBrRR$0 z%{Q3z?bPlPR>jB{Ta+ULV$WNwTB-MF0>ALDJD1(e9~7T|$oS&K$HP<kpG|qqalBR4 zR-tN^q5AZfwF}&Q7Iwr>h)+~K_2dMHdBB;E#^xUH#NW@(er9pfKi!?P;LNWouXT!B z4sEe=YCf~>@Q2K={)X%4--%`vIVSPQ>-yGx1@~1?D$hIkdiBC{=bCpk$KKL96=Hbs z_3ieGi9sjsF1zOunE(3jw+&Mlz1pE}W9A_-_vFgHWww3owOi|jLX}s2j|%C0d(ne) zbMxhm5(c&3%szDA<ox&Fapj`}DZ<Zk3mO;1@Z4H|>h!FX6PiD`SvYO@A`~84d+W%F zzh}C+B(Hfk`-Ua0&cA(Pk4!uIn^`sccNDx`aT*%%P>P{q&d~rzKW0OoJIkLi=J2+b zD=g_MeyZ~BSkR<ine?rH`R!jG=ZIYxRKc)Z@_di!rj2vewtU%A%-murs1jpYm~y6| zz_DX(Q7Pj+<HOpKr#^nV=x1}WSyMwo+0{t5dh-O0!Vsf;BmX8%L(kKbE#Jf|Okdiw zWs=3Z5XSA-jz6#0$_;JU+<jI!;@YopMqBY+*WWvTjbYzo`<{Jo-n&B!{tA3a=GAy| zJb&vdljX;+Ou1$^P50~RP`@n+dwzzWcHbubaA)%AJ1@fn{mXx_X#8K1!Qk%fY^9*# z?iZ@5U}&soq-UsLWME`$U}0bg%G3-DEDQ_`3gCi)fx+D`l!1wX@c>8+79NaHJ|{#u zg9wyntO{aatPo(7=3(cUzz8uz1}aw$qMi5zdYByfB-)rg_!OF1y!ad#3>X*~VC9t; z$O0!mfqo``K8ZeNPd<fS7AHQ99#%&_gElrtK8t2{Z@vbQB9LL27$n2O@bN#U3<Co* zJa$oKnGt0iiUczQv~h_d3Ni;?=Ap<iGr&RvMVNt^fg4o-%425WfwE93W(EON0Vt1| zK?ur1rI_KNk1h^w^rHwuY{c}JAXpU}h7Dq1ad;g7=79)l1_lNpr0@jCEdv9CF#`jG zAOj0H?SRyQdT$_Fm4N}PuPktgyF$%r0BMG%MG!Lxhx!Pp`UH?7B=yNS)K}mTZw31c z5x?N{$iTqR1vMWQGcbArRD1!{UQiwZG3P+VL2M9)sb7f0-Yq!9591KOfI}P<UNE~r z_QG*uX<B+>QmUa|GJ~FvvmuBu0ucrbDMguOsg9*3`3wcn&TejLNoqxWPJVJWLwagS zNoH<pep*UmB?DBtxFoTtgrPVmHMIaHl$w`<rn@u`tRH4%YDH!VLvCVb9z#xQS!xbL zHlnl4kds(kf~Gq&FB2gI>3hRfWaVe(F%%SK=9Q!|z;h_5dIY86KmQ>>6Y6nLe1LKd zOdOOxK~f-bVFm^Un7BPikb!{#WDck-gNb`V#X;&pxd|p7f+UV?4lMnF%mL*cnED(f z_2NkO79)vEAc@0D43Ig<{sOrTqy;37Y`!8$5R3b5ki?~s%m+34KvE!cKzaEGB-s9g z@)t}TRBprE9}W^^fYb}1u?m=Y6I2{z4k+Eh#6kH5Bn1jLIV5{Gg9M@G$RmmGhl+#D z0r?ST&NU=)kUM`v-T4Md9HbuPR*(<}r~-h718CF&W)4489ONEQy#^B(g^Gjh1(^>M zmq8NeLvp7wR2<zLEhKT|cr=BIgUshgGRFogj&6<{k~k<%VeWx6&lwm%ojgS8#J~XZ zBgo$%aZsAs0o4ym^DuEpnGfPIFo4nwhy_v)5(nu4@j+<=M1#aZwHSD8hJk@W4J60_ zu@@u<<uZVW>Y(BvGc=+0nm`qR)PlsPL&dGp#LJ-KPH5s9pnw96OreSUK-CAJiG$(> zBoqfCklgbT$_JJIASTQ`R#5ZvL4ru?8=&GXXyU7&_D)3;kB5qbM$tf0F!Mq69EiUh zL?D?T3+02#c@Pt(9#l_&_{Tv6lKN1ndoH7ii$TR7poud<#owZdr$G6?pft?h3aEN^ zs6Sxh>!ExRC=C-o0M)OECJxIddT8R#Q1h+P#MeW`J<-JHLd9dy#9>3q>1g81q3WB_ z#9{e=3YvHyRQ*CUahUmQ(8OWppFk6bnezZm92z_fuhGO|=6^#IhnX(~br&q0eW3;^ zpozoMhbo%5FO+WtrD5j4$_RTjaTlmNVESO{)1c}ip)^Pts62!^hoJ~64pR>*<3MtC zP;roYP&o_|1L1b4I7~fw)SH2UVKP)4q#jllfz;1|io?|Z1u0-)U|0ba2XR65AV@6; zAB2j-)Wh6&7Ag)>4=d9^>aRh?Vd^_U3K$p|9zn%HTv#0fQvVt%4pV;>BnZl%%n$}l zTm__&fq_95O&pfrOwq(2L9{b8qKTJ5#h0Urb3)y*6HR<IRQ&}saaewMjwWsnbtgBd z!U6e%fdSkr>4ci2geL9*71xD|gR~>}0$iZtuy9xmRUeBa4yv<Y^-v<3IH>LcX~{zq zht)epXyW=H#S9D#<w)Y7dJ1Mv2a-6*-e{=$9yIYlsQ4r#agaHnwg^aSF_JjQoHmdk z0|UcyG;vrxu?8v*3m;H>9i-(XR2&pOAah{##91`)DImoR3=Ef`;^^kQhKj??c?nhj z9!>lqRQwxM9A-`*R9p-ic_496I}Iw#poSz4Vs3{@*n&9F@jDRH0i=<EfguRQfr>+u z7+6OPk~oM7>o*mGI8gN<CM;gsKpdzza=xC5Bo1N<L+xD!;y~3yy$H5<H<CDrsSZ_t z0mMO44@-x)ki<buSiSWR#6ijzu=YA9w5tp<7Mc~o_R2uTLGc1==k$RTFfcHvBZ-6J z9acYTqlrsE)mx#78$reG(8LX(;?79oAbTUA;(kctAbTC5;z4NQ_E7Ous5poV@)xW< zSBoZY4)!er!z?s$KdAUdG;vTr93*uPO}qdk$iTqx3{4z1ZUE{-fs}yU1Bwb*x-|m{ zLgNu64vUu<G;vEPza2`$%z>r1*=XXhe7Xur9J&75i$nYpnm8z|K|-%U1d=;p=F5T{ z0u={^GgKLaF`786-ROiv92#uk_CJgbG7FZMLE4bb2la74@*r_gxPjOp4C^nz#9?~S z)x*LKIs9R2LFT~5>tN=9#6VaHL_qTqsB8v}M}UNo`w<}VuOLAN1_muC4a!F#aaem) z4^3PiWDx@cgAtmz4pbc0&xM&|3l(=nQ||#42hII}q+sfUq2k^kK_vG_L&cH%9UylW zLd8ST)We1*qtL|rq3Yw}xtVeNF7dtm*JOf>bIq3ZL{#CJo*VdDufbB;j8YoY2v zT;zDXizJSmPGIQ)q!xss${1Xr43HSIdIr7X%G{E~BnG|Wk|GG50b>=V<|OKsq*jzL z=%pl<Br@nF6&Ew;73G6CAmxU77N}f920geQJ@9B#X#rFyB{iuuJw7upEuTRT!cI&| zDoQOwk<Q6a&dDq;0a*gF8mg`+F)uw8Rjep49aCXWW?m}H@Zypp7!xEM59TN5=jNv7 zl`!b#<(H)Dx%-9c7MCO@XG8hvd8K*<MfnA(MJ1I`SEXjerxhjUrb5Gx5(*SApg2S> z13>1%@*}J~1&M($tb72mK^WAg2i2c2^&l}2u7E1M0pc()Fo4v7?17bUu=YMEAA`h^ z>wb_HSi1qlM#dnu$b20J2JloPx_(&yatX3xq;XuBFlc%LWG1W}fQiHOgXCdiAR6X= zkRA{p<ZlogT|aER0BLy=NI86j8>9y$02=oLvC+d{0VK%4zyNFafYgF8G+04QF!qOz zeSzEo7Jw1~&_<8|C}TmxAJm6~xgQq(>Cn0a9Eec8AgTbWPXsMsVfsO8KsX79{Rz+t z_yMTkfZ7jg7sK?!><5)EV6Va?K!!3fFmyl*16{BrR1g~12p$6is67o<f~J25G(b-w zE5@Q9G|i1I{W^dK8A0g<Y&azSg34)_H8A&s+5uoCFbSxA9iYI5&R;-<z!aJ?hH1FM z588o%^_xKX2Q)SX(+{(MJuLpfrXz^mQ2Sx^4@?H^Rv3qYfdSNB!RG%JQ2Sxy&mj9j zX%F50BQX165>T@_p!@(d3!%bLRSXQEaawHlbASpa1_lP$cnQdUP@5a3ALf71yamV# z1DFKV<Oon=V_;y&2T4N3Kom?FO!zj`{pk8nK-2AWkR~LIuKzVmKav^{b3Ldr&A`Bb zJO%&~huI6Gzd-ea<dE@csD5NI5F4fs#0Fs&Mh5WO321f&34!qisD98~C|CeWz}yez zGJyIMAT!bR!=@5p?QEEObp7ItkTHDp^5+6*u$h4YJQoYn3yMEUr2GeqKdg2$FfbH= zG8;%gwEO{uBewJhie{)1kTr0;05mwxz`$@FE&^eI?1Qi%B&e9grk?@Y@Ki(7fW~D2 E0D>nOT>t<8 diff --git a/aufgabe03/solution b/aufgabe03/solution deleted file mode 100755 index 1ddbc3679988e75bef7531b65b4638646bfefd54..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 21064 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 XNYLO9HvLYZF%kv_hBh<}Xj}#W1Gn>V diff --git a/aufgabe04/Makefile b/aufgabe04/Makefile new file mode 100644 index 0000000..ba8a685 --- /dev/null +++ b/aufgabe04/Makefile @@ -0,0 +1,28 @@ +# This makefile compiles all C files in the same directory and produces a single +# executable named solution +CC = gcc +CFLAGS = -std=c11 -Wall -Wextra -pedantic -O2 -g -pthread # this uses the C11 standard, if you want to use a different standard, change it to -std=c[NUMBER] +CPPFLAGS = -MMD +LD_FLAGS = -lm + +BIN_NAME = solution +SRC_FILES = $(wildcard *.c) +OBJ_FILES = $(SRC_FILES:.c=.o) +DEP_FILES = $(wildcard *.d) + +run: $(BIN_NAME) + ./$(BIN_NAME) + +include $(DEP_FILES) + +$(BIN_NAME): $(OBJ_FILES) + $(CC) $(CPPFLAGS) $(LD_FLAGS) $(OBJ_FILES) -o $@ + +%.o: %.c + $(CC) $(CFLAGS) $(CPPFLAGS) -c $< -o $@ + +clean: + @rm -v *.o *.d + @rm -v ./$(BIN_NAME) + +.PHONY: run clean diff --git a/aufgabe04/aufgabe1.c b/aufgabe04/aufgabe1.c new file mode 100644 index 0000000..72277ea --- /dev/null +++ b/aufgabe04/aufgabe1.c @@ -0,0 +1,74 @@ +// dining philosophers with unshared chopsticks +#include <stdio.h> +#include <stdlib.h> +#include <pthread.h> +#include <unistd.h> + +#define NUM_THREADS 5 +pthread_mutex_t lock; +int chopsticks[NUM_THREADS]; + +void* Philosopher (void *threadid) +{ + long tid; + tid = (long)threadid; + int _error = 0; + + for (int i= 0; i < 10; i++) { + // thinking + sleep (0.5); + + //wait + + //Beginn kritischer Abschnitt + _error = pthread_mutex_lock(&lock); + + //Warten darauf, dass chopstick frei werden + while (chopsticks[tid] + chopsticks[(tid + 1) % NUM_THREADS] < 2); + + chopsticks[tid] = 0; + chopsticks[(tid + 1) % NUM_THREADS] = 0; + + _error = pthread_mutex_unlock(&lock); + //Ende kritischer Abschnitt + + printf("\n %ld Dining..\n", tid); + sleep(0.5); + printf("\n %ld Finished..\n", tid); + + //Beginn kritischer Abschnitt + _error = pthread_mutex_lock(&lock); + chopsticks[tid] = 1; + chopsticks[(tid + 1) % NUM_THREADS] = 1; + _error = pthread_mutex_unlock(&lock); + //Ende kritischer Abschnitt + } +} + + +int main (void) +{ + pthread_t threads[NUM_THREADS]; + int rc; + long t; + + for(int i=0;i<NUM_THREADS;i++){ + chopsticks[i]=1; + } + + for(t=0; t < NUM_THREADS; t++) { + printf ("In main: creating thread %ld\n", t); + rc = pthread_create (&threads[t], NULL, Philosopher, (void *)t); + if (rc) { + printf ("ERROR; return code from pthread_create () is %d\n", rc); + exit (-1); + } + } + + for(t=0; t < NUM_THREADS; t++) { + pthread_join (threads[t], NULL); + } + + return 0; +} + -- GitLab