Жүйедегі қателерді талдау мен қайта өңдеу

1. Жүйедегі қателерді талдау мен қайта өңдеу.

Көпшiлiк негiзгi басқару  жүйе автор бұл сипаттамасында еруге тырбыңдауға «дайындама» құрылымдық программалау басқарды. Егер түзулылық олардың дәлелденген болса дәлелденген құрылымдық бағдарламалардағы қателердiң мәселелерi болмағанын жиi ойлайды. Өкiнiшке орай, қазiргi жағдай түзулылық дәлел ретiнде қой мұндай күрделi програмдар,  ешқандай да сенiмдiлiк тексерудiң жанында берме қазiргi басқару жүйелерiн болып көрiнедi. Қорыта келгенде, жүйенiң сiзiнiң жобалаушысы табылу үшiн шара қолдануы керек болатын және жүйеде қателiктердi өңдеу.

Болжаймыз, түзулылық әлгiде дәлелдеп алудың сәтi түсетiн - модульдардың жазылған сiздерi. Егер олар дұрыс болса, жұмыстың авторларын модульдардың жұмысының жанында жағымсыз оқиғалар бола алғанын жорию. Iшiнара түзулылықтың тұжырымдамасы құрылымдық программалау өйткенi қате ерекшелiк құралы бар болатын ойда негiзделедi. жорию, әр iшкi программаны әрқашан дұрыс орындаған. Тiптi, әр мұндай iшкi программа тұратын бағдарлама оны мiнез-құлығы өз қате ешқашан болмаған жорамалда жазылады. Жұмыстың авторлары бұл жорамал келесi адалдық еместiң дәйектемелерiн ұсынады:

1. Тiптi құрылымдық программалау  бойымен жақсы мамандарды кейде  жаңылады ; олар егер жаңылмас едi, қате ешқашан болмады.

2. Эем, алайда бiздi пайдаланатын  «сбоят» және бұл мәлiметтер өзгертетiн бағдарламаның қате жұмысын шақыра алады, немесе кодтар.

3. Бағдарлама iс жүзiнде  бұрын пайда болмаған қате  анықтай алған периодты өзгерулер шыдайды.

4. Жүйеге қате енгiзе алады немесе келiсiлмеген мәлiметтерлер.

Бұдан әрi авторлар қатенiң  ажырата қарайды және жағымсыз оқиғамен. Бұл —-шы қате онда, обнаружено болуы керек болған және (жүйе терең бiлiм не жорию) түзеткен. Басқа жағынан, жүйенiң қалыпты мiнез-құлығынан ауытқу бұл —-шы жағымсыз оқиға. Демек, жағымсыз оқиғаларды бiлiнiңiзғана емес, сонымен бiрге (өйткенi түзету артық дұрыстау функцияны негiзiнен болып көрiнедi) олардың жұмыстаныңыз да сiз. Қалпына келтiрудiң ортақ алгоритмы жағымсыз оқиғадан кейiн болмайды, үшiн оныларды ашатынын болжау, және бiзi соншама емес менменшiлмiз. Бiз болмаймыз да қатенiң аралығында айырмашылықта әрi қарай тереңдетсiн және жағымсыз оқиғамен, себебi бұл тек үлкенiрек шатақ бағытталды.

Бөлiм қорыта келгенде, бұл  кейбiрi әкелiнген жағымсыз оқиға мән қате қателiктердi өңдеу туралы ойла. Мысалы, бiз алайда Араның архитектурасына ұйым программ туралы пiкiрлердiң қатары айтамыз ) және мүмкiн қателердiң түрлерiн болжау туралы бiрнеше жөн-жобалар.

1.1. Қателiктердi өңдеу.

Бұл қате — эем үшiн  программалауда «өмiрлiк айғақ». Қарағанда  қателердi онда бағдарлама күрделiрек, сол артық. Басқару жүйесiне қандай туралы Ниа онда дәл деп айтуға болмайды қате жоқ, бiр жағынан бол қателер (әзiрше ) обнаруженными емес бола алады. Бағдарламалық қамтамасыз етудiң жасауын тәжiрибенi бағдарлама ол қартаюын өлшем бойымен жақсаратынын ол туралы сөйлейдi. Бұл математикалық қамтамасыз етуде қатеде болатынын бiлдiредi, және шығарады немесе түзетiледi. Дегенмен бұл тәжiрибенi олардың табылуы қателерiн санын кiшiрейтуiн өлшемi бойымен бәрi қиындау болатынын есiне салады, және кезектi қатенi табылу орташа күн уақыт өседi. Рухтандырғыш емес нәтиже бұл, өйткенi оны бiз соңғы программадағы қателiктi ешқашан таппайтынымызды жүзеге асатындай бiлдiредi. Егер бiздердi жобала қателердi (табылмаған ) бар болу ұстап тұрған жүйе «табанды», дегенмен бұл бәрiсi болып көрiнгендей қорқынышты, және алайда пайдалы жұмысты орындайды.

