SlideShare une entreprise Scribd logo
1  sur  22
Systèmes
d'exploitation
Fonctions d'entrée et
sortie
Bibliographie pour aujourd'hui
• Modern Operating Systems
– Chapitre 6
• 6.1
• 6.2
• Operating Systems Concepts
– Chapitre 11
2
UNIX
3
Operations avec les fichiers
• création
• ouverture
• lecture
• écriture
• positionnement dans le fichier
• tronquer
• fermeture
• suppression
4
Creation
• shell
touch /path/to/file
toute commande qui écrit dans un fichier le crée
• ISO/ANSI C
FILE *f = fopen ("/path/to/file", "rw");
• POSIX
int fd = open ("/path/to/file", O_CREAT | O_EXCL, 0644);
• Windows
HANDLE fileHandle = CreateFile ("/path/to/file", ...,
CREATE_NEW);
5
Ouverture
• ISO/ANSI C
FILE *f = fopen("/path/to/file", "rt");
• POSIX
int fd = open("/path/to/file", O_RDONLY);
• Windows
HANDLE f = CreateFile("/path/to/file", ...,
OPEN_EXISTING);
6
Descripteur de fichier
• plus de descripteur peut correspondre aux même fichier
• chaque processus a une table de descripteurs de fichiers
• POSIX
– un entier identifiant une instance de fichier ouvert dans un
processus
– descripteurs spéciaux
• 0 (stdin), 1 (stdout), 2 (stderr)
• ISC C
– File
• Windows
– HANDLE
7
Table de descripteur de fichier
8
Lecture
• stocker des informations dans un tampon
• avance du curseur de fichier
• ISO C
// reads size * times bytes
n_items = fread(buffer, size, items, f);
• Unix
// reads maximum size bytes
// use only within a loop
n_read = read(fd, buffer, size);
• Windows
ReadFile(fHandle, buffer, bytesToRead,
&bytesRead, NULL);
9
Ecriture
• écrire des informations à partir d'un tampon
• avance du curseur de fichier
• ISO C
// writes size * times bytes
n_items = fwrite(buffer, size, items, f);
• Unix
// writes maximum size bytes
// use only within a loop
n_write = write(fd, buffer, size);
• Windows
WriteFile(fHandle, buffer, bytesToWrite,
&bytesWritten, NULL);
10
Curseur de fichier
• changements à lire et à écrire
• initialisation à l'ouverture
• mouvement de curseur de fichier
• ISO C
fseek(f, offset, SEEK_SET);
• Unix
lseek(fd, offset, SEEK_SET);
• Windows
SetFilePointer(fHandle, distanceToMove,
NULL, FILE_BEGIN);
11
Espace
utilisateur
Espace noyau
Fichier sur le discinstance de fichier ouvert
struct file
Pointeur
fichier
utilisateur
droits
inode
struct
inode
droits
taille
bloc
pointeurs
uid
gid
Fichier ouverte
descripteur
Types des donnees
12
Duplication de descripteur
• dupliquer un descripteur dans un autre descripteur
• les deux descripteurs fonctionnent sur le même fichier
• POSIX
newfd = dup(oldfd);
dup2(oldfd, newfd);
• Windows
DuplicateHandle(...);
SetStdHandle(...);
13
Tronquer
• supprimer le contenu du fichier
• le curseur de fichier est mis à size
• un fichier peut être ouvert et tronqué
// size is 0
open("/path/to/file", O_RDWR | O_TRUNC);
• un fichier peut être ouvert et tronqué
truncate("/path/to/file", size);
• un fichier peut être tronqué après ouverture
ftruncate(fd, size);
SetEndOfFile(hFile); // Windows
14
Fermer
• l'entrée de la table de descripteur est supprimée
• ISO C
fclose (f);
• POSIX
close(fd);
• Windows
CloseHandle(fHandle);
15
Supprimer
• supprimer le fichier du système de fichiers
• shell
rm file.txt
• ISO/C
remove("file.txt");
• POSIX
unlink("file.txt");
• Windows
DeleteFile("file.txt");
16
Redirection
• shell
echo “message” > file_out.txt
grep “word” < file_in.txt
• POSIX
fd = open ("file_out");
close (1);
dup2 (fd, 1);
close (fd);
17
NULL
stdout stdout
file.txt
stdout
file.txt
stdoutNULL
file.txt
stdout
NULL
file.txt
open(“file.txt”) close(1); dup2(fd, 1) close(fd)
Redirection
18
UNIX
19
UNIX
• Sur bits:
– r w - r- - r - - corresponde a 110100100
– r w x r- x - - - corresponde a 111101000
– r w - rw- - - - corresponde a 110110000
• Octal:
– r w - r- - r - - corresponde a 644
– r w x r- x - - - corresponde a 750
– r w - rw- - - - corresponde a 660
20
Gestion de permissions
• UNIX:
– Entités: User, Group, Others
– Types: Read, Write, Execute
// mode in octal
chmod("/path/to/file", 0644);
• Windows: Listes d’acces
– ACL: access control lists
– Types: lecture, écriture, listage, croisement, création de sous-fichiers,
etc.
– Permissions seulement sur NTFS, pas sur FAT32
SetNamedSecurityInfo(...);
21
Questions
22

