Homepage  Il progetto dsy.it è l'unofficial support site dei corsi di laurea del Dipartimento di Scienze dell'Informazione e del Dipartimento di Informatica e Comunicazione della Statale di Milano. E' un servizio degli studenti per gli studenti, curato in modo no-profit da un gruppo di essi. I nostri servizi comprendono aree di discussione per ogni Corso di Laurea, un'area download per lo scambio file, una raccolta di link e un motore di ricerca, il supporto agli studenti lavoratori, il forum hosting per Professori e studenti, i blog, e molto altro...
In questa sezione è indicizzato in textonly il contenuto del nostro forum


.dsy:it. .dsy:it. Archive > Didattica > Corsi N - Z > Sistemi operativi I
 
Laboratorio 2013
Clicca QUI per vedere il messaggio nel forum
teo85
per il laboratorio ora è cambiato il qemu....come devo fare per farlo funzionare su windows vista?

sera342
Ciao, sul sito di del laboratorio di quest'anno il professore a caricato, tra i vari file, i due nominati:

-Live CD Release Wed Mar 13 13:44:07 2013 +0100 812add2 (83MiB, SHA1:0bb739a3d5b1292c13d9b42f784c7f4ceccc0f82)
-Qemu per Windows 1.3.1 (12MiB)

Praticamente li scarichi, li metti nella stessa cartella, estrai Qemu e lo avvi cliccando su "unimilive-solab.bat".

Il tutto per far partire una macchina virtuale con sopra un sistema Debian personalizzato dal professore, con tutti i programmi necessari per il corso.
Il tutto è da linea di comando per mantenere la distribuzione il più leggera possibile.
A lezione a detto che parte anche da chiavetta USB se ci metti sopra entrambi i file.
Spero di essere stato chiaro e di aver risposto alla tua domanda, se ho capito male mi scuso per la risposta e aspetto delucidazioni.
Saluti Ste

teo85
grazie mille....ora cerchiamo di aiutarci per passare questa parte di laboratorio...voglio togliermelo dai c....i questo esame! come penso tutti quanti

Aldo_mi
Ciao, non riesco a seguire il laboratorio volevo chidere:
1) Ha detto qlk x la modalità della prova del esame lab? l'anno scorso era partizione del disco(minix), esercizio shell e un esercizio kernel per voto > 24.
2) qual editor di testo si usa per JOS? In minix si usava "elvis", "vi" ecc.

Grazie in anticipo.

sera342
Jos non è ancora stato affrontato, comunque il prof sulla sua distribuzione live di linux fa usare vi.
Per la modalità esatta dell'esame non pare abbia ancora detto qualcosa, si è capito che di sicuro c'è un esercizio sulla shell.
Magari altri sanno dirti di più.
Saluti Ste

Aldo_mi
Grazie mille!


Buon inizio di settimana!

Aldo

Aldo_mi
Ciao, qlk per caso ci puo fornire un riassunto simulazione d'esame fatto nell'ultima lezione? es commandi di partizionamento?
in minix si usava
#part /dev/c0d1
#part /dev/c0d1p3 dove questa veniva lasciata extended...
poi si creava il File System, montaggio ecc.
Ci potete dire qlk?
Grazie in anticipo!

teo85
si usa questo comando :

sudo -s

fdisk /dev/core

poi segui le istruzioni


io chiedo...

1)come si fa a salvare la partizione???

2)come si fa a creare file system ???

3) come si fa a montare file system ???

teo85
risolto!

xsia
condividi!!!!

Aikawa
allora, prima di tutto si crea il disco virtuale di 100M

poi si usa il comando fdisk per partizionarlo

fdisk /dev/sdb (noi usiamo sd'b' perché è il secondo disco)

poi da fdisk bisogna creare le vari partizioni del disco delle varie dimensioni specificate (il comando è 'n' per impostarlo)

Visto che però abbiamo 5 partizioni e inizialmente ne possiamo fare solo 4, la 4 la impostiamo come estesa.

una volta create le partizioni diamo ad ognuna di essa l'id del file system con il comando 't' (per verificare il codice dell'id possiamo usare il codice 'l')

una volta impostate le partizioni come vogliamo, salviamo col comando 'w'

