Informatie

Status
Niet open voor verdere reacties.

Luuknl

Terugkerende gebruiker
Lid geworden
29 jan 2010
Berichten
1.193
Tja ik was gewoon eens benieuwd naar een aantal dingen. En ik vond dat het over prgrammeren ging dus daarom in deze sectie. Ik kon op wikipedia niet al te veel vinden...:confused:
Want degene die dus het eerste dos maakte. Hoe heeft hij het voor elkaar gekregen dat een computer "luisterde" naar ingevoerde letters.
Want zoals je misschien weet ga ik nu java proberen. En ik dus benieuwd hoe een computer weet wat hij moet doen als ik iets typ van Hello world. Ik snap dus niet helemaal hoe een computer weet wat hij moet doen als ik typt: Msgbox "hello world" en dat opsla als .vbs. Hoe weet een pc dan dat hij een venstertje moet tonen?

En dan nog een vraagje:
Hoe is de latere grafische omgeving in xp enzo gemaakt? ook allemaal typen?

Edit: hoe kan alles zijn getypt in dos terwijl er bij de eerste pc's nog geen toetsenborden waren?
 
Laatst bewerkt:
alles komt uiteindelijk terug op binary code(1001101011) d8 ik. dat is als het ware de taal van de computer. en ik d8 ook dat de computer een 1 als het ware als true ziet en een 0 als false. hiermee(die eenen en nullen) berekend de processor en geeft een bepaalde waarde in binary code terug die vervolgens verteld tegen de oa de pixels op het scherm om een verster te tonen.

ik d8 dat het zo ongeveer was, weet niet zeker

2e vraag: je bedoelt de plaatjes van de menubald etc.??? gewoon in photoshop enzo denk ik
 
Laatst bewerkt:
De computer werkt inderdaad met binaire getallen, maar dat is alleen zijn geheugen, hij communiceert er mee, maar om dingen te berekenen en vertalen wat er moet gebeuren heeft de processor een taal dat Assembly heet. Assembly is een taal dat een set commando's omzet naar machinetaal. Deze machinetaal kan door de processor worden uitgevoerd en je programma zal doen wat jij hem verteld wat hij moet doen. De processor kan overigens maar 1 ding te gelijk berekenen. Multitasken is eigenlijk niet mogelijk. De processor heeft hiervoor een systeem dat ervoor zorgt dat er een lijst is met taken die gedaan moeten worden. Deze taken krijgen, afhankelijk van de architectuur van de processor, een bepaalde tijd of ruimte om zijn berekening te voltooien. Lukt dat niet binnen die tijd dan wordt de taak weer achter aan de rij gezet. Het gaat hier dan om zeer korte periodes van tijd, dus lijkt het alsof hij dingen te gelijk aan het doen is, maar eigenlijk doet hij dat dus niet.

Als jij dus in Assembly iets maakt dat vergt dat jij iets invoert met het toetsenbord, kan op dat moment niks anders uitgevoerd worden totdat jij op enter gedrukt hebt.

De processor is eigenlijk heel dom, hij kan maar een x aantal truckjes, maar omdat er allemaal talen overheen gezet zijn, zoals C, C++, vba, e.d. kunnen we een msgbox op een bepaalde locatie plaatsen met een tekstje er in.

Een programma die tekst verwacht van een toetsenbord, wacht gewoon op de gebruiker tot hij/zij iets invoert en vervolgens op enter drukt. Zodra de gebruiker op Enter heeft gedrukt gaat het programma weer verder.

Op een harde schijf is er een MBR (Master Boot Record). Deze MBR zegt wat er gestart moet worden, welke partitie bevat de gegevens om een Operating System te laden. Op die partitie staan programma's om Windows te starten. Voor XP werd dat door middel van DOS gedaan. Vanaf XP werd dit door Windows zelf gedaan en sindsdien hebben we Command-prompt in Windows. DOS en Command-prompt is dus niet hetzelfde!
 
Laatst bewerkt:
Als je nog een stap lager gaat kom je terecht bij het principe van poortenlogica, iets dat je misschien wel gehad hebt op de middelbare bij Natuurkunde?