Contenu connexe

Tendances

Tendances (20)

Systemes d'explotation: Threads
Systemes d'explotation: ThreadsSystemes d'explotation: Threads
Systemes d'explotation: Threads
 
SdE2 4 - Processus
SdE2 4 - ProcessusSdE2 4 - Processus
SdE2 4 - Processus
 
SdE 7 - Gestion de la Mémoire
SdE 7 - Gestion de la MémoireSdE 7 - Gestion de la Mémoire
SdE 7 - Gestion de la Mémoire
 
SdE 2 - Langage C, Allocation de memoire
SdE 2 - Langage C, Allocation de memoireSdE 2 - Langage C, Allocation de memoire
SdE 2 - Langage C, Allocation de memoire
 
SdE 8 - Memoire Virtuelle
SdE 8 - Memoire VirtuelleSdE 8 - Memoire Virtuelle
SdE 8 - Memoire Virtuelle
 
SdE 7 - Memoire Virtuelle
SdE 7 - Memoire VirtuelleSdE 7 - Memoire Virtuelle
SdE 7 - Memoire Virtuelle
 
SdE 4 - Processus
SdE 4 - ProcessusSdE 4 - Processus
SdE 4 - Processus
 
SdE 9 - Threads
SdE 9 - ThreadsSdE 9 - Threads
SdE 9 - Threads
 
SdE 5 - Communication entre processus et Planification
SdE 5 - Communication entre processus et PlanificationSdE 5 - Communication entre processus et Planification
SdE 5 - Communication entre processus et Planification
 
Présentation unix linux
Présentation unix linuxPrésentation unix linux
Présentation unix linux
 
SdE 10 - Threads
SdE 10 - ThreadsSdE 10 - Threads
SdE 10 - Threads
 
Présentation Unix/Linux (mise à jour 2016)
Présentation Unix/Linux (mise à jour 2016)Présentation Unix/Linux (mise à jour 2016)
Présentation Unix/Linux (mise à jour 2016)
 
Initiation Linux
Initiation LinuxInitiation Linux
Initiation Linux
 
Formation Linux lpi 101
Formation Linux lpi 101 Formation Linux lpi 101
Formation Linux lpi 101
 
SdE 5 - Planification
SdE 5 - PlanificationSdE 5 - Planification
SdE 5 - Planification
 
Notes de cours et tp - Administation Systèmes
Notes de cours et tp  - Administation Systèmes Notes de cours et tp  - Administation Systèmes
Notes de cours et tp - Administation Systèmes
 
SdE 6 - Planification
SdE 6 - PlanificationSdE 6 - Planification
SdE 6 - Planification
 
SdE 4: Processus
SdE 4: ProcessusSdE 4: Processus
SdE 4: Processus
 
Linux commandes
Linux commandesLinux commandes
Linux commandes
 
الأوامر في لينكس
الأوامر في لينكسالأوامر في لينكس
الأوامر في لينكس
 

Similaire à SdE TP 3 - Fonctions d'entrée et sortie

cours-gratuit.com--id-3443.pdf
cours-gratuit.com--id-3443.pdfcours-gratuit.com--id-3443.pdf
cours-gratuit.com--id-3443.pdfSouha Bennani
 
