Оқулық «Федералдық білім беруді дамыту институты»



Pdf көрінісі
бет171/220
Дата25.02.2022
өлшемі2,22 Mb.
#26438
түріОқулық
1   ...   167   168   169   170   171   172   173   174   ...   220
Байланысты:
қазақша кітап

СИГН
АЛДАР 
10.3.1.  Жалпы түсінік 
UNIX  -  жүйелерінің  көбісі  сүйемелдейтін  процесс  аралық  өзара 
әрекеттесушінің  көп  таралған  механизмі  —  сигналдар  арқылы  өзара 
әрекеттесу.  Процесс  аралық  (пайдаланушының  немесе  жүйелік) 
сигналдардың  алмасуы  оларға  орындаушы  процесс  үшін  маңызды 
басқа  оқиғалардың  орын  алуы  туралы  ақпараттармен  алмасуға 
мүмкіндік береді. 
 
Процеске  сигналды  беруге  ықпал  етуші  операциялық  жүйенің 
ядросы (мысалы, 0-ге бөлінген жағдайда  ядро процеске сигнал береді, 
ядро  төтенше  жағдайларды  хабарлайды),  пайдаланушы  (мысалы, 
үзілістер  кезінде,  [Ctrl+C]  батырмасымен  процес  орындалуы  кезінде, 
бұл  комбинацияға  сәйкес  келетін  процеске  сигнал  беріледі)  немесе 
басқа процесс болып табылады. 
 
Жалпы  кез  келген  процесс  онымен  параллелді  орындалатын  басқа 
процеске сигнал бере алады. Сигналды беру үшін жіберуші-процесс екі 
параметрді  анықтау  қажет:  PID  қабылдаушы-процесс  сигналы  және 
жіберілетін  сигналдың  нөмірі.  UNIX-жүйелері  сигналдар  түрлерінде 
шектеулі  санды  сүйемелдейді,  әдетте  30  шамасында.  10.1-  кестеде 
негізгі сигнал түрлерінің қысқаша сипаттамасы берілген. 
 


185 
 
 
Әр  сигнал  түрі,    тіркеу  нөмірі  және  SIGALRM  түрінде 
мнемоникалық  мәндерін  иеленеді,  SIG  —    сигналдар  мнемонигінің 
жалпы мәні; ALRM — берілген сигнал түрінің жіберілуіне байланысты 
пайда болған оқиғалардың мәні.  
Қабылдаушы-процеске сигналдарды жеткізу операциялық жүйемен 
орындалады.  Қабылдаушы-процесс  қабылдауға  жауап  ретінде, 
сигналды  елемеуіне  болады  немесе  берілген  сигнал  түрінің 
қабылдануымен  байланысты  бағдарламалық  кодты  орындауды 
бастауына  болады.  Код,  нақты  сигнал  түрінің  қабылдануы  кезінде 
шақырылатын  жекеленген  функция  ретінде  рәсімделеді.  Мұндай 
функциялар  «сигналдарды  өңдеуші-функциялар»  атауына  ие  болды 
(немесе жай «сигналдарды өңдеуші»).
 
Әр  процесс  үшін  сигналдарды  өңдеушінің  жиынтығы,  сигналдар 
өңдеушінің  кестесін  құрады.  Кесте  әр  процесс  үшін  дара.  Өңдеуші 
кестесі жолдарының саны, операциялық жүйе сүйемелдейтін сигналдар 
санына тең. Кестенің әр жолында өңдеуші-функцияның бағдарламалық 
коды  басталатын  жадының  мекенжайы,  сигнал  нөмірі  жазылады  — 
өңдеуші-функциясын көрсетуші мына формат декларациясына ие: 
 
void h a n d l e r ( i n t   s i g _ n u m ) ;
 
сигналды  қабылдау  кезінде  процесс  өзінің  қалыпты  орындалуын 
тоқтатады 
және 
өңдеуші-функцияның 
бағдарламалық 
кодын 
орындауды  бастайды.    Өңдеуші-функция  орындалуын  аяқтаған  соң, 
сигнал  қабылдаған  кезде  орындалған  команданың  ізіне  басқару 
командасымен қайтарылады (10.1-сурет).
 
Сигналдарды  өңдеуші  кестенің  кейбірі  үшін  өңдеуші-функциялар 
мекенжайын құрмауы мүмкін.
 


 


Достарыңызбен бөлісу:
1   ...   167   168   169   170   171   172   173   174   ...   220




©emirsaba.org 2024
әкімшілігінің қараңыз

    Басты бет