From 1bb411b001e3774f0d46802b27c43ea33d655789 Mon Sep 17 00:00:00 2001 From: Ronan Fourneuve Date: Fri, 8 Aug 2025 08:17:23 +0000 Subject: [PATCH] =?UTF-8?q?Ajout=20R=C3=A9solution=20Anale=201?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- ANALE-1/RESOLUTION/Makefile | 19 ++++++++++++ ANALE-1/RESOLUTION/commun.h | 8 +++++ ANALE-1/RESOLUTION/dijkstra.c | 57 ++++++++++++++++++++++++++++++++++ ANALE-1/RESOLUTION/dijkstra.h | 27 ++++++++++++++++ ANALE-1/RESOLUTION/dijkstra.o | Bin 0 -> 8520 bytes ANALE-1/RESOLUTION/launcher | Bin 0 -> 20176 bytes ANALE-1/RESOLUTION/launcher.c | 27 ++++++++++++++++ ANALE-1/RESOLUTION/launcher.o | Bin 0 -> 4768 bytes ANALE-1/RESOLUTION/p1 | Bin 0 -> 20336 bytes ANALE-1/RESOLUTION/p1.c | 30 ++++++++++++++++++ ANALE-1/RESOLUTION/p1.o | Bin 0 -> 5360 bytes ANALE-1/RESOLUTION/p2 | Bin 0 -> 20296 bytes ANALE-1/RESOLUTION/p2.c | 22 +++++++++++++ ANALE-1/RESOLUTION/p2.o | Bin 0 -> 5032 bytes ANALE-1/RESOLUTION/p3 | Bin 0 -> 20280 bytes ANALE-1/RESOLUTION/p3.c | 22 +++++++++++++ ANALE-1/RESOLUTION/p3.o | Bin 0 -> 5000 bytes 17 files changed, 212 insertions(+) create mode 100644 ANALE-1/RESOLUTION/Makefile create mode 100644 ANALE-1/RESOLUTION/commun.h create mode 100644 ANALE-1/RESOLUTION/dijkstra.c create mode 100644 ANALE-1/RESOLUTION/dijkstra.h create mode 100644 ANALE-1/RESOLUTION/dijkstra.o create mode 100755 ANALE-1/RESOLUTION/launcher create mode 100644 ANALE-1/RESOLUTION/launcher.c create mode 100644 ANALE-1/RESOLUTION/launcher.o create mode 100755 ANALE-1/RESOLUTION/p1 create mode 100644 ANALE-1/RESOLUTION/p1.c create mode 100644 ANALE-1/RESOLUTION/p1.o create mode 100755 ANALE-1/RESOLUTION/p2 create mode 100644 ANALE-1/RESOLUTION/p2.c create mode 100644 ANALE-1/RESOLUTION/p2.o create mode 100755 ANALE-1/RESOLUTION/p3 create mode 100644 ANALE-1/RESOLUTION/p3.c create mode 100644 ANALE-1/RESOLUTION/p3.o diff --git a/ANALE-1/RESOLUTION/Makefile b/ANALE-1/RESOLUTION/Makefile new file mode 100644 index 0000000..097fdb0 --- /dev/null +++ b/ANALE-1/RESOLUTION/Makefile @@ -0,0 +1,19 @@ +CFLAGS=-Wall -Wextra -g +OBJS=p1.o p2.o p3.o dijkstra.o launcher.o +all: p1 p2 p3 launcher + +p1: p1.o dijkstra.o +p2: p2.o dijkstra.o +p3: p3.o dijkstra.o +launcher: launcher.o dijkstra.o + +p1.o: p1.c dijkstra.h commun.h +p2.o: p2.c dijkstra.h commun.h +p3.o: p3.c dijkstra.h commun.h +launcher.o: launcher.c dijkstra.h commun.h +dijkstra.o: dijkstra.c dijkstra.h + +.PHONY: clean +clean: + rm $(OBJS) p1 p2 p3 launcher + diff --git a/ANALE-1/RESOLUTION/commun.h b/ANALE-1/RESOLUTION/commun.h new file mode 100644 index 0000000..474258b --- /dev/null +++ b/ANALE-1/RESOLUTION/commun.h @@ -0,0 +1,8 @@ +#ifndef COMMUN_H +#define COMMUN_H + +#define CLE_SEM_T1 10 +#define CLE_SEM_T2 20 +#define CLE_SEM_T3 30 + +#endif diff --git a/ANALE-1/RESOLUTION/dijkstra.c b/ANALE-1/RESOLUTION/dijkstra.c new file mode 100644 index 0000000..135570d --- /dev/null +++ b/ANALE-1/RESOLUTION/dijkstra.c @@ -0,0 +1,57 @@ +#include +#include +#include + +#include "dijkstra.h" + +int sem_create(key_t cle, int initval) { + int semid; + union semun { int val; struct semid_ds *buf; ushort *array; } arg_ctl; + + semid = semget(cle, 1 , IPC_CREAT|IPC_EXCL|0666); + if (semid == -1) + { + semid = semget(cle,1, 0666); + if (semid == -1) + { + perror("Erreur semget()"); + exit(1); + } + } + else + { + arg_ctl.val = initval; + if (semctl(semid, 0, SETVAL, arg_ctl) == -1) + { + perror("Erreur initialisation sémaphore"); + exit(1); + } + } + return(semid) ; +} + +void P(int semid) +{ + struct sembuf sempar; + sempar.sem_num = 0; + sempar.sem_op = -1; + sempar.sem_flg = 0; + if (semop(semid, &sempar, 1) == -1) + perror("Erreur operation P"); +} + +void V(int semid) +{ + struct sembuf sempar; + sempar.sem_num = 0; + sempar.sem_op = 1; + sempar.sem_flg = 0; + if (semop(semid, &sempar, 1) == -1) + perror("Erreur opération V"); +} + +void sem_delete(int semid) +{ + if (semctl(semid,0,IPC_RMID,0) == -1) + perror("Erreur dans destruction sémaphore"); +} diff --git a/ANALE-1/RESOLUTION/dijkstra.h b/ANALE-1/RESOLUTION/dijkstra.h new file mode 100644 index 0000000..25abaef --- /dev/null +++ b/ANALE-1/RESOLUTION/dijkstra.h @@ -0,0 +1,27 @@ +#ifndef DIJKSTRA_H +#define DIJKSTRA_H + +#include + +/** + * return the semaphore associated to the key cle + * if the semaphore doesn't already exist the function create it with initval token then return it + */ +int sem_create(key_t cle, int initval); + +/** + * take a token on the semaphore semid or wait if none available + */ +void P(int semid); + +/** + * put a token on the semaphore semid + */ +void V(int semid); + +/** + * delete the semaphore semid + */ +void sem_delete(int semid); + +#endif diff --git a/ANALE-1/RESOLUTION/dijkstra.o b/ANALE-1/RESOLUTION/dijkstra.o new file mode 100644 index 0000000000000000000000000000000000000000..1fe6333f53c19c9f0f822ccafff30a9e019c8289 GIT binary patch literal 8520 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 AeE +#include +#include +#include +#include +#include +#include "dijkstra.h" +#include "commun.h" + +int main () { + if (fork() == 0) + { + execlp("./p1","./p2",NULL); + } + if (fork() == 0) + { + execlp("./p2","./p2",NULL); + } + if (fork() == 0) + { + execlp("./p3","./p3",NULL); + } + wait(NULL); + wait(NULL); + wait(NULL); + return 0; +} diff --git a/ANALE-1/RESOLUTION/launcher.o b/ANALE-1/RESOLUTION/launcher.o new file mode 100644 index 0000000000000000000000000000000000000000..cd2d637ba73baa1471fefd6a5028a51a9c26fba1 GIT binary patch literal 4768 zcmcInU1%It6uvW?X?`}pZLN*fW^HS&r8}FgX>F@*Q$w0oVj^uL5iDVLGud6bnN8=% zCjO$Lw4x$DX(?16w7w`-5JVpgDi-xc@S$%ag5ZM>EmDvw)N}5fv$?sMfG8fAd(ZjK z&%JZcnS1X%GdO(EGz`IHh<#!~VpNEqS{L|!$@Ytz#TxN@$NKAIhtB-+D`GFqM;kvy z=Flsa?9O~$=PrGMh&21ZY(KA$ki^OHkAG?BX0{7x^4Q!hu7Zyxj3#t#z~(k=RJy1L zMpGk7Mnl}iZiY$H3aK;Yt6L3L#S0;@l%%HNZ1*@i8&YcYk&o3BHZ=#3oQXN!IR*R$ zcuZ_W3O$=8cie16;Tw3&m$_*XX{l^UNk^G1qs2l)CVmg&oG>*+F9Hg?_&>qF)+wH0ebs(nxT-t_J?8aHm1-c7c#znk$p zyAQ9ruiF4^a~-yJrx)OswJ@c$Ey$&=6QZ>a%J?{b|Jo`bG_?2yS?K;?%ZhfP^+qB))bs8h{`)%?8G zG;TEyn;TbajAa3K{=C(C-ZCCBO&G3P^GX@nU`<3`P$_xtWCn#(P9+pWBV(C?{5_d` z-tMz|Gui1d^4z^8*K_?!5k$u?miNx?+L_(im&ukg*(oQO^NMA^=GCGg8+oTH-efj( z3RO1%We_^W6WJNR7P`f-=4XQt4ACoA6st~9W_6|JfucC2$ikgEuBdO^A7hnc#CgyNT%##1%_1lgc!Vq&H;IS~q}%lWlhn0x5R=umcG zbYx&GcVOhe@L)EdJ2H55ba?F8;n5LMbs|^?*SCw}pP1*Oz|U2@Vl|p{bFiKhJNvTL ziWkjhOJ0-<<^rKwEE1NQ7b;<(PC%IpCez$%9zP_x>Ww5_D)D5%xoF=FIj4l&>6U~_#hY9LE;q3R zyln}FKuW*{rV;LZE0uZj2GIpLuA@$C07$~|7)Zj^jLTA&B}|`;{FvhrGn&F}wtSlyID<8sAZH zHU3F04rlm@W$@EV95w#y3XVDBd7fJae|H(2OBv^=Rv}jm;&?n~;6Yj$cQPmFyNP71 z10=NPm?+@1?QL7`4TBOzl^UV{CzFX2PA*1;oUUuWexw0_QL- z+poof)K0pEs5DXWrfOg#d8bhD-N(QToeAhI8A7o6d~uhjSFyEl*7O&a_*9v;V|oz#G?)>xzT*6LXOP>d{su ztb44(eia0M95)A`GCANmjx6szct=LUIz*h$d&H3VJC3D=Rv&*Gs4(Wg^~e1TV=k%{ zka_$L;8oJc-v>$^llBB&Q=JoRcLSERe)F_Yois6AKg^N7eh(zX1V~(?@jpUAA$_jL zL8oJAeu2j2^O-~Fw&S2kn*aB>;Q+Be&L8g#`utAK}Z;^jS@kN%`k74{x$C$eRJo)qa!1lWTSD;AB z-xW+25bqP1KfK$pKjTSbqu(DqKE3cwfF;!*V*1{J{=Kw+Z9qXGef_#Xm*n5n8apkQ He-8OKc4ZKw literal 0 HcmV?d00001 diff --git a/ANALE-1/RESOLUTION/p1 b/ANALE-1/RESOLUTION/p1 new file mode 100755 index 0000000000000000000000000000000000000000..be072fb1151d993b28a8ff41b66dffbebe6dd2ed GIT binary patch literal 20336 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 EzkV&U;s5{u literal 0 HcmV?d00001 diff --git a/ANALE-1/RESOLUTION/p1.c b/ANALE-1/RESOLUTION/p1.c new file mode 100644 index 0000000..7c62505 --- /dev/null +++ b/ANALE-1/RESOLUTION/p1.c @@ -0,0 +1,30 @@ +#include +#include +#include +#include +#include "dijkstra.h" +#include "commun.h" + +void t1() +{ + puts("t1"); + sleep(10); + puts("end t1"); +} + +void t2() +{ + puts("t2"); + sleep(2); + puts("end t2"); +} + +int main () { + int sem_t1 = sem_create (CLE_SEM_T1,0); + int sem_t2 = sem_create (CLE_SEM_T2,0); + t1(); + V(sem_t1); + t2(); + V(sem_t2); + return 0; +} diff --git a/ANALE-1/RESOLUTION/p1.o b/ANALE-1/RESOLUTION/p1.o new file mode 100644 index 0000000000000000000000000000000000000000..85af8fa3fd97c9762e0754c909bfe30e6434c1cb GIT binary patch literal 5360 zcmbtYU2I&%6`s56yIE&#$FV~aC$!mAgb>tSXB`s~Ac?^;v8!N*fYVfJv{|pOy_>A> zntSh3yW%HR)F@F^5fDf`AX!KV!CU)A3xc2!As#AKLP%Bn(5F;9@IX{mib|w#zPab@ zj)yfu?UC-BbG|u0vomLY>=(z5J)UqJCFH2Xs-+34)ZPs(c|?mNYKz*e{=MPH|D7Jc zd}I9gF3|DIpMDAc(RymMWOZCQeQhn5#1C+}@Kx`JtK(lDyA>mw#QpNv?e}1#)BkSl z77xk9ZkyO=*P?>*{MjtAXegG3RFP)ERZbd_)}i?k8k4RYij&qhPDjjQHz&bb3YJbn z&rrI;xhiMIz%!NAdWodIN{JGs1ZPD47{`je_-Q|cYK!AWJ%bgXxwT%#}X zTQs_>gCynt)w$~d;(rGWL1{SkTA~X^HvywjUFl_NyCFK8bvTHiV$78D#;~3gQn$c2 z@p47~h^?_wQz@FhW}WP7dZlP$^*jP;!OFQuWip2|$sP*js)>H3lABes=b_BQnS&Xq z9eL--fCk)yncV{u{f`Vd1iQnq+Ubzl&d!Pc#8#zJc}13K22&fIzI7v8pBtd1+vx1- z>CYs0Y~KN}cZ*VKPD?}TyjQ1Puk)ni#JdOLESY9<8ci#C*9ICi2G?!&PxMPl3{d@) zK9n;h)2%euMX>l4(p|EhBJMcOH$B~8*oX9yutTqz>6CDGBsS=RXrZv@w2*XdC0$2# z#zP@!o9kYrPA9nlRPw#Zy^v;!)6}O9ef00N~(puf0&*}#C+VI2byzk9s zp)59{u!WQ>r9d5>oX(CG9?TXB`QiNDY;GZH_}-y;&-a3AnbcBHt{hrAus^qdIGdZ# z=H^P_vR|$Qb-&&Sa}EDjRev@Ym1b&QNS$F+Dxb?O2KC4*NA(~VMq~)DxT9Pvg%#