Couse SE Le système d’exploitation Linux - IPSET.pdf
Couse SE Le système d’exploitation Linux - IPSET.pdfCouse SE Le système d’exploitation Linux - IPSET.pdf
Couse SE Le système d’exploitation Linux - IPSET.pdfMedBechir
 
cour administration système.pptx
cour administration système.pptxcour administration système.pptx
cour administration système.pptxFootballLovers9
 
Formation Informatique base et généralités
Formation Informatique base et généralitésFormation Informatique base et généralités
Formation Informatique base et généralitésSinovatia
 
ATELIER SYSTEME (1) FERCHICHI ABDELWAHEB
ATELIER SYSTEME (1) FERCHICHI ABDELWAHEBATELIER SYSTEME (1) FERCHICHI ABDELWAHEB
ATELIER SYSTEME (1) FERCHICHI ABDELWAHEBFerjani Bassem
 
03 01 intervention sur le système de fichier
03 01 intervention sur le système de fichier03 01 intervention sur le système de fichier
03 01 intervention sur le système de fichierNoël
 
lpi 101 notes de cours
lpi 101 notes de courslpi 101 notes de cours
lpi 101 notes de coursISIG
 
Affichage d'un document Office sous Android
Affichage d'un document Office sous AndroidAffichage d'un document Office sous Android
Affichage d'un document Office sous AndroidStéphane Liétard
 
Mouhi nous-mêmes informations financières horaires
Mouhi nous-mêmes informations financières horairesMouhi nous-mêmes informations financières horaires
Mouhi nous-mêmes informations financières horairesMoussaFatah
 
Cours_Linux_S1_Partie 2.pptx
Cours_Linux_S1_Partie 2.pptxCours_Linux_S1_Partie 2.pptx
Cours_Linux_S1_Partie 2.pptxKhalil BOUKRI
 
Cours SE Principes et fonctionnement de système d’exploitation - IPSET.pdf
Cours SE Principes et fonctionnement de système d’exploitation - IPSET.pdfCours SE Principes et fonctionnement de système d’exploitation - IPSET.pdf
Cours SE Principes et fonctionnement de système d’exploitation - IPSET.pdfMedBechir
 
Robocopy : Un outil de copie sécurisée et paramétrable en ligne de commande
Robocopy : Un outil de copie sécurisée et paramétrable en ligne de commande Robocopy : Un outil de copie sécurisée et paramétrable en ligne de commande
Robocopy : Un outil de copie sécurisée et paramétrable en ligne de commande BertrandCaron4
 

Similaire à SdE TP 3 - Fonctions d'entrée et sortie (20)

cours-gratuit.com--id-3443.pdf
cours-gratuit.com--id-3443.pdfcours-gratuit.com--id-3443.pdf
cours-gratuit.com--id-3443.pdf
 
Couse SE Le système d’exploitation Linux - IPSET.pdf
Couse SE Le système d’exploitation Linux - IPSET.pdfCouse SE Le système d’exploitation Linux - IPSET.pdf
Couse SE Le système d’exploitation Linux - IPSET.pdf
 
cour administration système.pptx
cour administration système.pptxcour administration système.pptx
cour administration système.pptx
 
Formation Informatique base et généralités
Formation Informatique base et généralitésFormation Informatique base et généralités
Formation Informatique base et généralités
 
Ch1 p1
Ch1 p1Ch1 p1
Ch1 p1
 
Linux_Cours.ppt
Linux_Cours.pptLinux_Cours.ppt
Linux_Cours.ppt
 
ATELIER SYSTEME (1) FERCHICHI ABDELWAHEB
ATELIER SYSTEME (1) FERCHICHI ABDELWAHEBATELIER SYSTEME (1) FERCHICHI ABDELWAHEB
ATELIER SYSTEME (1) FERCHICHI ABDELWAHEB
 
03 01 intervention sur le système de fichier
03 01 intervention sur le système de fichier03 01 intervention sur le système de fichier
03 01 intervention sur le système de fichier
 
lpi 101 notes de cours
lpi 101 notes de courslpi 101 notes de cours
lpi 101 notes de cours
 
