Rezumat: Sunt luate în considerare cerințele față de sistemul de protecție a informațiilor, abordările generale ale organizării protecției memoriei computerelor multiprograme, precum și organizarea protecției memoriei într-un calculator personal.
Organizarea protecției memoriei în calculator
Cu un mod de lucru multiprogram al calculatorului, mai multe programe independente pot fi simultan în memoria sa. Prin urmare, sunt necesare măsuri speciale pentru a preveni sau a limita accesul unui program la zonele de memorie folosite de alte programe. Programele pot conține, de asemenea, erori care, dacă nu sunt împiedicate, duc la denaturarea informațiilor care aparțin altor programe. Consecințele unor astfel de erori sunt deosebit de periculoase dacă programele sistemului de operare suferă o distrugere. Cu alte cuvinte, este necesar să se excludă impactul programului de utilizator asupra activității programelor altor utilizatori și a programelor din sistemul de operare. Este necesar să se protejeze programele înseși de posibile erori în acestea.
Astfel, protectorii de memorie ar trebui să prevină 2
- interzicerea neautorizată a utilizatorilor între ei,
- accesul neautorizat al utilizatorilor la date,
- deteriorarea programelor și a datelor din cauza erorilor de program,
- intențiile intenționate de a distruge integritatea sistemului,
- Utilizarea informațiilor în memorie nu este în concordanță cu scopul lor funcțional.
Pentru a preveni distrugerea unor suficient alte pentru a proteja zona de memorie a programului de încercări de înregistrare în ea din partea altor programe de programe, iar în unele cazuri, și programul său (protecție la scriere), permițând în același timp recurgerea la alte programe de memorie pentru a citi datele.
În alte cazuri, de exemplu, cu restricții privind accesul la informațiile stocate în sistem, este necesar să se interzică altor programe să acceseze orice zonă de memorie ca înregistrare. și la citire. Această protecție împotriva scrisului și citirii ajută la depanarea programului, în timp ce monitorizează fiecare caz de accesare a zonei de memorie a programului dvs.
Pentru a facilita depanare, este de dorit să se identifice și sunt greșeli tipice în programele ca încercările de a utiliza datele în loc de comenzi sau comenzi în locul datelor în propriul său program, cu toate că aceste erori nu pot distruge informații (disparitate utilizarea funcțională a informațiilor).
Dacă este încălcată protecția memoriei. executarea programului este suspendată și este generată o cerere de întrerupere a încălcării protecției memoriei.
Protecția împotriva programelor de intruziune în alte zone ale memoriei poate fi organizată prin diverse metode. Dar, cu orice abordare, implementarea protecției nu ar trebui să reducă semnificativ performanța calculatorului și să necesite costuri hardware prea mari.
Metodele de protecție se bazează pe unele abordări clasice, care s-au dezvoltat în arhitectura computerelor moderne. Astfel de metode includ protecția celulelor individuale, metoda registrelor limită. metoda cheilor de protecție [7].
Protecția de celule individuale de memorie aranjate într-un computer proiectat pentru a fi utilizat în sistemele de control în cazul în care este necesar pentru a permite depanarea unor noi programe, fără a afecta programele de lucru în procesul de control al memoriei. Acest lucru se poate realiza prin alocarea unui "nivel de protecție" special în fiecare celulă de memorie. Setarea acestui bit la "1" dezactivează scrierea în această celulă, ceea ce salvează programele de lucru. Dezavantajul acestei abordări - o redundanță mare în codarea informațiilor din cauza nivelului prea superficial al obiectului protejat (celulă).
În sistemele cu procesare multiprogram, se recomandă organizarea protecției la nivelul blocurilor de memorie alocate programelor, mai degrabă decât celulelor individuale.
Metoda registrelor de frontieră (Figura 17.1) constă în introducerea a două registre de frontieră care indică limitele superioare și inferioare ale zonei de memorie în care programul are dreptul de acces.
Fig. 17.1. Protecția memoriei prin metoda registrelor de frontieră
Metoda registrelor de frontieră. având simplitatea fără îndoială a realizării, are anumite dezavantaje. Principala este că această metodă acceptă lucrul cu doar zone de memorie continuă.
Metoda de chei de securitate. spre deosebire de cea anterioară, vă permite să implementați accesul programelor la zonele de memorie organizate ca module separate care nu reprezintă o singură matrice.
Memoria este împărțită logic în aceleași blocuri, de exemplu paginile. Fiecărui bloc de memorie i se atribuie un cod numit cheie de protecție pentru memorie. iar pentru fiecare program participant la multiprogramare i se atribuie un cod cheie de program. acces Programul de la acest bloc de memorie pentru citire și scriere este permisă, în cazul în care cheile sunt aceleași (adică, blocul de memorie aparține programului), sau unul dintre ele are un cod de la 0 (cod 0 este atribuit sistemului de operare și blocul de memorie a programului, accesate de către toate programele : date comune, subrutine partajate etc.). Codurile de protecție care codifică blocurile de memorie și cheile programului sunt instalate de sistemul de operare.
În cheia protecției memoriei se oferă o categorie suplimentară de protecție. Protecția este valabilă numai atunci când încearcă să scrie la bloc, în cazul în care acest bit este 0, iar pentru orice referire la blocul, în cazul în care memoria este 1. Codurile de chei de securitate stocate într-un depozit special de a proteja cheile, mai repede decât un RAM.
Funcționarea acestui mecanism de protecție a memoriei este explicată de circuitul din Fig. 17.2.
Fig. 17.2. Protecția memoriei folosind tastele de protecție