Sistemul de Operare - Apeluri Sistem

Previzualizare curs:

Extras din curs:

Curs 1

APELURI SISTEM PENTRU

OPERATIILE CU FISIERE

Cuprins

- Apeluri sistem

- Descriptorii de fisiere

- Apelul sistem open

- Apelul sistem creat

- Apelul sistem lseek

- Apelul sistem seek

- Exemplu

Apeluri Sistem

- Functii prin care un sistem de operare ofera servicii programatorilor

- Sunt apelabile ca un apel obisnuit de functie

- Pentru functiile obisnuite

- codul functiei este prezent in biblioteca

- este adaugat programului in care se apeleaza functia la linkeditare

- Pentru apelurile sistem

- Codul de biblioteca pregateste intrarea in sistemul de operare

- Preluarea rezultatelor si transmiterea lor spre programul apelant

- Executia are loc intr-o secventa ce face parte din sistemul de operare

- Intrarea in sistem = schimbarea regimului de munca din modul neprivilegiat in modul privilegiat

Descriptori de fisiere

- Identificator prin care nucleul Unix identifica toate fisierele deschise de un proces

- Intreg nenegativ

- atribuit de nucleu la deschiderea fisierului

- ce ramane valabil pana la inchiderea acestuia

- Deschiderea de fisier

- Operatia prin care intre un proces si un fisier se creeaza un canal de comunicare

- Interpretoarele Unix deschid 3 fisiere standard:

- Fisierul standard de intrare - descriptorul 0

- Fisierul standard de iesire - descriptorul 1

- Fisierul standard de eroare - descriptorul 2

- Sunt limitati la nivelul unui proces 32 sau 64

- Pot fi referiti prin constante simbolice

- STDIN_FILENO

- STDOUT_FILENO

- STDERR_FILENO

- Definite in <unistd.h>

- Cresterea portabilitatii programelor pe diverse versiuni sau platforme

Apelul sistem open

- Este folosit pentru deschiderea unui fisier

#include <sys/types.h>

#include <sys/stat.h>

#include <fcntl.h>

int open (const char *pathname, int oflag,

/*, mode_t mode*/ );

- Returneaza o valoare ne-negativa daca apelul se executa fara eroare

- Returneaza -1 daca la executie apare vreo eroare

- Primul argument este numele de cale al fisierului

- Al doilea argument indica optiunile de deschidere

- Al treilea argument apare numai daca la deschidere are loc si creare fisierului

Optiunile de deschidere ale apelului open

- O_RDONLY – deschide fisier pentru citire

- O_WRONLY – deschide fisier pentru scriere

- O_RDWR – deschide fisier pentru citire si scriere (actualizare)

- O_APPEND – adauga la sfarsitul fisierului la fiecare operatie de scriere

- O_CREAT – creaza fisierul daca el nu exista deja, caz in care al treilea argument reprezinta drepturile de acces

- O_EXCL – genereaza o eroare daca s-a specificat si O_CREATE in caz ca fisierul exista; testul de existenta si crearea se executa ca operatie atomica

- O_TRUNC – daca fisierul exista si poate fi deschis pentru scriere sau citire-scriere atunci lungimea sa se trunchiaza la zero

- O_NOCTTY – daca numele de cale se refera la un terminal, atunci acel terminal nu va fi alocat ca si terminal de control pentru procesul curent

- O_NONBLOCK – daca numele de cale se refera la vre-un periferic orientat pe caracter sau pe bloc, fisierul se deschide cu optiunea ca operatiile cu el nu conduc la blocarea procesului care le solicita

- O_SYNC – efectuarea oricarei operatii de scriere se asteapta pana la terminarea operatiei la nivel fizic

Download gratuit

Documentul este oferit gratuit,
trebuie doar să te autentifici in contul tău.

Structură de fișiere:
  • Sistemul de Operare - Apeluri Sistem
    • SO2-curs01.doc
    • SO2-curs02.doc
    • SO2-curs03.doc
    • SO2-curs04.doc
    • SO2-curs05.doc
    • SO2-curs06.doc
    • SO2-curs07.doc
Alte informații:
Tipuri fișiere:
doc
Nota:
9/10 (2 voturi)
Nr fișiere:
7 fisiere
Pagini (total):
30 pagini
Imagini extrase:
26 imagini
Nr cuvinte:
4 927 cuvinte
Nr caractere:
30 110 caractere
Marime:
86.06KB (arhivat)
Publicat de:
NNT 1 P.
Nivel studiu:
Facultate
Tip document:
Curs
Domeniu:
Sisteme de Operare
Predat:
la facultate
Materie:
Sisteme de Operare
Profesorului:
Ciprian Chirila
Sus!