Болжаймыз, верн бағдарламаның  кiретiн мәлiметтермiз. Басқару жүйесi бұл бiздiң жағдайда —-шы бағдарламасы, ал қолданбалы бағдарламалар бұл данные—сi немесе командалық тiлдiң операторлары. Қателердi қолданушы бiрнеше iшкi жүйелiк көздiң нүктесiмен болады: аппаратураның қатесi, математикалық қамтамасыз ету және программалау. Эем аппаратураның қатесi қазiргiге әжептәуiр сирек және жеңiл мәлiм болады, ал мүмкiн және мүлдем орындамау, өйткенi бағдарлама анық терiс нәтиженi бередi. Егер қате түзетуге болмаса тiптi, эемi көбi (жадтың қатеген сияқты) қарапайым қателерi түзете алады немесе жұмыс iсте, жабдық сала бiртiндеп шығатын. Бичом қондырғы көпшiлiгiнде қиын керемет табатын аппаратураның кездейсоқ қателерiнде болады, және зор дәт талап еткендерi және аппаратурасының елеулi өнер-бiлiмi және себеп олардың анықтауы үшiн математикалық қамтамасыз етуi.

Математикалық қамтамасыз етудiң қатесi да әдетте сирек жүйе «өндiрiстiк», онда қиын олардың, бiрақ егер оларларда болады. Бұл қателердi жағдай әйтеуiр жүйенiң терiс жобалауы нәтижесi болып табылады немесе өткiзудiң жанында қате шешiмдерi. Олар, кәдiмгi жүйелiк операцияларда бiлiнбегенiнде емес, жүйенiң ерекше жүктеуiнiң жанында болғанында. Мысалы, олар мағына бұл кездейсоқ болып көрiнедi және екi бағдарламаның әр түрлi факторларын әсер нәтижесiнде бола алады енгiзу-қорытынды осы тiзбекте програм¬мамға қарайды).

Ең көп программалаудың қатесiн болып көрiнедi, бiр жағынан бұл санатты қамтию сонымен бiрге жүйелiк қателер. Программалаудың қатесi келесi таптарға бөлуге болады:

1. Түсiнушiлiктiң қатесi: жобалаушы  басталған жұмыс, оқып шығылмап немесе, спецификация толық түсiнбеп.

2. Толық деңгейде жүйенiң ойлауында қатенi бiлдiретiн логикалық қателер.

3. Бұдан әрi ұсақтар едi: кодтаудың қатесi, ал ) синтаксистiк  қателiк бұл құрылымдарды түсiнбеудiң  нәтижесi және тiлдiң операторлары ; ) операторларды терiс өзара iс-әрекет пайда болатын құрылымдық қателер немесе мәлiметтерлердi терiс жобалау структур ; ) түсiнбеудiң нәтижесiнiң семантикалық қателер, болып табылатындары тiлдiң операторын орындаған.

Ошибок/чемнiң өңдеуiне туралы —-шы бұл бөлiмдi мақсат кәдiмгi басқару  жүйесi мәтiндерiндегiн табуға болуға едәуiр көп әңгiмелеу. Бiз қателердi пайда болу ықпал ететiн мұнда кейбiр факторларды талдаймыз, және қателердi бар болуға басқару жүйесiнiң тексерiсiн әдiстi ұсынамыз.

1.2. Қателiктердi өңдеудiң қағидаттары.

Құрылымдық программалау программадағы қателiк ерекшелiк құралы сияқты насихаттады. Осы уақытта жорамал бұл, жобалау сатысында, басқару жүйелерi мүмкiн, дұрыс аппаратураның бас-сирақтары артынан қате ұшыраған немесе бағдарламада шынымен әжептәуiр қаралмайтын келiспейтiн мәлiметтерлер. Тiптi, (құрылымдық жобалау олардың салдарынан) бағдарлама iштей есепте қателерге «топас». Себебi құрылымдық бағдарламалар төменгi деңгейдiң модуль жүзеге асырылатын абстрактiлi машиналарға сал қателердi тексерiс туралы шешiм абстрактiлi машиндарды деңгей мүмкiн берiлген болған бұданға жорию.

Iс жүзiнде, мұндай сирек  болады, және қатеде маңызды тексерiс  әр деңгейде жүзеге асыруы керек. Бұл ақтаған, өйткенi әр төменгi деңгейдi иерархиялық жiктелген жүйеде өнер-бiлiмсiз жоғарғы жасаған жұмыс iстеуi керек. Тiптi, жағдайлар, қашан төменгi деңгейлер сол тұрақты «сергектiлiк» лектес болу керек әр түрлi адам мүмкiн жазылған жоғары деңгейдiң көп модульдарымен жұмсала алады.

Қателiктердi өңдеудiң қағидаттары тармақ арналған бөлшектеу қиын, өйткенi оның көптерi басқару жүйесi үшiн ерекше болып көрiнедi. Алайда құрылымдық программалауды нәтиже негiзiнде кейбiр ортақ қағидаттар көрiнiп қалады. Қағидат бiрiншi (құрылымдық программалауды нәтиже қалай) жүйе туралы өнер-бiлiм оқшаулауға қатысты. Бiр жағынан қате жұмыс iстейтiн жүйенiң төменгi деңгейiнде, жоғары деңгейлер туралы бiлмей мүмкiн бол, қатеге тиiстi реакция үшiн қажеттi ақпарат жоғары деңгейде болатында iс. Демек, мәлiметтер дұрыс қателiктердi өңдеу үшiн бiр деңгейге үстiне берiлген болуы керек. Дегенмен бұл жоғарғы деңгейдi модуль қате «оқшаулау» болсынауға қабiлеттуi керек, үшiн қалған iшкi жүйелердiң жұмысында ол.