OpenNMS
OpenNMSOpenNMS
OpenNMS
 
Affichage d'un document Office sous Android
Affichage d'un document Office sous AndroidAffichage d'un document Office sous Android
Affichage d'un document Office sous Android
 
Mouhi nous-mêmes informations financières horaires
Mouhi nous-mêmes informations financières horairesMouhi nous-mêmes informations financières horaires
Mouhi nous-mêmes informations financières horaires
 
1514117367383.pptx
1514117367383.pptx1514117367383.pptx
1514117367383.pptx
 
1514117367383.pptx
1514117367383.pptx1514117367383.pptx
1514117367383.pptx
 
chapitre0.pptx
chapitre0.pptxchapitre0.pptx
chapitre0.pptx
 
Cours_Linux_S1_Partie 2.pptx
Cours_Linux_S1_Partie 2.pptxCours_Linux_S1_Partie 2.pptx
Cours_Linux_S1_Partie 2.pptx
 
Cours SE Principes et fonctionnement de système d’exploitation - IPSET.pdf
Cours SE Principes et fonctionnement de système d’exploitation - IPSET.pdfCours SE Principes et fonctionnement de système d’exploitation - IPSET.pdf
Cours SE Principes et fonctionnement de système d’exploitation - IPSET.pdf
 
Robocopy : Un outil de copie sécurisée et paramétrable en ligne de commande
Robocopy : Un outil de copie sécurisée et paramétrable en ligne de commande Robocopy : Un outil de copie sécurisée et paramétrable en ligne de commande
Robocopy : Un outil de copie sécurisée et paramétrable en ligne de commande
 
Installation open erp
Installation open erpInstallation open erp
Installation open erp
 
Linux Scripting
Linux Scripting Linux Scripting
Linux Scripting
 

Plus de Alexandru Radovici (20)

SdE2 - Pilot Tock
SdE2 - Pilot TockSdE2 - Pilot Tock
SdE2 - Pilot Tock
 
SdE2 - Systèmes embarquées
SdE2 - Systèmes embarquéesSdE2 - Systèmes embarquées
SdE2 - Systèmes embarquées
 
SdE2 - Planification, IPC
SdE2 - Planification, IPCSdE2 - Planification, IPC
SdE2 - Planification, IPC
 
ALF1 - Introduction
ALF1 - IntroductionALF1 - Introduction
ALF1 - Introduction
 
SdE2 - Introduction
SdE2 - IntroductionSdE2 - Introduction
SdE2 - Introduction
 
MDAD 6 - AIDL and Services
MDAD 6 - AIDL and ServicesMDAD 6 - AIDL and Services
MDAD 6 - AIDL and Services
 
MDAD 5 - Threads
MDAD 5 - ThreadsMDAD 5 - Threads
MDAD 5 - Threads
 
MDAD 4 - Lists, adapters and recycling
MDAD 4 - Lists, adapters and recyclingMDAD 4 - Lists, adapters and recycling
MDAD 4 - Lists, adapters and recycling
 
MDAD 3 - Basics of UI Applications
MDAD 3 - Basics of UI ApplicationsMDAD 3 - Basics of UI Applications
MDAD 3 - Basics of UI Applications
 
MDAD 2 - Introduction to the Android Framework
MDAD 2 - Introduction to the Android FrameworkMDAD 2 - Introduction to the Android Framework
MDAD 2 - Introduction to the Android Framework
 
MDAD 1 - Hardware
MDAD 1 - HardwareMDAD 1 - Hardware
MDAD 1 - Hardware
 
MDAD 0 - Introduction
MDAD 0 - IntroductionMDAD 0 - Introduction
MDAD 0 - Introduction
 
SdE 11 - Reseau
SdE 11 - ReseauSdE 11 - Reseau
SdE 11 - Reseau
 
SdE 8 - Synchronisation de execution
SdE 8 - Synchronisation de executionSdE 8 - Synchronisation de execution
SdE 8 - Synchronisation de execution
 
ALF 6 - Parser
ALF 6 - ParserALF 6 - Parser
ALF 6 - Parser
 
ALF 5 - Parser
ALF 5 - ParserALF 5 - Parser
ALF 5 - Parser
 
