Ved å logge deg inn på https://guacamole.cs.oslomet.no/guacamole med ditt vanlige OsloMet brukernavn og passord, kan du etterhvert (kanskje klart 11 april) få testet ut hvordan shellet vil fungere under eksamen; inkludert pwsh-shellet som startes ved å kjøre kommandoen pwsh.
rex:~/mem/ramsmp-3.5.0$ ./ramsmp -b 1 -p 1 RAMspeed/SMP (GENERIC) v3.5.0 by Rhett M. Hollander and Paul V. Bolotoff, 2002-09 8Gb per pass mode, 1 processes INTEGER and WRITING 1 Kb block: 9321.32 MB/s INTEGER and WRITING 2 Kb block: 9331.59 MB/s INTEGER and WRITING 4 Kb block: 9351.55 MB/s INTEGER and WRITING 8 Kb block: 9351.18 MB/s INTEGER and WRITING 16 Kb block: 9345.99 MB/s INTEGER and WRITING 32 Kb block: 9315.40 MB/s INTEGER and WRITING 64 Kb block: 7607.90 MB/s INTEGER and WRITING 128 Kb block: 7604.01 MB/s INTEGER and WRITING 256 Kb block: 7610.04 MB/s INTEGER and WRITING 512 Kb block: 7607.74 MB/s INTEGER and WRITING 1024 Kb block: 7548.60 MB/s INTEGER and WRITING 2048 Kb block: 7109.58 MB/s INTEGER and WRITING 4096 Kb block: 4896.64 MB/s INTEGER and WRITING 8192 Kb block: 2423.03 MB/s INTEGER and WRITING 16384 Kb block: 2184.29 MB/s INTEGER and WRITING 32768 Kb block: 2184.01 MB/s rex:~/mem/ramsmp-3.5.0$ ./ramsmp -b 1 RAMspeed/SMP (GENERIC) v3.5.0 by Rhett M. Hollander and Paul V. Bolotoff, 2002-09 8Gb per pass mode, 2 processes INTEGER and WRITING 1 Kb block: 18109.24 MB/s INTEGER and WRITING 2 Kb block: 18219.90 MB/s INTEGER and WRITING 4 Kb block: 18154.45 MB/s INTEGER and WRITING 8 Kb block: 18211.36 MB/s INTEGER and WRITING 16 Kb block: 18159.56 MB/s INTEGER and WRITING 32 Kb block: 18106.97 MB/s INTEGER and WRITING 64 Kb block: 12689.42 MB/s INTEGER and WRITING 128 Kb block: 12655.80 MB/s INTEGER and WRITING 256 Kb block: 12678.70 MB/s INTEGER and WRITING 512 Kb block: 12606.43 MB/s INTEGER and WRITING 1024 Kb block: 12630.78 MB/s INTEGER and WRITING 2048 Kb block: 7212.07 MB/s INTEGER and WRITING 4096 Kb block: 2464.42 MB/s INTEGER and WRITING 8192 Kb block: 2161.78 MB/s INTEGER and WRITING 16384 Kb block: 2157.42 MB/s INTEGER and WRITING 32768 Kb block: 2096.32 MB/sPrøv å forklare nedgangen i skrivehastighet relatert til størrelesen på L1 og L2 cache. Forklar spesielt hvorfor to samtidige prosesser skriver blokker av data opp til 32KB dobbelt så fort som en enkelt prosess, mens når 32Mb blokker skrives er hastigheten omtrent den samme.
wget https://sources.buildroot.net/ramspeed/ramspeed-2.6.0.tar.gz tar xfz ramspeed-2.6.0.tar.gz cd ramspeed-2.6.0/ ./build.sh ./ramspeed -b 1Prøv å finne spesifikasjonene for denne CPU'en i /proc/cpuinfo og på tilsvarende web-side som den nevnt over. Rimer resulatatene med cache-størrelsene? Er det stor forskjell på skriving og lesing?
free -m
viser hvor mye ledig minnet det er og output kan se slik ut:
$ free -m total used free shared buffers cached Mem: 398 386 12 0 25 100 -/+ buffers/cache: 260 138 Swap: 349 57 292Her er buffers antall MBytes brukt til I/O buffere og cached antall MBytes brukt til disk-cache. Kjernen kan dynamisk minske sin bruk av I/O-buffere og disk-cache ved behov for minne til andre formål. Verdien 138 Mbytes i andre linje i free-kolonnen er
free + buffers + cached
fra første linje.
Forklar kort hvorfor dette er et tall som viser hvor mye minne som er ledig for applikasjoner.
#include <stdio.h> int array[2000000000]; void main(int argc, char *argv[]) { int i,j; for(i = 0;i < 2000000;i++) { j = i*1000; array[j] = i; } }Endre så array-linjen til
array[j] = i;Vil dette endre på antall elementer av arrayet som endres i RAM? Siden vi snakker om Random Access Memory hvor det skal ta like lang tid å aksessere hvilken som helst byte i RAM, bør vel disse to versjonen av programmet bruke nøyaktig like lang tid? Hvis de ikke gjør det, diskuter hva dette kan skyldes. Legg spesielt merke til om System-delen av tidsbruken endrer seg. Hva er 'System' i forhold til 'User' og er dette relevant for forklaringen?
Last ned denne partisjonen med wget og lagre den på din Linux VM (container). Dette er en veldig liten partisjon på bare 8 MB. Den har blitt laget på en Linux-PC med filsystemet ext3. Filsystemet er kort sagt systemet som er brukt for å lagre filer og kataloger på disken. Hvis man moterer dette imaget og ser på filsystemet på vanlig måte (dere har ikke rettigheter til det på Linux VM), vil man bare finne en enkelt fil der:
haugerud@lap:~/disk$ sudo mount -o loop imgExt /mnt [sudo] password for haugerud: haugerud@lap:~/disk$ cd /mnt/ haugerud@lap:/mnt$ ls -l total 13 -rw-r--r-- 1 root root 38 april 9 2007 fil.txt drwxr-xr-x 2 root root 12288 april 9 2007 lost+found haugerud@lap:/mnt$ cat fil.txt Dette er en tekstfil. Her er linje2. haugerud@lap:/mnt$Men denne partisjonen inneholdt tidligere også en fil som het fil2.txt og som blant annent inneholdt en linje der det sto "Dette er en tekstfil. " og litt mer tekst. Men denne lille tekstfilen ble slettet med rm og den synes derfor ikke når partisjonen monteres. I denne oppgave skal du prøve å finne ut om den slettede filen fortsatt er på partisjonen eller om alle spor er slettet. For å kunne studere denne partisjonen på filsystemnivå og kunne se på deler av disken som ikke filsystemet lenger har linker til trenger vi et program som kan gjøre dette og vi skal bruke autopsy.
Installer autopsy på Linux VM med sudo apt-get install autopsy. Kjør deretter programmet som root med kommandoen
sudo autopsy -p 80 urlEllerPublicIpTilPCDuSitterPåog følg instruksjonene. Hvis du får meldingen Insecure directory in $ENV{PATH} while running with -T switch at /usr/bin/autopsy line 278 , legg inn følgende PATH-linje før linje 278, slik at filen /usr/bin/autopsy blir slik:
$ENV{PATH} = '/usr/bin'; $lclhost = /bin/hostname;Du må også legge inn samme PATH-linje før linje 50 og linje 88 i /usr/share/autopsy/lib/Exec.pm (se feilmeldingene). Du skal bruke IP eller url til din egen laptop og ikke Linux-VM. Men filene du skal se på skal lagres på Linux-VM. Om du ikke vet din IP, kan du finne den på www.whatismyip.com. Følg instruksjonene, slik at du får startet autopsy i browseren på din PC med noe sånt som
https://os50.vlab.cs.oslomet.no:80/905546150256588255/autopsyhvis du har VM nr 50. NB: Pass på å sette inn .vlab.cs.oslomet.no etter os50! Velg så "new case", finn på et navn for denne "case'n", velg "new case","Add host" og igjen "Add host", deretter "Add image" og "Add image file". Skriv så inn location=/root/imgExt eller der du har lagt imgExt(må være lesbar for alle). , Type partition (ikke Disk), import method symlink, "next", filesystem type ext(som autopsy finner ut selv) og bruk gjerne mount point /1/ eller kall det noe annnet. Velg "Add" og "OK" og nå er saken klar til å etterforskes. Velg "Analyze" og klikk deretter på File Analysis, Keyword search og de andre valgene og se hva du kan finne ut om denne partisjonen. Help kan det også være nyttig å prøve. Klarer du å finne innholdet av den slettede filen fil2.txt? (Hint: hvis du klarer å finne ut på hvilken block eller fragment filen fil.txt ligger ved, kan det være lurt å lete i nærheten, siden den ble opprettet samtidig.) Under Image Details kan du se at
Block Range: 0 - 8000 Block Size: 1024og det betyr at om du legger inn Fragment Number 0 under Data Unit, får du se første block eller fragment på 1024 bytes av disken. De to filene ligger i andre blokker, men hvor?
ASCII Contents of Fragment 0 in imgExt-0-0
disk 1 | disk 2 | disk 3 | paritets-disk |
1 | 0 | 0 | |
0 | 1 | 0 | |
1 | 1 | 1 | |
1 | 0 | 1 | |
0 | 0 | 1 | |
1 | 1 | 0 |
Som etterforsker får du nå tilgang til de to image'ene som utgjør en liten partisjon på laptop-disken og minnepinnen til den mistenkte. Disk-partisjonen er i denne mappen Man kan ikke liste filene på denne websiden, men for gruppe s133 ligger det der en image-fil med en disk-partisjon som heter s133 på denne websiden, tilsvarende for andre s-brukere. Minnepinnen er denne partisjonen. På din vei for å løse hovedspørsmålet, kan det være fornuftig å finne svar på følgende underveis:
For å sjekke at du har funnet det rette ordet, skriv strengen med 10 tegn inn på siden os.php uke 17 og du får beskjed om du har skrevet riktig. I tilegg blir du da med på ekstra-konkurransen om å finne denne koden fortest mulig. Denne siste oppgaven er ikke med i sammenlagtkonkurransen siden vi har premieutdeling i dag.