Екiншi қағидат жүйелiк спецификацияларды бұзатын қатенi кездестiрген сұрақ тиюды. Жұмыста ұсынылады, үшiн бұл өйткенi абстрактiлi машина алды. әр жүйенiң деңгейi оның функциялары қате болатын орындаудың жанында бiлiнедi. Қате, машинада қашан бол шақырады немесе қателiктердi өңдеудiң арнаулы бағдарламасымен қарпылады. Бұл негiзiнен тұжырымдаманы сақта «ақпараттың жасыруы»: қателiктердi өңдеудiң бағдарламасы ие болады тек сол өңдеу үшiн қажеттi өнер-бiлiмдер. Өкiнiшке орай, мұндай тетiктi өткiзудiң жанында едәуiр өседi және басқару жүйесiнiң өлшемi. Ақылды ымыра қателiктердi өңдеу необходим тетiгiн қоныстың анықтамасы үшiн.

Үшiншi қағидат көрcетiлген жоғары мәселе: модульдардың спецификациясы қате болжауы керек бередi. Олардың жұмысында ата үлкен ықтималдықтарда болуға ие болған бұл маңыздың неде «абстрактiлi қателермен». Барлық деңгейлерге әр қатенi мүмкiн емес тексерiлетiн анық. Анықтау программ системi тәжiрибенiң түзулылықтың тексерiсiнiң кодтары жеңiл екi есе өсiре алғанын көрсеттi, немесе модульдың өлшемi үш еселеу. Қорыта келгенде, екi сiз систем жобалауда қабылдағаныз ең сыни шешiмдермен, тексерiлетiн қателер туралы сұрақтарды болып көрiнедi және тексерiстi жүзеге асырылатын орын туралы.

Қателiктердi өңдеу сол  қате екi бағыттарға тарай алады: жоғарылы-төмендi ретiнде айғақты есептеумен хабар алу тиiстi. Қате үстiне таралып жатқан дұрыс пайдаланған тетiкте бас-сирақ нәтижесi болып табылады немесе төменгi деңгейдiң какомға қатенiң саяжайы. Қате төмен таралып жатқан келiсiлмеген әдетте нәтижесi болып табылады немесе үстiнде берiлетiн қате мәлiметтерлер. Сiрә, мұндай қателер алдыңғы деңгейге кейiн «қайтарған» болуы керек, өйткенi төменгi деңгейдi модуль анықтама үшiн жеткiлiктi өнер-бiлiмдермен ескеретiн әдетте (және ие болуы керек бол) ие болмайды. Төменгi деңгейден, ол қателiк туралы хабар қашан деңгей қалпына келтiру мүмкiн талпынуға алады немесе келесi жоғары тұрған деңгей қате туралы хабарлау.

Егер жеткiлiктi ақпарат  жоқ болса, оны жiктелген жүйесiнде  қатесiн табылуында ол түзеткен иерархияның  жоғары тұрған деңгейiне беруi керек, немесе, алып бередi. Қателердi әр басқарудың бағдарламасын деңгейде спецификациялармен келiсетiн мәртебеге абстрактiлi машинаның мәртебесi қалпына келтiруге жауапты болады. Бұл модульдардың шақыруларын тiзбектiң шешуiн процесс ақпарат қағидат сәйкес қате пайда бол «ақпараттың жасыруы» ол туралы бермейдi.

Бөлiм бұл қалпына келтiрудiң стратегиясы туралы толық сөйлемедi және диагностика және, мүмкiн, сөйлеу керек емес. Ол жағдай көпшiлiгiнде жобалаушыдан бағынышты болады және нақты қондыру, ортақ қағидатта сондықтан болмайды. Дегенмен мұндай тәсiл кейбiр артықшылығы болады:

1. Әр қателiктердi өңдеудiң рәсiмi спецификация сәйкес дұрыс өңдеу үшiн ақпарат бар болатын деңгей том жазылады.

2. Жүйе сенiмдiлiк үлкен өзгерiстерсiз мүмкiн көбеюге қарай мiнсiздiкке жету. Қателiктердi өңдеудiң бағдарламасы өз есiм басып шығаратын қарапайым, мүмкiн ғана басталады және iшiндегi қате регистрлер. Жиi пайдаланатын бағдарламалар дамудың өлшемi бойымен күрделiрекке алмастырылады.

3. Егер жүйе көп бағдарламашылармен жасаса қармау механизмы шектелген қолдану талқылауды ықшамдайды. Ешкiм барлық жүйенiң бөлшектерiн бiлмейдi. Қате, мүмкiн қып-қиын жауапты талдауға таңдауға мiндет бол қашан көрiнiп қалады. Тiптi қате пайда болатын модульдың есiмiн мөр, үлкен көмек қателiктi iздестiруде мүмкiн көрсету.

1.3. Қателердiң түрлерiн тiзiм.

Бiз оның нәтижелерi талқылаймыз, себебi олар бiз туралы ұсыну жүйенiң жобалауында алуы керек қателердi белгiлi ортақ таптардың көрсетедi.

