Studiați secțiunea de Cunoștințe evaluate și suportul agregat necesar temei. Aceasta este valabilă la orice temă și se recomandă parcurgea sa.
Folosiți thread-urile de discuții existente în cadrul forumului, fără a crea altele, atât în forumul pentru Discuții Generale cât și în forumul temei. În consecință, thread-urile (subiectele de discuții) nou create vor fi șterse deoarece informația utilă va fi greu de urmărit.
Căutați pe forum informația pe care doriți să o obțineți, înainte să puneți o întrebare. De cele mai multe ori, cineva a mai întrebat același lucru. În fiecare thread al forumului aveți informații despre cum puteți căuta în forum.
În cazul în care doriți să publicați un screenshot, recomandăm folosirea site-urilor pentru partajarea gratuită a imaginilor, precum imgur sau alternativele sale, publicând pe forum doar link către screenshot. Dorim să păstrăm o parcurgere ușoară a forumului, din acest motiv, orice poză inserată în răspunsuri, va fi ștearsă.
Urmăriți atât forumul cât și modificările aduse enunțului/checker-ului, modificări ce sunt publicate și explicate în paragrafele de mai jos.
În timpul realizării temei, când vă loviți de probleme și aveți nevoie de suportul echipei de USO, parcurgeți și lista de întrebări frecvente întâlnite în cadrul temelor. Să țineți cont, va rugăm, și de recomandările de comunicare electronică.
uso
:
Adaugat test pentru a verifica tipul arhivei.
Singurul lucru de care trebuie să aveți grijă este să nu puneți pe forum rezolvările taskurilor. Puteți să sugerați diferite abordări sau să dați idei celorlalți. Mai multe informații găsiți in recomandările de comunicare electronică.
uso
uso
, consultați instrucțiunile de utilizare.Descărcare mașină virtuală și informații despre aceasta
Testarea temei se va face doar pe mașina virtulă (aici) autentificat ca utilizator student
, folosind utilitarul uso
. Acesta poate fi executat în orice moment pentru a verifica dacă au fost rezolvate corect task-urile. Nu lucrați autentificat ca utilizator root
în sistem, la nicio temă. Din acest motiv există posibilitatea să nu vă treacă testele. Pe de altă parte, nu este o metoda de siguranță să lucrați autentificat ca utilizator root
din motive de securitate și/sau permisiuni.
Utilitarul uso
implementează testele doar pentru task-urile temei curente. La fiecare temă nouă, pentru a folosi utilitarul uso
, primul pas este să porniți tema folosind comanda sudo uso start
. În caz contrar, nu veți avea actualizat checker-ul pentru tema curentă.
Verificați versiunea utilitarului uso
cât și a checker-ului, afișată la rularea comenzii sudo uso start
sau sudo uso check
, pe prima linie a output-ului. Asigurați-vă că aveți ultima versiune înainte de a continua lucrul pentru temă. Versiunea actuală este specificată în secțiunea Informații generale prezentă în enunțul temei. Pentru situațiile în care nu dispuneți de ultima versiune a utilitarului uso
sau checker-ului, rulați sudo uso update
.
Finalizarea temei se realizează prin rularea comenzii sudo uso submit
și încărcarea codului returnat de această comandă (32 de caractere alfanumerice), în formularul din secțiunea Informații generale. Pentru a evita transcrierea eronată a codului returnat de checker, recomandăm copierea acestuia din interfața mașinii host conectată prin SSH către mașina guest după cum urmează:
ATENTIE!
Dupa prima rulare a comenzii sudo uso check, trebuie sa dati comanda sudo reboot
!
Clonați în directorul /home/student
repository-ul disponibil la adresa https://github.com/systems-cs-pub-ro/uso
. Directorul creat după clonare trebuie să aibă numele uso
.
Adaugați în directorul uso
următoarea structură de directoare și fișiere:
Star Wars ├── First Galactic Empire/ │ ├── Deathstar/ │ └── TIE Fighter/ └── Rebel Alliance/ ├── Millenium Falcon/ │ ├── chewie.c │ └── han.c ├── X-Wing/ │ └── luke.c └── Y-Wing/
/
(slash).
uso
.
(Hint: man tar)
Aflându-vă în directorul uso
, folosiți o singură comandă pentru fiecare dintre cerințele următoare:
luke.c
din X-Wing
în Millenium Falcon
.chewie.c
în chewbacca.c
.TIE Fighter
în TIE Advanced
.
Cerințele de mai sus trebuie rezolvate în ordine.
~/uso/Star Wars/
. Acesta trebuie să râmână în această formă pentru verificările ulterioare ale checkerului. Veți pierde punctele obținute pentru acest task dacă faceți modificări și va fi nevoie de refacerea taskului.
force.c
aflat la adresa:
https://raw.githubusercontent.com/systems-cs-pub-ro/uso/master/tema1/force.c
Hint: man wget
task3
în directorul uso
, și descărcați în acesta fișierul force.c
.
Folosind o singură comanda, compilați fisierul sursă force.c
în executabilul force
și păstrați toate fisierele intermediare (force.i
, force.o
si force.s
).
Păstrați argumentul/argumentele comenzii într-un fișier separat, numit options.txt
.
light.o
sound.h
si sound.c
, ce pot fi descarcate de la adresele https://github.com/systems-cs-pub-ro/uso/raw/master/tema1/light.o
https://raw.githubusercontent.com/systems-cs-pub-ro/uso/master/tema1/sound.c
https://raw.githubusercontent.com/systems-cs-pub-ro/uso/master/tema1/sound.h
Creați un fișier Makefile cu numele Makefile
in directorul task3
care generează executabilul fight
, folosind atât fișierul obiect light.o
, cât și fisierul obiect sound.o
obținut în urma compilării sursei sound.c
implementată anterior. La primirea oricăreia dintre comenzile make
sau make build
trebuie să se genereze fișierul executabil fight
.
Adăugați de asemenea o regulă numită optim
care să genereze un executabil optimizat la nivelul O2 (Hint man gcc
).
Adăugați o regulă în Makefile numită run
care recompilează întreg programul, dacă este cazul, iar apoi îl rulează. De asemenea, adăugați și o regulă clean
care șterge fișierele obiect create de voi și executabilul creat.
automatic variables
.
După rularea sudo uso check
veți găsi în directorul ~/uso
următoarele fișiere: timeline.txt
și edit_timeline.txt
. Scopul acestui exercițiu este de a vă familiariza cu editorul de text vim
. Va trebui să editați în vim
fișierul edit_timeline.txt
astfel încât să respecte următoarele criterii:
is
cu is sadly
(exact match is
).Sith
cu Sith(for now)
.BBY
în BeforeBY
.King
în text, notați numărul de apariții în fișierul /home/student/uso/info_text
, pe prima linie și înlocuiți cu MVP
în text.
Asigurați-vă că ați submis tema și ați încărcat codul aferent submisiei în formularul din secțiunea de Informații generale. Acest lucru este necesar ori de câte ori modificați tema și o submiteți din nou, până la termenul limită. În caz contrar, punctajul aferent temei va fi nul (0 puncte).