Muster Lösungen

1 Lokale Accounts

Auf der selma Gruppe und Useraccounts der Klasse herausfinden:

pschmid@selma:~ > getent group mas-i3
mas-i3::3294:lfrank,cjaeger,ykaegi,jkuehne,ameyer2,spaulett,rstalde2,tvogel,mvolken,szehntne,mstoesse

Accounts

pschmid@selma:~ > getent passwd lfrank                                         
lfrank:x:7586:7586:Lorand Frank:/afs/hsz-t.ch/usr/lfrank:/bin/bash
pschmid@selma:~ > getent passwd cjaeger                                 
cjaeger:x:7587:7587:Christoph Jaeger:/afs/hsz-t.ch/usr/cjaeger:/bin/bash
pschmid@selma:~ > getent passwd ykaegi                          
ykaegi:x:7588:7588:Yves Kaegi:/afs/hsz-t.ch/usr/ykaegi:/bin/bash
pschmid@selma:~ > getent passwd jkuehne                  
jkuehne:x:7589:7589:Johnny Kuehne:/afs/hsz-t.ch/usr/jkuehne:/bin/bash
pschmid@selma:~ > getent passwd ameyer2          
ameyer2:x:7590:7590:Alexander Meyer:/afs/hsz-t.ch/usr/ameyer2:/bin/bash
pschmid@selma:~ > getent passwd spaulett 
spaulett:x:7591:7591:Stephan Pauletto:/afs/hsz-t.ch/usr/spaulett:/bin/bash
pschmid@selma:~ > getent passwd rstalde2
rstalde2:x:7592:7592:Roman Stalder:/afs/hsz-t.ch/usr/rstalde2:/bin/bash
pschmid@selma:~ > getent passwd szehntne         
szehntne:x:7596:7596:Simon Zehntner:/afs/hsz-t.ch/usr/szehntne:/bin/bash
pschmid@selma:~ > getent passwd mvolken
mvolken:x:7595:7595:Martin Volken:/afs/hsz-t.ch/usr/mvolken:/bin/bash

Auf Ihrem Knoppix:

# addgroup --gid 3294 mas-i3
# adduser --uid 7586 --gid 3294 --gecos "Lorand Frank" lfrank
(Passwort wird interaktiv abgefragt)
# adduser --uid 7587 --gid 3294 --gecos "Christoph Jaeger" cjaeger
# adduser --uid 7588 --gid 3294 --gecos "Yves Kaegi" ykaegi
# adduser --uid 7589 --gid 3294 --gecos "Johnny Kuehne" jkuehne
# adduser --uid 7590 --gid 3294 --gecos "Alexander Meyer" ameyer2
# adduser --uid 7591 --gid 3294 --gecos "Stephan Pauletto" spaulett
# adduser --uid 7592 --gid 3294 --gecos "Roman Stalder" rstalde2
# adduser --uid 7596 --gid 3294 --gecos "Simon Zehntner" szehntne
# adduser --uid 7595 --gid 3294 --gecos "Martin Volken" mvolken
# adduser lfrank mas-i3
# adduser cjaeger mas-i3
# adduser ykaegi mas-i3
# adduser jkuehne mas-i3
# adduser ameyer2 mas-i3
# adduser spaulett mas-i3
# adduser rstalde2 mas-i3
# adduser szehntne mas-i3
# adduser mvolken mas-i3



13 Memory Management, Virtual Memory

13.1 Dynamische Speicherallokation

min.                               max.
x 10KB x 4KB x 20KB x 18KB x 7KB x 9KB x 12KB x 15KB x

1. 2. 3.
12KB 10KB 9KB

a) first-fit

min. 10 KB       12KB   9KB                 max.
x 10KB x 4KB x 20KB x 18KB x 7KB x 9KB x 12KB x 15KB x

b) next-fit

min.         12KB   10KB       9KB         max.
x 10KB x 4KB x 20KB x 18KB x 7KB x 9KB x 12KB x 15KB x

c) best-fit

min. 10KB                   9KB   12KB     max.
x 10KB x 4KB x 20KB x 18KB x 7KB x 9KB x 12KB x 15KB x

13.2 Partition

  • 2^16 entspricht 64 KB, 16 bit Adresse
  • 2^24 entspricht 16 MB, 24 bit Adress

Adresszeiger = 24 bit - 16 bit = 8 bit

Eventuell kommen noch mehr bits dazu wie z.B. Used

13.3 Paging

  • physikalischer Speicher 2^32 Bytes, entspricht 4 GB
  • Pagegrösse 2^10 Bytes, entspricht 1 KB
  • 2^16 Pages im logischen Adressraum, d.h. 64 k Pages

  1. logische Adresse = 10 bit + 16 bit = 26 bit
  2. Pagegrösse = Framegrösse = 1 KB
  3. Physische Adresslänge - Framelänge = 32 bit - 10 bit = 22 bit
  4. Anzahl Einträge in Pagetabelle = 2^16 = 65'586
  5. Mindestlänge Eintrag in Pagetabelle = 22 bit + 1 bit = 23 bit

