Creeaza.com - informatii profesionale despre


Evidentiem nevoile sociale din educatie - Referate profesionale unice




Acasa » referate » informatica
Sincronizare prin semnale

Sincronizare prin semnale




Sincronizare prin semnale

Semnalele informeaza procesele despre aparitia unor evenimente.

Multe erori detectate de hardware - executia unei instructiuni ilegale, utilizarea unei adrese invalide - sunt convertite in semnale si trimise procesului ce a generat eroarea. Se pot folosi la controlul proceselor, manevrarea terminalului, a memoriei etc. Toate exceptiile ce apar in sistem genereaza semnale.

Semnalele sunt intreruperi software. Ca si in cazul intreruperilor hardware, aparitia unui semnal determina suspendarea temporara a procesului curent si inregistrarea semnalului in multimea de semnale in asteptare a procesului. Apoi procesul intrerupt este repornit exact din punctul unde a fost suspendat.

Trimiterea semnalului poate fi facuta de orice proces sau de cod executat in cadrul unui anumit nivel de intrerupere. SO adauga semnalul la multimea de semnale in asteptare corespunzatoare procesului. In cazul in care este trimis catre un proces un semnal inainte de acceptarea unui semnal de acelasi tip, primul semnal va fi pierdut, fiind practic suprascris de urmatorul semnal. Un proces poate trimite semnale doar membrilor grupului din care face si el parte. Semnalul se poate trimite tuturor membrilor printr-un singur apel sistem.

Aparitia semnalelor este intotdeauna verificata la revenirea din modul sistem in modul utilizator (se testeaza exact inaintea revenirii din apelul sistem, din rutina de intrerupere sau exceptie).

Programatorul poate stabili comportarea unui proces la primirea unui semnal : semnalul poate fi ignorat (nu are efect), se poate executa actiunea implicita (de oprire a procesului caruia ii este adresat) sau se poate executa o anumita procedura, specificata de programator.

Sunt 32 de semnale (vezi etc/conf/h/signal.h), din care enumeram :

SIGABRT

Trimis pentru intreruperea (abandonarea) procesului si salvarea imaginii sale din memorie intr-un fisier din directorul curent, numit core (process abort signal)

SIGALRM

ceas de alarmare

SIGFPE

S-a produs o eroare de virgula flotanta (ex.: impartire cu 0)

SIGHUP

S-a intrerupt linia telefonica folosita de proces




SIGILL

Procesul executa o instructiune ilegala

SIGINT

Utilizatorul a apasat ^C pentru intreruperea procesului

SIGQUIT

Este generat de obicei de caracterul ^. Acest semnal opreste executia curenta a programului si incarca imaginea din memorie intr-un fisier din directorul curent, numit core

SIGKILL

Trimis pentru abandonarea procesului in executie (kill)

SIGPIPE

Procesul incearca sa scrie intr-un pipe din care nu citeste nimeni

SIGSEGV

Este generat la o incercare de adresare a unei locatii de memorie din afara spatiului virtual de memorie atasat in mod normal procesului

SIGUSR1

Disponibil pentru aplicatiile utilizatorului

SIGUSR2

Disponibil pentru aplicatiile utilizatorului

Semnalul SIGKILL nu poate fi nici ignorat si nici captat de un proces, acesta fiind utilizat pentru abandonarea unui proces in executie.

Apelurile sistem folosite sunt :

- pentru trimiterea semnalului :

int kill(int pid, int nr_semnal);

- pentru asocierea semnalului cu o rutina de tratare definita de utilizator :

void (*signal (int nr_semnal, void (*func) (int)))(int);

Procesele au posibilitatea sa mascheze semnalele. Daca semnalul trmis unui proces este momentan mascat, acel semnal se va inregistra in multimea de semnale in asteptare a procesului.







Politica de confidentialitate


.com Copyright © 2020 - Toate drepturile rezervate.
Toate documentele au caracter informativ cu scop educational.


Proiecte

vezi toate proiectele
 SCHITA DE PROIECT DIDACTIC GEOGRAFIE CLASA: a IX-a - Unitatile majore ale reliefului terestru
 PROIECT DIDACTIC 5-7 ani Educatia limbajului - Cate cuvinte am spus?
 Proiect atestat Tehnician Electronist - AMPLIFICATOARE ELECTRONICE
 Proiect - masurarea si controlul marimilor geometrice

Lucrari de diploma

vezi toate lucrarile de diploma
 Lucrare de diploma - eritrodermia psoriazica
 ACTIUNEA DIPLOMATICA A ROMANIEI LA CONFERINTA DE PACE DE LA PARIS (1946-1947)
 LUCRARE DE DIPLOMA MANAGEMENT - MANAGEMENTUL CALITATII APLICAT IN DOMENIUL FABRICARII BERII. STUDIU DE CAZ - FABRICA DE BERE SEBES
 Lucrare de diploma tehnologia confectiilor din piele si inlocuitor - proiectarea constructiv tehnologica a unui produs de incaltaminte tip cizma scurt

Lucrari licenta

vezi toate lucrarile de licenta
 LUCRARE DE LICENTA CONTABILITATE - ANALIZA EFICIENTEI ECONOMICE – CAI DE CRESTERE LA S.C. CONSTRUCTIA S.A TG-JIU
 Lucrare de licenta sport - Jocul de volei
 Lucrare de licenta stiintele naturii siecologie - 'surse de poluare a clisurii dunarii”
 LUCRARE DE LICENTA - Gestiunea stocurilor de materii prime si materiale

Lucrari doctorat

vezi toate lucrarile de doctorat
 Diagnosticul ecografic in unele afectiuni gastroduodenale si hepatobiliare la animalele de companie - TEZA DE DOCTORAT
 Doctorat - Modele dinamice de simulare ale accidentelor rutiere produse intre autovehicul si pieton
 LUCRARE DE DOCTORAT ZOOTEHNIE - AMELIORARE - Estimarea valorii economice a caracterelor din obiectivul ameliorarii intr-o linie materna de porcine

Proiecte de atestat

vezi toate proiectele de atestat
 PROIECT ATESTAT MATEMATICA-INFORMATICA - CALUTUL INTELIGENT
 Proiect atestat Tehnician Electronist - AMPLIFICATOARE ELECTRONICE
 ATESTAT PROFESIONAL LA INFORMATICA - programare FoxPro for Windows
 ATESTAT PROFESIONAL TURISM SI ALIMENTATIE PUBLICA, TEHNICIAN IN TURISM




Sumatoarele paralele pe principiul selectarii prin transport a sumei
Cina filozofilor (The Dining philosophers problem)
Pasii de realizare a site-ului
Categorii de produse software
Clasificarea informatiei
Proiect de specialitate: Operator tehnica de calcul - Circuite logice pentru functiile 'si-nu', 'sau-nu'
Simularea functionarii unui tonomat de bauturi calde
Sistemul de fisiere




Termeni si conditii
Contact
Creeaza si tu