Қалай программа жасаушы  қателердi iздестiру есепте бiрнеше деңгейлерге  хабар алу тиiстi. Қатесiн себеп  мәселесiн күрделiлiгiнiң аралығында айырмашылығымен сияқты анықталады және оны (т. қолданылатын құрал-жабдықтарын  адекваттылығымен. неге басқа сол  үшiн болу керек, үшiн қатеде болмады). Қателердi келесi себептер танып бiлiнедi: технологиялық, ұйымдастыру, тарихи, тобының серпiнi, дара тағы басқалар ные өлшем, тәсiл бәрi қате мәнi сақтап қалуы айырмашылық қысқарту. Атап өтiледi, оның шектеуiнiң екi жолында әрқашан болған: немесе нақты мәселенi шешiм үшiн пайдаланатын қаржыны үлкейту, үшiн болған iсiнiң қолданылатынырақ қаржысымен, немесе осылай процестi түрлендiру.

Ол бұл қателер әр түрлi топтан жiктедi және әр тап үшiн қателердi кейбiр факторларды анықтауға азаптандырды. Жұмыстың авторымен қателердi таныстырылған негiзгi факторлар, обнаруженные 600 станциясында кестеде 95J және оның әрiптестерiмен.

1.4. Қате туралы пiкiр модульдың жобалауында.

Модульдың қашан берiлген спецификациясы, сiз қателiктердi өңдеудiң  тәсiлдерiне болған шектеу туралы ұсыну  алуы керек, және күту керек болатын қателердiң түрлерi туралы. Түрде спецификациялардың құрастыруында ие болу керек болатын кейбiр негiзгi пiкiрлердi төменде тура келедi, және модульдардың жобалауы.

Керек модульда жоғары деңгейлермен оған берiлетiн параметрлердi мағынада шектеудi ескерген анық. Кез-келген бағдарлама мағыналар, процестердi болса дискiлi мекен-жайлар, идентификатор ғана шектелген ауқыммен мүмкiн жұмыс iстесiн немесе тағы да не. Егер параметрдiң ағымдағы мағынасы мағыналарды ауқымнан шекарадан асса қате туралы хабарлау керек. Егер құрастырманың жанында тексерiсi жеткiлiктi болса, орындауы кейде тексерiсi уақытында шығарылып тасталған бола алады, үшiн қате мағыналарды лақтырып тастау.

Белгiлi модульдар жүйенiң  күйi туралы ақпараттың сақтауына жауап бередi және, қорыта келгенде, мүмкiндiктер iшкi шектеуi болады. Шексiз жадпен жұмысқа ; олар сондықтан қате туралы хабарлауы керек кепiлдiк бере алған математикалық қамтамасыз етудiң бағдарламасында қазiргi уақытта болмайды, ықтимал мекен-жайларды шегiн қашан асады. Белгiлеу керек, қабiлеттiлiк жобалаудың маңызды қырымен жағдай болжауға болып көрiнген оны (т. мұндай қатесiнде қашан болады. қол жететiн ауқымды анықтау). Мәтiн түсiндiрiп жатылатын ресурстардың бiрнеше мониторларының кезегi элемент мұндай тетiктi мысал таныстырады.

Көп модульдар жүйенiң күйi туралы ақпараттың хабарламасы үшiн әдейi жобаланған. Мүмкiн жағдай, ол құруға болатынын сияқты алдында сұрау салынған ақпараты қашан болады, немесе ол сияқтығаннан кейiн мәлiметтерлердi элементтен алып тасталды. Әр мұндай жағдай үшiн қате көрсету керек. Оқиға, оқиғаның мәртебесiне қашан жаса мағынаны беруi, бас-аяқсыз оқиғаны мойын көрсеткен болуым керек. Бұл шартты сақтамау сұрау салатын процестер қате бейненiң оқиғаның iшiндегi мәртебелерi түсiндiрген бұданға алып келедi.

Белгiлi операциялар орындау ретiн иерархиялық жiктелген жүйеде модульдардың жобалауына шектеу мүмкiн үстiне қою. Кәдiмгi себептер бұл тиiмдiлiктiң пiкiрi, өткiзудiң оңайлығын қосады немесе қателердi табылудың жақсартылған мүмкiндiктерi. Анық мысал файлдарды менеджердiң талабы қызмет етедi, үшiн файл сол алдында ашық, ол ретiнде оқу үшiн бет бұруға болады немесе жазба. Басқа мысал оларында бiрдеңесi жазылған болатын оғанды сегменттелген файлдың мәлiметтерлерiнiң блоктерiн оқу тиюды. Негiзгi ереже модульдың қалған функцияларын орындауды алдында белгiлi шарттарды орындаудың тексерiсiн болып көрiнедi.

