Sunteți pe pagina 1din 8

Utilizarea Sistemelor de Operare: Tema 2

Termen de predare: Luni, 26 Noiembrie 2013, ora 23:55

Utilizarea Sistemelor de Operare - Tema 2

Descriere
Tema const a n realizarea unui set de task-uri asupra unui sistem de operare Linux, gata instalat ntr-o mas a virtual a. , in Pentru predarea temei sunt necesare: conexiunea la internet Termen de predare: Timpul de lucru efectiv este de 7 de zile (+1 zi prelungire deadline) Uploadarea codului: 26 noiembrie, ora 23:55 Uploadarea se face pe formularul de la adresa urm atoare: https://docs.google.com/forms/d/1WvH6uvv9jWzhMsZNemZWOSfW1qJM3afcCR94olP92as/viewform Deadline-ul temei este hard. NU se accept a nt arzieri dup a 26 noiembrie, ora 23:55. Atent , ie! Chiar s a ce at a p an a nu v a aat a vor , i dup , i predat codul, NU s , terget , i arhiva cu mas , ina virtual , i nota! Dac exista probleme n corectarea temei, f ar a arhiv a NU se pot face contestat , ii sau rezolva eventualele probleme ap arute.

Pagina 1/ 7

Utilizarea Sistemelor de Operare - Tema 2

