- Messaggi: 62
- Ringraziamenti ricevuti 0
LINUX AVANZATO 2007
- COM_EASYSOCIAL_GUEST_NAME
-
- Visitatori
-
18 Anni 2 Mesi fa #53994
da COM_EASYSOCIAL_GUEST_NAME
Risposta da COM_EASYSOCIAL_GUEST_NAME al topic LINUX AVANZATO 2007
Ah non avevo letto bene l'argomento del while()! 
Ok allora bravissimo!
Ok allora bravissimo!
Si prega Accedi o Crea un account a partecipare alla conversazione.
- chiara sabbatella
-
- Offline
- Senior Member
-
Riduci
Di più
18 Anni 2 Mesi fa #54035
da chiara sabbatella
Risposta da chiara sabbatella al topic LINUX AVANZATO 2007
Pareva abbastanza tranquillo l'orale di oggi e non si è distaccato troppo da quelli che sono gli argomenti delle dispense (cosa che invece aveva anche fatto!!!)
Cmq ha chiesto:
-sw timer
-page cache, FVS, slab (ma nn il codice, ha chiesto i campi + importanti delle strutture che servono a implementare sta roba, nn i nomi ma + che altro a che servono)
-sezioni init
-init del kernel (la summary_start_linux basta pure, anche se qualche piccolo riferimento alla disp. start_linux grossa lo ha fatto)
-sys_open(TUTTO, ma col codice davanti da commentare)
-i moduli
-il linkaggio (ditegli che sono 3, statico, dinamico, con dlopen)
-spazio indirizzi del processo (da sistemi operativi)
In generale non mi pare altra roba. Questa è la circa la roba che ha chiesto in 4 esami.
Ha fatto anche qualche domanda che sulle dispense non c è, ma a persone che hanno preso 30.....evidentemente per mettere la lode...penso....
Ciao!
Cmq ha chiesto:
-sw timer
-page cache, FVS, slab (ma nn il codice, ha chiesto i campi + importanti delle strutture che servono a implementare sta roba, nn i nomi ma + che altro a che servono)
-sezioni init
-init del kernel (la summary_start_linux basta pure, anche se qualche piccolo riferimento alla disp. start_linux grossa lo ha fatto)
-sys_open(TUTTO, ma col codice davanti da commentare)
-i moduli
-il linkaggio (ditegli che sono 3, statico, dinamico, con dlopen)
-spazio indirizzi del processo (da sistemi operativi)
In generale non mi pare altra roba. Questa è la circa la roba che ha chiesto in 4 esami.
Ha fatto anche qualche domanda che sulle dispense non c è, ma a persone che hanno preso 30.....evidentemente per mettere la lode...penso....
Ciao!
Si prega Accedi o Crea un account a partecipare alla conversazione.
- COM_EASYSOCIAL_GUEST_NAME
-
- Visitatori
-
18 Anni 2 Mesi fa #54041
da COM_EASYSOCIAL_GUEST_NAME
Sarò anche bravissimo ma quello che dice il prof, a meno che non abbia capito bene io, non è possibile che accada.
Utilizzando anche l'esempio che ha fatto lui, applicando la stessa permutazione a temp_crypt non viene affatto abcdefgh (ovvero il contenuto del file di partenza) ma cdabghef.....
Boh!
Risposta da COM_EASYSOCIAL_GUEST_NAME al topic LINUX AVANZATO 2007
Ah non avevo letto bene l'argomento del while()!
Ok allora bravissimo!
Sarò anche bravissimo ma quello che dice il prof, a meno che non abbia capito bene io, non è possibile che accada.
Utilizzando anche l'esempio che ha fatto lui, applicando la stessa permutazione a temp_crypt non viene affatto abcdefgh (ovvero il contenuto del file di partenza) ma cdabghef.....
Boh!
Si prega Accedi o Crea un account a partecipare alla conversazione.
- COM_EASYSOCIAL_GUEST_NAME
-
- Visitatori
-
18 Anni 2 Mesi fa #54064
da COM_EASYSOCIAL_GUEST_NAME
Risposta da COM_EASYSOCIAL_GUEST_NAME al topic LINUX AVANZATO 2007
Beh si in realtà tu nella fasi di decriptaggio è come se riapplicassi il criptaggio al file gia criptato. E questa cosa non è detto che ti faccia ritornare all'originale (possono capitare delle permutazione che invece lo fanno capitare applicando un secondo criptaggio...). Tu nella fase di decrypt non devi applicare un'altra volta l'algoritmo del criptaggio! Devi fare l'inverso! se hai una permutazione 3 1 0 2, allora dal file criptato, significa che il il primo byte sta nella posizione 3, il secondo nella posizione 1, ecc...
Quindi la parte di codice in cui decripti modificala a dovere.
Basta che ci metti un bel lseek e passa la paura
Comunque parecchi hanno perso parecchio tempo sulla fase di decriptaggio.
Quindi la parte di codice in cui decripti modificala a dovere.
Basta che ci metti un bel lseek e passa la paura
Comunque parecchi hanno perso parecchio tempo sulla fase di decriptaggio.
Si prega Accedi o Crea un account a partecipare alla conversazione.
- nicola bocchini
-
- Offline
- New Member
-
Riduci
Di più
- Messaggi: 5
- Ringraziamenti ricevuti 0
18 Anni 2 Mesi fa #54080
da nicola bocchini
Risposta da nicola bocchini al topic LINUX AVANZATO 2007
Ciao ecco le domande che mi ha fatto all'orale
- Makefile (descrizione. Lui vuole sapere la sua utilità: ossia il fatto che controlla i file da compilare, e se sono stati modificati li ricompila altrimenti no)
- Come un file assembler richiama una funzione C
- Poi mi ha chiesto la funzione find_cache_page (me pare) da commentare in dettaglio guardando il codice. In realtà regà tocca farsi bene il codice di tutte le funzioni più importanti perchè lo chiede, ed io questa funzione non l'avevo proprio guardata pur sapendo quello che faceva a grandi linee.
In bocca a lupo a tutti!
- Makefile (descrizione. Lui vuole sapere la sua utilità: ossia il fatto che controlla i file da compilare, e se sono stati modificati li ricompila altrimenti no)
- Come un file assembler richiama una funzione C
- Poi mi ha chiesto la funzione find_cache_page (me pare) da commentare in dettaglio guardando il codice. In realtà regà tocca farsi bene il codice di tutte le funzioni più importanti perchè lo chiede, ed io questa funzione non l'avevo proprio guardata pur sapendo quello che faceva a grandi linee.
In bocca a lupo a tutti!
Si prega Accedi o Crea un account a partecipare alla conversazione.
- COM_EASYSOCIAL_GUEST_NAME
-
- Visitatori
-
18 Anni 2 Mesi fa #54094
da COM_EASYSOCIAL_GUEST_NAME
Risposta da COM_EASYSOCIAL_GUEST_NAME al topic LINUX AVANZATO 2007
Ho risolto, ora funziona correttamente tutto quanto.
Un grosso in bocca al lupo a chi deve fare la prova oggi!!!!
#include <stdio.h>
#include <stdlib.h>
#include <sys/types.h>
#include <unistd.h>
#include <sys/stat.h>
#include <fcntl.h>
#include <string.h>
int main(int argc, char **argv){
char *filename = argv[1];
int N = atoi(argv[2]);
int i;
//genero permutazione casuale di numeri compresi tra 0 e N - 1
int permutazione[N];
srand(time(NULL));
int perm = rand() % N;
permutazione[0] = perm;
for(i = 1; i < N; i++){
while(1){
perm = rand() % N;
int j;
for(j = 0; j < i; j++){
if(perm != permutazione[j])
continue;
else break;
}
if(j == i){
permutazione[i] = perm;
break;
}
}
}
for(i = 0; i < N; i++)
printf("%d\n", permutazione[i]);
//apro i files
char *filename2;
strcpy(filename2, filename);
int fd = open(filename, O_RDONLY);
if(fd < 0){
printf("Errore nell'apertura del file %s!!\n", filename);
exit(1);
}
char *suffix = "_crypt";
strcat(filename, suffix);
int fd1 = open(filename, O_CREAT|O_RDWR);
if(fd1 < 0){
printf("Errore nell'apertura del file %s!!\n", filename);
exit(1);
}
suffix = "_decrypt";
strcat(filename2, suffix);
int fd2 = open(filename2, O_CREAT|O_WRONLY);
if(fd2 < 0){
printf("Errore nell'apertura del file %s!!\n", filename2);
exit(1);
}
//cripto
int nread;
char buf[N];
int num;
while((nread = read(fd, buf, N)) == N){
for(i = 0; i < N; i++){
num = permutazione[i];
write(fd1, &buf[num], 1);
}
}
//decripto
int block_number = 0;
lseek(fd1, 0, SEEK_SET);
while(nread = read(fd1, buf, N) == N){
for(i = 0; i < N; i++){
num = permutazione[i];
lseek(fd2, num + (N * block_number), SEEK_SET);
write(fd2, &buf[i], 1);
}
block_number++;
}
close(fd);
close(fd1);
close(fd2);
return 0;
}Un grosso in bocca al lupo a chi deve fare la prova oggi!!!!
Si prega Accedi o Crea un account a partecipare alla conversazione.