Table of Contents

Devoir - Variante Simplifiée

Informations générales

Date limite: Le 3 juin, 23h59
Télécharger en retard: 1 point / jour (maximum 4 jours)

Connaissances évaluées

Copier

Le thème est résolu individuellement. Toute tentative de copie entraînera 0p pour ce devoir. Nous utiliserons également des systèmes de détection de copie automatique. Si nous avons des doutes, nous vous poserons des questions supplémentaires sur le sujet.

Questions

Si vous avez des questions sur le sujet, veuillez écrire un problème dans le référentiel github repository avec le titre du formulaire [uso] < le titre de votre question> . Vous avez besoin d'un compte github pour écrire des questions.

NE PAS PUBLIER LA SOURCE DU CODE . Ce sera considéré comme une copie et sera pénalisé avec 0p sur le devoir pour vous.

Si vous souhaitez recevoir un courrier électronique lorsque de nouvelles questions sont posées ou que des réponses sont fournies, accédez à github repository et cliquez sur Regarder .

Tester et finaliser le devoir

Le compte de la machine virtuelle est student avec le mot de passe student et dispose des autorisations sudo.

Le test du thème se fera uniquement sur la machine virtuelle authentifiée en tant qu'utilisateur student, à l'aide de l'utilitaire uso. Il peut être exécuté à tout moment pour vérifier si les tâches ont été résolues correctement. Ne travaillez pas connecté en tant qu'utilisateur root sur le système, sur n'importe quel sujet. Pour cette raison, il est possible que vous ne réussissiez pas les tests. D'un autre côté, ce n'est pas une méthode sûre de travailler en tant qu'utilisateur root pour des raisons de sécurité et/ou d'autorisation.

L'utilitaire uso implémente des tests uniquement pour les tâches du thème courant. A chaque nouveau thème, pour utiliser l'utilitaire uso, la première étape consiste à démarrer le devoir à l'aide de la commande sudo uso start <theme_number>. Sinon, vous n'aurez pas mis à jour le vérificateur pour le devoir actuel.

Vérifiez le vérificateur de version, affiché lors de l'exécution de la commande sudo uso version. Assurez-vous d'avoir la dernière version avant de continuer à travailler sur le devoir. La version actuelle est spécifiée dans la section Informations générales présente dans la déclaration de devoir. Dans les situations où vous ne disposez pas de la dernière version du vérificateur, exécutez sudo uso update.

Finalisation du devoir se fait en exécutant la commande sudo uso submit.

Certains scores de l'exigence de thème ne correspondent pas à ceux de la machine virtuelle qui sont affichés après la commande sudo uso check. Les scores seront calculés conformément à ceux de votre relevé. De plus, les tâches au sein de la machine virtuelle qui correspondent à vos tâches sont : 1, 2, 3, 4, 6 et 7.

Tâches

I

Tâche 1 (0p)

La machine virtuelle USO La première étape consiste à exécuter la machine virtuelle.

La machine à devoirs virtuelle se trouve sur le lien: Machine virtuelle Le nom et le mot de passe pour accéder au lien ci-dessus sont ceux du Moodle.

Correspondance des scores entre le relevé et ceux du vérificateur :

  • Tâche 3 - relevé 20p → machine virtuelle 10p
  • Tâche 4 - relevé 12p → machine virtuelle 10p
  • Tâche 5 - relevé 20p → machine virtuelle 8p (Tâche 6)
  • Tâche 6 → Tâche 7

Vérifiez votre connexion Internet en envoyant un ping à un site et en vérifiant que le site répond (Indice : man ping)

Pour résoudre les devoirs, vous avez toujours besoin d'une connexion Internet à l'intérieur de la machine virtuelle, mais résoudre les devoirs ne nécessite pas une connexion Internet permanente. Ne continuez pas tant que vous n'êtes pas sûr de pouvoir accéder à Internet depuis l'intérieur de la machine virtuelle !

Tâche 2 (0p)