Жүйенiң оғаш әрекеттерiне бағытталатын программалаудың қателерiн ортақ таптың көрсетiлдi. Мысалдардың бiрлерi қолданушы әрекетке қатысты ендi ашылған файлды ашу. Кейбiрi ғана орта қолданушы «незлоумышленных» тиесiлi жүйе бұл шартты тексерiс туралы ойлайды. Басқа жағынан, кейбiр жүйелерi шарт бұл iлiгедi бұл ашық файл ендi болуы мүмкiн бе? тексерiстiң тәсiлi. Күмән әрекеттi пайдалану бұл (дұрыстаушыға күтуген сияқты) арнаулы операцияларды кодтау үшiн қаржы қауiптi болып көрiнедi. Егер қолданушы бұдан тәуелдi болып тұрған болса, олар модульдың спецификациясы, апаттық кiруi жүзеге асыра немесе шығу бұза алады. Түсiнiксiз әрекеттер қоздыра алады және қолданушы ұялту. Бiз қате туралы оңай хабарлайтынын есептеймiз, және мұндай шартты табылудың баламалы құрал-жабдығын қолданушыны беру.

Жоғары деңгейден берiлген қате ақпарат бiр мүмкiн бұзылған анық, немесе қатедегi бiрнеше тексерiстерi. Әдетте өйткенi керексiз қателердi бiрнеше индикаций енгiзген екен, жобалаушы дегенмен қателiк туралы хабарларды басымдылық орнатуы керек. Басымдылыққа жағдай әйтеуiр операциялар тiзбегi әсер етедi, бiр жағынан жобалаушы мүмкiн деп ойла төменгi деңгейлермен берiлген (немесе қате) қателердi негiзде әр түрлi қателер туралы хабарлау керек. Айтарлықтай мұнда онда, тексерiстердi көп әжептәуiр, үшiн мүмкiн қателер бәрi қамту. Бұл мүмкiн қате обнаружена модульдың шақыруын нәтиженiң өзгерiс, болып табылатындары, модуль бол шектеулердi бұзусыз бұл бола алатындай бiр де бiр болғанын бiлдiредi. Тiптi, (егер бар бол) функцияның мағынасы белгiсiз болмағанын кепiлдiк бер (егер бар бол) функцияның мағынасы белгiсiз болмағанын кепiлдiк беру тиiстi қателiк туралы хабар болмайтын айғақ.

Және шектеулердi бұзылысы артынан қателiк туралы хабарды жеңiлдеу табатынын анық болу тиiстi әйтеуiр, қарағанда ресурспен жұмыстың тетiгiнде қате артынан болатын хабарлама. Және де, жағдай көпшiлiгiнде анықтама үшiн қол жететiн дұрыс ақпарат жоқ, не болып қалды, өйткенi қолданушысы iшкi жүйенiң бiр бөлiктерiне рұқсаты болма олардың түсiнбейдi. Тезiрек барлығы, бiз математикалық қамтамасыз етудiң нақты бөлiмшесiне қарауатын қатенiң жiктеуiн қолданушы беруiмiз керек. Кейбiр бас-сирақтар айқын ақпарат қол жетпес соншама апатты бола алады, немесе бiрден елеусiз. Жүйе алайда анықтауға азаптандыруы керек, мейлiнше, қатенiң табы сол үшiн, үшiн кодтардың бiр бөлiктерiнiң iздестiруiн шектесiн немесе қате шақыратын мәлiметтерлер.

Ендеше, дұрыс қателiктердi өңдеу барлық жүйенiң бiр бөлiктерiндегi қателерiн талдауға жүйелi түрде тәсiл талап етедi. Әуелден жобалаушы жүйеде қателiктердi өңдеудiң спецификациясы жазуы керек. Тiптi, өңдеу жүйенiң төменгi деңгейлерiмен басталуы керек, әйтпесе нәтижеде қателердi анықтамада сәтсiздiк болады және олары туралы хабар.

1.5. Басқару жүйесiнiң жобалауының тексерiсiне тәсiл.

ЭЕМ қауiпсiздiктiң тұратын уақыт бiлдiрiлетiн назар және мәлiметтерлердi құпиялық, бағанағыдай заңдар талап етедi және үкiмет ережелерi, әрекеттерге қазiргi басқару жүйелерiн қайтадан қарастырып, сонымен бiрге дәлелденген қауiпсiздiк бар жаңа жүйелердi жобалауға әкелдi. Қорғаныстың тетiктерi микроэвм үшiн операциялық системдердi жағдайда және қауiпсiздiктi қамтамасыз ету тиiмдiлiктiң пiкiрi баса алады. Дегенмен мұндай тетiктер өздiгiнен көп қолданушы орта жұмыс iстейтiн үлкен системдер үшiн мини-ЭЕМ қажеттi.

Ақау туралы болжамдарды  әдiстемелiк қателердi талдаудың позициясынан операциялық системдердiң спецификацияларының қарастыруына тәсiлдi бередi. Басқару жүйесi, қателерi бар, болып көрiнген сонымен бiрге осал жерi анық, өйткенi қате сол ену шабуыл нысана қызмет ете алады. Жүйенiң шабуылы облыстарды анықтама, мүмкiн болса, мәлiметтерлердi структур қате, бөлшектердiң iшкi жүйелерiнiң интерфейстерiнiң талдауында тексерiстердi әзiрлеу үшiн нұсқауды жақсы бередi және қателердi қызмет көрсету.

Ақау туралы болжамдарды  әдiстемелiк бiрнеше кезеңдерде жүзеге асырылады: 1) жүйелiк басқарушы структурлердi өнер-бiлiм

2) мүмкiн ақауларды тiзiмнiң құрастыруы

