Gestionarea I/E

Documente similare
Slide 1

Caraivan George-Alexandru Grupa 431A Interfața driver-kernel la Linux Introducere Deși pentru unii dintre noi acest lucru poate fi o supriză, cei mai

Concepte de bază ale Tehnologiei Informației

Informatică aplicată TEST GRILA TEST GRILĂ - REZOLVAT 1.Structura de principiu a unui sistem de calcul contine urmatoarele componente principale: A. u

Lucrarea 10

Testare manuala: situatia in care o persoana initiaza fiecare test, interactioneaza cu el si interpreteaza, analizeaza si raporteaza rezultatele. Test

Înregistrator de temperatură şi umiditate AX-DT100 Instrucţiuni de utilizare

Unitatea: Școala Gimnazială Disciplina: Informatică și TIC Programa școlară aprobată cu OMEN nr.3393 din Profesor: prof. Clasa: a V-a A, B

Proiect didactic

Modulator FM Bluetooth FMT-B6 TLL Manual de utilizare

Inserarea culorilor in tabele

Chertif Ionuț - Andrei Prietenul meu, calculatorul CLASA a V - a, 1 ora pe săptămână ARGUMENT Transformările societăţii româneşti din ultimii ani, dez

PROGRAMA DE EXAMEN

REVISAL Versiunea: Data release: 15 martie 2016 IMPORTANT! Distribuţia curentă (v6.0.4) a aplicaţiei Revisal conţine nomenclatorul COR ISCO 08 î

Advance CAD 2016 SP1 Acest document descrie îmbunătățirile pentru Advance CAD 2016 Service Pack 1. Notă: Advance CAD 2016 Service Pack 1 este compatib

