În mediile în care sunt utilizate mașini gazdă, terminalele terminale pentru I / O sau emulatori de terminale sunt utilizate pentru a stabili sesiuni de comunicare cu computerul gazdă. Cu o sesiune stabilită de sistemul de operare, utilizatorul poate lucra cu aplicația client selectat și conectat la instanța bazei de date pe aceeași mașină - între componentele interne și externe ale aplicației, în acest caz, nici o rețea.
Pentru a sprijini astfel de medii în Oracle, este utilizată arhitectura procesului single-taskserverprocessarchitecture, care este prezentată în Fig. 6.
Un proces cu o singură sarcină este eficient într-un mediu bazat pe gazdă, deoarece, în acest caz, ambele părți client și server ale aplicației sunt executate numai printr-un singur proces. Cu toate acestea, nu toate sistemele de operare suportă configurația single-tasking a Oracle: pot fi utilizate numai de cele care oferă o protecție adecvată a limitei dintre programele client și server. De exemplu, sistemul de operare VAXVMS al companiei Digital poate suporta o configurație cu o singură sarcină pentru conexiuni în mediul gazdă, iar majoritatea serverelor UNIX nu au; În schimb, pentru a suporta atât conexiunile și conexiunile client / server și conexiunile într-un mediu gazdă, majoritatea serverelor UNIX ar trebui să utilizeze o configurație a serverului cu mai multe linii sau dedicate.
Zone de memorie și cache de date
În orice sistem informatic, accesul pe disc este inevitabil. De ce? Pentru a salva date, computerul trebuie să le scrie pe disc și apoi să le aleagă - pentru a citi informațiile de pe disc. Operațiile de I / O ale discurilor sunt, de obicei, printre cele mai lente operații pe computer. Prin urmare, cu cât sunt disponibile mai puține discuri, cu atât mai rapid este computerul și aplicațiile care o utilizează.
Pentru a reduce numărul de accese la disc și de a accelera sistemele informatice, aplicațiile creează de obicei zona de memorie (RAM-randomaccessmemory), care (cache) datele stocate în memoria cache temporar stocate pe disc. Aplicația poate lucra cu datele din cache-ul de memorie cu puțină întârziere sau fără întârziere și poate utiliza operațiuni de acces pe disc cu resurse intensive numai atunci când este necesar sau când este cel mai eficient. Aplicând o memorie cache de memorie, aplicația și sistemul în ansamblu funcționează mult mai rapid.
Rezolvarea cache-urilor, pierderile de memorie cache și rebootările din cache
Un hit cache (cachehit sau cacheget) apare atunci când aplicația solicită date deja în cache-ul de memorie. Rezultatele cache-urilor sunt utile, deoarece puteți să vă deplasați fără să accesați discul în timp ce procesați datele solicitate. Problema cache (cachemiss) apare atunci când aplicația solicită date care nu sunt în memoria cache, deci trebuie să accesați discul pentru a le pune în memoria cache. Reîncărcarea cache-ului (cache) este foarte asemănătoare cu lipsa cache-ului. Apare atunci când aplicația solicită date aflate în memoria cache, dar a fost depășită și a fost scoasă din ea (scrisă înapoi pe disc) - deci aplicația trebuie să citească din nou datele din disc în memorie. Firește, mai puține rate de memorie cache și restabilirea memoriei cache-urilor, accesul mai mic al discurilor și o mai bună funcționare a sistemului.
Memoria cache de memorie este, de obicei, o zonă fixă de memorie care nu crește sau micșorează dimensiunea. Prin urmare, există o limită pentru stocarea datelor în memoria cache. Când cache-ul este plin de date și trebuie citite informații suplimentare, aplicația trebuie să decidă care blocuri ar trebui să fie eliminate din memoria cache pentru a face loc noilor date. Pentru a stoca blocuri de date cel mai frecvent utilizate și pentru a minimiza numărul de ratări cache cache și reîncarcă aplicația ar trebui să se aplice algoritmul cache corespunzătoare (cachingalgorithm) și să-l utilizați pentru a decide când pentru a elimina blocuri vechi din cache. Algoritmul cache distribuit pe scară largă nazyvaemyyMRU / LRU (cel mai recent utilizat-/ algoritm caching cel mai puțin recent usedcachingalgorithm- „este utilizat după toate / utilizate înainte de toate). Ideea acestui algoritm este că, atunci când este folosit blocurile de date care au fost utilizate după toate , sunt stocate în memoria cache, iar blocurile de date folosite înainte de toate sunt scrise înapoi pe disc atunci când este necesar un spațiu suplimentar de stocare.