usciti da fdsik, scriviamo il file system nella partizione richiesta (nell'esempio del prof è la quinta) con il comando

mkfs /dev/sdb5

poi lo montiamo

mount /dev/sdb5 /mnt

per smontarlo

umount /dev/sdb5

teo85
ok come dice lui poi devi fare

come c'e nel tema d'
desame di San Monga

if= input file
of =output file

dd if=/dev/zero of=/mnt/miofile bs=10 count=1264128

(qua parto da zero e creo su mnt mio file bs sta per blocksize )

poi fai dumpe2fs /dev/sda5 (partizione 4° la reale e quindi conti la 5° perché la 4°e estesa)

dumpe2fs /dev/sda5 | less (per vederlo a pezzi) ti interessa il campo freeblock

poi digiti solo sync

poi rm /mnt/miofile

poi rifaccio il comando dumpefs e vedi free block cambiato

infine fai

expr (freeblock1-freeblock2) e ottieni risultato

finito qua esercizio partizione....per la shell ora vi provo a mandare....

teo85
sda è il disco di persistence-jos.qcow
il sdb è il secondo disco che hai creato

per creare disco vai su

qemu-img.exe create miodisco (dimensionalo come vuoi)

poi lo metti sul file bat di qemu

Aikawa
Qualcuno ha fatto l'esercizio relativo al kernel?

Aggiungere un comando al monitor di JOS che permetta di tradurre un indirizzo virtuale nel suo corrispettivo fisico, se l'indirizzo virtuale è effettivamente mappato. La traduzione va effettuata in base alla Page Directory del kernel

Esempio: K> virt2phys 0xf01030ca
va 0xf01030ca -> pa 0x001030ca

Aikawa
Siamo riusciti a capire che bisogna modificare il file monitor.c e monitor.h dal kernel, ma non sappiamo come trattare l'indirizzo

E' abbastanza complicato :\
Qualche info?

Aikawa
passato :D

alberallo
Ciao a tutti,
spero che qualcuno possa aiutarmi perchè non riesco proprio a risolvere un problema che probabilmente è una gran cavolata.
Non riesco a capire perchè, seppure utilizzando l'iso messa a disposizione dal prof, quando provo ad utilizzare il comando fdisk mi compare un messaggio di errore che mi dice che il comando non è stato trovato. Mi sembra assurdo dato che nessun'altro ha qui ravvisato un problema simile. Vi prego aiutatemi!

Aikawa
comando : sudo -l

o altrimenti davanti al comando fdisk scrivi sudo

es "sudo fdisk"

oppure "sudo -l"

e poi dopo fai fdisk

(è un problema di modalità utente)

alberallo
Grande! Grazie mille!

programmer91
ciao, qualcuno sa come si faceva esattamente l'es di shell che è presente anche sul tema d'esame sul sito di lab di monga?

Aikawa
se non erro andava fatto così

find / -type f -name "*.c" -name "*.h" | xargs grep -oh -e "include" -e "define" | sort | uniq -c

Cri
scusate ma mi potreste dare dell'info sul laboratorio???
si usa ancora minix?

grazie

Aikawa
No, adesso si lavora sul kernel di jos.

Non so di quanto varia :)

alberallo
Ho concluso il lab1 ma non capisco come procedere ora.
Da quello che ho capito in qualche modo dovrei recuperare i file
kern / pmap.c
kern / pmap.h
kern / kclock.h
kern / kclock.c
prima di procedere allo svolgimento del lab 2 ma non riesco a capire come fare.
Qualcuno mi aiutiiii!

xsia
Originally posted by Aikawa
se non erro andava fatto così

find / -type f -name "*.c" -name "*.h" | xargs grep -oh -e "include" -e "define" | sort | uniq -c


E' una soluzione valida! Ma manca il parametro -o nel find altrimenti non va!

code:
find / -type f -name "*.c" -o -name "*.h"| xargs grep -oh -e "include" -e "define" | sort | uniq -c



Ma il professore ha consigliato qualche dispensa per il bash scripting?

gab217
Ciao ragazzi,
scusate una cosa per preparare il lab con la nuova modalità basta guardare le slide e fare parecchi es?

Grazie.

xsia
Originally posted by gab217
Ciao ragazzi,
scusate una cosa per preparare il lab con la nuova modalità basta guardare le slide e fare parecchi es?

Grazie.


per quanto riguardo l'esercizio di partizionamento è semplice e basta fare un pò di pratica con i programmi fdisk , mkfs, dd, mount, dumpe2fs (ho trovato poco nelle slide più in giro per la rete)

