Umeå Universitet TENTAMEN
Inst för informatik
J.C.
Tentamen för kurs A.2 Informationsteknologi
Datum: Exempel
Tid: kl 9.00 - 15.00
För godkänd krävs 50%. Inga hjälpmedel tillåtna
För välgodkänd krävs 75%
Börja varje uppgift på nytt papper och skriv bara på en sida. Lycka till !
Svar utan motivering ger inga poäng.
Uppgift 1 (5p)
För att kunna bearbeta text på en dator måste alla tecken konverteras till bitsträngar. Det finns många teckenkoder. En sådan är BCD som använder 6 bitar per tecken. Principen är att A är 000001, B är 000010, C är 000011, etc. Kort sagt varje bokstav har en bitsträng lika med dess värde i nummer ordning (Z har en bitsträng motsvarande 26). Även siffror, komma, punkt, och andra tecken finns med, men vi bortser från dessa här.
Anta att det decimala talet 454 skall konverteras till ett binärt tal om 12 bitar. Hur kommer bitsträngen om 12 bitar att se ut? (3p)
Vilka två bokstäver enligt BCD (om vardera 6 bitar) motsvarar denna bitsträng? (2p)
Uppgift 2 (4p)
Base64 är en teknik som används på Internet för att överföra binär data, som exempelvis bifogade filer i e-post. Base64 kan även användas som en enkel krypteringsteknik för att undvika att lösenord skickas i klartext över datanätverk. Vilka Bas64 tecken får man med lösenordet 'val' som exempel?
Tabeller över ASCII (med exempel) och Base64 visas på slutet av tentan. Här följer lite hjälp med arbetsgången. Börja med konvertera respektive tecken till 7-bitars ASCII och lägg till en nolla så varje tecken bildar en byte. Kom ihåg att dela upp din bitsträng i grupper om 6 bitar innan du konverterar till Base64-kod.
Uppgift 3 (4p)
CPU:n och dess komponenter består bland annat av ett antal olika register. Register är viktiga och fyller olika funktioner. Två register är MAR och MDR. Tillsammans med adressavkodaren fungerar dessa som ett gränssnitt mellan CPU:n och primärminnet. Beskriv översiktligt hur en hämtning från primärminnet till CPU:n går till med hjälp av MAR, MDR och adressavkodaren. (4p)
Uppgift 4 (4p)
En väsentlig del av arbetet med datorer är att kunna lagra data på olika sekundära lagringsenheter. Två vanliga enheter är hårddisk respektive Compact Disc (CD). Beskriv hur funktionen och sättet att lagra data skiljer sig åt mellan dessa två lagringsenheter. (4p)
Uppgift 5 (6p)
Virtuellt minne är ett sätt att lösa problem som kan uppstå vid primärminnes-hanteringen. I konceptet virtuellt minne ingår något som kallas för 'paging' eller sidhantering. Redogör för hur sidhantering fungerar. (4p)
Vid användning av virtuellt minne kan också något som kallas för 'thrashing' förekomma. Redogör för vad som händer när 'thrashing' uppstår. (2p)
Uppgift 6 (6p)
En viktig uppgift som ett operativsystem har är att utföra processplanering (dispatching). För detta har man (som designer av ett operativsystem) en rad olika processplaneringsalgoritmer att välja emellan. Du skall redogöra för två stycken av dessa algoritmer och vilka fördelar de har. (6 p)
Uppgift 7 (6p)
Begreppet process används för att särskilja program åt i resursanvändning. Vad är och består en process av? (2 p)
En process kan anta olika tillstånd och ha olika status. De flesta operativsystem definierar åtminstone tre sådana tillstånd. Redogör för dessa tillstånd och beskriv vad som gör att en process hamnar i vart och ett av tillstånden. (4p)
Uppgift 8 (6p)
I moderna operativsystem ingår vanligtvis ett system för filhantering. Filhanteraren är bland annat ansvarig för att skapa en koppling mellan användarens vy av filsystemet och den fysiska placeringen av filen. I det sammanhanget talas det om hur filer skall placeras på hårddisken. Beskriv två metoder för hur placeringen av filer kan göras och jämför respektive metods förtjänster och nackdelar. (3p+3p)
Uppgift 9 (7p)
Token ring är namnet på en vanlig typ av lokalt datanät. Beskriv hur token ring-nätet är uppbyggt och fungerar. (4p)
Vid val av ett lokalt datanät måste man tänka på sårbarhet. Kan de andra datorerna fortsätta att kommunicera även om en dator slutar fungerar? På vilket sätt anser du att ett token ring-nät är sårbart i detta avseende? (3p)
Uppgift 10 (14p)
Under kursens gång har ni blivit bekanta med Little Man Computer (LMC). Denna dator har en begränsad uppsättning instruktioner. Den kan hantera endast tvåsiffriga heltal och har ett primärminne med ett hundra platser numrerade 0 till 99. I tabellen nedan visas instruktionsuppsättningen för LMC där xx anger en adress till en plats i primärminnet och yy är ett heltal. Notera att instruktioner för multiplikation och division inte finns.
Denna uppgift består av två delar:
1) Rita ett flödesdiagram över en algoritm som gör det möjligt för Little Man Computer att läsa in ett en sekvens av tal som avslutar med noll (ex. 5, 19, 7, 12, 15, 0) och sedan skriva ut det största av dessa tal (ex. 19). (6p)
2) Implementera algoritmen i form av ett program som Little Man Computer kan tolka och utföra. (8p)
LDA |
5xx |
LOAD CALCULATOR WITH DATA FROM XX |
STO |
3xx |
STORE CALCULATOR IN XX |
ADD |
1xx |
ADD DATA FROM XX TO CALCULATOR |
SUB |
2xx |
SUBTRACT XX FROM CALCULATOR |
IN |
901 |
INPUT TO CALCULATOR |
OUT |
902 |
OUTPUT FROM CALCULATOR |
HLT |
000 |
STOP |
BRZ |
7xx |
BRANCH IF ZERO TO XX |
BRP |
8xx |
BRANCH IF POSITIVE OR ZERO TO XX |
BR |
6xx |
BRANCH UNCONDITIONAL TO XX |
DAT |
0yy |
STORAGE LOCATION CONTAINING THE NUMBER YY |