ALF 4 - Grammaires
ALF 4 - GrammairesALF 4 - Grammaires
ALF 4 - Grammaires
 
ALF 3 - Expressions régulières et Lexer
ALF 3 - Expressions régulières et LexerALF 3 - Expressions régulières et Lexer
ALF 3 - Expressions régulières et Lexer
 
ALF 1 - Automates finis
ALF 1 - Automates finis ALF 1 - Automates finis
ALF 1 - Automates finis
 
DAPM 1 - Introduction
DAPM 1 - IntroductionDAPM 1 - Introduction
DAPM 1 - Introduction
 

Dernier

SciencesPo_Aix_InnovationPédagogique_Atelier_EtudiantActeur.pdf
SciencesPo_Aix_InnovationPédagogique_Atelier_EtudiantActeur.pdfSciencesPo_Aix_InnovationPédagogique_Atelier_EtudiantActeur.pdf
SciencesPo_Aix_InnovationPédagogique_Atelier_EtudiantActeur.pdfSKennel
 
Zotero avancé - support de formation doctorants SHS 2024
Zotero avancé - support de formation doctorants SHS 2024Zotero avancé - support de formation doctorants SHS 2024
Zotero avancé - support de formation doctorants SHS 2024Alain Marois
 
Fondation Louis Vuitton. pptx
Fondation      Louis      Vuitton.   pptxFondation      Louis      Vuitton.   pptx
Fondation Louis Vuitton. pptxTxaruka
 
LA MONTÉE DE L'ÉDUCATION DANS LE MONDE DE LA PRÉHISTOIRE À L'ÈRE CONTEMPORAIN...
LA MONTÉE DE L'ÉDUCATION DANS LE MONDE DE LA PRÉHISTOIRE À L'ÈRE CONTEMPORAIN...LA MONTÉE DE L'ÉDUCATION DANS LE MONDE DE LA PRÉHISTOIRE À L'ÈRE CONTEMPORAIN...
LA MONTÉE DE L'ÉDUCATION DANS LE MONDE DE LA PRÉHISTOIRE À L'ÈRE CONTEMPORAIN...Faga1939
 
Cours SE Gestion des périphériques - IG IPSET
Cours SE Gestion des périphériques - IG IPSETCours SE Gestion des périphériques - IG IPSET
Cours SE Gestion des périphériques - IG IPSETMedBechir
 
Formation M2i - Comprendre les neurosciences pour développer son leadership
Formation M2i - Comprendre les neurosciences pour développer son leadershipFormation M2i - Comprendre les neurosciences pour développer son leadership
Formation M2i - Comprendre les neurosciences pour développer son leadershipM2i Formation
 
Annie Ernaux Extérieurs. pptx. Exposition basée sur un livre .
Annie   Ernaux  Extérieurs. pptx. Exposition basée sur un livre .Annie   Ernaux  Extérieurs. pptx. Exposition basée sur un livre .
Annie Ernaux Extérieurs. pptx. Exposition basée sur un livre .Txaruka
 
SciencesPo_Aix_InnovationPédagogique_Atelier_IA.pdf
SciencesPo_Aix_InnovationPédagogique_Atelier_IA.pdfSciencesPo_Aix_InnovationPédagogique_Atelier_IA.pdf
SciencesPo_Aix_InnovationPédagogique_Atelier_IA.pdfSKennel
 
Presentation de la plateforme Moodle - avril 2024
Presentation de la plateforme Moodle - avril 2024Presentation de la plateforme Moodle - avril 2024
Presentation de la plateforme Moodle - avril 2024Gilles Le Page
 
Cours SE Le système Linux : La ligne de commande bash - IG IPSET
Cours SE Le système Linux : La ligne de commande bash - IG IPSETCours SE Le système Linux : La ligne de commande bash - IG IPSET
Cours SE Le système Linux : La ligne de commande bash - IG IPSETMedBechir
 
Evaluation du systeme d'Education. Marocpptx
Evaluation du systeme d'Education. MarocpptxEvaluation du systeme d'Education. Marocpptx
Evaluation du systeme d'Education. MarocpptxAsmaa105193
 
