Computer Systems Flashcards
Wat is een computer?
Een multifunctioneel programmeerbaar digitaal elektronisch toestel.
Wat bedoelen we met een computer is multifunctioneel?
Een computer kan voor verschillende zaken gebruikt worden.
Wat bedoelen we met een computer is programmeerbaar?
We kunnen een computer programmeren zodat die multifunctioneel is.
Wat bedoelen we met een computer is digitaal?
Een computer werkt met discrete waarden (= binaire waarden 0 of 1)
Wat bedoelen we met een computer is elektronisch?
Een computer werkt op spanning, waarbij er stroom vloeit door de onderdelen waaruit hij bestaat.
Wat is een embedded systeem.
Een (vaak kleinere) computer die deel uitmaakt van een toestel. Waarvan de functionaliteit verbonden is aan het toestel waarin hij ingebouwd is.
Welke soorten elektronica zijn er?
- Digitaal
- Analoog
- Vermogen
Wat is elektronica?
Een technologie die gebruik maakt van elekectrische signalen om data en/of energie te verwerken.
Wat is digitale elektronica?
Elektronica die gegevens verwerkt doormiddel van concrete of discontinue waarden. (=binaire waarden)
Wat is analoge elektronica?
Elektronica waarbij elke spanning- of stroomwaarde tussen twee grenzen steeds een betekenis heeft.
Wat is vermogen elektronica?
Vermogen elektronica verwerkt geen informatie maar energie en vermogen.
Wat is de populairste vorm van elektronica?
Digitale elektronica
Wat zijn de voordelen van digitale elektronica?
- Kwaliteit:
- Stabiel in tijd en bij bewerkingen of versturen van data. (Signalen mogen verstoort worden zolang we het verschil tussen 0 en 1 kunnen onderscheiden
- Zelf kiezen (trade-off met opslagruimte: hogere kwaliteit, meer geheugen)
- Verschillende kwaliteiten op hetzelfde toestel
- Productieprijs: digitale schakelingen zijn eenvoudiger en lenen zich gemakkelijker tot hoge integratie op IC (Integrated circuit)
- Dezelfde hardware kan gebruikt worden voor verschillende informatie (beeld, geluid, tekst,…)
- Redundantie, encryptie en compressie eenvoudig toe te passen
- Redundantie: We voegen extra info (extra bits) toe om de informatie beter bestand te maken tegen fouten.
- Encryptie: We vervormen informatie zodat deze onleesbaar wordt voor derden. Enkel de beoogde ontvangen kan met de juiste sleutels de informatie lezen.
- Compressie: Tegenovergestelde van redundantie. Verwijderen van een deel van de info om opslag te besparen
- Redelijk betrouwbaar
- Klein
Welke soorten experimentele technologieën zijn er?
Optische en kwantum technologie.
Wat is optische technologie?
Een technologie waarbij de informatiedragers photen (of licht deeltjes zijn). Dit in tegenstelling tot de elektroden bij digitale technologie.
Wat zijn de voordelen van optische technologie?
Het produceert minder warmte, gebruikt minder energie en heeft een groter bandbreedte.
Wat zijn de nadelen van optische technologie?
Niet alle elektrische componenten hebben een optische equivalent. (een oplossing hiervoor is het gebruiken van hybride systemen)
Wat is kwantumtechnologie?
Een technologie waarbij gebruik gemaakt wordt van kwantum-deeltjes. Het geheugen bestaat uit qubits. Elke qubit kan de waarden 0 en 1 hebben. Qubits hebben als het ware de waarde van 2 bits.
Wat is een voordeel van kwantumtechnologie?
De berekeningen kunnen veel sneller uitgevoerd worden. Kwantum computers worden vaak gebruikt bij wetenschappelijk onderzoek waar intensieve simulaties moeten gebeuren.
Wat is een nadeel van kwantumtechnologie?
Er is heel wat nodig om de kwantumcomputer stabiel te houden. (extreme koeling) De algoritmes moeten aangepast worden om parallel in plaats van sequentieel te werken.
Wat is een besturingssysteem?
Een besturingssysteem, ook wel OS, is een software die uitgevoerd wordt op een computerapparaat die de software- en hardware componenten beheerd.
Wat is schedulling?
Schedulling is het concept waarbij het besturingssysteem de software die uitgevoerd moet worden, of de services die aan de user moeten aangeboden worden, inplant zodanig dat verschillende acties simultaan verlopen. (ook wel multi-tasking)
Wat is hardware?
Hardware zijn de fysieke onderdelen van een computer. Inclusief de onderliggende elektronica.
Wat is de kernel?
De kernel is de communicatielaag tussen hardware en software van een computer. De kernel beheerd ook de hardwarebronnen.
Wat is een shell?
Een shell is de gebruikersinterface waarmee de gebruikers verschillende taken kunnen vragen aan de computer.
Welke soorten shell zijn er?
De GUI (=Graphical user interface) en de CLI (= Command Line Interface).
Wat zijn de 3 voornaamste operating systems?
Linux, MacOs, Windows (enigste met eigen code, niet gebaseerd op unix)
Welke zaken bekijken we bij het kiezen van een besturingssysteem?
- Rol
- Direct toegankelijk voor gebruiker? (desktop)
- Toegankelijk voor meerdere gebruikers? (Server)
- Functie: Moet er specifieke software voorzien worden? Wat is de capaciteit van de gebruiker?
- Levenscyclus: verschillende onderhouds- en releasecycli voor ondersteuning en updates
- Stabiliteit: is de OS-release bèta en stabiel getest?
- Compatibiliteit: is het backwards compatible?
- Kost:
- Windows: Jaarlijkse licenties
- MacOs: geen licenties of jaarlijkse kost. Werkt enkel op Apple hardware
- Linux: meestal gratis, support is betalend
Wat is de levencyclus van Microsoft?
De releasecyclus is langzaam (3-5 jaar) en ook de onderhoudscyclus is langzaam.
Waar legt Microsoft de nadruk op?
Achterwaards compatibiliteit
Waar is Microsoft de laatste jaren sterk aan in het investeren ter concurrentie van Linux
Het ontwikkelen van betere scripting - en beheersmogelijkheden met Powershell.
Wat is speciaal aan de serverversie van MacOs?
Het is de desktopversie met verschillende pakketen toegevoegd voor beheer en bestandsdeling.
Hoe is MacOs ontstaan?
Op basis van Unix (gecertifieerd)
Wat is de releasecyclus van MacOs?
Elke 18-24 maanden komt er een nieuwe grote release.
Wat is er zo speciaal na het kiezen van Linux als OS?
Na het kiezen van Linux moet je nog een distributie kiezen. Elke distributie heeft zijn eigen use case.
Geef enkel distributies van Linux
- Suse
- Red Hat
- Debian
- Android
- Raspbian
- Linux from Scratch
Wat zijn enkel kenmerken/use case van Red hat?
- Richt zich op servertoepassingen
- Verantwoordelijk voor het uitbrengen van RHEL (Red Hat enterprise Linux), een stabiele distro met lange levenscyclus
- Sponsort Fedora Project, een persoonlijk bureaublad met nieuwste software
- CentOs is een gratis versie van RHEL-software die geen ondersteuning biedt
- Scientific Linux is een distributie op basis van Red Hat
Wat zijn enkel kenmerken/use case van SUSE?
- Een van de eerste distributies
- Oorspronkelijk van Slackware
- Bevat eigen code, wordt verkocht als een serverversie, maar bestaat ook in een werkstationversie
- OpenSUSE is volledig open source, gratis met meerder desktop pakketten
Wat zijn enkel kenmerken/use case van Debian?
- Uitgebracht voor community die open source software bevordert
- Heeft eigen pakketbeheersysteem (apt) uitgevonden op basis van het .deb-bestandsformaat
- Ubuntu is de meestpopulaire afgeleide distributie. (ook LTS beschikbaar )
- Zowel desktop als server
- Linux Mint is een afgeleide van Ubuntu met verschillende gratis versies
Wat zijn enkel kenmerken/use case van Android?
- Platform voor mobiele gebruikers
- Geen traditionele GUI/Linux-pakketten om het compatibel te maken met desktop
- Gesponsord door Google
Wat zijn enkel kenmerken/use case van Raspbian?
Ontworpen om te draaien op een Raspberry Pi
Wat zijn enkel kenmerken/use case van Linux from Scratch?
Bestaat uit een online boek, broncode en instructies voor het bouwen van een aangepaste Linux Distributie
Wat is een EN-poort als doorlaatfilter?
Een traditionele EN-poort waarbij een van de twee ingangen aanschouwd wordt als een signaallijn en de andere als eens stuurlijn. Wanneer de stuurlijn dan op 0 staat zal het signaal steeds geblokkeerd worden.
Wat is een Exclusieve OF-poort als flexibele invertor?
De tradionele XOR-poort waarbij we een ingang aanschouwen als een signaallijn en de andere ingang als de stuurlijn. Wanneer de stuurlijn op 0 staat wordt het signaal ongewijzigd doorgegeven. Wanneer de stuurlijn op 1 staat wordt het signaal geinverteerd doorgegeven.
Wat is een OF-poort als samensteller?
Een traditionele OF-poort met meerdere ingangen waarbij we aannemen dat er slechts 1 signaal aanstaat, terwijl de rest van de waarden op 0 staat. Dat ene signaal wordt dan doorgegeven.
Wat is een combinatorische schakeling?
Een netwerk van logische poorten die een vooropgestelde functie uitvoert.
Wat is een decoder?
Een decoder is een schakeling die juist één uitgang bepaalt die aanstaat. De uitgang die aanstaat wordt bepaald door de index (=het adres) die als binaire waarden op de ingangen staat.
Er is dus steeds 1 uitgang die aanstaat, terwijl de rest van de uitgangen op 0 staat.
Beschrijf hoe je een decoder tekent.
- Bepaal het aantal ingangen = n
Teken voor elke ingang zijn inverse ( = ingang door een NIET-poort) - Bepaal het aantal uitgangen/EN-poorten = 2^n (naam= D0 -> Dn-1)
- Verbind elke EN-poort met zijn ingangen. Aanschouw de ingangen als hun binaire waarden (bv. voor een decoder met 3 ingangen zijn de ingangen van D0 = 000 en de ingangen van D5 = 101)
Wat is een multiplexer?
Een combinatorische schakeling waarbij de ingang waarvan de index (=adres) als binaire waarden op de adreslijnen staat wordt doorgegeven aan de uitgang.
Waaruit bestaat een multiplexer?
Een decoder verbonden met een EN-poort als doorlaatfilter die uitkomen in een samensteller.
Hoe kunnen we een optelling schakelen met logische poorten?
Door een XOR-poort schakelen
Welk probleem hebben we wanneer we een som schakelen door een XOR-poort?
Er wordt geen rekening met de overdracht gehouden.
Hoe kunnen we het nadeel van een som te schakelen door een XOR-poort oplossen?
We schakkelen beide ingangen van de som door een EN-poort en bekomen de Overdracht.
Wat is een half adder?
Een som-schakeling (XOR) gecombineerd met een EN-schakeling die de overdracht schakelt.
Wat is een full adder?
Een som schakeling waarbij we reeds een inkomende overdracht hebben. Hierbij start de schakeling bij een half adder die dan nogmaals een som schakelt tussen het resultaat van de half adder en de inkomende overdracht. De uitgaande overdracht van de half adder en de uitgaande overdracht van de tweede som worden verbonden met een OF poort en bepalen de uiteindelijke uitgaande overdracht.
Wat is een riple carry adder?
Een opteller die 2 n-bit woorden in een keer optelt. De schakeling start bij een half adder en verbind deze met n-1 full adders.
Uit welke onderdelen bestaat een computer?
- CPU = Central Processing Unit
- RAM = Random Access Memory
- ROM = Read Only Memory
- I/O = Input and Output
Wat is de adresbus?
De bus die gebruikt wordt door de CPU om aan te geven welke data er moet gebruikt worden.
Wat is de databus?
Data wordt gelezen via de databus aan de hand van het adres van de data.
Wat is de controlebus?
De bus die de bewerkingen aanstuurt.
Waarvoor staat CPU?
Central Processing Unit
Waarvoor staat RAM?
Random Access Memory
Waarvoor staat ROM?
Read-Only Memory
Waarvoor staat I/O?
Input and Output
Waarvoor staat ALU?
Arithmetic and Logic Unit
Wat is een ALU?
Het is een onderdeel van elke processor. Het voert op een flexibele wijze berekeningen uit op 2 n-bit operanden.
Uit welke onderdelen bestaat een ALU?
Het heeft altijd een decoder, een EN-poort als doorlaatfilter en een OF-poort als samensteller.
Hoe schakelen we een n-bit ALU?
We schakelen n-keer een 1-bit ALU. Hierbij heeft de eerste 1-bit ALU een Carry in (=INC = Increment) vervolgens wordt steeds de Carry out geschakeld als de Carry in van de volgende ALU. De andere stuurlijnen worden doorgelust.
Wat hebben we nodig om een geheugen te kunnen schakelen?
Terugkoppeling
Hoe kunnen we een klein geheugen schakelen?
We kunnen een 1 bit geheugen schakelen doormiddel van 2 NOR poorten.
Wat is de SR-latch?
Het is een schakeling die een klein geheugen voorsteld. De schakeling bestaat uit 2 NOR poorten en heeft 2 stabiele toestanden. (S(et) = 1, R(eset)= 0 en R = 1, S = 0) De Set en Reset mogen nooit samen op 1 staan.
Indien we een nieuwe waarde willen opslaan moet of de Set of de Reset lang genoeg op 1 staan.
Wat zijn de nadelen van de SR-latch?
- De schakeling is steeds actief
- De set en reset kunnen beide tegelijkertijd op 1 staan
Wat is de geklokte SR-latch?
De geklokte SR-latch is onstaan om de nadelen van de gewone SR-latch te verhelpen. Deze schakeling verbind beide ingangen met een EN-poort als doorlaatfilter die beide met dezelfde klok verbonden zijn.
De waarden van de S en R ingangen zullen dus enkel doorgegeven worden wanneer de klok hoog staat (1)
De klok zal standaard laag (0) staan. Enkel wanneer we iets in het geheugen willen schrijven zullen we de klok eventjes hoog zetten.
Wat zijn de nadelen van de geklokte SR-latch?
- Beide ingangen kunnen nog altijd gelijktijdig op 1 staan. (oscillatie mogelijk)
- Klokpuls kan eventueel te kort zijn. De bit zal dan niet in het geheugen geschreven zijn en/of de SR-latch zal oscilleren
Wat is oscillatie?
Constante trillingen
Wat is de geklokte D-latch?
De geklokte D-latch is eens schakeling die het probleem verhelpt bij de SR-latchen dat beide ingangen tegelijkertijd op 1 kunnen staan. Dit bereiken we door de ingang D te schakelen door een NIET-poort.
De toestandsverandering van 0 naar 1 noemen we de stijgende flank
De toestandsverandering van 1 naar 0 noemen we de dalende flank
Wat is een D-flip-flop?
Het is een schakeling die de toestand van de ingang D onthoudt voor elke stijgende flank op de klokingang (CK).
Na de klok wordt een pulsgenerator verbonden aan de schakeling. (kleine puls op de uitgang doordat er een korte periode is door de poort vertraging waarop beide ingangen van de EN-poort in de pulsgenerator op 1 staan)
Hoe werkt een D-flip-flop
- Door een poortvertraging op de NIET-poort wordt na een stijgende flank op de CK een korte puls gegenereerd op beide EN-poorten
- Deze puls maak kortstondig de S-ingang (d = 1) of de R-ingang (d = 0) van de SR-latch hoog
- De lengte van de puls moet voldoende lang zijn om de SR-latch in een (nieuwe) stabiele toestand te brengen
Wat zijn de voordelen van een d-flip-flop?
- Door aan de CK-ingang een stijgende flank aan te leggen, wordt de waarde die op da moment aan de D-ingang hangt, in het geheugen geschreven.
- De maker (fabrikant) van de D-flip-flop zorgt er zelf voor dat de (interne) puls op de EN-poorten voldoende lang is.
- De (interne) puls moet ook voldoende kort zijn. Want hoe korter de puls, hoe sneller we na elkaar iets in het geheugen kunnen schrijven.
Hoe kunnen we een d-flip-flop over stijgende flank voorstellen?
-> CK
Hoe kunnen we een d-flip-flop over dalende flank voorstellen?
-o> CK
Wat is een register?
Een register is een combinatie van flipflops waarvan de voedingspinnen, de klok en de clear (= clear memory) pinnen gecombineerd zijn.
Wat is het RAM-geheugen?
Het korte termijn geheugen van een computer. Het biedt een tijdelijke opslag voor informatie, die snel toegankelijk is en verwijderd wordt zodra de computer herstart.
Hoe wordt een RAM-geheugen opgebouwd?
- Een RAM-geheugen bestaat uit een lijst aan locaties
- In elke locaties is er een geheugencel waar een computerwoord in opgeslagen wordt. (grootte van dat woord hangt af van de processor. 64 bit processor kan woorden van 64 bit opslaan.)
- De data op de geheugenlocaties kunnen we in willekeurige volgorde opvragen (Ram = RANDOM access memory)
- De geheugenlocaties kunnen we individueel aanwijzen doordat ze een uniek adres hebben (binair getal)
Welke basisopdrachten voor het RAM-geheugen uit?
- Het lezen van de inhoud op een geheugenlocatie met adres x (inhoud wordt op de databus geplaatst)
- Het schrijven van nieuwe inhoud op een geheugenlocatie met adres x.
Hoe gebeurd de communicatie met het RAM-geheugen?
Via de volgende 3 bussen:
* Adreslijn: verbinding tussen processor en RAM-geheugen die aangeeft welke geheugencel gelezen of geschreven moet worden
* Datalijn: verbinding tussen processor en RAM-geheugen waarover op te slaan of uit te lezen datawoord wordt uitgewisseld
* Controle- of stuurlijn: Verbinding tussen processor en RAM-geheugen die de volgende 2 functies bevat: opdracht (wordt er gelezen of geschreven) en timing (zorgen dat de processor en het RAM binnen dezelfde ritme werken)
Uit welke onderdelen bestaat een RAM-geheugen?
- Verschillende (naargelang de grootte van het geheugen) D-flip-flops. (houden 1 bit van 1 geheugenlocatie vast)
Ze ontvangen de Data D van de datalijnen en slaan de data Q op
> is de klok die de chip activeert
Ze zijn georganiseerd in matrix-vorm (horizontaal stellen ze de bits van het woord voor. Verticaal stellen ze verschillende geheugenlocaties voor - Adreslijnen: unidirectionele lijnen (enkel als ingang voor de RAM chip). Het binair getal op deze lijnen stelt de te adresseren locatie voor
- Decoder/woordselectielijnen: zet het signaal op n adreslijnen om naar 2^n woordselectielijnen. De uitgang van de decoder (=woordselectielijnen) zal telkens maar 1 hoge woordselectielijn hebben, namelijk diegene die aangewezen wordt door het binair getal op de adreslijnen
- De leesfilters: combinatie van EN-doorlaatfilters en OF-samensteller.
Functie: Allen de uitgangen van de aangewezen rij van flip-flops wordt doorgegen aan de datalijnen.
En-doorlaatfilter:
Selectie-ingang/stuurlijn verbonden met de woordselectielijn
Signaal-ingang verbonden met de uitgang van de flip-flop
OF-samensteller:
Evenveel ingangen als er locaties op de chip zijn!
Slechts één ingang bevat een nuttig signaal, de rest nul. - De stuurlijnen:
RD : Read: Zolang deze hoog is wordt het woord van de locatie aangegeven door de adreslijnen doorgegeven aan de datalijnen.
WR : Write: Externe klokpuls die aangeeft dat het woord op de datalijnen naar de locatie aangegeven door de adreslijnen moet geschreven worden
CS: Chip Select: maakt het mogelijk om meerdere geheugenchips parallel op dezelfde adres- en datalijnen te zetten. Er mag telkens maar 1 chip geselecteerd worden. CS bepaald of WR en RD door de doorlaatfilters mogen. - De datalijnen: bidirectionele verbindingen die de woorden transporteren.
Van het RAM-geheugen naar de CPU bij het lezen
Van de CPU naar het RAM-geheugen bij het schrijven
Tri-state buffers zijn nodig om de bidirectionele verbindingen te laten werken. - De schrijfpoort: EN-poort als doorlaatfilter
Externe klokpuls als signaallijn
Woordselectielijn als de stuurlijk
Functie: de Externe klokpuls wordt alleen naar de rij (locatie) doorgelaten waarnaar geschreven moet worden. Om problemen te voorkomen ma slechts een schrijfpoort tegelijkertijd actief zijn. Hiervoor zorgt de decoder
Wat is de functie van de d-flip-flops in het RAM-geheugen?c
Ze houden 1 bit van 1 geheugenlocatie vast
Ze ontvangen de Data D van de datalijnen en slaan de data Q op
> is de klok die de chip activeert
Ze zijn georganiseerd in matrix-vorm (horizontaal stellen ze de bits van het woord voor. Verticaal stellen ze verschillende geheugenlocaties voor
Wat zijn de adreslijnen in het RAM-geheugen?
Unidirectionele lijnen (enkel als ingang voor de RAM chip). Het binair getal op deze lijnen stelt de te adresseren locatie voor
Wat is de functie van de decoder en de woordselectielijnen in het RAM-geheugen?
Zet het signaal op n adreslijnen om naar 2^n woordselectielijnen. De uitgang van de decoder (=woordselectielijnen) zal telkens maar 1 hoge woordselectielijn hebben, namelijk diegene die aangewezen wordt door het binair getal op de adreslijnen
Wat zijn de leesfilters in het RAM-geheugen?
Combinatie van EN-doorlaatfilters en OF-samensteller.
Functie: Allen de uitgangen van de aangewezen rij van flip-flops wordt doorgegen aan de datalijnen.
En-doorlaatfilter:
Selectie-ingang/stuurlijn verbonden met de woordselectielijn
Signaal-ingang verbonden met de uitgang van de flip-flop
OF-samensteller:
Evenveel ingangen als er locaties op de chip zijn!
Slechts één ingang bevat een nuttig signaal, de rest nul.
Wat zijn de stuurlijnen in het RAM-geheugen?
RD : Read: Zolang deze hoog is wordt het woord van de locatie aangegeven door de adreslijnen doorgegeven aan de datalijnen.
WR : Write: Externe klokpuls die aangeeft dat het woord op de datalijnen naar de locatie aangegeven door de adreslijnen moet geschreven worden
CS: Chip Select: maakt het mogelijk om meerdere geheugenchips parallel op dezelfde adres- en datalijnen te zetten. Er mag telkens maar 1 chip geselecteerd worden. CS bepaald of WR en RD door de doorlaatfilters mogen.
Wat zijn de datalijnen in het RAM-geheugen?
Bidirectionele verbindingen die de woorden transporteren.
Van het RAM-geheugen naar de CPU bij het lezen
Van de CPU naar het RAM-geheugen bij het schrijven
Tri-state buffers zijn nodig om de bidirectionele verbindingen te laten werken.
Wat is de schrijfpoort in het RAM-geheugen?
EN-poort als doorlaatfilter
Externe klokpuls als signaallijn
Woordselectielijn als de stuurlijk
Functie: de Externe klokpuls wordt alleen naar de rij (locatie) doorgelaten waarnaar geschreven moet worden. Om problemen te voorkomen ma slechts een schrijfpoort tegelijkertijd actief zijn. Hiervoor zorgt de decoder
Schets de leescyclus in het RAM-geheugen.
-
Voorbereiding:
1. Begintoestand: CS, RD en WR lijnen zijn laag (0 stand)
2. De CPU plaatst de datalijnen in hoog-ohmige toestand
3. Vervolgens plaats de CPU het adres van de gewenste locatie op de adreslijnen
4. Via de decoder, adresselectie en de leesfilters komt de inhoud van de gewenste locatie aan de ingang van de tri-state buffers. -
Uitvoering:
5. De CPU maakt de RD en CS lijnen hoog.
6. De tri-state buffers sturen de datalijnen actief aan
7. De CPU leest het gevraagde woord van de datalijnen
8. De CPU maakt CS, RD en WR lijnen terug laag ter voorbereiding van de volgende cyclus
Schets de schrijfcyclus van het RAM-geheugen.
-
Voorbereiding:
1. Begintoestand: CS, RD en WR lijnen zijn laag (0 stand)
2. De CPU plaatst het weg te schrijven woord op de datalijnen
3. De CPU plaatst het adres van de doellocatie op de adreslijnen
4. Het weg te schrijven woord wordt aan de ingangen van ALLE flip-flops aangeboden -
Uitvoering:
5. De CPU maakt CS stuurlijn hoog en stuurt een klokpuls naar de WR stuurlijn. (door de werking van de schrijfpoorten krijgen alleen de flip-flops van de gewenste rij de schrijfpuls binnen)
6. De flip-flops van de geadresseerde locatie bewaren het door de CPU gegeven woord
7. De CPU maakt CS, RD en WR lijnen terug laag ter voorbereiding van de volgende cyclus
Wat is de decimale waarde van Ki
2^10
Wat is de decimale waarde van Mi
2^20
Wat is de decimale waarde van Gi
2^30
Wat is de decimale waarde van Ti
2^40
Wat is de decimale waarde van Pi
2^50
Wat hebben we nodig om het aantal datalijnen en adreslijnen van een RAM-geheugen te bepalen?
- Totale opslagcapaciteit
- Organisaties van de chips (hoeveel bit-chips)
Hoe berekenen we het aantal datalijnen in een RAM-geheugen
Dit komt overeen met de organisaties van de chips. Als we 8bit chips gebruiken dan zijn er 8 datalijnen.
Hoe berekenen we het aantal adreslijnen in een RAM-geheugen?
Dit komt overeen met de macht van 2 van de totale opslagcapaciteit. (vorm de opslag capaciteit om naar een macht van 2 en je hebt de uitkomst. bv een geheugen van 128Ki zal (128Ki = 2^7 . 2^10 = 2^17) dus 17 adreslijnen hebben
Hoe kunnen we een RAM-module organiseren als er te weinig datalijnen zijn, maar wel genoeg adreslijnen?
We zorgen dat elke chip één datalijn voorziet. Verder zijn de adreslijnen, WR, RD, CS nog steeds gemeenschappelijk.
Hoe kunnen we een RAM-module organiseren als er te weinig adreslijnen zijn, maar wel genoeg datalijnen?
We verbinden elke chip met elke datalijn. We verbinden de beschikbare adreslijnen met elke chip. De overige nodige adreslijnen verbinden we met een decoder, zo bekomen we één lijn per chip. Deze verbinden we samen met de CS tot een EN-doorlaatfilter zodat de juiste chip geselecteerd kan worden. De WR en RD verbinden we met elke chip.
Hoe kunnen we een RAM-module organiseren als er zowel te weinig adreslijnen als datalijnen zijn?
We zorgen eerst dat er genoeg datalijnen zijn. Daarna zorgen we voor chip groepjes zodat er genoeg adreslijnen zijn.
Hoe bereken we het aantal woorden in een RAM module?
De totale capaciteit gedeeld door de woordbreedte
Hoe berekenen we hoeveel chips we nodig hebben voor de RAM module te bouwen?
De totale capaciteit gedeeld door de capaciteit van de chips. (capaciteit van de chips is de vermenigvuldiging van de chip notatie uitvoeren)
Hoe berekenen we het aantal datalijnen in de volledige module?
Gelijk aan de woordbreedte
Hoe berekenen we het aantal adreslijnen in de volledige module?
Macht van 2 van het aantal woorden in de module
Hoe berekenen we het aantal datalijnen in een chip?
Gelijk aan de woordbreedte in de chip
Hoe berekenen we het aantal adreslijnen in een chip?
Macht van 2 van het aantal woorden in een chip
Hoe berekenen we het aantal adreslijnen die gebruikt worden om de CS te ontdubbelen?
Aantal adreslijnen module - aantal adreslijnen chip
Hoe berekenen we het aantal chips die gelijktijdig geactiveerd worden via een CS?
Woordbreedte module / woordbreedte chip
Wat is de stack?
Een datastructuur voor de opslag van een wisselend aantal elementen waarbij geldt dat het element dat het laatst werd toegevoegd, het eerst weer wordt opgehaald.
Waarvoor staat LIFO?
Last in First Out
Waarvoor staat FIFO?
First in First Out
Geef een voorbeeld van een FIFO datastructuur.
Een buffer
Geef een voorbeeld van een LIFO datastructuur
Een stack
Wat is de callstack?
Een stack die in het geheugen van een computer bijgehouden wordt tijdens de uitvoering van een programma.
Waarvoor staat SP?
Stack Pointer
Wat is een stack pointer?
Een speciaal register dat het adres van het bovenste element op de stack bijhoud.
Welke soort instructies kunnen we toepassen op de stack?
- PUSH (verhoogt SP met 1 en slaat waarde op de stack op) en POP (verlaagt de SP met 1 en leest de hoogste waarde van de stack)
- CALL (slaat het adres van de volgende instructie op de stack op en spring naar een subroutine) en RET (haalt het adres van de stack af en springt naar dit adres, waarbij de subroutine verlaten wordt)
Waarvoor moet een programmeur steeds zorgen bij het gebruiken van de callstack?
Dat alle gepushte waarden gepopt worden voor de return instructie.
Welke gegevens worden er op de callstack opgeslagen?
- Inhoud van registers die tijdelijk herbruikt worden
- Lokale variabelen
Wat is een cachegeheugen?
Het is een opslagplaats waarin veelgebruikte data, tijdelijk worden opgeslagen om sneller toegang tot deze data mogelijk te maken, of een kopie van een verzameling data op een medium dat sneller toegankelijk is dan het medium waarop de orginele data opgeslagen zijn.
Wat is caching
Het opslaan van veelgebruikte data op een sneller medium om sneller toegang tot deze data te hebben.
Wat is latentie (latency)
De vertraging die optreedt voordat een operand wordt geleverd. (kan beschouwd worden als de vertraging die optreedt wanneer een eerste bit verstuurd wordt tussen het RAM en het cachegeheugen)
Wat is bandbreedte?
De hoeveelheid gegevens die per tijdseenheid kan worden geleverd.
Wat is een hoge hit rate?
Hoog percentage van het aantal requests die kunnen behandeld worden door het cachegeheugen, en waarvoor het RAM-geheugen dus niet moet worden aangesproken.
Wat kan een cachegeheugen beïnvloeden?
De latency op voorwaarde dat er een hoge hit rate is.
Welke impact kan het gebruik van meerder caches hebben?
Het vergroot de bandbreedte en reduceert de latency
Waaruit bestaat een cache?
Uit cache lines of cacheregels (=blokken met een vaste grootte). (gewoonlijk een grootte van 8-64 bytes)
Wat is een cache controller
Een controller die van de CPU een adres van data/instructies (via de adreslijn) ontvangt en nakijkt of dit aanwezig is in de cache.
* Aanwezig: cache hit
* Niet aanwezig: cache miss, RAM moet aangesproken worden
Wat is een split cache?
Indien we een afzonderlijke cache hebben voor data en instructies dan spreken we over split cache.
Wat is LRU?
Least Recently Used: een algoritme dat wordt toegepast wanneer de cache vol is. (Overschrijven van het laatst gebruikte gecachte data)
Welke niveau’s van caching zijn er?
- L(evel) 1 caching: onchip caching, zeer snel RAM-geheugen op de processor zelf
- L(evel) 2 caching: unified caching, Snel RAM-geheugen dat op een aparte chip geplaatst is tussen de processor en het “normale” RAM-geheugen
- Disk-cache: Een groot gedeelte van het “normale” RAM-geheugen dat gereserveerd wordt om kopies van de meest recent gelezen bestanden van de harde schrijf in op te slaan.
- De cache van een internet browser: een cache op de harde schijf die de meest recente opgevraagde internetpagina’s bevat of ARP en DNS caches: relatie IP/MAC-adres (ARP) of IP adres/naam word een tijdje bijgehouden.
- Proxies: Je internet provider (of proxy-server beheerd door bedrijf) houdt op zijn beurt vaak ook kopies bij van de meest opgevraagde internet-pagina’s
Hoe kan een cache hun functies uitvoeren?
Door adreslokalisering
Wat is ruimtelijke lokaliteit?
Opeenvolgende instructies en data zitten meestal dicht bij elkaar ik het hoofdgeheugen (RAM) en worden bijgevolg vaak samen ingeladen in de cache
Wat is temporele lokaliteit?
Er is een kans dat instructies en data korte tijd na elkaar opnieuw gebruikt zullen worden (bv. For-lus), bijgevolg zal de cache vaak die instructies en data langere tijd bijhouden.
Wat moet er gebeuren wanneer data in een cache gewijzigd wordt?
De data in het geheugen moe up to date gebracht worden
Wat is write-through?
Wijzigingen worden onmiddellijk naar de cache én niet naar het geheugen geschreven
Wat is write-back?
Wijzigingen worden pas geschreven wanneer de cache-regel uit de cache verwijderd wordt
Wat zijn de voordelen van write-through?
Hoofdgeheugen is altijd up-to-date
Wat zijn de voor en nadelen van write-back?
Voodeel: Schrijfoperaties worden gegroepeerd
Nadeel: Extra latency bij cache miss door delayed write
Wat is een direct mapped cache?
Dit is de meest voorkomende en meest eenvoudigste cache, een cache met een rechtstreekse geheugenafbeelding.
Elke cache-regel wordt op een vaste plaats in de cache afgebeeld en die cache-regels zitten dus ook in het hoofdgeheugen.
Welke velden heeft een direct-mapped cache?
- Valid: Geeft aan of de inhoud van een cacheregel betrouwbaar is (is er data in deze cacheregel ja (1) neen (0) ==> Altijd ingevuld
- Tag: Het hoofdgeheugen kan onderverdeeld worden in blokken met dezelfde grootte als het cache, de tag geeft aan vanuit welke blok de data/instructies afkomstig zijn.
- Data: cache-regel, is een directe kopie van de geheugenregel
Wat is het voordeel van een direct-mapped cache?
Een geheugenregel kan maar op een plaats in de cache staan, snelle controle of de data in de cache staat.
Hoe kunnen we een tag van een cache begrijpen of berekenen?
Een tag komt overeen met het aantal keer dat de cache in het geheugen past. De grootte van het RAM geheugen / de grootte van de cache.
Als je moet bereken met hoeveel bits je de tag kan voorstellen, dan zet je het aantal tags om naar een macht van 2. De macht is het aantal bits dat he nodig hebt om het voor te stellen.
Hoe kunnen we een line van een cache begrijpen of berekenen?
De grootte van de cache / de grootte van de cacheregel.
Als je moet bereken met hoeveel bits je de line kan voorstellen, dan zet je het aantal lines om naar een macht van 2. De macht is het aantal bits dat he nodig hebt om het voor te stellen.
Hoe kunnen we een byte van een cache begrijpen of berekenen?
Komt overeen met de grootte van de cacheregels.
Als je moet bereken met hoeveel bits je de byte kan voorstellen, dan zet je het aantal bytes om naar een macht van 2. De macht is het aantal bits dat he nodig hebt om het voor te stellen.
Hoe kunnen we een cache visueel voorstellen?
Een tabel met 3 kollommen en n rijen. (aantal rijen is gegeven of kan berekend worden door grootte cache / grootte cache regel)
* Valid: is de regel in gebruik?
* Tag: de tag van het adres (in welke “blok” in het geheugen kom deze regel voor)
* Data: de volledige lijn van het geheugen waar het adres zich bevind
Wat is cache coherency?
Wanneer dezelfde data op 2 verschillende plaatsen aanwezig is, is het belangrijk om te weten op welke plaats de juiste data aanwezig is.
Wat is er nodig om cache coherency te garanderen?
Bus snooping of bus sniffing. (Het monitoren van het verkeer op de systeembus)
Wat is Linux van het systeem?
De kernel
Wat is GNU?
Open source software die veel commando’s aanbiedt die gelijkaardig zijn aan Unix.
Wie is begonnen met Linux?
Linus Torvalds
Wat zijn enkele voordelen van de bash-shell?
- Command line geschiedenis
- Inline bewerkingen
- Scripting
- Aliassen
- Variabelen
Welke info bevat de prompt?
- gebruikersnaam
- systeemnaam
- huidige directory
Waarvoor staat ~ in Bash?
De home directory
Wat is een commando?
Een softwareprogramma dat uitgevoerd wordt in de CLI en een actie op de computer uitvoert.
ls -l
Geeft een long list van de huidige directory met metadata van de bestanden
ls -r
Geeft de list van een directory in reverse
Hoe voer je een specifiek commando uit de geschiedenis uit?
!nummer_commando
Hoe voer je het meest recente commando uit?
!!
```
env
~~~
toont lijst met omgevingsvariabelen
export
Commando om een variabele in een omgevingsvariabele om te zetten
unset
Verwijderd een geëxporteerde variabele
$PATH
variabele die locaties bevat waar alle uitvoerbare commando’s gevonden kunnen worden
alias
Toont de aliassen in de huidige shell
type
Geeft informatie over een alias
alias commando
Maakt van commando een alias
unalias commando
Verwijderd het alias commando
' '
Shell negeert commando’s tussen de single quotes
" "
Shell negeert globtekens. Sommige commando’s worden nog uitgevoerd
` `
Opdrachtvervanging, opdracht kan binnen dezelfde regel uitgevoerd worden. Hetzelfde als $( )
\
Blokkeert enkel het volgende character
;
Kan gebruikt worden om meerdere commando’s na elkaar uit te voeren
man command
Toont de man-page (manual page) van het commando.
man -k command
Display all man pages that contain the term command
man -f command
Display all man pages of command
man 5 command
Display the man page of command(5)
whereis command
Zoekt naar locatie van de manpages en de locatie van het commando.
--help
Opvragen van basic help info
pwd
Print working directory. Toont de huidige map
cd
Change directory
cd -
Springt terug vanwaar je komt
Wat is een absoluut pad?
Een pad gescheiden door /. Begint steeds bij de root-directory. Start dus met “/”
Wat is een relatief pad?
Een pad dat navigeert naar een locatie relatief ten opzichte van de huidige directory.
cd ..
Navigeer naar de bovenliggende map (..
kan ook in paden gebruikt worden)
ls -a
Toont alle bestanden, inclusief de verborgen bestanden (bestanden waarvan de naam begint met een punt)
ls -l
ls -R
toont de bestanden van een map en die van de submappen
ls -S
Toont de bestanden gesorteerd op bestandsgrootte van groot naar klein
tree
Overzicht van de bestandstructuur vanaf de huidige map
command1 | command2
Pipe-character: output of first command is passed into the second command
less
Reads content, while able to navigate. (as in the man-pages)
*
Representeert 0 of meer gelijk welke tekens in een bestandsnaam
?
Representeert exact 1 taken (??
representeert 2 tekens,…)
[ ]
Zoekt een match met precies 1 teken dat tussen de vierkante haakjes wordt opgegeven
! & [ ]
In combinatie worden deze gebruikt om aan te geven dat de tekens tussen de [] niet mogen voorkomen
[^]
De ^
zorgt ervoor dat de match uit de uitvoer gehouden wordt
```
[a-zA-Z]*
Alle waarden die starten met een kleine of hoofdletter
cp
commando gebruikt om bestanden te kopiëren. Heefts steeds een bron (te kopiëren bestand) en een bestemming nodig.
* -v toont indien de kopie succesvol is uitgevoerd
* -i Vraag of een bestand mag overschreven worden
* -r kopieert zowel bestanden als volledige mappenstructuren
mv
Commanda gebruikt om een bestand te verplaatsen. Ook hier is een bron en een bestemming nodig.
Dit commando kan gebruikt worden om het bestand te hernoemen. (enkel indien er ook een bestandsnaam opgegeven is) (geen bestemming, dan wordt het hernoemd maar blijft in dezelfde map)
* -v toont indien de kopie succesvol is uitgevoerd
* -i Vraag of een bestand mag overschreven worden
* -n Overschrijft niet de inhoud van een doelbestand
Geen -r, mv verplaatstn zowieso mappen
mkdir
Maakt een nieuwe map aan. Met optie -p kan je mappenstructuur aan maken (mkdir -p map1/map2/map3
)
rm
Commando gebruikt om bestanden te verwijderen.
* -r : Wordt gebruikt om een map te verwijderen
* -f : alles wordt verwijderd zonder bevestiging te vragen
* -i : Vraagt bevestinging
find
Commando gebruikt om bestanden terug te vinden
* find path vind in een path
* find -iname : zoekt naar een specifieke naam vanaf de huidige directory
* find -type d -empty : zoekt naar lege mappen
* find -type f : zoekt naar bestanden
* -regex: zoekt op reguliere expressie
* -maxdepth: zoek niet dieper dan een maximaal aantal mappen
* -ls : voer het commando ls -l uit op de gevonden bestanden
* -delete : verwijder de gevonden bestanden
* -exec : voer een commando uit op de gevonden bestanden of mappen
* -atime, -amin, -ctime, -cmin, -mtime, -mmin,… : zoek op bestanden of mappen die geopend, aangepast binnen x aantal minuten dagen…
* -size: vindt bestanden of mappen op basis van size
* -a : and
* -o : or
Wat is een hard link?
Hetzelfde bestand waarnaar het linkt, maar met een andere naam. Ze delen dezelfde inode. Wijzigingen aan hardlinks of het origineel bestand reflecteren op de andere links.
Wat is een soft link?
Verwijst naar de locatie van een bestand. Wijziging aan de soft link worden ook toegepast het originele bestand en de hard links.
Wat is een inode?
Een datastructuur in bestandsystemen dat informatie of een bestand of map opslaat.
Leg de verschillen tussen een hardlink en softlink uit.
- Enkel een hardlink is een kopie van het originele bestand en deelt dezelfde inode. Het verwijderen van het originele bestand heeft geen invloed op de link
- Een softlink kan verwijzen naar een director of een andere bestandsysteem.
ln
Commando gebruikt om hard link aan te maken
* -s : gebruik je om een soft link aan te maken
cat
Kan gebruikt worden om inhoud van tekst-bestanden weer te geven.
head
Kan je de eerste 10 regels van een tekstbestand me weergeven
* -n : geef n regels weer
tail
Kan je de laatste 10 regels van een tekstbestand me weergeven
* -n : geef n regels weer
>
Gebruikt om text in een bestand te schrijven
>>
Gebruikt om tekst aan een bestand toe te voegen
2> of 2>>
Gebruikt om foutmeldingen naar een bestand te schrijven
&>
Schrijft zowel de foutmeldingen als de tekst naar een bestand. Dit kan je opsplitsen en naar 2 verschillende bestanden schrijven door > en 2>
in eenzelfde commando te gebruiken
<
Gebruik een tekstbestand als input voor een commando
sort
Kan gebruikt worden om de inhoud van een bestand te sorteren.
* -t afwijken van het standaard veldteken (scheidingsteken)
* -k aangeven op welk veld er moet gesorteerd worden
* -n nummerieke sortering uitvoeren
wc
Geeft het aantal regels, woorden en bytes voor een bestand weer. (kan ook verschillende bestanden als param krijgen. Dan zal er ook een totaal lijn zijn)
* -l enkel regels weergeven
* -w enkel woorden weergeven
* -c enkel bytes weergeven
cut
Haalt tekstkolommen uit een bestand of standaard invoer
* -d af wijken van standaard kolomscheidingsteken
* -f Welke velden moeten er ui het tekst bestan gehaald worden
* -c tekstkolommen uit bestand halen op basis van character positie
grep
Kan gebruikt worden om regels in een bestand te filteren of de uitvoer van een commando dat overeenkomt met een gespecifieerd patroon
* -d afwijken van standaardpatroon
* -f om aan te geven op welk veld er getoond moet worden
* -c om tekstkolommen te extraheren op basis van karakterpositie
* -E om een uitgebreide reguliere expressie te begrijpen
. Voor één karakter
[ ] voor een opsomming van karakters
[^] niet voor een opsomming van karakters
* voor 0 of meerdere karakters
^ voor een karakter aan het begin van een regel
$ voor een karakter aan het einde van een regel
? het karakter komt optioneel voor (enkel bij -E)
+ karakter kom één of meerdere keren voor (enkel bij -E)
| OF (enkel bij -E)
groupadd
Aanmaken van een nieuwe groep (als rootgebruiker)
* zonder optie wordt automatisch een GID gegeven
* -g zelf GID specifieren (boven 1000)
groupmod
Wijzigen van een group
* -n wijzigen van de naam
* -g wijzigen van de GID
groupdel
Verwijderen van een group
useradd
Aanmaken van een nieuwe gebruiker (0 > uID < 1000 , standaard ook group met username aangemaakt)
* -D Bekijken standaardwaarden van een gebruiker
* -m meteen aanmaken van Home directory
passwd
Commando om een passwoord toe te kennen aan een gebruiker.
* -l locken van het password
* -u unlocken van het password
id
Opvragen van de huidige groepen en users
who
Commando dat aangeeft als wie je bent ingelogd
w
Commando dat weergeeft wie er is ingelogd
usermod
Met dit commando kan je als rootgebruiker de instellingen van een gebruiker wijzigen
* -aG Voeg de user toe aan een gegeven lijst van groepen
* -g wijzigen van primaire groep
userdel
Commando om een user te verwijderen
su
Commando om in te loggen als een andere gebruiker (exit om te verlaten)
chmod
Commando gebruikt om de rechten van een bestand te wijzigen
* Symbolische methode: -u/g/o/a (om de user, group, other, all te selecteren) +/-/= (om rechten toe te voegen, te verwijderen of te overschrijven) r/w/x (om de rechten read, write, execute te wijzigen)
* Numerieke methode: Octale waarden representeren de UserGroupOthers rechten. (0 stelt binair 000 voor => geen rechten) (5 stelt binair 101 voor wat read en execute voorstelt) Vb: chmod 754 abc.txt
(User: rwx, Group: r-x, Other: r–)