3) ақау туралы болжамдарды растау және

4) мысалдарымен қаралатын ақауларды болып көрiнген жүйенiң айқындалған әлсiздiктерiнiң жалпылауы.

Енудiң жүргiзуi үшiн жүйелiк басқарушы структурлердi өнер-бiлiм керек. Бұл ақпарат құжаттама жолымен мұқият жүйелiк талдау мүмкiн алыну. Файлдардың тiзiмдемелерi, қондырудың басқаруының ережелерiмен жүйелiк басқарушы объектiлермен қорғанған зерттеулерi көмекпен (дисктер, файлдар, парольдар) бағалы объектiлер анықталынған бола алады, және д.) өйткенi. Қауiпсiздiктiң объектiсi мүмкiн да рекурсия жүйелiк басқаратын объект болсын, өзiнен арашалаушы деп. Қорғаныстың объектiлерiн тiзiм сiз жүйенiң жобалауында жасай аласыз және объект, қорғаныспен басқарушы. Бұл тiзiмнен сүйене, сiз жүйенiң басқарушы структурлерiн концептуалды ұсыну жасай аласыз.

Келесi адым жүйелiк басқарушы  құрылымдарға шабуылдардың — нүктелерiнiң ақауларын тiзiмнiң құрастыруын болып көрiнедi. Ақау туралы болжам бiр тұрады немесе басқарушы объектiге шабуыл стратегиялардың көпшiлiктерi және белгiлi басымдылық әдетте ие болады және жетiстiктiң ықтималдығы. Бол жүйелерде жүйенiң кодтарын басып шығаруды мүмкiн зерттеуге «қаскүнем», үшiн шабуылдың дәл әдiсiн талдау. Жобалаушы функционалдық жобалау хабар талдау абстрактiлi деңгейден астамға әдетте көздiң нүктесiмен тиiстi және жүйенiң спецификациялары.

Немесе атқарылған жолымен  ойша эксперимент мүмкiн болған ақау туралы болжамның растауы келесi адым, немесе нақты тексерiстермен. Табысты ену «құдайы қонақ» басқарушы объект басып қалатынында тұрады, басқарушы құрылымға әсер етедi және анығында супервизор жүйенiң басқаруы деңгейде алады. Нақты тексерiстер ақауда шынымен (бұл теңбе-тең емес құжаттама артынан мүмкiн болу) болғанын растай алады. Жүйенiң тестеуi арқылылар жобалаушы үшiн жүйелiк спецификациялар сәйкессiздiкте тексеруi керек болған растау алуға керек, және қайшылық.

Көп ақауларды — жалпылау соңғы қадам, - расталған кемшiлiктер ортақ әлсiздiктердiң анықтауы үшiн талдау жүргiзедi. Егер бұл мүмкiн болса, әлсiздiк бұл зерттеулердi нәтижелер жоспарлауған мұндай сияқтылар, қол жеткiзудiң бақылауы бойымен санатта бөлiн бол системдердiң ақауларын түзету үшiн қолдана аладуға тағы сол сияқтылар, немесе жаңа жүйенi жобаның түрлендiруi.

Қалай бұрын белгi соқтырды, тестеуге мұндай тәсiл және жүйеге қауiпсiздiк  дұрысыраққа хабар басқару жүйесiнiң жобасын анықтау мүмкiн көздiң нүктесiмен. Егер жүйе мамандарды тобымен жобаланса, онда бiрiсi әуелден мүмкiн ролдi ойнауға тапсырылады «iбiлiс» және жобаға шабуылдау. Ерте игеру сатыларға ену алдын ала жүргiзiлетiн талдау және өткiзу программалық қателiктердiң c кiшiсi санына мүмкiн әкелсiн және соңынан талқылаудың уақытының қысқартуына.

Одан басқа, олар шабуылдың  табысты стратегияларының терулерiн анықтады. Бұл ақаулардың кейбiрi және шабуыл ақау туралы болжамдарды әдiстемелiктiң пайдалануы бойымен бастапқы жәрдемақы таныстырады.

Ортақ функционалдық ақаулар. Шындықтың анықтауы. Қолданушы басқару жүйесi және аппаратура олар болуы керек болған нақ сол ретiнде растау алу мүмкiндiгi алуы керек. Өз аппаратураны аппаратураның жеке құрамдас бөлiктерiн бiрдейлендiрудiң сұлбасын систем бәрiмiзге ортақ болмайды немесе нобайдың жүйесiнiң модульдарының тексерiстiң сұлбасы немесе басқа модульдардың мәнi.

Құжаттау. Құжаттау күрделi тiл мүмкiн жазылсын немесе сыни облыстар жеткiлiксiз сипаттамасы болу.

Қателердi табылу. Қорғанысының тетiктерi қатенiң нәтижесiнде тосқауыл қойылған бола алады және тиiстi әрекеттердi орындаудан кейiн қайта орнатпаған.

Өткiзу. Жақсы ойластырылған жоба және спецификация жаман өткiзу бүлiнген бола алады. Қай жүйе iске асыратын бағдарламашыда возложены шешiм, спецификацияларына ерген мүмкiн болмауы мүмкiн немесе шарт бәрi тексермедi.