presentation sur la maladie de la dengue .pptx
presentation sur la maladie de la dengue .pptxpresentation sur la maladie de la dengue .pptx
presentation sur la maladie de la dengue .pptxNYTombaye
 
SciencesPo_Aix_InnovationPédagogique_Bilan.pdf
SciencesPo_Aix_InnovationPédagogique_Bilan.pdfSciencesPo_Aix_InnovationPédagogique_Bilan.pdf
SciencesPo_Aix_InnovationPédagogique_Bilan.pdfSKennel
 
le present des verbes reguliers -er.pptx
le present des verbes reguliers -er.pptxle present des verbes reguliers -er.pptx
le present des verbes reguliers -er.pptxmmatar2
 
Le Lean sur une ligne de production : Formation et mise en application directe
Le Lean sur une ligne de production : Formation et mise en application directeLe Lean sur une ligne de production : Formation et mise en application directe
Le Lean sur une ligne de production : Formation et mise en application directeXL Groupe
 
Principe de fonctionnement d'un moteur 4 temps
Principe de fonctionnement d'un moteur 4 tempsPrincipe de fonctionnement d'un moteur 4 temps
Principe de fonctionnement d'un moteur 4 tempsRajiAbdelghani
 
SciencesPo_Aix_InnovationPédagogique_Atelier_FormationRecherche.pdf
SciencesPo_Aix_InnovationPédagogique_Atelier_FormationRecherche.pdfSciencesPo_Aix_InnovationPédagogique_Atelier_FormationRecherche.pdf
SciencesPo_Aix_InnovationPédagogique_Atelier_FormationRecherche.pdfSKennel
 
SciencesPo_Aix_InnovationPédagogique_Conférence_SK.pdf
SciencesPo_Aix_InnovationPédagogique_Conférence_SK.pdfSciencesPo_Aix_InnovationPédagogique_Conférence_SK.pdf
SciencesPo_Aix_InnovationPédagogique_Conférence_SK.pdfSKennel
 

Dernier (20)

SciencesPo_Aix_InnovationPédagogique_Atelier_EtudiantActeur.pdf
SciencesPo_Aix_InnovationPédagogique_Atelier_EtudiantActeur.pdfSciencesPo_Aix_InnovationPédagogique_Atelier_EtudiantActeur.pdf
SciencesPo_Aix_InnovationPédagogique_Atelier_EtudiantActeur.pdf
 
Zotero avancé - support de formation doctorants SHS 2024
Zotero avancé - support de formation doctorants SHS 2024Zotero avancé - support de formation doctorants SHS 2024
Zotero avancé - support de formation doctorants SHS 2024
 
Pâques de Sainte Marie-Euphrasie Pelletier
Pâques de Sainte Marie-Euphrasie PelletierPâques de Sainte Marie-Euphrasie Pelletier
Pâques de Sainte Marie-Euphrasie Pelletier
 
Fondation Louis Vuitton. pptx
Fondation      Louis      Vuitton.   pptxFondation      Louis      Vuitton.   pptx
Fondation Louis Vuitton. pptx
 
LA MONTÉE DE L'ÉDUCATION DANS LE MONDE DE LA PRÉHISTOIRE À L'ÈRE CONTEMPORAIN...
LA MONTÉE DE L'ÉDUCATION DANS LE MONDE DE LA PRÉHISTOIRE À L'ÈRE CONTEMPORAIN...LA MONTÉE DE L'ÉDUCATION DANS LE MONDE DE LA PRÉHISTOIRE À L'ÈRE CONTEMPORAIN...
LA MONTÉE DE L'ÉDUCATION DANS LE MONDE DE LA PRÉHISTOIRE À L'ÈRE CONTEMPORAIN...
 
Cours SE Gestion des périphériques - IG IPSET
Cours SE Gestion des périphériques - IG IPSETCours SE Gestion des périphériques - IG IPSET
Cours SE Gestion des périphériques - IG IPSET
 
Formation M2i - Comprendre les neurosciences pour développer son leadership
Formation M2i - Comprendre les neurosciences pour développer son leadershipFormation M2i - Comprendre les neurosciences pour développer son leadership
Formation M2i - Comprendre les neurosciences pour développer son leadership
 
