You are on page 1of 3

VTEXA

EONIKO METZOBIO NOAYTEXNEIO


ZXOAH HAEKTPOAOrQN MHXANIKON KAIMHXANIKQN YnOAOrIZTON
TOMEAE TEXNONOrIAE NAHPOOPIKHE KAIYriOAOrIETQN
EPrAETHPIO YIOAOTIETIKQN EYETHMATQN
www.cslab.ece.ntua.gr

29 louvioU 2023
AEITOYPrIKA EYETHMATA
EEetáoEIç KavovKhs lep.óiou AK. Etouç 2022-2023
Hekéraom yiverau uE KÀELOTá BBAia kauonuewoELG. MropeITE va éyeTE Malí oaç uóvo uia KóAa A4.
AL£pKeia t7ÉTaong 2 % úpes.
Oua 1° (42%)

'OÀa ta [pwrhuara éxoUVTmv (õa Bapúnta.


1. AúoTE uia evõEIKTIKÝ HoppD uiaç [yypapDs (entry) toU TÚVaKa gEAiSwv o[ ÉVa 32-bit oÚ¡tnua u[
ÉyEloç EliSaç 4096 bytes. AvapépETE TÚG XELpi(eTaL DTúç aLONOLEÍ TO AeTOUpy1KÓZÚoMua ta
bits auths mç [yypapDs.
2. leprypástE TIÇ õIapopÉç aváu[oa otIç õLEpyasiEç KaL Ta vÝuaTa. AvapépeTE Tapáb[lyua ónOU
£Võ[iKVUTaL n xphon õiEpyaouv KaL NapábElyua óoU EVõ[IKVUTan xphon vnuáTwv.
3. AvapépETE TOUÇ TpEIS TPÓNOUÇ HE TOUÇ onoioUç To A[ITOUpyKÎ ZÚ¡TMua eurhéKEtaL Katá tmy
EKTÉAEOT EVóÇ TipOypáuuatoç. EXeri(eral náVTa n eurdoknTou uE TnvEKTÉAEoN TOU ouykEKpIuÉvOU
npoypáuåaroç;AwoTE ÉVa Tapáðelyua yLa kál[ tpóO.
4. ~ro UNIX évaç KaráÀoyoç [lvau éva eIõuKóapyeio. Zn ouvéELa BivovraL ta rEpLEYÓLEva EvóC
Karalóyou av TOV SiaßácouuE GaV Va htav apx[io:
14947289
15077185
src/ 15077239
file.txt 15077238
link1@ 15077240 --> file.txt
link2 15077238

EÇnyDote LE AerrrouÉpEIa TI TÀnpopopia uaç rapéyouvOL TIapatávw ypauuéç.


5. AvapépeTE Súo SapopetUKOÚG Aóyous ya TOUG onoious Sço SiEpyaoi[ç pNEL Va
OUyxpov¡tOÚV. AWoTE aTIÓ ÉVa rapáðelyua.
6. AvapépETE ÉVa TÀEOVÉKTnua Kat QÚo uELOVEKTHHaTa TOU aÀyópêuou
Xpovoõpouokóynons
Shortest Job First (SJF). M[ ToLOVTpóO uopouuE Va avtuETWTÍGOUuE Káð[ uELOVKTTåa;
Oua 2° (60%)
Aivetau tO nuTEAÉç npóypauua noU aKOÀou@ei To onoio avalntá
õiepyaowv (yoveaç - naLÓi) TÎOEÇ (popG UNdpy[ o XapaKtipas Tapádnda 'w ota
uE n BoreEia buc
apx[iou file1.txt.. To npoypauua [KTElsitaL o[ oæOMua önouTO puta size bytes ToU
EIKOVIKÝ vnn uE OEALõOnoinon Kat anainon (demand AELTOUpyKóLÚOIMa unoOpi(E!
õlamp[i ya Ká®[ õiEpyacia to xåpm uvHung Kal Tov riVaKa paging) KaL CoW (copy on write). xa.
sivau 4096 bytes. EriomuaivETaL ÖTL ÖÀa ta oEliðwv mç. To uiyEboç mç cEIbCac
system calls ENTUYYávouv KaL yEvIKá SEV
áAÀa rpoßAnuata (.x. To uÉye®os toU apx[lou
eivat apkETÓ LEYålo). ALEUKp1vi<era1avtuETkE.
on ótav Eva
apxeio ÉxELavoiE npv m önALOUpyia uaç iEpyaoiaç ano TOv
KaLn õiEpyaoia a×i uopá<ovVTaL Tov iõo Ö[iKM apxEioU. yovÉa mG. TÓTE NYovE*Kn 5IEpyaoic
1. •iati TO TapaK£Tw
pÎypauua deV
ota TpuTa size bytes toU apxeiou; (5%)UTOloyi<[L owot£ TO OUVOÀKÓ ap1uó Twv wTtOU UTapyou
2. ErEKTEIVETE TOV TapaKátw
KOÒIKa WOTE Va
nporeivETE TPEIÇ õapopetIKOU, TpoNOUç ya va yveLTunwvETaL
auTo. (15%)
OTO TËloc TO gwOTÎ wIOTEerua
3. EEnyiotE TU EIVat race
condition KaLEVTOr0ote ËVa race condition oto
4. Sm ypauun 31o naTÉpaçotElvEL `Va
poypaua 5%)
oDua oto TaLÑi ya va TOU (nthoELVa TUwOEI TIV
TOU (To IO0OOTÏ ms oUdELáç OU `YEL nÓn OOOSo
[KTEÀEOEL). ZUwÀnpuOTE TOV KWðIKa OTE QUTo va
AEITOUpyei gwoTá. (5%)
1: char *buf;
2: int fd =-1, counter = 0, i,
3: const int size = 8192; p, status;
4:
5: void
6: { progress_report(int signo)
7:
fprintf (stderr, "Progress: %.2f\%\n", 100*(float )i/ (float)
8: } (size/2));
9:
10: int main(void)
11: {
12: /* allocate memory in a
13: buffer */
buf = mmap(NULL, Size/2, PROT READ | PROT
14: WRITE, MAP_PRIVATE
15: MAP_ANONYMOUS, -1, 0);
16: 7 open file */
17: fd = open("./file. txt",
18: 0_RDWR);
19: /* fork child */
20: p = fork():
21: if (p == 0) { /* child */
22: /* read file */
23:
24:
read(fd, buf, size/2 );
25:
for (i= 0; i < size/2; i++) if (but |i] ='w') comtert*;
26:
return 0;
27: else {
28:
/* parent */
29: read(fd, buf, size/2 );
30:
for (i =0; i < size/2; it+) {
31:
if (buf[il == 'w') countertt;
32: 1f (i%256 == 0) kill(p, SIGUSR1 );
33:
34:
35: waitpid (p, &status, WUNTRACED);
36: } Tprintf(stdout, "Total number of w's found: %d \n", counter);

AEITOUpyKá ~UorÝuara -6° eE. -Tånna 1


5. 2n Ypauun 12 (aKpßuç npv aó my
ÉX[L N oppD OU KADon ms mmap) o yápms AvÝuns ns
paivETal OTOV õEpyagiOÇ IIOÉpa
a. EEnyDot[ TL Elvatn KáðE Nivaka
1.
ypauuH TOU
P. lotEG TtEpLOXS nç EIKOViKÝG uvÝHng TIVaKa. (5%)
tns SLEpyaoiaç LOTEÚETE ÉyoUV atEIKÓVION GOV IÍVOKa
oEXLSwV; (5%)
Y. 2[ TOLEG YPauuéç TOU KúJUKa a
aláE[L o Xápms uvDuns, dE TOLEÇ OTÍVaKaç JEAiõwv KOL uE
TtOLOV Tpóro; (5%)
6. 2m Ypaui 17 oyovÉaç avoiy[ éva
apy[io Kal otIG Ypauuéç 23 KaL 28o yovéaç KaL to Ttaibi
õLaßálouv size/2 bytes (EBú 4096).
a. Tlepiypáyr[ E AErtouip[La Ta BHuata ToU
EVTOTLOteÍ KaL Va avoit[L TO apx[io /file1.txt. (5%)aKodouonTaL
artóTnv open pOKEuÉVOU Va
B. Ti aMayéç eIOÉpOUV otIG EOWTEpLKÉG Souéç TOU
OUOÝuatoç open KaL read; (5%) AeITOUpy1KOÚ ZuotDuatos oL KàDGEIs
Y. AwoTE (UE yEUSOKWõIKa) evadaKTuKÏ TpóNO uE
TOV onoio opai TO Tpßypauua va
ETapÉp[l otOv buffer buf TO avriotoiyo TIEpLEYóuEvO ToUapx[iou. (5%)

livakaç 1: XáptnS uvhuns nç õ[pyaoiaç akp1ßuç rpiv Tmv [KTÉAEn ms ypauuDç 12


start end size (in permissions file notes
address address pages)

1844d8000 844d9000 1 r-
/home/bob/bin/exer-sep2022
2844d9000844db000 2 r-X
/home/bob/bin/exer-sep2022
3844db000844dc000 1 W
/home/bob/bin/exer-sep2022
4 9f5d8000 9f5f8000 32 r- lusr/lib/x86 64-linux-gnu/libc.so.6 heap
59f5f9000 9f731000 312 r-X /usr/lib/x86 64-linux-gnu/libc.so.6 heap
9f734000 9f736000 2 rw
/usr/lib/x86_64-linux-gn/libc.so.6 heap
7 bf3d6000 bf3d8000 2
heap
8 fd002000 fdo22000 32 W stack

AEITOUpyKåZuorÝuara -6° E. -Tunua 1

You might also like