Ero sivun ”Rengaspuskuri” versioiden välillä

[arvioimaton versio][katsottu versio]
Poistettu sisältö Lisätty sisältö
p Botti poisti 7 Wikidatan sivulle d:q1224994 siirrettyä kielilinkkiä
oikeinkirjoitus
Rivi 1:
'''Rengaspuskuri''' on tapa käyttää tietokoneen muistia.
Rengas-sanalla viitataan tapaan, jolla tiedon tallennus- ja lukupaikka kiertää puskuria. PuskuriinTallennettaessa tallennettaessatietoa tietoa,puskuriin kirjoituspaikka etenee kohti puskurin loppua. Kun kirjoituspaikka ylittää puskurin koon, sirretään se siirtyy takaisin alkuun. Tiedon lukukohta liikkuu samalla tavalla eteenpäin, palaten alkuun puskurin lopussa.
 
== Käyttökohteita ==
Rengaspuskuria voidaan käyttää esimerkiksi muuntamaan tietovirtaa, joka saadaan pakettiverkon yli vaihtelevalla nopeudella muotoon, josta kiinteällä nopeudella sitä kuluttava käsittelijä saa aina samalla viiveellä seuraavan alkion käsittelyyn.
 
== Käytännön toteutus C-koodina==
YksinkertainenKyseessä on yksinkertainen rengaspuskuritoteutus, jossa on käytetty kolmea apumuuttujaa (read_position, write_position ja buffer_len) rengaspuskurin sisäiseen kirjanpitoon.
<pre><nowiki>
Rivi 45:
 
== Optimointi ==
Rengaspuskuritoteutuksesta saa puristettua pois muutaman if-lauseen ja apumuuttujan, jos puskurin koko on 2:n potenssi (2, 4, 8, 16, jne.). Tällöin ei tarvita ehtoa, jossa testataan, vuotaako puskuri seuraavaksi yli, vaan voidaan käyttää bittimaskia ja vapaasti eteenpäin juoksevia luku- ja kirjoituspaikkalaskureita.
 
== Katso myös ==