Файлдар мен каталогтарды қорғау.
Windows файлдарын қорғау құралдары (WFP) фондық режимде жұмыс істейді және жүйелік файлдарды басқа бағдарламалармен өзгерту немесе ауыстыру мүмкіндігін болдырмайды.
Бұл механизм абайсызда немесе жүйелік вирустар мен басқа да зиянды бағдарламалардың әсерінен болған жүйелік файлдарды өзгерту, жылжыту немесе жою жағдайында жүйенің апаттық аяқталу немесе қосымшалардың істен шығу ықтималдығын болдырмауға мүмкіндік береді.
WFP ішкі жүйесінің жұмыс механизмі файлда сандық қолтаңбаның болуын тексеруге негізделген, ол осы файлдың тиісті тексеруден өткенін және басқа бағдарламаларды орнату кезінде өзгертілмегенін немесе ауыстырылмағанын растайды. Егер қолтаңба болмаса немесе қате болса, өзгертілген файлдың үстіне dllcache қалтасынан алынған оның бастапқы нұсқасы жазылады.
Windows Resource Protection (WRP) механизмі — Windows XP — де ол Windows File Protection деп аталды-Windows жүйесін "тек оқу" күйінде ұстауға арналған және осылайша жүйенің тұрақтылығын, сенімділігін және болжамдылығын арттыруға мүмкіндік береді.
WRP операциялық жүйенің келесі компоненттеріне қолданылады:
Жүйелік файлдар
Тіркеу кілттері
Кейбір жүйелік қалталар
Windows ресурстарын қорғау механизмі Windows Discretionary Access Control List (DACL) және Access Control Lists (ACL) негізінде жұмыс істейді.
Амалдық жүйенің ресурстарын ауыстыру мүмкіндігі тек Windows trusted Installer сияқты есептік жазбаға рұқсат етіледі; WRP арқылы қорғалған ресурстарды ауыстыруға тырысатын қосымшалар мен қондырғылар қате туралы хабарлама алады — "access Denied".
Амалдық жүйенің жекелеген компоненттеріне қол жеткізу құқықтары анағұрлым қатаң оларды тек сенімді орнатушы есептік жазбасы өзгерте алады; қалған есептік жазбалар тек осы файлдарды оқып, оны орындауға шақыра алады.
Жадыны бөлу.
Айнымалылар мен массивтер үшін жадты бөлу статикалық және динамикалық болып табылады.
Статикалық жадты бөлу-бөлінген жадтың мөлшері компиляция кезеңінде белгілі болатын жадты бөлу. Жадты статикалық бөлу кезінде жадты бөлу және босату операциялары компилятор арқылы бағдарламаға автоматты түрде енгізіледі. Бағдарламашыға айнымалы немесе массивті жариялау жеткілікті, бағдарламаның сол жерінде оған жад бөлінеді.
Мысалы,
void func()
{
int i; / / мұнда I айнымалысы үшін 4 байт бөлінеді
char ac[10]; // мұнда ac массиві үшін 10 байт бөлінеді
…
} / / функцияның соңы, мұнда жад бәрінен босатылады
// жергілікті айнымалылар мен массивтер
Динамикалық жадты бөлу-бағдарлама барысында жадты бөлу, әдетте, қажетті жадтың мөлшері алдын-ала белгісіз болған жағдайда қолданылады. Динамикалық жадты бөлу жағдайында жадты бөлу және босату үшін жауапкершілік бағдарламашыға жүктеледі. Жадты дұрыс бөлмеу немесе босату амалдық жүйені (кейбір ОЖ-де) қайта жүктеуге дейін ауыр зардаптарға әкелуі мүмкін.
Динамикалық бөлінген жадқа көрсеткіштер арқылы қол жеткізуге болады. Бұл жағдайда бөлінген аймақ массивтермен жұмыс істеу әдістерінің және динамикалық бөлінген жадпен жұмыс істеу әдістерінің ұқсастығына байланысты жиі динамикалық массив деп аталады.
Динамикалық жадты бөлуді басқару alloc файлында сипатталған функциялар арқылы жүзеге асырылады.h:
calloc
malloc
reallo
free
Достарыңызбен бөлісу: |