À ce moment, la machine virtuelle a accès à Internet et la machine physique (hôte) peut communiquer avec la machine virtuelle (invité). La machine virtuelle peut démarrer assez longtemps, jusqu'à 120 secondes. La machine virtuelle a une règle de transfert de port qui permet une connexion facile entre la machine physique et la machine virtuelle.

Tâche 3 (0p)

Le devoir est vérifié automatiquement à l'aide d'un vérificateur, installé sur la machine virtuelle USO, sous la forme de l'exécutable uso. Le vérificateur doit être exécuté dans un terminal et nécessite des droits privilégiés (sudo). Lisez comment vous pouvez utiliser l'utilitaire uso conformément aux instructions d'utilisation.

Pour pouvoir travailler sur un sujet et envoyer la solution, vous devez vous connecter avec le nom d'utilisateur et le mot de passe de http://curs.upb.ro à l'adresse https://temeuso.cs.pub.ro.

Ne continuez pas tant que vous ne vous êtes pas connecté sur https://temeuso.cs.pub.ro.

Après cela, nous devrons utiliser l'utilitaire uso et les instructions fournies par cette commande dans le terminal pour associer la machine virtuelle à votre compte.

Pour commencer, nous allons exécuter depuis le terminal :

student@vm-uso ~ $ sudo uso

ATTENTION!!! Toutes les touches saisies à partir du clavier dans la machine virtuelle sont enregistrées. Évitez d'y saisir tout type de mots de passe ou de données sensibles/personnelles.

Après l'enregistrement (suivez les étapes dans la machine virtuelle), commencez à travailler sur Tema 1.

student@vm-uso ~ $ sudo uso start 1

Pour vérifier si le thème s'exécute correctement, exécutez le checker.

student@vm-uso ~ $ sudo uso check

II

Tâche 1 (26p)

Vous devez créer la structure suivante dans ~ :