invece per l'esercizio di bash scripting è meglio guardarsi le slide che offrono un'infarinatura di base e fare un pò di esercizi con i programmi find, grep, stat, wc, cut ecc ecc insomma i gnu-coreutils.

Qui nel forum troverai parecchi esercizi con la soluzione.

Intanto vi scrivo il mio esercizio bash dell'esame di oggi.

code:
Calcolare il totale dello spazio occupato di tutti i file .h che hanno un numero di righe pari


lascio a voi trovare la soluzione!

gab217
Io stavo provando a fare questo es per esercitarmi:

trovare tutti i file *.h in /usr/include e ordinarli per numero di righe restituendo in output solo il percorso dei file

Il comando per risolvere secondo me è questo:

sudo find /usr/include -name "*.h" | xargs wc -l | head -n -1| sort -n | cut -d ' ' -f 6,7

Non capisco però perchè il cut genera delle righe vuote.

Qualcuno può spiegarmi ?

Grazie.

st1v
Ciao, non ho potuto frequentare il lab di quest'anno quindi mi affido a voi per un paio di domande di chiarimento...
Tema d'esame: https://mameli.docenti.di.unimi.it/...wiki/TemaDEsame

Allora, innanzitutto, creo l'immagine del disco da 100MB (forse dovrebbere essere formato .qcow tanto non chiede questo passaggio all'esame giusto?)

PHP:

qemu-img.exe create nuovo.disk 100M



Poi faccio partire unimilive-solab (modificata inserendo -hda nuovo.disk), mi si avvia quemu con su l'immagine debian del prof, e dalla shell faccio

PHP:

sudo -s
fdisk /dev/sda



Command n per creare la partizione
p primaria
first sector default
last sector gli devo dare la dimensione nella forma ad es. +10MB se la voglio creare di 10MB giusto? Non devo indicare il numero di settori a mano...

La 4^ partizione (estesa) quanto dovrebbe essere grande? se gli dò la somma della 5 e della 6 (20+20 MB) quando vado a creare la 6^ partizione logica (ovvero la 5^ dell'es.) mi dice "value out of range"...
Allora provo a dargli un valore maggiore di 40MB tipo 50 MB e riesco a creare tutte le partizioni.
Solo che se faccio cfdisk e guardo l'elenco delle partizioni le dimensioni non sono 10,25,15,20,20 MB ma 10,25,15.01,21.05,21.05 MB.... e all'inizio c'è 1.05 MB di "Unusable". E' normale?

Poi per il tipo di FS uso sempre fdisk e il comando 't' (SWAP sarebbe Linux swap quindi ID=82 e FAT32 ID=c giusto?)

Grazie mille!

gab217
Originally posted by st1v
Ciao, non ho potuto frequentare il lab di quest'anno quindi mi affido a voi per un paio di domande di chiarimento...
Tema d'esame: https://mameli.docenti.di.unimi.it/...wiki/TemaDEsame

Allora, innanzitutto, creo l'immagine del disco da 100MB (forse dovrebbere essere formato .qcow tanto non chiede questo passaggio all'esame giusto?)

PHP:

qemu-img.exe create nuovo.disk 100M



Poi faccio partire unimilive-solab (modificata inserendo -hda nuovo.disk), mi si avvia quemu con su l'immagine debian del prof, e dalla shell faccio

PHP:

sudo -s
fdisk /dev/sda



Command n per creare la partizione
p primaria
first sector default
last sector gli devo dare la dimensione nella forma ad es. +10MB se la voglio creare di 10MB giusto? Non devo indicare il numero di settori a mano...