Laborator 1 suport teoretic Mediul de dezvoltare Eclipse GLOSAR - Aplicaţie: program obţinut în urma aplicării operației BUILD asupra unui proiect (ve

Microsoft Word _POO_Lab_1_Modificari_v01.htm

Cursant prof. Constantin Vasilache PROIECT DE LECȚIE Clasa Data: Obiectul: Tehnologia Informației și a Comunicațiilor Nr. de ore: 1oră Tema lecţiei: A

Microsoft Word - Laboratorul 3.doc

Slide 1

LABORATOR 2

Laborator 5 - Paradigme de Programare


PPSD

GHERCĂ MAGDA CASA CORPULUI DIDACTIC BRĂILA PORTOFOLIU EVALUARE INFORMATICĂ ȘI TIC PENTRU GIMNAZIU CLASA A V-A Neamț SERIA 1 GRUPA 1 CURSANT: GHERCĂ G

Investeşte în oameni

1. Operatii cu matrici 1 Cerinte: Sa se realizeze functii pentru operatii cu matrici patratice (de dimensiune maxima 10x10). Operatiile cerute sunt: A

Inspiron Specificaţii (Battery)

A TANTÁRGY ADATLAPJA

Interfețe și Protocoale de Comunicații Arduino-Port Paralel Arduino. Laborator 1- Portul Paralel 1 Caracteristici generale Arduino UNO este o placă de

Investeşte în oameni Proiect cofinanţat din Fondul Social European prin Programul Operaţional Sectorial pentru Dezvoltarea Resurselor Umane

Limbaje de Programare Curs 8 – Fisiere

PCLPII-C16(9)

Procesarea Imaginilor - Laborator 1: Introducere în utilizarea bibliotecii OpenCV 1 1. Introducere în utilizarea bibliotecii OpenCV 1.1. Introducere S

Minicurs CCS C / Aplicatia1 1.Programul CCS C Compiler. Instalare.Creare proiect. Descarcati ultima versiune a programului de

Inspiron Specificaţii

Microsoft Word - Plus TV Analog Pro Stick Installation _Rom V1.3_.doc

Microsoft Word - cap2.2.UNIX-NOS.doc

Proiectarea Sistemelor Software Complexe

Microsoft Word - O problema cu bits.doc

2 BAZE TEORETICE ALE REȚELELOR DE CALCULATOARE CAPITOLUL 2 BAZE TEORETICE ALE REŢELELOR DE CALCULATOARE 2.1. Necesitatea standardizării (referenţierii

Curs de formare Informatică și TIC pentru clasa a V-a Portofoliu pentru evaluarea finală Tema: ELEMENTE DE INTERFAŢĂ ALE UNUI SISTEM DE OPERARE (DESKT

CASA CORPULUI DIDACTIC BRAILA PROGRAM DE FORMARE INFORMATICA SI TIC PENTRU GIMNAZIU CLASA A V-A SERIA 1 GRUPA 2 CURSANT: TIMOFTI V. AFRODITA COLEGIUL

XPS Configurare şi specificaţii

Microsoft Word - 4-Interfete paralele.doc

Lab6LCD

Ch

Paradigme de programare

Biomedical Wi-Fi data transmissons

Slide 1

COLEGIUL TEHNIC „VICTOR UNGUREANU” CAMPIA TURZII

Microsoft Word - Case de marcat si Imprimante fiscale cu jurnal electronic.docx

PowerPoint Presentation

Cursul 1 - Introducere în sisteme de operare

Paradigme de Programare

Kein Folientitel

Discipline aferente competenţelor Facultate: Facultatea de Electronică şi Telecomunicaţii Universitate: UNIVERSITATEA POLITEHNICA DIN TIMIȘOARA Domeni

Microsoft Word - PDS_proiect5_2019

A.E.F. - suport laborator nr.10 sem.ii Analiza stării de contact între elemente 3D În acest laborator sunt atinse următoarele aspecte: analiza contact

Microsoft Word - CarteC.doc

Curs 10

S.C. SEEKTRON S.R.L. Fişă de prezentare a produsului EYECAR B1 EYECAR B1 Observer Black Box Dispozitiv inteligent pentru înregistrarea evenimentelor r

A

Lucrarea nr. 2 Aplicaţii de tip client Mihai IVANOVICI 6 martie 2006 Scopul acestei lucrări este de a vă familiariza cu modulul Python socket şi cu mo

Denumire produs: SISTEM DE SECVENTIERE Producator: Siemens HealthCare Diagnostics SPECIFICATII TEHNICE CONDITII DE INSTALARE 1. SISTEMUL DE POLIMERIZA

Microsoft Word - Excel_3.DOC

Ghidul pentru utilizator

EXCEL FĂRĂ SECRETE Grafice şi diagrame

Microsoft Word - 4 Solicitare_oferta_computere_portabile.doc

Disciplina: Clasa: Informatică şi TIC a- V-a Data: Profesor: Unitatea de invăţare: Tema lecţiei: Tipul lecţiei: Angela OSAIN Norme de ergon

MINISTERUL AFACERILOR INTERNE INSPECTORATE GENERAL AL POLITIEI ROMANE INSPECTORATUL DE POLITIE JUDETEAN TIMIS SERVICIUL LOGISTIC Nr NESECRET Timisoara

MyBRD Net Ghid practic de utilizare a Dispozitivului token

COLEGIUL NAŢIONAL „AVRAM IANCU” CÎMPENI – JUD

Manual de utilizare a Sistemului Informațional al Institutului Național al Justiției (SI INJ) intranet.inj.md Ver.2 Manual de utilizare a Sistemului I

Addendum Syllabus 6 Microsoft Word 2016 REF Syllabus 6.0 Crearea unui document nou pe baza unor șabloane disponibile local sau online Microsoft

Limbaje de Programare Curs 6 – Functii de intrare-iesire

Microsoft Word - lab_access.doc

Utilizarea Internetului in Afaceri FSEGA, UBB Lect.univ.dr. Daniel Mican LABORATOR 3. Achizitionarea domeniilor web si a

Universitatea Politehnica din București Facultatea de Electronică, Telecomunicații și Tehnologia Informației Metode de extindere a duratei de viaţă a

..MINISTERUL EDUCAŢIEI NAȚIONALE ŞI CERCETARII STIINTIFICE UNIVERSITATEA DE VEST DIN TIMIȘOARA.I CENTRUL DE DEZVOLTARE ACADEMICĂ. FIȘA DISCIPLINEI 1.

FIŞA DISCIPLINEI ARHITECTURA SISTEMELOR DE CALCUL 1. Date despre program 1.1 Instituţia de învăţământ superior Universitatea POLITEHNICA din Bucureşti

Microsoft PowerPoint - Curs_TPI_22_v01.ppt

TM200 Live Tour guide Sistem audio mobil Sistemul de comunicare audio Tour guide este util in cel putin 3 situatii si vine cu avantaje clare: 1) Cand

Prezentarea PC-ului portabil Ghidul pentru utilizator

Slide 1

AdVision este un software de narrowcasting, destinat tuturor celor care administrează conţinut pe o reţea de monitoare. Fie că este vo

Guardian2012_RO3

Universitatea Transilvania Braşov Facultatea de Inginerie Electrică şi Ştiinţa Calculatoarelor Catera de Electronică şi Calculatoare Construcţia şi de

Addendum Syllabus 6 Microsoft Access 2016 REF Syllabus 6.0 Cunoașterea domeniilor în care se utilizează bazele de date Datorită potenţialului ma

Slide 1

Ofertă Ecrane Braille şi cititoare de ecran: Ecrane Braille: Brailliant BI Descriere...2 Caracteristici Tehnice:...3 Conectivitate :...3

客厅电脑 酷影Q1000

PowerPoint Presentation

Fâciu N. Maria-Ema CASA CORPULUI DIDACTIC BRĂILA PROGRAM DE FORMARE INFORMATICĂ ȘI TIC PENTRU GIMNAZIU CLASA A V-A SERIA 1 GRUPA 2 CURSANT: Fâciu N. M

Secţiunea 5-6 avansaţi PROBLEMA 1 Concurs online de informatică Categoria PROGRAMARE 100 puncte NR Un număr natural nenul V care se plictisea singur,

..MINISTERUL EDUCAŢIEI NAȚIONALE ŞI CERCETARII STIINTIFICE UNIVERSITATEA DE VEST DIN TIMIȘOARA.I CENTRUL DE DEZVOLTARE ACADEMICĂ. FIŞA DISCIPLINEI (CO

OptiPlex 390 Fişă tehnică cu informaţii despre configurare şi funcţii

Transcriere:

Gestionarea I/E Apelurile de sistem I/O in Linux si apelurile API de I/E pentru Windows Herea Cristian 431 A

1. Linux Apeluri de sistem (system calls) Sistemele de operare au un nivel suplimentar de interfete oferit proceselor din spatiul utilizatorului prin care se realizeaza comunicare cu componentele calculatorului (hard-disk, procesor, dispozitive audio etc). Cateva dintre avantajele acestui nivel: protejeaza programatorul de limbaje primitive, securitatea sistemului este sporita iar programele sunt portabile (acestea functioneaza chiar daca anumite componente sunt schimbate). Aceste interfete dintre utiliztori si hardware sunt implementate in Linux prin apeluri de sistem. POSIX Acesta este un standard in care se definesc API-urile ("Application Programming Interface") compatibile cu unix-ul. Cerfiticarea POSIX se acorda unui sistem de operare daca acesta ofera un set de api pentru aplicatii, implementarea fiind fara importanta. Linux-ul este un sistem de operare compatibil POSIX. Pentru programator nu este nici o diferenta intre API si apeluri de sistem, el urmarind doar functia, parametrii ei si rezultatul cautat. In schimb cei care construiesc kernel stiu ca API-urile sunt librarii care se afla in spatiul utilizatorului pe cand apelurile de sistem se afla in kernel. Deosebirea dintre API si apeluri de sistem este ca API-urile reprezinta functii care care permit obtinerea unui serviciu iar apelul este cere explicit

kernel-ului un anumit lucru prin intreruperi software. Relatia API Apel de sistem [6]

In sistemele unix exista si librarii de functii API in ajutorul programatorilor. Cateva API-uri pe care le gasim in libraria C libc se refera la rutine wrapper [3] (singurul scop al acestor rutine este de a efectua un apel de sistem). In general fiecare apel de sistem are o rutina API corespondenta. Program C care invoca apelul din librarie printf(), care la randul lui apeleaza apelul de system write(). [6].

[3] In figura de mai sus observam legatura in o aplicatie care foloseste un apel de sistem prin routina sa wrapper si diferenta in spatiul utilizatorului (user mode) si spatiul kernel-ului. Sagetile indica modul in care se realizeaza procesele. In general rutinele wrapper returneaza o valoare intreaga. Daca aceasta este egala cu -1 se indica faptul ca kernel-ul nu a putut executa cererea respectiva. Apeluri de sistem I/O Exista doua tipuri de I/O (In/Out): a. Sincrone fiecare cerere asteapta ca cererea anterioara sa incheie actiunea cu descriptorul de fisier iar programul asteapta terminarea cererii pentru a executa urmatoarea instructiune b. Asincrone sistemul de operare gestioneaza cererea iar programul poate executa urmatoarea instructiune

I/O sincrone Exista cateva apeluri de sistem principale in linux pentru I/O sincrone: Open deschide descriptorul de fisier. Lseek seteaza descriptorul de fisier la pozitia byte-ului specificat. Read citeste si copiaza datele din descriptorul de fisier intr-un buffer. Pread citeste si copiaza datele din descriptorul de fisier intr-un buffer de la o locatie specifica in fisier. I/O asincrone Apeluri de sistem pentru I/O asincrone Aio_read cerere de citire asincrona. Aio_write cerere de scriere asincrona. List_listio este un apel special care permite efectuarea unor mai multe citiri si scrieri intr-un singur apel.

2. Apeluri API. WINDOWS Apeluri API I/E Manevrarea dispozitivelor de intrare/iesire se face printr-un framework sau spatiu de lucru. Windows-ul are un spatiu de lucru creat in asa fel incat sa suporte cu usurinta dispozitive I/E de toate felurile: de intrare (tastatura, mouse, microfon), de iesire (monitor, imprimanta, CD/DVD writere), de stocare (hard-disk, SSD). Categorii Win32 API Unul dintre cele mai importante grupuri de apeluri API poate fi cel al sistemului grafic. In acest grupt exista diferite apeluri prin care se pot crea, modifica si sterge ferestre. Ferestrele la randul lor au o sumedenie de stiluri si optiuni precum culori, marimi setate de utilizator, meniuri si bare de meniuri samd.. Exista foarte multe functii pentru grafica, de la modificarea unui pixel pana desenarea unor figuri geometrice.

Exemple de grupuri API: Text Managementul ferestrelor Casute de dialog Pictare si desenare Meniuri Paleta de culori Clipboard Doarece majoritatea display-urilor nu pot afisa toate cele 2 24 culori si folosesc doar 256 sau 65536 de culori este necesara existenta unei palete de culori pentru a determina cate culori sunt pot fi disponibile pentru sistem (256 sau 65536 etc). Apelurile din acest grup au grija de aceste lucruri prin crearea si distrugerea paletelor de culori, prin selectarea culorii de redae potrivite pentru o anumita culoare. Afisarii textului ii este necesar un alt grup de apeluri. In acest grup apelul de afisare TextOut nu este foarte complicat. In schimb partea complicata se refera la culoarea textului, la marimea sa, la latimea caracterului etc. Acest lucru se poate face prin conversia la Bitmap. Bitmap-urile sunt de fapt blocuri rectangulare de dimensiuni mici care pot fi afisate pe ecran prin apelul Win32 BitBlt.

In continuare vor fi prezentate cateva dintre cele mai importante functii Win32API pentru I/E al fisierelor si echivalentele lor din Unix. CreateFile (Unix: open) - creaza sau deschide un fisier DeleteFile (Unix: unlink) - distruge un fisier CloseHandle (Unix: close) - inchide un fisier ReadFile (Unix: read) - citeste continutul unui fisier WriteFile (Unix: write) - scrie date intr-un fisier SetFilePointer (Unix: lseek ) - seteaza pointerul intr-un fisier pe o anumita pozitie GetFileAtribute (Unix: stat) - returneaza proprietatile fisierului LockFile (Unix: fcntl) - blocheaza o anumite parte a fisierului

Bibliografie 1. S. Tanenbaum - Sisteme de operare moderne 2.www.wikipedia.com 3.Understanding the Linux Kernel, 3rd Edition, By Daniel P. Bovet, Marco Cesati 4.CS360 Lecture notes -- Introduction to System Calls (I/O System Calls) by Jim Plank 5.Operating Systems System Calls and I/O by Henry Newman 6.Operating systems concepts Silberschatz,Galvin and Gagne)