Facultatea de Automatica si Calculatoare/
|----- Anul 1/
|       |----- Utilizarea sistemelor de operare/
|       |      |-----Sisteme de fisiere
|       |      |-----Instalarea si utilizarea aplicatiilor
|       |      |-----Investigare > securitatea sistemului  
|       |----- Programarea calculatoarelor/
|       |      |-----Instructiunile limbajului C/
|       |      |-----Alocarea dinamica a memoriei.c/
|       |      |      |----- Vectori.c
|       |      |      |----- Matrice.c
|       |      |-----Parametrii liniei de comanda`/
|       |      |      |----- Preprocesorul
|       |      |      |----- Vectori.cpp
|       |      |      |----- Blocuri.c
|       |----- Proiectare logica/
|              |-----Logica combinationala/
|              |-----$Logica secventiala$/
|----- Anul 2/
|        |----- Programare orientata pe obiecte/
|        |       |----- | Constructori | si referinte
|        |       |----- Mostenire\/
|        |----- IOCLA/
|        |----- Teoria sistemelor/
|----- Anul 3/
|----- Anul 4/

Les répertoires ont après leur nom le caractere /.

La notation est fournie des dossiers racine aux feuilles. Cela signifie que vous pouvez faire en sorte que certains dossiers ou fichiers soient dans la structure et que le vérificateur ne les marque pas à moins que vous ne fassiez la structure dans un certain ordre. Il n'y a pas de problème. Tant que toute la structure sera créée, vous pouvez créer les fichiers ou les dossiers dans l'ordre de votre choix et vous obtiendrez un score maximum.

Tâche 2 (12p)

Etant dans le répertoire de la Facultatea de Automatica si Calculatoare, utilisez une seule commande pour chacune des exigences de cette tâche :

2p Faites une copie du répertoire Programarea Calculatoarelor (avec tout ce qu'il contient) nommé Copie PC et placez-le en tant que descendant direct du dossier Facultatea de Automatica si Calculatoare.

10p Les exigences suivantes se réfèrent au répertoire Copie PC (ne changez pas le répertoire dans lequel vous vous trouvez) :

  1. Copiez les fichiers Vectori.c et Matrice.c du répertoire Alocarea dinamica a memoriei.c et placez ces copies dans le dossier Instructiunile limbajului C ;
  2. Renommez le fichier Vectori.c dans le dossier Instructiunile limbajului C en Arrays.c ;
  3. Supprimez le dossier Parametrii liniei de comanda ;
  4. Ajouter le fichier | Segmentation Fault dans le répertoire Alocarea dinamica a memoriei.c ;
  5. Supprimez le fichier Matrice.c du répertoire Alocarea dinamica a memoriei.c ;

Les exigences ci-dessus doivent être résolues dans l'ordre.

Après avoir résolu les exigences de cette tâche, ne supprimez ni ne modifiez le contenu du répertoire ~/Facultatea de Automatică și Calculatoare/Copie PC/. Il doit rester sous cette forme pour les contrôles ultérieurs par le vérificateur. Vous perdrez les points gagnés pour cette tâche si vous apportez des modifications et la tâche devra être refaite.

Tâche 3 (20p)

Les sous-éléments suivants doivent être remplis afin de recevoir le score pour cette tâche.

10p Créez dans le répertoire /home/student le répertoire caché - Teme USO. Dans ce répertoire, créez trois fichiers cachés intitulés : prima parte, a doua parte et a treia parte. Dans chacun des fichiers mentionnés précédemment, écrivez le texte Aceasta este X din tema curenta., où X représente le nom du fichier où se trouve le texte.

10p Dans le répertoire /home/student, créez le fichier task_3.txt dans lequel vous joignez sur une ligne distincte le contenu des 3 fichiers créés dans la sous-section précédente (dans l'ordre dans lequel ils sont mentionnés précédemment).

Hint: Hint: append to file (»)

Tâche 4 (12p)

Un lien est un raccourci vers un fichier ou un répertoire. Ceux-ci sont nécessaires lorsque nous ne voulons pas parcourir toute la hiérarchie des fichiers.

Pour obtenir des points, vous devez suivre les tâches dans l'ordre!

6p Créez dans le répertoire /home/student deux liens symboliques avec les noms partea1 et partea2 qui mènent au fichier caché prima partee et a doua parte, respectivement, correspondant à la tâche précédente.

6p Pour vérifier le bon fonctionnement des liens symboliques précédemment créés, dans le fichier task_4.txt (fait par vous dans /home/student) joignez le contenu des deux fichiers un par un via les deux liens créés.

Tâche 5 (20p)

Dans le répertoire /home/student, procédez comme suit :

10p Ajoutez le répertoire Facultatea de Automatica si Calculatoare et tous les fichiers contenus dans deux archives nommées respectivement archive1.tar et archive2.tar, de type tar ;

Après avoir résolu les exigences de cette tâche, ne supprimez ni ne modifiez le contenu du répertoire ~/Facultatea de Automatica si Calculatoare/. Il doit rester sous cette forme pour les contrôles ultérieurs par le contrôleur. Vous perdrez les points gagnés pour la tâche 1 si vous apportez des modifications et la tâche devra être refaite.

10p Faire une compression tar.gz du répertoire de la Facultatea de Automatica si Calculatoare et de tous les fichiers contenus dans une nouvelle archive nommée archive1.tar.gz (ne pas supprimer l'archive créée au point 1).

Hint pour 1 et 2: la commande tar. Pour plus des details utilisez man tar.

Tâche 6 (10p)

5p Recherchez tous les fichiers (sans répertoires) se terminant par .c à partir de /home/student et redirigez tous les chemins vers le fichier cautare.txt. Il doit également être dans /home/student ;

Hint: la commande find. Pour plus des details utilisez man find.

5p Ajoutez une ligne à la fois au fichier final.txt le chemin d'accès aux utilitaires : cat, rm et vim (dans cet ordre). Ce fichier doit également être dans /home/student ;

Tâche 7 (0p)

Finissez les tâches.

student@usohomework ~ $ sudo uso submit