systeem klok
Al lerende raak ik de draad een beetje kwijt.
Ik zou graag willen weten hoe ik bepaalde dingen moet begrijpen.
bv:
De systeem klok.
De systeemklok is een running klok.
Dat wil volgens mij zeggen dat er een programmeer-loop aan de gang is.
Immers als ik met de functie gettime () en/of getdate () gegevens omtrent de tijd ophaal, dat ik dan alleen die gegevens terug krijg van die ene seconde wanneer ik die gegevens ophaal.
Volgens mij als ik elke seconde die gegevens met deze functies ophaal, zou ik met echo die ook elke seconde weer op het scherm kunnen schrijven.
Maar het programma zou dan niet meer verder kunnen omdat het elke seconde met die loop bezig is.
Meerdere mensen vertellen mij dat het met Java wel kan.
Maar dat maakt het voor mij nog niet duidelijk.
Haal je de gegevens dan op en laat je je zelf geschreven programma dan verder rekenen en die berekeningen op het scherm schrijven of haal je met een of andere functie die lopende klok op?
Of moet ik het zo zien dat een of andere functie die op zichzelf een loop functie is, maar die ik dan ergens op het scherm kan weergeven en daar ergens in een hoekje zijn loop zijn gang laten gaan, terwijl de rest van het/mijn programma dan gewoon door gaat?
Want als dat zo is snap ik het niet!
Volgens mij werkt een programma zo dat de decodering van opdracht regel naar opdrachtregel loopt tenzij de opdrachten inhouden dat bepaalde regels weer opnieuw moeten worden doorlopen. Maar als die opdrachten zelf aangegeven dat hun opdrachten moeten stoppen, dat dan de decodering na die opdrachten met het programma verder gaat.
Ik hoop dat ik duidelijk ben
Wat het nog wat ingewikkelder maakt is dat zowel de browser als de server de data kan cachen voordat het op het scherm verschijnt.
Een van de twee caches kan de data opslaan en wachten met verzenden/weergeven todat alles binnen is, nu klinkt dat raar, maar als het HTTP protocol een beetje begrijpt is dat heel logisch.
Dit protocol beschrijft de vraag (request) van een cliënt naar een server of het antwoord (response) van die server.
Beide bestaan uit een body en headers. De body is bij de request de data van post velden en bij de response de pagina-inhoud. De headers beschrijven de URL en extra informatie over cookies, taal en dergelijke.
Zo'n HTTP bericht is dus 1 blok informatie, dat raar is om gesplitst te worden.
Heb ik het wat duidelijker gemaakt?
En aan de mensen die hier meer van weten: klopt het helemaal?
En nog even over je laatste opmerking over de volgorde van het 'decoderen' (dit wordt parsen genoemd). De PHP-parser gaat eerst langs alle geïnclude code en slaat de definities (functies, klassen en constanten) op. Dan wordt bij het eerste bestand de niet-definitie-code (is hier een naam voor) uitgevoerd (idealiter is dat zo weinig mogelijk). Deze kan eerder geparsde definities aanroepen. Als dit voltooid is wordt de niet-definitie-code van het volgende bestand uitgevoerd en zo verder. Dit zorgt ervoor dat het volgende werkt:
Ook komt het hierdoor dat parse-errors worden opgemerkt in code die helemaal niet wordt uitgevoerd.
Duidelijk?
"Multitasking is een methode om één processor 'schijnbaar' meerdere taken (programma's of delen daarvan) tegelijkertijd te laten uitvoeren (zie ook gedistribueerd programmeren)."
Er wordt gemeldt dat het dan lijkt alsof alles tegelijk wordt uitgevoerd.
Dus in werkelijkheid niet.
Betekend dit dan dat tussen elke seconde van een lopende klok door, het programma verder gaat met het programma?
De processor kan eigenlijk maar één ding tegelijk. Hij loopt dan ook alle processen af en voor elk proces doet is steeds een klein beetje. Aangezien dit razendsnel gaat lijkt het voor de gebruiker dat alles tegelijkertijd gebeurt.
Als ik het goed heb kan ik dus gewoon een lopende digitale klok laten lopen en zorgen de schedulers ervoor dat elke seconde mijn programma(van de lopende digitale klok)tijd krijgt van de processor en dat in de tussentijd de rest(lees: mijn site) verder wordt uitvoerd.
Gewijzigd op 04/10/2010 18:26:35 door - SanThe -
Zo simpel en ik had het niet door.
Iedereen bedankt. Ik weet nu genoeg en sluit deze vraagstelling hierbij.
Iedereen succes bij zijn of haar project.