Анықталмаған сенiм. X модульды модуль Y параметрлерi дұрыс жорию, себебi Y модуль жүйелiк болып көрiнедi ; процесс.

Ойдағы бөлiну. Жүйе мәлiметтердi сақталады немесе көрсеткiш, сонымен бiрге кеңiстiкте параметрлерге қарайды - жадтың кемшiлiгi қолданушы болғандықтан.

Заңдылығын тексеру. Қолданушының параметрлерi, мүмкiн, ; жеке алғанда параметрдiң ерекше мағынасын мүмкiн ескермеюге керектi мөлшерде тексермейдi. Параметрлердi тапсырудың тетiктерi. Параметрдiң мағынасы регистрде алып беру қауiпсiзiрек, қарағанда параметрге көрсеткiш. Сiлтемемен тапсыру — анықталмаған бөлiну кемшiлiкке мүмкiн әкелу, өйткенi параметр заңдылығын тексерудiң орындауына дейiн қолданушының кеңiстiгiнен жөнелте алмайды. Парольдар. Әр түрлi басқарушы объектiлерiн пароль жеңiл табылатын болуға, шектелген символдар жиынынан тұра алады немесе синтаксис бос тұру ие болу.

Басымдылық. Көп жүйелiк модульдарға белгiлi жүйелiк кестелерге қол жеткiзудiң жеңiлдiгi үшiн супервизордың артықшылығын бередi. Қарағанда модуль артық супервизор режимiнде орындайды, енудiң мүмкiндiктерi сол артық және сол жүйе әлсiзiрек. Қалдық ақпарат. Ақпарат қол жететiн мүмкiн бол қызмет көрсетудiң жаман ұйымы артынан «қаскүнемге» және жүйенiң жобасын немқұрайдылық.

Утилита. Утилиталардың жобалауы мұндай басқа жүйенiң бiр бөлiк тәптiштiлiкпен жиi жүргiзбейдi. Утилита жүйеге адекватты тексерiссiз жиi қосылады немесе бақылау.

Шабуылдың ортақ стратегиялары. Бейсинхронды процестер. Бiр мезгiлде  орындайтын бiрнеше процестер болған iс тексерiлген параметрлердi өзгертуге  азаптандырады, бiрақ пайдаланылған  болған iсi әлi десi.

Қарап шығу. Есептеуiш жүйеде жабық ақпаратты қолданушымен iздестiру.

Бүркеме код. «Басқару жүйесiне жамау немесе утилитаның бағдарламасын бол «амал».

Енуге рухсат бермеу. Жүйенiң  физикалық ресурстарын өте ие бол бөлiк ; негiзгi мақсат ресурстарға заңды қол жеткiзуде қолданушыны қабыл алмауға заңсыз елiктiргiш бағдарлама жазылады.

Қатенiң түрiнде қармақ жем. Қате әдейi шақыратын бағдарлама, үшiн күйдiң келесi векторы жүйелiк ақпаратта болды.

Шабуыл «NAK». Қолданушы  қолданушы процестiң қайта бастауына  дейiн операциясын орындауға содан  соң рұқсат берген орындайтын процесс асинхрондық үзу шақырады. Жүйе ағымында үзу, мүмкiн, ашық күйде көрсетедi.

Оператордың мистификациясы. Эем қабылданған қызмет көрсетудiң  рәсiмi айналып өтуге талпыныстар жасалады, немесе жүйенiң қауiпсiздiгiн мүмкiн бұзылған оператордың әрекетi. Троя аты. Кiретiн нүктенiң қондыруы немесе жүйеге тiркелмегенетiн қол жеткiзу ендiгәрi ие болуға мүмкiндiк беретiн басқару жүйесiнде амал.

 

2. Кезекпен басқарылулар.

Операциялық системдердi қазiргi жобаны негiз кезектермен басқаруды болып көрiнедi. Ресурстарды сан үлкен жүйеге мультипроцесснойға кез-келген процеске бөлу үшiн түсiнiктi және процесс әдетте пул первую ресурстың сауалында алады .ресурстың қол жететiн бiрлiгiн. Ресурстың бiрлiгi басқа процесс азат етiлмегенше егер ресурстың еркiн бiрлiктерi жоқ болса, керiсiнше, онда процесс (ретке келтiрiлген бейнемен) күтуi керек. Бiр мезгiлде бiрнеше процестер ресурс күте алады. Жоспарлауышының — кезегiнiң орталық процессордың пайдалануына кезек күтiл процестерiн — көп классикалық мысал.

— ресурс процесс дихотомияның екi аспектiсi күтуде негiзделедi, және тiптi, — кезектiң ретке келтiрiлген күтуiнде. Өкiнiшке орай, пәлендей қарапайым мiндет басқару жүйесiнде кезектермен басқару. Санын көбеюiн өлшем бойымен және кезектерiнiң бiр түрлерiнiң тиiстi құрылымдары бәрi күрделiрек болады.

Мұндай (кейбiр өзгерiстермен) тәсiлi кезектердiң структурi негiзi қаралатын төменде сияқты пайдаланады. Бөлiм бұл негiзгi құрылымдар суреттеледi және қорытылған кезектердiң басқаруын өткiзу қаржы алгоритмдары. Талқыланады да басқару жүйесiнiң функционалдық модульдарының әр түрлi талап шақырылған әдiстiң тиiстi вариациялары.