Annie Ernaux Extérieurs. pptx. Exposition basée sur un livre .
Annie   Ernaux  Extérieurs. pptx. Exposition basée sur un livre .Annie   Ernaux  Extérieurs. pptx. Exposition basée sur un livre .
Annie Ernaux Extérieurs. pptx. Exposition basée sur un livre .
 
SciencesPo_Aix_InnovationPédagogique_Atelier_IA.pdf
SciencesPo_Aix_InnovationPédagogique_Atelier_IA.pdfSciencesPo_Aix_InnovationPédagogique_Atelier_IA.pdf
SciencesPo_Aix_InnovationPédagogique_Atelier_IA.pdf
 
DO PALÁCIO À ASSEMBLEIA .
DO PALÁCIO À ASSEMBLEIA                 .DO PALÁCIO À ASSEMBLEIA                 .
DO PALÁCIO À ASSEMBLEIA .
 
Presentation de la plateforme Moodle - avril 2024
Presentation de la plateforme Moodle - avril 2024Presentation de la plateforme Moodle - avril 2024
Presentation de la plateforme Moodle - avril 2024
 
Cours SE Le système Linux : La ligne de commande bash - IG IPSET
Cours SE Le système Linux : La ligne de commande bash - IG IPSETCours SE Le système Linux : La ligne de commande bash - IG IPSET
Cours SE Le système Linux : La ligne de commande bash - IG IPSET
 
Evaluation du systeme d'Education. Marocpptx
Evaluation du systeme d'Education. MarocpptxEvaluation du systeme d'Education. Marocpptx
Evaluation du systeme d'Education. Marocpptx
 
presentation sur la maladie de la dengue .pptx
presentation sur la maladie de la dengue .pptxpresentation sur la maladie de la dengue .pptx
presentation sur la maladie de la dengue .pptx
 
SciencesPo_Aix_InnovationPédagogique_Bilan.pdf
SciencesPo_Aix_InnovationPédagogique_Bilan.pdfSciencesPo_Aix_InnovationPédagogique_Bilan.pdf
SciencesPo_Aix_InnovationPédagogique_Bilan.pdf
 
le present des verbes reguliers -er.pptx
le present des verbes reguliers -er.pptxle present des verbes reguliers -er.pptx
le present des verbes reguliers -er.pptx
 
Le Lean sur une ligne de production : Formation et mise en application directe
Le Lean sur une ligne de production : Formation et mise en application directeLe Lean sur une ligne de production : Formation et mise en application directe
Le Lean sur une ligne de production : Formation et mise en application directe
 
Principe de fonctionnement d'un moteur 4 temps
Principe de fonctionnement d'un moteur 4 tempsPrincipe de fonctionnement d'un moteur 4 temps
Principe de fonctionnement d'un moteur 4 temps
 
SciencesPo_Aix_InnovationPédagogique_Atelier_FormationRecherche.pdf
SciencesPo_Aix_InnovationPédagogique_Atelier_FormationRecherche.pdfSciencesPo_Aix_InnovationPédagogique_Atelier_FormationRecherche.pdf
SciencesPo_Aix_InnovationPédagogique_Atelier_FormationRecherche.pdf
 
SciencesPo_Aix_InnovationPédagogique_Conférence_SK.pdf
SciencesPo_Aix_InnovationPédagogique_Conférence_SK.pdfSciencesPo_Aix_InnovationPédagogique_Conférence_SK.pdf
SciencesPo_Aix_InnovationPédagogique_Conférence_SK.pdf
 

