Skip Navigation LinksNiels > IT > Datamatiker > DMS > Eksamen

DMS Eksamen

CV  |  IT  |  AV  |  Motor  |  Maritimt  |  Privat

Datamatiske Systemer

Skriftlig eksamen

Januar 2002

Opgave 1: 10 %
Opgave 2: 15 %
Opgave 3: 20 %
Opgave 4: 15 %
Opgave 5: 10 %
Opgave 6: 20 %
Opgave 7: 10 %

I alt: 100 %

Bemærk:
Nogle besvarelser kræver er beskrivelse og/eller motivering. Der ønskes på ingen måde en hel eller halv roman som svar, kun korte koncise svar med så få sætninger som muligt.


Opgave 1 (10 %)

Design et digitalt kredsløb, der implementerer nedenstående funktion. Tegn kredsløbet i formen "sum of products". (5 % for omskrivning til sum of products, og 5 % for korrekt tegning.)

X = (A+B)CD

Opgave 2 (15 %)

Nedenfor ser du en del af et C++ program.
A, B, C og D er integers som er gemt i binær 2-komplement repræsentation. De fylder 4 bytes hver og ligger lige efter hinanden med start i adresse 4096.

...
D = A + B - C;
...

  1. Oversæt det til assembler. Brug ARC assembler fra Murdocca. (7 %)
    Maskinen har ikke en "subcc" instruktion, d.v.s. Murdocca side 212-213 må ikke bruges.
  2. Oversæt de fem første assemblerinstruktioner til objekt.kode. Brug ARC objekt-kode fra Murdocca. (8 %)

Opgave 3 (20 %)

En af de vigste opgaver et OS (Operating System) har i forbindelse med Memory Management er "Memory Protection".

  1. Hvorfor er det så vigtigt? (5 %)
  2. Forslå en måde at implementere Memory Protection. (5 %)

En anden vigtig opgave of OS Memory Management er "Relocation".

  1. Hvorfor er det vigtigt? (5 %)
  2. Forslå en måde at implementere Relocation. (5 %)

Opgave 4 (10 %)

Et banksystem, der bruges til at overføre penge fra en konto til et andet, er implementeret således. (Kun den interessante del er vist. X og Y er kontonummre, og account[x] er ikke et array, men et konto-objekt-x i databasen.)

...
debit = account[x].readtotal();
credit = account[y].readtotal();
debit -= transfersum;
credit += transfersum;
account[x].settotal(debit);
account[y].settotal(credit);
...

Hvergang en bankansat skal flytte nogle penge fra en konto til en anden, så vil en kopi af ovenstående transfer-program eksekveres på den centrale databaseserver.
Banken har mange filialer, mange ansatte, mange kunder og mange transaktioner.
Enhver løsning må tillade samtidige transaktioner og samtidig adgang til kontodatabasen.

  1. Der er et problem med ovenstående implementering. Hvad? (5 %)
  2. Løs problemet med semaforer. Opdater ovenstående program. (5 %)

Opgave 5 (15 %)

Kig på en 802.3 frame.

  1. Når man laver en frame standard, så kan man vælge at placere de forskellige felter på forskellige pladser i framen. Er der en grund til at "Destination Address" er det første felt i framen lige efter frame delimiter? Motiver hvorfor man har valgt at placere "Destinations Address" først i framen, eller motiver hvorfor det er ligegyldigt hvor den er placeret. (3 %)
  2. Motiver hvorfor man har lagt "Check Sum" feltet sidst i framen, eller motiver hvorfor det er ligegyldigt hvor den er placeret. (3 %)
  3. Hvorfor er der variabel længde på "Pad" feltet, og hvorledes vil det blive anvendt? (4 %)
  4. Kan 802.3 (Ethernet) udnytte sin båndbredde bedre, dårligere eller lige så godt som 802.5 (Token Ring)? (1 %)
    Hvorfor er den dårligere dålig? (2 %)
    Hvorfor er den bedre bedre? (2 %)

Opgave 6 (20 %)

Nedenstående er en hexadecimal repræsentation af en IP-datagram. Svar skal gives i decimale talsystem og med danske bogstaver.

45000034
01170010
20067CB2
D6101043
810F120B
04020050
00000204
00200003
50101000
32E90000
44657420
65722067
6F647421

  1. Hvilken IP version bruges i dette datagram? (1 %)
  2. Hvor lang er IP headeren? (1 %)
  3. Hvor lang er hele IP datagrammet? (1 %)
  4. Hvor mange bytes er IP data? (1 %)
  5. Er IP datagrammet fragmenteret? (1 %)
  6. Hvis RFC1700 siger at TCP har nummer 6 og UDP har nummer 17, hvilken transportprotokol bruges her? (1 %)
  7. Hvad er afsenders IP adresse skrevet i dotted decimal notation? (2 %)
  8. Hvad er modtagers IP adresse skrevet i dotted decimal notation? (2 %)
  9. Hvilke klasser tilhører de ovenstående IP adresser? (2 %)
  10. Hvor mange bytes er TCP headeren? (1 %)
  11. Hvor mange bytes er TCP bruger-data? (1 %)
  12. Hvad er afsender port nummer? (1 %)
  13. Hvad er modtager port nummer? (1 %)
  14. Hvor stor er afsenders modtagevindue? (1 %)
  15. Hvis brugerdata er ASCII-tekst, hvilken tekst er sendt i dette segment? (3 %)

Opgave 7 (10 %)

Vi har et operativsystem der bruger "Virtual Memory" med "Paging".
Hver page er 4 kBytes. Herunder ses systemets Page Table.

Page Present Frame Load time Ref time Dirty
0 0 0 1825 5826 0
1 0 0 1831 5843 0
2 0 0 1842 5851 0
3 1 0 1849 7318 1
4 1 1 1897 7293 0
5 0 0 1912 5897 0
6 0 0 5641 5641 0
7 0 0 4357 4392 0
8 0 0 2659 2986 0
9 1 6 2672 7129 1
10 0 0 2687 2993 0
11 0 0 3561 3561 0
12 1 4 1762 7093 0
13 1 7 1798 7032 0
14 0 0 1925 2649 0
15 0 0 1968 2831 0
16 0 0 2008 2846 0
17 1 2 2571 6838 0
18 0 0 2586 2868 0
19 0 0 2594 2871 0
20 0 0 2035 2879 0
21 0 0 2039 2894 0
22 0 0 0 0 0
23 0 0 0 0 0
24 0 0 0 0 0
25 0 0 0 0 0
26 0 0 0 0 0
27 0 0 0 0 0
28 0 0 2302 6058 0
29 1 3 2314 6872 0
30 1 5 2321 6956 1
31 0 0 2326 6074 0
  1. Hvor stor er RAM (det fysiske lager), og hvor stor er systemets virtuelle hukommelse / lager? (2 %)
  2. Programmet vil læse fra virtuel adresse 16684. Hvilken adresse i RAM vil blive adresseret? (3 %)
  3. Programmet vil læse fra virtuel adresse 69932. Hvilken adressen i RAM vil blive adresseret? (3 %)
  4. Hvis systemet skal loade 2 nye sider (side 15 og 16) så skal 2 gamle sider fjernes fra 2 frames. Hvilke sider vil blive fjernet hvis systemet bruger "Least Recently Used" algoritmen fra page replacement? (2 %)

Om Opdateret 18-03-2019 01:25:21. Se min profil på LinkedIn
SQLAdmin.dk Hentet 09-05-2024 16:24:11.