h);w_=%~bxzVY~(dofQCm%gFmMaXN7<+2!*!0sA zQN*t#+$ocgN4KuTWv%O&C7VJ~U%Jy%!Us-Kn!=Kq~qk z0Zz15|1ab2_&gK;#K|}S_t^}4szcqpW8=`1ZEs58`dIvqOH%0rz74+mln{ete7K9+ zzyVt}THiK(At5NZl<5W(g41`c1r?;#l^aX8E! zoZuik&fyqt+RKVQ&bV!V+`!GeKeyswJwP&lcAV$qZap5Xk&OSPHSjkK9I?gzZ3D+u zE%+Y{yvxAg1iX-RDaSLbj=81~<*fT`{k%Sijf8WxemW@I}_8t|iVZjGOg_ z_$!PbVlMV?vHqBa%Q_vk@ISJC%)naDPRYRX$u^p!Xc{D2RDQq`<3{@{zX`sr+myDyjTT7^-|wj}_fJ>&-Ogi&cNFPBvOD z&CCSevt$NmhJunm@4>Z&(KE;s7s@9h;G)*c^@RnG-e`HB9+!D~g3#lV9-FMw`zcS) z&P6YXmN~9hDb59@1&@E||H-oCk2z0SaYk6bZsA<^O%(eObw1KWV&OeLRL`>m?rVs0 z)^25c)H!f@Z!xUs&xE#Q!?+g_^MCcnIgOZRZIRl{k8zu1=g0kPW3V4!uxxc&syaxv z?dIE zsKPIiO*{YiKM_iOp`)}K@e}^~8vciPL!!P-53+FdAn+tRLQN;xFe%yWDVz|No`bdH%t7 k5!SB$fZ1mU{4a5$Jx~m?=WiqRwevs4 literal 0 HcmV?d00001 diff --git a/ANALE-1/RESOLUTION/p2 b/ANALE-1/RESOLUTION/p2 new file mode 100755 index 0000000000000000000000000000000000000000..765bc19564a3b230e4b07cd00b349ba150dc3f57 GIT binary patch literal 20296 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 literal 0 HcmV?d00001 diff --git a/ANALE-1/RESOLUTION/p2.c b/ANALE-1/RESOLUTION/p2.c new file mode 100644 index 0000000..a8dddf2 --- /dev/null +++ b/ANALE-1/RESOLUTION/p2.c @@ -0,0 +1,22 @@ +#include +#include +#include +#include +#include "dijkstra.h" +#include "commun.h" + +void t3() +{ + puts("t3"); + sleep(7); + puts("end t3"); +} + +int main () { + int sem_t1 = sem_create (CLE_SEM_T1,0); + int sem_t3 = sem_create (CLE_SEM_T3,0); + P(sem_t1); + t3(); + V(sem_t3); + return 0; +} diff --git a/ANALE-1/RESOLUTION/p2.o b/ANALE-1/RESOLUTION/p2.o new file mode 100644 index 0000000000000000000000000000000000000000..ed482348bc378c3e2c3c5cd3c72dfc03ba7e40af GIT binary patch literal 5032 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 I0|zVq55$>)f&c&j literal 0 HcmV?d00001 diff --git a/ANALE-1/RESOLUTION/p3.c b/ANALE-1/RESOLUTION/p3.c new file mode 100644 index 0000000..b5df4ba --- /dev/null +++ b/ANALE-1/RESOLUTION/p3.c @@ -0,0 +1,22 @@ +#include +#include +#include +#include +#include "dijkstra.h" +#include "commun.h" + +void t4() +{ + puts("t4"); + sleep(5); + puts("end t4"); +} + +int main () { + int sem_t2 = sem_create (CLE_SEM_T2,0); + int sem_t3 = sem_create (CLE_SEM_T3,0); + P(sem_t2); + P(sem_t3); + t4(); + return 0; +} diff --git a/ANALE-1/RESOLUTION/p3.o b/ANALE-1/RESOLUTION/p3.o new file mode 100644 index 0000000000000000000000000000000000000000..dea1b1ef16532e1a2bf5143d5f16b999b3ccdc94 GIT binary patch literal 5000 zcmbtYTWB0r7(TO`NjBZwW80)vGm+kLXS+?Ty{4%lO;Tb~YaX@I8H`OFW~LPF#5T8K}rp-#`+9wp{l7*V13yN@DR<9-nb za=;v}w9jyeXKOsf>RRhRKp2A93N&>qbSM|;7kUK^H`S5E^zXEl4-o$eFa*Zo`nN(& zaJmT?4U0x9)HXrXT6sE%pedg*?R-C96jIv|8+tv*C(-UJ1=dXKrbYNH5YmT+NITE8 zbu1bkh=yAzN@ru8jD=URaLcaf?&!`a)H+k!*UbTaXLMutSm&N@jbObWUcDN*^)`-m zhPr4o+O_p9ozZa5+Maf;qoHjzV+|rZZB}Fh&)&$>Mg065yZvM1rn zQ_w!viR^=2&+&0In~a7h@<{_t?SA@&Fh|A`Iv>0Hubt~ERDZSz?la|@PL z@>5~1Fs2Lp6&=s0#&WB_D1I7l20A@`!m3PrjKjVdcZx+Xe(3PzNNi|wVrVM9 ze`5dma4Zo&JpAb7_|%cH$q82KGt=zfIL6Da6VKb}LOEl_X^E$|_s0r(yF3@m+U0mE zPrLKaE^cM1hu<~t->Z}?*UT}=Gx_5uXfu)omF>LiWk{elUnI^(hK6<-o2F7_+bfGg zh$YHgO}wyeo4K`rvw&r7qI}!vhkJo42xsF0FkYg>aYci)XAd)Nu1#Cp)DSsGrGGbJ z_<{P+47aqM3Jo>aA14P=VcP?oh+jw29vb%@eA68*PF5YedHW6n0pXfoDB%27yCWp* ze+O#dOV7S^2(zdZm+&wPd;|lQFr(X1A>5@MfpPM+A*_*pSZ9@xp%#vHM;;k3uk`L^ z{MRjm`;|o3JijCSv&7G4;2a&ISUGcCNZ9*Zw|$~pmJ@0MUoMHuk1KG*N*v<=$vh&> zZQQ#cHP1mG<~UYa=6PZnJRiWZcGBNn27f+)V-KXitN_d@SUqy5f#VW4=m+ZX8D9g$ z%6YC*aG|m_LO?xNFL{!;2psvV-(8Xu0UZ5)D)b!+E-P-Ig8w4)0}9@O0T4axGd_Og zUoY?@3Z4*nO2PjUdRD=A3;(i$4+;Eb1s5v+u0odUJSzO(RQ$gd`iBbMAp9>W_=3=X zR`9h#mv-6jM*Aei{5L8%f02<*u7}Jc+^c(yJU9cAk9ej1-@7De^2NSDY)E^5e5HP=;I3hxzHa`aJhev zDfqWSe^PLDeGGwPuke#JCxh^xE zqOWjk#!8j5(|LQQNIqOnrc#deG`S&IKu*%mS_oal=ow(i5b95gfTy{hF3!$c^hPml zdTN>U38tqOJ-viZ?+23}VI|A)Dk86yo1Sr!vzDCk|KkRQV{Lw!{s+jYV(|Z71WhPLMP)n5uh#nU2LstkVqka=V2{-GJ4l$ClOSe@xF4YeNcBBN zHWh>Wf{5Q5h=r*79wn^S_)FqJA>%QAe1FyPKUE_qL2Q%Q&{v@ZNbSEswp#taBll;eHB|x_<3stQCJljQ@vVFv)8C E-=+W-6951J literal 0 HcmV?d00001