SdE TP 3 - Fonctions d'entrée et sortie

  • 2. Bibliographie pour aujourd'hui • Modern Operating Systems – Chapitre 6 • 6.1 • 6.2 • Operating Systems Concepts – Chapitre 11 2
  • 4. Operations avec les fichiers • création • ouverture • lecture • écriture • positionnement dans le fichier • tronquer • fermeture • suppression 4
  • 5. Creation • shell touch /path/to/file toute commande qui écrit dans un fichier le crée • ISO/ANSI C FILE *f = fopen ("/path/to/file", "rw"); • POSIX int fd = open ("/path/to/file", O_CREAT | O_EXCL, 0644); • Windows HANDLE fileHandle = CreateFile ("/path/to/file", ..., CREATE_NEW); 5
  • 6. Ouverture • ISO/ANSI C FILE *f = fopen("/path/to/file", "rt"); • POSIX int fd = open("/path/to/file", O_RDONLY); • Windows HANDLE f = CreateFile("/path/to/file", ..., OPEN_EXISTING); 6
  • 7. Descripteur de fichier • plus de descripteur peut correspondre aux même fichier • chaque processus a une table de descripteurs de fichiers • POSIX – un entier identifiant une instance de fichier ouvert dans un processus – descripteurs spéciaux • 0 (stdin), 1 (stdout), 2 (stderr) • ISC C – File • Windows – HANDLE 7
  • 8. Table de descripteur de fichier 8
  • 9. Lecture • stocker des informations dans un tampon • avance du curseur de fichier • ISO C // reads size * times bytes n_items = fread(buffer, size, items, f); • Unix // reads maximum size bytes // use only within a loop n_read = read(fd, buffer, size); • Windows ReadFile(fHandle, buffer, bytesToRead, &bytesRead, NULL); 9
  • 10. Ecriture • écrire des informations à partir d'un tampon • avance du curseur de fichier • ISO C // writes size * times bytes n_items = fwrite(buffer, size, items, f); • Unix // writes maximum size bytes // use only within a loop n_write = write(fd, buffer, size); • Windows WriteFile(fHandle, buffer, bytesToWrite, &bytesWritten, NULL); 10
  • 11. Curseur de fichier • changements à lire et à écrire • initialisation à l'ouverture • mouvement de curseur de fichier • ISO C fseek(f, offset, SEEK_SET); • Unix lseek(fd, offset, SEEK_SET); • Windows SetFilePointer(fHandle, distanceToMove, NULL, FILE_BEGIN); 11
  • 12. Espace utilisateur Espace noyau Fichier sur le discinstance de fichier ouvert struct file Pointeur fichier utilisateur droits inode struct inode droits taille bloc pointeurs uid gid Fichier ouverte descripteur Types des donnees 12
  • 13. Duplication de descripteur • dupliquer un descripteur dans un autre descripteur • les deux descripteurs fonctionnent sur le même fichier • POSIX newfd = dup(oldfd); dup2(oldfd, newfd); • Windows DuplicateHandle(...); SetStdHandle(...); 13
  • 14. Tronquer • supprimer le contenu du fichier • le curseur de fichier est mis à size • un fichier peut être ouvert et tronqué // size is 0 open("/path/to/file", O_RDWR | O_TRUNC); • un fichier peut être ouvert et tronqué truncate("/path/to/file", size); • un fichier peut être tronqué après ouverture ftruncate(fd, size); SetEndOfFile(hFile); // Windows 14
  • 15. Fermer • l'entrée de la table de descripteur est supprimée • ISO C fclose (f); • POSIX close(fd); • Windows CloseHandle(fHandle); 15
  • 16. Supprimer • supprimer le fichier du système de fichiers • shell rm file.txt • ISO/C remove("file.txt"); • POSIX unlink("file.txt"); • Windows DeleteFile("file.txt"); 16
  • 17. Redirection • shell echo “message” > file_out.txt grep “word” < file_in.txt • POSIX fd = open ("file_out"); close (1); dup2 (fd, 1); close (fd); 17
  • 20. UNIX • Sur bits: – r w - r- - r - - corresponde a 110100100 – r w x r- x - - - corresponde a 111101000 – r w - rw- - - - corresponde a 110110000 • Octal: – r w - r- - r - - corresponde a 644 – r w x r- x - - - corresponde a 750 – r w - rw- - - - corresponde a 660 20
  • 21. Gestion de permissions • UNIX: – Entités: User, Group, Others – Types: Read, Write, Execute // mode in octal chmod("/path/to/file", 0644); • Windows: Listes d’acces – ACL: access control lists – Types: lecture, écriture, listage, croisement, création de sous-fichiers, etc. – Permissions seulement sur NTFS, pas sur FAT32 SetNamedSecurityInfo(...); 21

Notes de l'éditeur

  1. [8] - inode - http://elf.cs.pub.ro/so2/wiki/laboratoare/lab09