Het idee van OF en EN poorten die twee stroompjes naar binnen laten en afhankelijk van hoe de stroompjes binnenkomen wel of geen uitvoer geven? Computers zijn gebouwd met miljoenen van die dingen en die zijn op zo'n manier gekoppeld dat bepaalde stroominputs bepaalde resultaten geven.

Uiteindelijk is assembly / binair programmeren niet meer dan bepaalde onderdelen van de computer op bepaalde tijden wel of geen stroompje geven, en dan aan de andere kant te kijken waar stroompjes er wel en niet uitkomen, en dat te gebruiken als resultaat.

Als je het heel interessant vindt kun je er wel boeken over kopen, of je moet eens rond gaan zoeken op de term "Computer Architecture" maar houd er rekening mee dat het meeste universitaire stof is en dus misschien erg lastig te volgen.
 
De processor kan overigens maar 1 ding te gelijk berekenen. Multitasken is eigenlijk niet mogelijk. De processor heeft hiervoor een systeem dat ervoor zorgt dat er een lijst is met taken die gedaan moeten worden. Deze taken krijgen, afhankelijk van de architectuur van de processor, een bepaalde tijd of ruimte om zijn berekening te voltooien. Lukt dat niet binnen die tijd dan wordt de taak weer achter aan de rij gezet. Het gaat hier dan om zeer korte periodes van tijd, dus lijkt het alsof hij dingen te gelijk aan het doen is, maar eigenlijk doet hij dat dus niet.

als je een multicore processor hebt, kan dat dan ookniet tegelijk???
 
Een multicore processor kan het voor een deel... hij kan twee dingen tegelijk uitrekenen, maar het moet uiteindelijk toch weer bij elkaar gevoegd worden want er is maar 1 processor die toegang heeft tot het beeldscherm en die je dus resultaten kan tonen.
 
Bedankt allemaal. Ik ben blij dit te horen. Maar hoe word de grafische omgeving dan gemaakt?
 
Wat bedoel je met: hoe wordt de grafische omgeving gemaakt?
Hoe het na de BIOS (text-based) overgaat in Windows?
 
ja eigenlijk wel. Gewoon het grafische deel, van alle mooie overgangen in windows 7 dan:P tot het spelen van games. Gaat dan ook allemaal via codes?
 
Je zei dat je gaat beginnen met JAVA toch?
Nou in JAVA maak je gebruik van vele bibliotheken (Libraries). Deze bibliotheken bevatten standaard functies/waardes/plaatjes/schermpjes en dergelijk.
Windows is van zichzelf ook een bibliotheek. Als jij met JAVA een schermpje maakt die er uit ziet als Windows, heeft JAVA aan Windows gevraagd hoe dat er uit moet zien. Dat zit dus niet in JAVA. Hij gebruikt dan een Bibliotheek van Windows. Zo komt Windows dus aan zijn naam, je leent een window van Windows.

Die overgangen zitten dus in een bibliotheek verwerkt. Dus als jij een bepaalde toetsencombinatie doet, voert een onderdeel van een betreffend bibliotheek dat uit.

Dus als je denkt dat je met JAVA een programma hebt gemaakt in de Windows-look, heb je eigenlijk alleen de logica gemaakt voor het programma en het uiterlijk is van Windows. Mocht je dus bijvoorbeeld je JAVA programma op een ander Operating System uitvoeren, dan zal het er uit zien zoals dat OS de schermen heeft bedacht. En zullen ook de overgangen reageren zoals ze gedefinieerd zijn in die bibliotheek.
 
Laatst bewerkt:
Een multicore processor kan het voor een deel... hij kan twee dingen tegelijk uitrekenen, maar het moet uiteindelijk toch weer bij elkaar gevoegd worden want er is maar 1 processor die toegang heeft tot het beeldscherm en die je dus resultaten kan tonen.

Tweakers zei:
Google: multicore-systemen niet altijd beter

De claim dat het groeiende aantal cpu's met een multicore-design het rekenwerk in grootschalige omgevingen efficiënter en goedkoper maakt dan traditionele single core cpu's, gaat lang niet altijd op, zo stelt een topman van Google.