Testare
Testarea temei se va face DOAR autenticat ca utilizator root, folosind programul instalat uso. Programul uso implementeaz a testele pentru toate task-urile din aceast a tem a. Acesta poate executat n orice moment pentru a verica dac a au fost rezolvate corect task-urile. Versiunea programului check este as a pe prima linie a output-ului. , at Versiunea curent a este: v9. Codename: What side was that, private Pyle? In cazul n care testele vor actualizate, modic arile ajung n mod automat pe mas , inile virtuale. Comanda uso update va desc arca ultima versiune a programului uso folosit pentru testarea temei. Pentru a actualiza manual checker-ul, putet , i apela uso update ca utilizator root. Testarea nal a a temei se realizeaz a prin intermediul utilitarului automat de vericare a temelor. Tot ce trebuie voi s a facet i este s a rulat i uso submit s a nc arcat n formularul descris n pagina anterioar a. , , , i s , i codul Pentru a us am: , ura testarea, recomand Set arile mas acar o actualizare a VMWare Tools). Dac a , inii virtuale NU ar trebui modicate (nici m totus i considerat i c a este necesar a o modicare ntrebat i nt a i pe forum-ul temei dac a este acceptat a . , , , Mas a s a porneasc a iar sistemul de operare s a se ncarce complet f ar a interact , ina virtual , iune din exterior Parola de root s a r am an a cea implicit a (student) ATENT a vine implicit cu aceste condit ndeplinite s , ina virtual , ii , i nici un task nu va afecta vreuna , IE: Mas din ele. V a rug am s a NU alterat a primit , i vreuna din aceste componente deoarece riscat , i s , i 0 puncte pe tem a.

Notare
Nota pe ntreaga tem a este dat a de punctajul acumulat pe toate task-urile, punctaj as atre programul , at de c check la execut ia f a r a nici un parametru. , Se pot lua maxim 100 de puncte pe ntreaga tem a. Acest punctaj este echivalent cu 0.5 puncte din nota nal a. Nu este obligatorie rezolvarea tuturor task-urilor. Task-urile pot rezolvate n orice ordine, mai put n , in situat n care un task depinde de rezolvarea unui alt task. , ia

Pagina 2/ 7

Utilizarea Sistemelor de Operare - Tema 2

Task 1 (20p)
Hint: man bash Creat , i scriptul /home/student/task01.sh care: Primes , te 2 argumente Seteaz a o variabila local a scriptului TASK01 ce va avea valoarea egala cu valoarea primului argument primit Al doilea argument reprezint a calea c atre un alt script pe care va trebui s a-l lansat n execut ,i , ie din interiorul scriptului vostru task01.sh. Acest script primit ca al doilea argument trebuie sa e rulat cu argumentul TASK01 (nu valoarea variabilei anterior denit a, ci textual) s as , i va trebui s , tie de existent ,a variabilei TASK01 c at s i de valoarea acesteia, anterior setat a . , Info! Pentru acest exercit a punctaj part , iu nu se acord , ial.

Task 2 (15p)
Hint: trap Creat a directorul /home/student/folder02 s n direc, i scriptul /home/student/task02.sh care creaz , i 5 s , iere torul /home/student/folder02/, ecare la interval de 2 secunde, respect and urmatoarele cerint , e: Fiecare s a linie ce respect a format-ul A\B:C:D E , ier cont , ine o singur A reprezint a num arul de secunde scurse de la 1970-01-01 00:00:00 UTC B reprezint a ora n format 12 ore C reprezinta minutele D reprezinta secundele E reprezinta AM sau PM Atent a caracterul \ iar ntre D s a caracterul (spat , i B exist , i E exist , iu) , ie! Intre A s Fis , ierele vor denumite task02.N.P N reprezint a num arul s , ierului (1, 2, 3, 4, 5) P reprezint a ID-ul procesului care a creat s , ierul Dup a ce sunt create cele 5 s , iere, acesta le s , terge pe toate, inclusiv directorul folder02 Dac a scriptul este suspendat temporar din execut ntrerupt de comanda CTRL+Z pe , ie ( perioada rul arii sale), atunci acesta trebuie s as a toate s an a la acel moment , tearg , ierele create p (inclusiv directorul folder02 iar procesul s a se termine imediat f ar a a mai continua crearea s , ierelor ramase Info! Pentru acest exercit a punctaj part , iu nu se acord , ial.

Pagina 3/ 7

Utilizarea Sistemelor de Operare - Tema 2

Task 3 (15p)
No hint :( Creat atre un director ce cont , i un one-liner /home/student/task03.sh care primes , te ca argument calea c , ine mai multe s asit a aceast a , iere s , i mai multe subdirectoare. G , i mai jos un exemplu de director care respect ierarhie. Fis ierele din aceast a ierarhie de directoare cont in cuvinte separate print-un singur spat iu ( ), o , , , singur a virgul a (,) sau un singur caracter \n (new line). Se dores a scrie n s arul total de caractere printa, te ca scriptul s , ierul /home/student/caractere03 num bile care se g asesc n toate s ierele de la calea dat a ca argument scriptului. , Atent Urm atoarele caractere printabile nu vor luate n considerare la num arul total de caractere , ie! printabile: Caracterul spat , iu ( ) Caracterul virgul a (,) , ierul /home/student/caractere03.err vor scrise toate erorile care apar pe parcursul rul Atent arii , ie! In s scriptului. Info! Exemplu de astfel de director g asit , i la adresa: http://swarm.cs.pub.ro/~tibi/uso/tema2/task03_sample.tar.gz Info! Pentru acest exercit a punctaj part , iu nu se acord , ial.

Task 4 (20p)
No hint :( Dorim s a cre am un script care este capabil s a ruleze un Makele pentru noi, dar s a ruleze executabilul , i s generat de acest Makele. Pentru aceasta este nevoie s a creat , i: 1. [10p] Fis n directorul /home/student/task04/ care: , ierul Makele (a) [8p] Pe dependent , a build preia s , ierele main.c, rulz.c, uso.h, libuso.so din directorul /home/student/task04/ s i creaz a s ierul executabil uso.bin n acelas nt ampl as a: , , , i director. Acest lucru se , tiind c i. [0p] libuso.so este o bibliotec a partajat a (uso.h este s , ierul header ce cont , ine prototipul funct n bibioliteca libuso.so ) , iei denite ii. [4p] Generarea s n urma etapei de asamblare este obligatorie (Atent , ierelor obt , inute , ie! Salvat , i aceste s , iere cu extensia .xo) iii. [4p] O modicare ntr-un s a nu trebuie s a genereze recompilarea ntregului executabil , ier surs ci doar ce este necesar (b) [2p] Pe dependint n urma compil arii, dar nu s a , a clean s , terge toate s , ierele create , i s , ierele surs ori biblioteca partajat a (avet i grij a s a nu v a s terget i s ierul Makele sau celelate taskuri/scripturi; , , , , se recomand a s a facet nainte!) , i backup 2. [10p] Scriptul /home/student/task04.sh care: Pagina 4/ 7

Utilizarea Sistemelor de Operare - Tema 2 (a) Ruleaz a Makele creat anterior (la pasul 1) (b) Lanseaz a n execut , ie uso.bin (c) Scriptul returneaz a procesului p arinte valoarea de ies n , ire a executabilului (uso.bin ), lansat execut , ie anterior (la pasul b) Info! Exemple de s asit , iere necesare la punctul 1.(a) g , i la adresa: http://swarm.cs.pub.ro/~tibi/uso/tema2/task04_sample.tar Atent a punctaj , ie! Toate subpunctele sunt dependente de subpunctele anterioare. In concluzie, nu se acord pentru subpunctul 1.(a).iii dac a subpunctul 1.(a).ii nu este funct a regul a este valabil a , ional, s , .a.m.d. Aceast pentru orice subpunct.

Task 5 (25p)
No hint :( Lucrat ntr-o companie de succes s ,i , i avet , i o funct , ie de analist nanciar. Unul din task-urile voastre este s a g asit , i angajatul cu cel mai mic salariu care are cele mai bune rezultate profesionale, pe baza unor date deja existente. In acelas a v a asigurat a datele existente sunt valide s , i timp trebuie s , i c , i provin din surse sigure. In cazul n care datele sau sursele nu sunt corecte va trebui s a comunicat , i acest lucru superiorului vostru prin-un mesaj. La nal, s a va comunica rezultatul muncii printr-o promovare la funct , eful vostru v , ia de analist programator dac a at a baft a! , i rezolvat cu succes acest task. Mult Din fericire, suntet a studiului intens depus n facul, i un bun utilizator al sistemului de operare Linux datorit tate s i dorit i s a v a us urat i aceast a munc a . Pentru aceasta trebuie s a creat i scriptul /home/student/task05.sh , , , , , care: 1. Primes , te 2 parametri: (a) [3p] Scriptul trebuie s a verice c a s-au primit exact 2 argumente. In caz contrar scriptul trebuie s a ias a cu o valoare de retur (vezi mai jos codurile de retur) (b) Primul parametru reprezint a o cale c atre un director. In acel director se g ases , te un s , ier ce cont , ine date despre angajat , i, angajati.txt i. [3p] Dac a directorul nu exist a, atunci scriptul trebuie s a ias a cu o valoare de retur (vezi mai jos codurile de retur) ii. [5p] Scriptul trebuie s a verice c a primul argument primit este o cale absolut a ce nu se a a n afara directorului /home/student/task05/. In caz contrar scriptul trebuie s a ias a cu o valoare de retur (vezi mai jos codurile de retur) iii. [3p] Dac a s a, atunci scriptul trebuie s a ias a cu o valoare de retur (vezi mai jos , ierul nu exist codurile de retur) (c) Al doilea parametru reprezint a numele unui angajat din compania vostr a 2. [0p] Caut a n s at n lista primilor 10 angajat at s n lista ultimilor 10 angajat , ier, at , i c ,i , i, tot , i angajat , ii care au numele de familie identic cu numele primit ca al doilea argument 3. [0p] Dintre aces l alege pe acela care are salariul cel mai mic , ti angajat ,i 4. [0p] Daca sunt mai mult a l , i angajat , i care au acelas , i nume de familie s , i salarii egale atunci va trebui s g asit a , i pe acela care are cel mai mare scor de performant , Pagina 5/ 7

Utilizarea Sistemelor de Operare - Tema 2 5. [10p] Dup a ce acest angajat a fost g asit, va trebui s a as , at , i la ies , irea de eroare standard ID-ul acestui angajat. 6. [1p] La nal, scriptul trebuie s a ias a cu o valoare de retur specicat a mai jos. Info! Formatul s , ierului ce cont , ine date despre angajat , i este urmatorul: ID ANGAJAT\NUME ANGAJAT\PRENUME ANGAJAT\SALARIU ANGAJAT\SCOR PERFORMANT , A Exemplu de s asit , ier g , i la adresa: http://swarm.cs.pub.ro/~tibi/uso/tema2/task05_sample.txt Info! Codurile de retur pe care trebuie s a le returneze scriptul vostru: 4 - dac a scriptul nu primes , te 2 argumente 5 - dac a directorul primit ca prim argument nu exist a 6 - dac a directorul primit ca prim argument nu este o cale absolut a ce se a a n directorului /home/student/task05/ 7 - dac a s ases n directorul primit ca prim argument , ierul angajati.txt nu se g , te 8 - dac a nu a avut loc nicio eroare Atent a punctaj , ie! Toate subpunctele sunt dependente de subpunctele anterioare. In concluzie, nu se acord pentru subpunctul 1.(b).i dac a subpunctul 1.(a) nu este funct a regul a este valabil a , ional, s , .a.m.d. Aceast pentru orice subpunct.

Task 6 (5p + 10p BONUS)


No hint because you are a PRO :) Suntet a monitorizare dorit a urm arit , i administratorului unui sistem s , i pentru o mai bun , i s , i anumite evenimente care au loc n sistem. Pentru aceasta trebuie s a se modice comportamentul daemon-ului rsyslogd astfel nc at: 1. [5p] Toate mesajele de tip mail care au cel put andu-le pe cele de prioritate , in prioritatea notice, except err, vor logate n s , ierul /var/log/usomail.log 2. [10p] Toate mesajele de prioritate crit, except and mesajele de tip mail s n s , i news vor logate , ierul /var/log/usocrit.log Atent a punctaj , ie! Toate subpunctele sunt dependente de subpunctele anterioare. In concluzie, nu se acord pentru subpunctul 2 dac a subpunctul 1 nu este funct , ional.

Pagina 6/ 7

Lista schimb arilor

S-ar putea să vă placă și