La 4^ partizione (estesa) quanto dovrebbe essere grande? se gli dò la somma della 5 e della 6 (20+20 MB) quando vado a creare la 6^ partizione logica (ovvero la 5^ dell'es.) mi dice "value out of range"...
Allora provo a dargli un valore maggiore di 40MB tipo 50 MB e riesco a creare tutte le partizioni.
Solo che se faccio cfdisk e guardo l'elenco delle partizioni le dimensioni non sono 10,25,15,20,20 MB ma 10,25,15.01,21.05,21.05 MB.... e all'inizio c'è 1.05 MB di "Unusable". E' normale?

Poi per il tipo di FS uso sempre fdisk e il comando 't' (SWAP sarebbe Linux swap quindi ID=82 e FAT32 ID=c giusto?)

Grazie mille!


Ciao pure io sto preparando il lab senza aver seguito le lezioni, per quanto riguarda creare l'immagine del disco e corretto ma non la chiede perchè all'esame parte direttamente con la shell di qemu aperta. Io poi ho provato a modificare sul bat per vedere il disco ma non ci sono riuscito, ti posso chiedere tu cosa hai modificato? Io solitamente la partizione estesa la faccio più grande rispetto alla somma, linux swap è corretto e per FAT32 io uso o b o c.

st1v
in che senso "ho provato a modificare sul bat per vedere il disco ma non ci sono riuscito"? praticamente ho aggiunto una riga

PHP:

^-hda nuovo.disk



(o qulunque nome gli hai dato all'hard disk che hai creato con qemu-img.exe) dopo ^-cdrom solab.iso nel file .bat

gab217
Originally posted by st1v
in che senso "ho provato a modificare sul bat per vedere il disco ma non ci sono riuscito"? praticamente ho aggiunto una riga

PHP:

^-hda nuovo.disk



(o qulunque nome gli hai dato all'hard disk che hai creato con qemu-img.exe) dopo ^-cdrom solab.iso nel file .bat


Che pure io ho fatto lo stesso ma poi quando il lancio il .bat e faccio fdisk -l continuo a non vedere il disco

st1v
hai fatto sudo -s come prima cosa?

gab217
Originally posted by st1v
hai fatto sudo -s come prima cosa?


Si si certo però non vedo proprio nessun disco.

gab217
Originally posted by gab217
Si si certo però non vedo proprio nessun disco.


Risolto.

luolz
Originally posted by xsia
per quanto riguardo l'esercizio di partizionamento è semplice e basta fare un pò di pratica con i programmi fdisk , mkfs, dd, mount, dumpe2fs (ho trovato poco nelle slide più in giro per la rete)

invece per l'esercizio di bash scripting è meglio guardarsi le slide che offrono un'infarinatura di base e fare un pò di esercizi con i programmi find, grep, stat, wc, cut ecc ecc insomma i gnu-coreutils.

Qui nel forum troverai parecchi esercizi con la soluzione.

Intanto vi scrivo il mio esercizio bash dell'esame di oggi.

code:
Calcolare il totale dello spazio occupato di tutti i file .h che hanno un numero di righe pari


lascio a voi trovare la soluzione!


come si risolve un esercizio del genere?!
ma si può fare affidamento anche ai file .sh o bisogna fare tutto con una "sola" riga di comando?

non mi è chiaro come trovare i file con un numero di righe pari, o per lo meno come capire quali dei file che passo a wc hanno righe pari...

programmer91
Bè a casa puoi fare un pò come vuoi non è importante, all'esame dato che devi far vedere al prof l'es devi farti uno script con i vari comandi e salvarlo in modo che il prof lo possa correggere e vedere se funziona...sennò è un bel casino.
Per quanto riguarda gli esercizi di shell scripting, all'inizio sono abbastanza rognosi e difficili da capire, ma se ti vedi un pò le slide, e un pò questo file che stò per metterti per non farti cercare altrove, e fai un pò di esercizi magari cercando anche i vari comandi con tutte le opzioni, o guardando con man comando tutte le varie opzioni, riuscirai a capire come fare l'es.
se ricordo bene per vedere lo spazio occupato bisogna usare df o du, dovrebbe esseci comunque un es simile nella dispensa che ho updato. Nel caso, darò un'occhiata all'es, se ti serve, ciao.

delca85
Io farei così l'esercizio del calcolo dello spazio totale occupato da tutti i file .h con numero di righe pari:
code:
SUM=0; find -type f -name '*.h' | while read x; do y=wc -l $x; if test $(expr $y %2) -ne 1; then SUM=$(expr $(du $x | cut -f 1) + $SUM); fi; done; echo $SUM


Spero di non aver scritto grosse stupidaggini perché non ho un PC per vedere se la mia soluzione funzioni o no!

Ecco come ho risolto l'esercizio alla fine:
code:
SUM=0 for x in $(find / -type f -name '*.h'); do if test $(expr $(wc -l | cut -d ' ' -f1) % 2) -ne 1; then SUM=$SUM + $(du $x | cut -f1); fi; done; echo $SUM


delca85
Originally posted by gab217
Che pure io ho fatto lo stesso ma poi quando il lancio il .bat e faccio fdisk -l continuo a non vedere il disco


Scusate la domanda, probabilmente stupida, ma, una volta che ho creato il nuovo disco,non posso far partire qemu con -hda nuovodisco.img subito dopo -cdrom solab.iso, senza modificare alcun file bat?

Grazie a tutti per l'attenzione!

Maverick21
Salve a tutti, una domanda, l'esame di Laboratorio è rimasto di 3 esercizi di cui i primi due su Partizionamento e Shell e il terzo facoltativo (per ottenere voti superiori al 24) su Jos?

Maverick21
Salve a tutti, una domanda, l'esame di Laboratorio è rimasto di 3 esercizi di cui i primi due su Partizionamento e Shell e il terzo facoltativo (per ottenere voti superiori al 24) su Jos?

st1v
Penso proprio di sì

Maverick21
E qualcuno sa dove trovare degli esempi oltre a quello pubblicato da Monga per l'esame del 6?

ste89
Ciao a tutti, sto svolgendo il tema di esame presente sul sito di laboratorio.

Nel primo esercizio chiede di creare 5 partizioni, ovviamente non è possibile crearle tutte primarie.
Io ho creato le prime tre partizioni primarie (swap, FAT32, FAT32), poi ho creato una partizione estesa in /sdb4 e poi come 5 e 6 ho creato le partizioni logiche Linux e FAT32. Questo procedimento è corretto o esiste una soluzione migliore?

Inoltre, per la seconda parte dell'esercizio, io ho creato il file di 12641280 byte

Ma quando chiede: Un i-node ha 12 zone dirette, i blocchi sono da 1024 e ogni blocco e` indirizzato da 32 bit: quanti blocchi occupa?

per farlo con il comando dumpe2fs, seguendo il procedimento mostrato a pagina 1 della discussione il risultato è: 12395?
E come si fa per calcolarlo "a mano"?

Aldo_mi
@Maverick21

http://www.dsy.it/forum/showthread....&threadid=31182

gab217
Qualcuno prepara il lab per gennaio?

thirdmoon030
Io lo sto preparando ma sono ancora in alto mare... diciamo che sto iniziando in questo momento. se ti va possiamo rimanere in contatto se mi contatti in PVT ti do skype e email

gab217
Per la parte di jos, avete utilizzato qualche dispensa particolare?

Aldo_mi
Ciao ragazzi!
Nell'esercizio 1 come risolvete la seconda parte es
https://mameli.docenti.di.unimi.it/...wiki/TemaDEsame
Un i-node ha 12 zone dirette, i blocchi sono da 1024 e ogni blocco e` indirizzato da 32 bit: quanti blocchi occupa? La soluzione e` facilmente ricavabile tramite il programma dumpe2fs, nel caso invece si voglia calcolare il risultato riportare qui i passaggi.
Avete un idea come si fa?
Grazie in anticipo! :)

thirdmoon030
Aldo sei riuscito a risolvere poi?

thirdmoon030
Ciao a tutti, qualcuno ha trovato le soluzioni per i primi due esercizi?

Edit: domanda 2: qualcuno sa come avviene la valutazione? cioè il prof come fa a vedere se abbiamo fatto giusto? gli esercizi vengono corretti subito o bisogna aspettare i risultati?

st1v
controlla il primo subito dopo che l'hai fatto, se l'hai fatto been ti dà il foglio x il 2° e così per il 3° esercizio (quello sulla shell)

thirdmoon030
ultima domanda chiarificatrice, gli esercizi sono simili al tema d'esame che c'è sul sito o cambiano?

edit: ma nn è il secondo esercizio quello sulla shell? tu l'hai già fatto?

thirdmoon030
Ultima domanda dettata dalla paranoia dell'esame di domani:
- quando creo il file, se nel fs la gradezza del blocco è 1024 devo mettere bs=1024 e count=bytes/bs ?

Powered by: vbHome (lite) v4.1 and vBulletin v2.3.1 - Copyright ©2000 - 2002, Jelsoft Enterprises Limited
Mantained by dsy crew (email) | Collabora con noi | Segnalaci un bug | Archive | Regolamento |Licenze | Thanks | Syndacate