User Tools

Site Tools


os:lab01
Return to Home page

Differences

This shows you the differences between two versions of the page.

Link to this comparison view

Both sides previous revision Previous revision
Next revision
Previous revision
os:lab01 [2019/07/01 08:25]
zioskenz [Esercise 03: Link and comparisons between files]
os:lab01 [2019/08/20 00:30] (current)
zioskenz [Esercise 03: Link and comparisons between files]
Line 73: Line 73:
     * How do you expect information related to the size and the date of last modification of the file will be changed? Why?     * How do you expect information related to the size and the date of last modification of the file will be changed? Why?
     * Verify your answer using the command ''​ls -l''​     * Verify your answer using the command ''​ls -l''​
-    * Quali modifiche ci si aspetta riguardo al contenuto +    * What changes are expected regarding the content of the filesWhy
-    dei filePerche'​+    * Check the response by comparing the three files created with the original one. Use again the ''diff''​ command. 
-    * Verificare la risposta confrontando nuovamente i tre +  * Rename the file ''​lab01e03in.txt'' ​in ''​lab01e03in.backup''​ 
-    file creati con l'originale mediante il comando ​diff +    * What can you see now from the output of the ''​ls -l''​ command
-  * Rinominare il file "lab01e03in.txt" ​in "lab01e03in.backup" +    * Compare the content of the file ''​lab01e03in.backup''​ with the content of the files ''​lab01e03in.hl''​ and ''​lab01e03in.sl''​. Why in the second case do you obtain an error message
-    * Che cosa si puo' ​notare ora dall'output del comando ​ls -l? +  * Create a new empty file named ''​lab01e03in.txt''​ 
-    * Confrontare il contenuto del file "lab01e03in.backup" con +    * What is the current expected content of the file ''​lab01e03in.sl'​'? Why
-    quello dei file "lab01e03in.hl" e "lab01e03in.sl". +    * Check with the command ''​cat''​
-    Perche' ​nel secondo caso si ottiene un messaggio d'errore+
-  * Creare un nuovo file vuoto di nome "lab01e03in.txt" +
-    * Quale ci si aspetta sia diventato ora il contenuto del +
-    ​file "lab01e03in.sl"? Perche'? +
-    * Verificare mediante il comando ​cat+
  
-Osservazione +**Observation:​**\\ 
-------------+The command\\ 
 +''​touch <​nomefile>''​\\ 
 +allows to update date and time of the last modification performed on a file.\\ 
 +In the case the specified file does not exist, it creates an empty file with that name.
  
-Il comando 
-touch <​nomefile>​ 
-permette di aggiornare la data e ora di ultima modifica di un 
-file. 
-Nel caso in cui il file specificato non esista crea un file vuoto 
-con quel nome. 
  
 +==== Exercise 04: C programs and compilation ====
  
-==== Esercizio 04Programmi C compilazione ====+Perform the following tasks using: 
 +  * an editor of your choice (e.g., ''​vim'',​ ''​emacs'',​ ''​gedit'',​ etc.) 
 +  * the ''​gcc''​ compiler (alternatively use an IDE of your choice, e.g., CodeBlocks).
  
-Svolgere i seguenti compiti utilizzando:​ +=== Part 01 === 
-- un editor ​scelta +Write C language program that, using the ANSI C I/O primitives ​(''​fgetc''/''​fputc''​''​fscanf''/''​fprint''​,''​fget''/''​fputs''​ of your choice), is able to copy a text file to an identical file.\\ 
-- il compilatore GDB +The name of the two files is received on the command line, so that the program can be executed using a command that specifies three parameters:​\\ 
-(in alternativa utilizzare un IDE a sceltae.g.CodeBlocks).+''​nameExcutable sourceFile destinationFile''​
  
-=== Parte 01 === +=== Part 02 === 
-  ​Scrivere un programma in linguaggio C cheutilizzando le primitive +Compile the source files using ''​gcc''​ 
-  ​di I/O ANSI C (fgetc/fputc, fscanf/fprint, fget/fputs scelta), sia +  ​* Eliminate possible warnings.\\ 
-  in grado di copiare un file di testo in file identico+  * Try to compile the file by directly generating the executableor first the object code and then the executable. 
-  ​Il nome due file sia ricevuto sulla riga di comando, in modo che +  ​* Run the program using the [[https://www.skenz.it/listing/os/​lab/​lab01e01in.txt|lab01e01in.txt]] file as test file. 
-  il programma possa essere eseguito mediante un comando che specifica +  ​* Verify the program using as program arguments both //relative paths// and //absolute paths// to specify input and output files. 
-  ​tre parametri:​ +  ​* Verify the correct copy of the files (i.e., ''​sourceFile''​ and ''​destinationFile''​ must be identic) using the shell command ''​diff''​.
-  nomeEseguibile fileSorgente fileDestinazione+
  
-=== Parte 02 === +=== Part 03 === 
-  Compilare il file mediante gcc, eliminando eventuali warning. +Come si comporta il programma scritto se si cerca di copiare un file binario? 
-  Si provi la compilazione generando direttamente l'​eseguibile oppure +  ​Si utilizzi il file oggetto o il file eseguibile del programma scritto per effettuare una verifica. 
-  prima il codice oggetto e poi l'​eseguibile. +  ​Provarne il corretto funzionamento mediante diff.
- +
-  Si esegua il programma utilizzando il file lab01e01in.txt come file +
-  di prova. +
-  Si verifichi l'​inserzione tra i parametri sia di path relativi sia +
-  di path assoluti per la specifica dei file di I/O. +
-  Verificare la corretta ri-copiatura del file (in un file identico) +
-  mediante il comando di shell "​diff"​. +
- +
-=== Parte 03 === +
-  Come si comporta il programma scritto se si cerca di copiare un +
-  ​file binario? +
-  Si utilizzi il file oggetto o il file eseguibile del programma +
-  ​scritto per effettuare una verifica. +
-  Provarne il corretto funzionamento mediante diff.+
   ​   ​
-=== Parte 04 === +=== Part 04 === 
-  Modificare il programma utilizzando +Modificare il programma utilizzando 
-  ​le funzioni ANSI C fread e fwrite (opzionale) +  ​le funzioni ANSI C fread e fwrite (opzionale) 
-  e quindi +e quindi 
-  ​le system call POSIX open, read, write e close. +  ​le system call POSIX open, read, write e close. 
-  Provarne il corretto funzionamento mediante diff.+  ​Provarne il corretto funzionamento mediante diff.
  
  

If you found any error, or if you want to partecipate to the editing of this wiki, please contact: admin [at] skenz.it

You can reuse, distribute or modify the content of this page, but you must cite in any document (or webpage) this url: https://www.skenz.it/os/lab01?rev=1561962338&do=diff
/web/htdocs/www.skenz.it/home/data/attic/os/lab01.1561962338.txt.gz · Last modified: 2019/07/01 08:25 by zioskenz

Privacy Policy