Urs Hölzle, senior vice president of operations bij Google, schrijft dat moderne processors met meerdere rekenkernen momenteel in de praktijk vaak achterblijven op single core-processors. Volgens Hölzle zijn vrijwel alle kernen in multicore-cpu's lager geklokt dan processors met een singlecore-ontwerp, waardoor de verwerkingstijd voor een enkele thread langer kan duren. De Google-medewerker stelt dat dergelijke rekenklussen die niet parallel zijn op te delen onder andere bij Google in de praktijk vaker regel zijn dan uitzondering.

Hölzle meent verder dat software voor veel bedrijven aanzienlijk meer kost dan de toegepaste hardware, maar dat er nog weinig multithreaded code gebruik maakt van de potentiële voordelen van moderne cpu's met meerdere rekenkernen. Hierbij haalt Hölzle de wet van Amdahl aan. Deze wet stelt dat er duidelijke grenzen zijn aan de haalbare prestatiewinsten van een totaal systeem als delen ervan parallel worden uitgevoerd. Een ander nadeel van parallelle verwerking door multicore-processors is de kans dat de wachttijden hoger liggen, zo meent Hölzle. Voor het afronden van een bepaalde taak zou er in veel gevallen gewacht moet worden tot alle subtasks zijn afgerond.

Volgens Hölzle kan het grootschalig toepassen van multicore-cpu's binnen grote datacenters in bepaalde gevallen de exploitatiekosten opdrijven. Zo zouden multicore-systemen veelal met meer werkgeheugen worden uitgerust terwijl deze niet altijd ten volle wordt benut. Ook zouden parallel uitgevoerde taken, zoals het verwerken van een zoekopdracht, meer kostbaar dataverkeer veroorzaken omdat deze worden opgeknipt in diverse subtaken.

Hölzle concludeert dat energiezuinige multicore-cpu's een logische en nuttige ontwikkeling zijn en dat dergelijke chips ook binnen Google veel gebruikt worden, maar dat snelle singlecore-processors voor bepaalde toepassingen momenteel nog de voorkeur genieten. Processors met meerdere kernen zouden minimaal een factor twee sneller moeten zijn om de traditionele single core-ontwerpen definitief in de geschiedenisboeken te laten verdwijnen.
Link naar dit artikel
 
Laatst bewerkt:
ja eigenlijk wel. Gewoon het grafische deel, van alle mooie overgangen in windows 7 dan:P tot het spelen van games. Gaat dan ook allemaal via codes?

Ja. Het is eigenlijk (in theorie) heel simpel. Je beeldscherm bestaat uit een heleboel losse puntjes (pixels) die allemaal een bepaalde kleur hebben. Grafisch gebeurt er niet veel meer dan dat elk van die puntjes op het beeldscherm een kleurtje toegewezen krijgen, en dat zie je dan als een stilstaand beeld als je er met je eigen ogen naar kijkt.

Bewegend beeld krijg je door simpelweg meerdere keren per seconden een nieuw kleurtje naar een beeldpuntje te sturen.

Daarna wordt het heel erg lastig want het is vrijwel onmogelijk om op die manier te programmeren; veel te veel beeldpuntjes en bewegingen etc, vandaar dat er allerlei systemen bestaan die dingen voor je omzetten in beeldpuntjes. Daardoor kun jij werken met plaatjes, en heb je een onderliggend systeem die automatisch zorgt dat je plaatje op de juiste plek wordt weergegeven, en tegenwooridg heb je er zelfs die dat met 3d kunnen doen en voor je uit kunnen rekenen hoe dingen zich vervormen (dus hoe je bijv. een huis weergeeft op het scherm als je een 3d model van een huis getekend hebt)

Maar dat zijn in principe dingen die theoretisch erg leuk zijn maar die je niet direct echt nodig hebt als je leert programmeren, je begint met programmeren in een hoge laag en hebt niet direct heel veel kennis van onderliggende lagen nodig, dat is allemaal netjes zo afgewerkt dat je er niks van hoeft te weten.
 
Status
Niet open voor verdere reacties.
Terug
Bovenaan Onderaan