2.1. Қорытылған кезектiң құрылымы.

Әр басқару жүйесiнiң кезегi құрылымның суреттемесiн өз дескриптора— талап етедi. Дескриптор қорытылған кезекте бес элементтердi тiзiм қосқан словтан мәлiметтерлерiн — блок кезектiң тақырыбы сияқты қояды.

Кезектер үшiн байланыстырудың  екi негiзгi тетiктерiнде болады: (бiрiншi — бiрiншi кел шықты) бiртiндеп қызмет көрсету және екi жақты кезек. Бiр байланыспен кезекте тiзiм элементi бiрiншiге көрсеткiште болады. Әр элемент өз қолдаушы, тең бол көрсеткiш қоспағанда соңғы элементте көрсеткiште болады, немесе нөлге, немесе (циклдiк кезек) кезектiң элементiн бiрiншiнiң мекен-жайына. Екi байланыстары бар кезек ақпараттың алуында үлкен иiлгiштiктердi бередi, керiсiнше өңдеудiң уақытының бiрге болатын көбеюi және жадқа талаптары.

3. Семафорлармен басқару.

Қазiргi басқару жүйе сипаттайтын  басқа маңызды қағидат өзара жұмыс iсте процестердi синхронизацияның басқаруы үшiн семафордың тұжырымдамасын пайдалануды болып көрiнедi. Бұл тұжырымдамасы Дейкстройдың алғаш ұсынылған хо годовына болды. Өткiзу арналған семафордың тұжырымдамасын талқылау, пiкiр және өзара жұмыс iсте процестерге қолдану [89 ] оның жұмысында табуға болу.

Дейкстра семафор суреттейдi бұл терiс емес бүтiн айнымалылар. Анықталынған екi операцияның семафорлары үшiн:

Егер мүмкiн болса бiрлiкке семафордың — кiшiрейтуi Р. Кiшiрейту мүмкiн болмап жатқанда егер нөлге тең бол семафор болса, оны мүмкiн емес кiшiрейту, және операция шақырған процесс күтедi.

V — семафор кез-келген  басқа процестердi семафорға қол жеткiзу алдын алған бiр нұсқаумен бiрлiкке үлкеедi, операция орындайтын процесс қоспағанда.

Риаларды операция V пайда  болды тек эем команд жүйе жақында көпшiлiгiнде. Болған iсте бұл операциялар ұқсатқан эем алғашқылардың бiрлерi, топтама эем Univac 1108 болды. Эем бұл екiлiк семафордың операциясын процесс: бiрдеңе етiп тексеруге «шикi күйiнде» жүзеге асыруға рұқсат берген екi әмiр ие болады, - (TEST - AND) орнатсын және нөлге теңестiрсiн - бiрдеңе етiп тексерiлсiн - (CLEAR - AND) орнату. Әмiрiн Обь олар маңыздың неде бөлiнбейтiн тоқтай алмайды.

3.1. Өзара шығару семафорларды қолдану.

Семафорлардың пайдалануы өзара  шығаруды мәселенiң шешiмi бос тұруды жүзеге асыруға рұқсат бередi. Процестердi птiң бiрi 3.1, өзара шығару тарауға айтылғандай қалай әлдебiр басқа процесс орындай алатын код қауiптi секция сол алдында толық орындауға рұқсат бередi. Процестерге шешiм параллель бейсинхронды бейне жұмыс iстеуге рұқсат бередi.

Мейлi мағына 0 бар S — екiлiк семафор немесе 1. S семафор сыни сегменттiң қарапайым құлыбы қызмет көрсетедi. Процесс қашан S = 0, әлдебiр сыни сегменттi орындайды. Себебi процесс жалаң S нөлге дейiн мүмкiн кiшiрейтсiн, барлық басқа процестердi өзара шығаруды кепiлдiк бередi. Басқа жағынан, атап өтiлген мүмкiн емес, өйткенi АЖ қинайтын процестер. сыни сегменттi толтырсын, дәйектi түрде орындайды, қашан S= 1.

3.2. Семафор бұл ресурстарды санауыш және синхронизаторлар.

Семафор жағдайда екi функцияны мүмкiн орындау. Бiрiншiден, ол өндiрiс абайлаушы ресурстың санауышын мүмкiн сияқты пайдалансын және ресурстарды тұтынумен. Екiншiден, ол мүмкiн синхронизатор болсын, үйлестiретiн өндiрiс және ресурстарды тұтыну. Процесс ресурс, Р орындай - семафор үстiнде операция ресурсқа қатысты тұтынады, және ресурс, семафор үстiнде операция сол орындай өндiредi. Семафор санауыш өткiзуiнде әр Рдiң жанында бiрлiкке азаяды - операция және жанында бiрлiкке әр операция үлкеедi. Оғанға санауыштың инициализациясының жанында мағына, қол жететiн ресурстарды тең санды тағайындайды. Егер ресурс қол жетпес болса, онда процесс кезекке күту үшiн мүмкiн орналастыру. Кезекте процесс бiрiншiнi ресурстың босауында активтендiредi, және оған ресурспен басқару жеткiзiлiп берiледi.

Жүйедегі қателерді талдау мен қайта өңдеу