13.4 LRU, FIFO und OPTIMAL

0 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23
1 0 2 2 1 7 6 7 0 1 2 0 3 0 4 5 1 5 2 4 5 6 7 2

LRU

0 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23
1 0 2 2 1 7 6 7 0 1 2 0 3 0 4 5 1 5 2 4 5 6 7 2
f f f     f f   f   f   f   f f f   f     f f f
1 1 1 1 1 1 1 1 1 1 1 1 1 1 4 4 4 4 4 4 4 4 4 2
  0 0 0 0 0 6 6 6 6 2 2 2 2 2 5 5 5 5 5 5 5 5 5
    2 2 2 2 2 2 0 0 0 0 0 0 0 0 0 0 2 2 2 2 7 7
          7 7 7 7 7 7 7 3 3 3 3 1 1 1 1 1 6 6 6

FIFO

0 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23
1 0 2 2 1 7 6 7 0 1 2 0 3 0 4 5 1 5 2 4 5 6 7 2
f f f     f f     f   f f   f f f   f     f f  
1 1 1 1 1 1 6 6 6 6 6 6 6 6 4 4 4 4 4 4 4 6 6 6
  0 0 0 0 0 0 0 0 1 1 1 1 1 1 5 5 5 5 5 5 5 7 7
    2 2 2 2 2 2 2 2 2 0 0 0 0 0 1 1 1 1 1 1 1 1
          7 7 7 7 7 7 7 3 3 3 3 3 3 2 2 2 2 2 2

Optimal

0 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23
1 0 2 2 1 7 6 7 0 1 2 0 3 0 4 5 1 5 2 4 5 6 7 2
f f f     f f       f   f   f f           f f  
1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 6 7 7
  0 0 0 0 0 0 0 0 0 0 0 0 0 4 4 4 4 4 4 4 4 4 4
    2 2 2 2 6 6 6 6 6 6 3 3 3 5 5 5 5 5 5 5 5 5
          7 7 7 7 7 2 2 2 2 2 2 2 2 2 2 2 2 2 2

14 File Systeme und File Management

14.1 I-Nodes

Anzahl adressierbare Blöcke pro i-Node = 1024 / 4 = 256 -> ein Block ist 1 KB d.h. es sind pro i-Node 256 KB adressierbar.

Max. Grösse mit direct Pointer = 10 * 1 kB = 10 KB Single indirect Pointer = 256 KB
Double indirect Pointer = 256 * 256 KB = 64 MiB
Triple indirect Pointer = 256 * 256 * 256 KB = 16 GiB

Maximale Grösse eines Files ist 16 GiB 64 MiB 266 KB

14.2 Free Block Bitmap

Für dieses Beispiel verwende ich Next Fit.

Schritt Operation Bitmap
0. File foo wird geschrieben, 6 Blöcke werden benötigt 1111 1110 0000 0000
1. File bar wird geschrieben, 5 Blöcke werden benötigt 1111 1111 1111 0000
2. File foo wird gelöscht 1000 0001 1111 0000
3. File foobar wird geschrieben, 8 Blöcke werden benötigt 1110 0001 1111 1111
4. File bar wird gelöscht 1110 0000 0000 1111

15 I/O

15.1 Zugriff auf Disk

ts = 8 ms
rpm = 7200 U/Min
Annahme: 32 Sektoren pro Track, Cluster auf einem Track

Trackgrösse B = 32 * 512 B = 16 KB
Cluster N = 8 * 512 B = 4 KB
Anzahl Leseoperationen = 5 MiB / 4 KB = 5 * 1024 / 4 = 1280

Seek Time ts = 1280 * 8 ms = 10.24 s
Rotational Latency tT = 1280 * 1/2 * 60 / rpm = 5.33 s
Data Transfer Time tT = 1280 * tR * B / N = 1250 * 60 / rpm * 4 / 16 = 2.67 s

Der Schreibvorgang dauert 18.24 s

15.2 Interruptverarbeitung

Uebtragungsgewschwindigkeit = 56 kbps
Interruptverarbeitungszeit ti = 100 us
Ein Zeichen besteht aus 10 bit

Uebertragungszeit eines Zeichens = 1 / 56 kbps * 10 = 179 us
Verbrauch CPU-Leistung = 100 us / 179 us * 100 = 56 %

15.3 Powermanagement

Verarbeitung eines Zeichens = 100 ms
Wiederholrate = 1 s

Die Verarbeitung darf 1 s / 100 ms = 10 mal länger dauern
Energieverbrauch = 1 / 10^2 = 1 / 100 = 1 %

Es kann 99 % der Energie gespart werden.

-- PeterSchmid - 05 Dec 2007

Edit | Attach | Watch | Print version | History: r5 < r4 < r3 < r2 < r1 | Backlinks | Raw View | Raw edit | More topic actions
Topic revision: r5 - 2010-04-21 - PeterSchmid
 
This site is powered by the TWiki collaboration platform Powered by PerlCopyright © 2008-2018 by the contributing authors. All material on this collaboration platform is the property of the contributing authors.
Ideas, requests, problems regarding TWiki? Send feedback