Système d exploitation
|
|
- Rachel Gauvin
- il y a 7 ans
- Total affichages :
Transcription
1 Système d exploitation Benjamin Bergougnoux LIMOS, Université Blaise Pascal 24 janvier 2017
2 > CM 1 > CM 2 > CM 3
3 Organisation 18h de CM 16h de TD, 2 groupes (A/B), début semaine pro, 16h de TP, 3 groupes (1/2/3), début semaine pro-pro.
4 Organisation 18h de CM 16h de TD, 2 groupes (A/B), début semaine pro, 16h de TP, 3 groupes (1/2/3), début semaine pro-pro. Évaluation Un partiel, Un contrôle en TD, Un contrôle en TP.
5 Organisation 18h de CM 16h de TD, 2 groupes (A/B), début semaine pro, 16h de TP, 3 groupes (1/2/3), début semaine pro-pro. Évaluation Un partiel, Un contrôle en TD, Un contrôle en TP. Note finale : max(partiel, moy(75%partiel %TD %TP))
6 Organisation Informations, Supports CM,TD,TP sur : http ://fc.isima.fr/ bergougn/ https ://coursenligne.clermont-universite.fr/ ENT Pédagogie Cours en ligne Nom du cours : L3_info-Système d Exploitation 2017 Clef : GANDALF FAQ
7 Conseils Comprendre = Temps + Concentration! Suivre le CM > Prendre des Notes > Végété Entraidez vous : révisez ensemble Posez des questions Soyez indépendants (prof incompétent = étudiant fort!)
8 WTF OS? Un OS (Operating System) c est Un truc qui rend l hardware facilement exploitable :
9 WTF OS? Un OS (Operating System) c est Un truc qui rend l hardware facilement exploitable : Donne aux développeurs une base (/bin) Rends les choses simples, uniformes et cohérente (/media) Se charge de 5 grands machins comme : Les fichiers Les processus La mémoire Les «E/S» Les utilisateurs
10 WTF OS? II Un OS (Operating System) ce n est pas : L interprète de commandes (logicielle système) L interface graphique Les utilitaires (cp, chmod, ls,...) Le BIOS
11 WTF OS? III Un OS (Operating System) c est : Une machine virtuelle Vue Uniforme des entrées/sorties Une mémoire virtuelle et partageable Gestions Fichiers et Répertoires Gestion droits d accès, sécurité et traitement d erreurs Gestions Processus (Ordonnancement, Communication,... ) Un gestionnaire de ressource Fonctionnement des Ressources Contrôle l accès aux Ressources Gestion des erreurs L évitement des conflits (ressource critique)
12 Pourquoi suivre cette UE? C est la BASE, le b.a.-ba, le cambouis primordial... C est votre ami : il gère vos programmes, Les problèmes rencontrés sont classiques, Il fait froid dehors, j ai vu de la lumière... Il y a des images
13 Types d OS Différents types d OS pour différents types de trucs à faire : Mono utilisateur Temps réel (Nucléaire, Chimie) : réactif Général (Linux, Windows, Android, Mac OS,...) Multi-tâches et Multi-utilisateurs
14 Mode Noyau / Utilisateur Mode Noyau (ou Kernel ou privilégié) Empire du système d exploitation Accès à tous les espaces mémoire Accès à toutes les instructions protégées Lecture/Écriture d un fichier des périphériques Accès au Réseaux Bref accès au hardware Accès aux droits d accès Super utilisateur Mode Utilisateur (ou non privilégié) Royaumes des programmes Processus ne peut accéder qu à son espace perso Grosse protection!
15 Accès au mode Noyau Appels Système Faire le schéma cool, Paramètre d un TRAP : Le numéro de la fonction système et les différents arguments de la fonction On appelle le gestionnaire d?exception trap handler Appel de la vraie fonction système Après calcul : Retour au trap Transmission de la valeur de retour et données Retour en mode utilisateur
16 Noix Shell : interface utilisateur Kernel : interface hardware/logiciel (noyau en allemand)
17 Types de noyau Type de noyau : Noyau Monolithiques D un bloc, absence de structure interne Une collection de procédures sans ordre Seule barrière de protection : Mode Noyeau / Mode utilisateur Différents types de procédures : Procédure principale Procédure de service Procédure utilitaire Populaire : Linux
18 Types de noyau
19 Types OS III Noyau Micro-kernel Noyau minimal Le reste du SE est en mode utilisateur Mac OS, Windows(récent) Hybride
20 WTF processus? Processus = une tâche d un programme = Royaume = Code + Données Statiques / Dynamiques Processus lourds : processus Tâche légère : thread Arborescence
21 WTF processus? Processus = une tâche d un programme = Royaume = Code + Données Statiques / Dynamiques Processus lourds : processus Tâche légère : thread Arborescence État d un processus Certaines infos sont à la charge du SE (compteur, liste fichiers ouverts,...) table des processus
22 Pas d enseignant en TP On va convertir certains CMs, TDs en TPs... À suivre
23 Previously on Operating System Un Système d Exploitation c est : Une machine virtuelle L hardware compliqué OS simple, uniforme et cohérent Gère les droits d accès, la sécurité et les traitements d erreurs Gère les processus : Ordonnancement et Communication (IPC) Un gestionnaire de ressource qui Gère le fonctionnement des ressources Lecture de disque, Réseaux, mémoire... Contrôle l accès aux Ressources : TRAP Gère les erreurs Permet l évitement des conflits : Sémaphores
24 Previously on Operating System Mode utilisateur : Mode par défaut des processus Accès uniquement à son espace perso
25 Previously on Operating System Mode utilisateur : Mode par défaut des processus Accès uniquement à son espace perso Mode Noyau Accès à tout l hardware (mémoire, réseaux, droits d accès...) Habité par les instructions protégées (kill, open, ls,...)
26 Previously on Operating System Apppel Système = Requête d un processus pour utiliser une instruction protégée 1. Processus appelle une fonction wrapper (glibc) Souvent éponyme 2. Fonction wrapper lance l appel système (syscall(int)) Copie des paramètres dans les bons registres 3. Interruption du processus : sauvegarde du contexte 4. Appel de l instruction protégée 5. Transfert des résultats et reprise du processus 6. Si erreur : retour < 0 et modification de errno
27 Gestion d erreur Si l appel système échoue alors il renvoie -1 ou NULL Il change la valeur de errno : un entier défini par <errno.h> Cet entier référence un type d erreur EACCES = Permission denied Afficher l erreur : perror
28 Gestion d erreur III /* perror example */ # include <stdio.h> int main () { FILE * pfile ; pfile = fopen (" unexist. ent ","rb"); if ( pfile == NULL ) perror (" The following error occurred "); else fclose ( pfile ); return 0; } The following error occurred : No such file or directory
29 Processus Processus = une tâche 1. Trois états : Prêt, Exécution et Bloqué 2. Bloc de contrôle de Processus : Pid État Compteur ordinal Allocation mémoire Fichier ouverts... Tout pour suspendre/reprendre le processus
30 Changement de contexte
31 Création de processus Les DÉMONS : Processus en background, associés à aucun terminal/login Démarrent au démarrage Attendent des événements Réalisent des tâches de manière périodiques Exemple : Cron pour chronos
32 Création de processus Tout le monde a un père sauf init (systemd) Tout processus peux créer/supprimer des processus fils Services POSIX pour la gestion de processus : pid_t fork() : création d un fils int execl(), int execlp(), int execvp(), int execle(), int execv() : Exécution d un programme pid_t wait(), pid_t waitpid : Attendre la fin d un processus void exit() : Finir l exécution d un processus pid_t getpid(), pid_t getppid() : Obtenir un pid system() : Lance une commande
33 Fork() Seul moyen de dupliquer un processus existant (Ou pas clone()) Créer une copie exacte du processus même (code), compteur,... Mais espace mémoire, pid, ppid différents! Valeur de retour de fork() : 0 pour le processus fils pid du fils pour le père Négative si échec # include < unistd.h> int fork ();
34 # include <sys / types.h> # include < unistd.h > # include < stdio.h > int main ( ){ int i; pid_t pid ; printf (" pid : %d, ppid : %d.\n", getpid (), getppid ()); pid = fork (); if(pid == -1) perror (" Fork fail :"); else if ( pid == 0 ){ printf (" pid : %d, ppid : %d.\n", getpid (), getppid ()); sleep (5) ; printf (" pid : %d, ppid : %d.\n", getpid (), getppid ()); } else return 0; return 0 ; }
35 Orphelins Si le processus père termine avant, le fils est orphelin, il est adopté! moi>./orphan pid : 7834, ppid : pid : 7835, ppid : moi> pid : 7835, ppid : 1635.
36 Wait(), waitpid() et exit() wait(int *status) : Attendre la mort d un fils waitpid(int pid, int *status, int options) : Attendre la mort du fils pid option : WNOHANG exit(int return_code) : termine l exécution et envoie statut statut : contient des infos sur la mort du fils <sys/wait.h> fournit des macros WEXITSTATUS(status) : return_code)
37 Processus Zombie Créer un zombie : int main ( ) { pid_t pid ; pid = fork (); if ( pid == 0 ) exit (0) ; // fils else sleep (10) ;// pere return 0; } 8874 pts/2 00 :00 :00 a.out 8875 pts/2 00 :00 :00 a.out <defunct>
38 Processus Zombie Bref un père qui n attends pas son fils Un processus zombie et orphelin est adopté puis attendu! while ( waitpid (-1, NULL, WNOHANG ))
39 Exec() Permet de changer l image d un processus int execv ( const char * path, char * const argv []) ; int main ( ){ execl ("/ bin /ls", "l", NULL ); perror (" Erreur execl "); return 1; }
40 Exec() Permet de changer l image d un processus int execv ( const char * path, char * const argv []) ; int main ( ){ execl ("/ bin /ls", "l", NULL ); perror (" Erreur execl "); return 1; } Equivalence : execlp("ls", "l", NULL) ;
41 Exec() Permet de changer l image d un processus int execv ( const char * path, char * const argv []) ; int main ( int argc, char * argv []) { char * args [] = {"ls", "-l", argv [1], NULL }; execv ("/ bin /ls", args ); perror (" Erreur execl "); return 1; }
42 Exec() Permet de changer l image d un processus int execv ( const char * path, char * const argv []) ; int main ( int argc, char * argv []) { char * args [] = {"ls", "-l", argv [1], NULL }; execv ("/ bin /ls", args ); perror (" Erreur execl "); return 1; } Équivalence : execvp("ls", args) ; À utiliser avec fork! Il y a aussi execle() voir man exec...
43 System() int main () { system ("ls -l /"); return 0; } Ça consiste en un fork() + exec() + wait() C est simple mais couteux : ça appel un shell Ça fait 2 fork in fact!
44 Les threads Un thread est un chemin d exécution d un processus Les threads sont inclus dans un processus
45 Les threads Un thread est un chemin d exécution d un processus Les threads sont inclus dans un processus Les threads d un même processus partagent les ressources du processus sont partagés entre ces threads Code exéc., mémoire, fichiers, périphériques... Chaque thread possède en plus : sa zone de données, sa pile d exécutions, ses registres et son compteur ordinal
46 Pourquoi? Pourquoi les threads? Rapide à créer : pas de contexte à créer Communication inter-thread super simple et rapide! Réactivité : un thread pour attendre l user les autres bossent Parallélisation d une tâche! Plus difficile à manier : Synchronisation et Crash
47 Création de thread Les fonctions de la bibliothèque pthread : int pthread_create( pthread_t * thread, pthread_attr_t * attr, ( taille de la pile, priorité,...) void *nomfonction, void *arg) ; Créer un thread qui exécute nomfonction(arg)
48 Création de thread Les fonctions de la bibliothèque pthread : int pthread_join(pthread_t *thid, void **valeur_de_retour) ; void pthread_exit(void *valeur_de_retour) ; int pthread_attr_setdetachstate(pthread_attr_t *attr, int detachstate) ; sert à établir l état de terminaison d un processus léger : PTHREAD_CREATE_DETACHED : le processus léger libérera ses ressources quand il terminera PTHREAD_CREATE_JOINABLE : le processus léger ne libérera pas ses ressources
49 Création de thread # include <stdio.h> # include < pthread.h> static void * task_a ( void * p_data ); static void * task_b ( void * p_data ); int main ( void ){ pthread_ t ta; pthread_ t tb; pthread_ create (& ta, NULL, task_a, NULL ); pthread_ create (& tb, NULL, task_b, NULL ); pthread_join (ta, NULL ); pthread_join (tb, NULL ); puts (" main end "); return 0; }
50 Communication inter-processus Différents moyens : Les Fichiers / variables Attention ressource critique Communication inter-thread Les signaux Aussi utilisé pour signaler des erreurs (Segmentation fault) Tubes sans nom (Anonymous pipe) Unidirectionnel, uniquement entre père et fils Tubes de communication nommés (Named pipe) Unidirectionnel, pas besoin de parenté
51 Fichiers / Variables communes Attention : fait de l exclusion mutuelle en écriture! P1 : movl $v,%eax # load v movw (%eax),%bx incw %bx # bx++; movw %bx, (%eax) # store v P2 : movl $v, %eax # load v movw %eax), %bx decw %bx # bx--; movw %bx, (%eax) # store v
52 Semaphore Edsger Dijkstra in 1962 or 1963 Un entier, deux opérations atomiques : P(rendre) V(rendre) Sur POSIX : int sem_init(sem_t *semaphore, int pshared, unsigned int valeur) Initialisation int sem_wait(sem_t * semaphore) ; Prendre, attente passive si 0 jeton, retourne 0 int sem_trywait(sem_t * semaphore) ; Prendre, retourne -1 si pas de jeton, 0 sinon int sem_post(sem_t * semaphore) ; int sem_getvalue(sem_t * semaphore, int * sval) ; int sem_destroy(sem_t * semaphore) ;
53 Semaphore sem_t mutex ; int main (){ sem_ init (& mutex, 0, 1);// Initialisation pour des threads... sem_ wait (& mutex );// accès en section critique... sem_ post (& mutex );// quitter section critique... }
54 Signaux Utiliser par l OS signaler des erreurs comme segmentation fault, buffer overflow,... L utilisateur/un programme peut aussi en envoyer int kill(pid_t pid, int signal) pid>0 : processus pid pid=0 : groupe de l émetteur pid=-1 : tous les processus (only for root) pid<0 : au groupe gid= pid signal SIGKILL, SIGTERM, SIGSTOP, SIGCONT, SIGINT...
55 Interpréter les Signaux
Cours Programmation Système
Cours Programmation Système Filière SMI Semestre S6 El Mostafa DAOUDI Département de Mathématiques et d Informatique, Faculté des Sciences Université Mohammed Premier Oujda m.daoudi@fso.ump.ma Février
Plus en détailIntroduction aux Systèmes et aux Réseaux
Introduction aux Systèmes et aux Réseaux Cours 5 Processus D après un cours de Julien Forget (univ Lille1) Laure Gonnord http://laure.gonnord.org/pro/teaching/ Laure.Gonnord@univ-lyon1.fr Master CCI -
Plus en détailProgrammation système en C/C++
Programmation système en C/C++ Jean-Baptiste Vioix (jb.vioix@free.fr) LE2I - ENESAD http://jb.vioix.free.fr 1-41 Programmation en C/C++ sous Unix Il existe des très nombreux outils de développement sous
Plus en détailLes processus légers : threads. Système L3, 2014-2015 1/31
Les processus légers : threads Système L3, 2014-2015 1/31 Les threads Les threads sont des processus légers exécutés à l intérieur d un processus L exécution des threads est concurrente Il existe toujours
Plus en détailProgrammation système
Programmation système Christine Solnon Table des matières 1 Les processus 2 1.1 Etats d un processus................................... 2 1.2 Descripteur d un processus (PCB)...........................
Plus en détailLEs processus coopèrent souvent pour traiter un même problème. Ces
Chapitre 5 Communication interprocessus LEs processus coopèrent souvent pour traiter un même problème. Ces processus s exécutent en parallèle sur un même ordinateur (monoprocesseur ou multiprocesseurs)
Plus en détailQu'est-ce qu'un processus: Définitions
Version septembre 2013 N 187 Qu'est-ce qu'un processus: Définitions Instruction = indécomposable et indivisible Processeur =... Processus = suite temporelle d'exécutions d'instructions Processus = exécution
Plus en détailLes processus. Système L3, 2014-2015 1/39
Les processus Système L3, 2014-2015 1/39 Les processus Processus = Instance d un programme en cours d exécution plusieurs exécutions de programmes plusieurs exécutions d un même programme plusieurs exécutions
Plus en détailLe prototype de la fonction main()
Le prototype de la fonction main() 1. Introduction...1 2. Paramètres et type de retour de la fonction main()...1 3. Exemple 1...2 4. La fonction exit() du C...2 5. Détecter le code de retour d un programme
Plus en détailProgrammation Système (en C sous linux) Rémy Malgouyres LIMOS UMR 6158, IUT département info Université Clermont 1, B.P.
Programmation Système (en C sous linux) Rémy Malgouyres LIMOS UMR 6158, IUT département info Université Clermont 1, B.P. 86 63172 AUBI Une version PDF de ce document est téléchargeable sur mon site web,
Plus en détail03/04/2007. Tâche 1 Tâche 2 Tâche 3. Système Unix. Time sharing
3/4/27 Programmation Avancée Multimédia Multithreading Benoît Piranda Équipe SISAR Université de Marne La Vallée Besoin Programmes à traitements simultanés Réseau Réseau Afficher une animation en temps
Plus en détailCours 6 : Tubes anonymes et nommés
Cours 6 : Tubes anonymes et nommés Mécanisme de communications du système de fichiers I-node associé. Type de fichier: S_IFIFO. Accès au travers des primitives read et write. Les tubes sont unidirectionnels
Plus en détail3IS - Système d'exploitation linux - Programmation système
3IS - Système d'exploitation linux - Programmation système 2010 David Picard Contributions de : Arnaud Revel, Mickaël Maillard picard@ensea.fr Environnement Les programmes peuvent être exécutés dans des
Plus en détailChapitre 4 : Outils de communication centralisés entre processus
Chapitre 1 : Introduction Chapitre 2 : Processus Chapitre 3 : Ordonnancement Chapitre 4 : Outils de communication centralisés entre processus Chapitre 5 : Allocation mémoire Chapitre 6 : Mémoire virtuelle
Plus en détail1/24. I passer d un problème exprimé en français à la réalisation d un. I expressions arithmétiques. I structures de contrôle (tests, boucles)
1/4 Objectif de ce cours /4 Objectifs de ce cours Introduction au langage C - Cours Girardot/Roelens Septembre 013 Du problème au programme I passer d un problème exprimé en français à la réalisation d
Plus en détailProgrammation système de commandes en C
Programmation système de commandes en C Cours de Programmation système Tuyêt Trâm DANG NGOC Université de Cergy-Pontoise 2012 2013 Tuyêt Trâm DANG NGOC Programmation système de commandes
Plus en détailTRAVAUX PRATIQUES Programmation Système Langage C / Système UNIX. 2 e année Génie Informatique
Communications entre Processus Communication par tubes. TRAVAUX PRATIQUES Programmation Système Langage C / Système UNIX. 2 e année Génie Informatique Exemple 1: On a deux processus Père/Fils. Le père
Plus en détailProcessus! programme. DIMA, Systèmes Centralisés (Ph. Mauran) " Processus = suite d'actions = suite d'états obtenus = trace
Processus 1) Contexte 2) Modèles de Notion de Points de vue Modèle fourni par le SX Opérations sur les 3) Gestion des Représentation des Opérations 4) Ordonnancement des Niveaux d ordonnancement Ordonnancement
Plus en détailLes processus 2/54. Qu est-ce qu un processus? 3(6)/54. Se souvenir 1(1)/54. Le système de fichiers (exemple du disque dur)
Se souvenir 1(1)/54 Le système de fichiers (exemple du disque dur) Qu est-ce qu un processus? 3(3)/54 Les caches (inodes et blocks) Accès à un fichier : double indirection Compteurs de références : Les
Plus en détailExécutif temps réel Pierre-Yves Duval (cppm)
Exécutif temps réel Pierre-Yves Duval (cppm) Ecole d informatique temps réel - La Londes les Maures 7-11 Octobre 2002 Plan Exécutif Tâches Evénements et synchronisation Partage de ressources Communications
Plus en détailProgrammation système I Les entrées/sorties
Programmation système I Les entrées/sorties DUT 1 re année Université de Marne La vallée Les entrées-sorties : E/O Entrées/Sorties : Opérations d échanges d informations dans un système informatique. Les
Plus en détailArchitecture d un système d exploitation
Architecture d un système d exploitation 1/71 Architecture d un système d exploitation Jean-Claude Bajard IUT de Montpellier, Université Montpellier 2 Première année de DUT Architecture d un système d
Plus en détailIntroduction au langage C
Introduction au langage C Cours 1: Opérations de base et premier programme Alexis Lechervy Alexis Lechervy (UNICAEN) Introduction au langage C 1 / 23 Les premiers pas Sommaire 1 Les premiers pas 2 Les
Plus en détail1. Structure d un programme C. 2. Commentaire: /*..texte */ On utilise aussi le commentaire du C++ qui est valable pour C: 3.
1. Structure d un programme C Un programme est un ensemble de fonctions. La fonction "main" constitue le point d entrée pour l exécution. Un exemple simple : #include int main() { printf ( this
Plus en détailUnix/Linux I. 1 ere année DUT. Université marne la vallée
Unix/Linux I 1 ere année DUT Université marne la vallée 1 Introduction 2 Fonctions et spécifité d Unix Architecture 3 4 5 Fichier Unix Arborescence de fichiers Quelques commandes sur les fichiers Chemins
Plus en détailÉcole Polytechnique de Montréal. Département de Génie Informatique et Génie Logiciel. Cours INF2610. Contrôle périodique.
École Polytechnique de Montréal Département de Génie Informatique et Génie Logiciel Cours INF2610 Contrôle périodique Automne 2013 Date : 11 octobre 2013 de 18h à 20h Professeur : Boucheneb Hanifa Documentation
Plus en détailProgrammation impérative
Programmation impérative Cours 4 : Manipulation des fichiers en C Catalin Dima Organisation des fichiers Qqs caractéristiques des fichiers : Nom (+ extension). Chemin d accès absolu = suite des noms des
Plus en détailLe système de gestion des fichiers, les entrées/sorties.
Le système de gestion des fichiers, les entrées/sorties. Luigi Santocanale Laboratoire d Informatique Fondamentale, Centre de Mathématiques et Informatique, 39, rue Joliot-Curie - F-13453 Marseille 19
Plus en détailSystème et réseaux (SR1) Gestion des utilisateurs
Système et réseaux (SR1) Gestion des utilisateurs Il existe un utilisateur privilégié (de nom root et de groupe root) qui dispose de droits étendus sur le système de fichier et sur le contrôle de l'activité
Plus en détailCours de Système : Gestion de Fichiers
Cours de Système : Gestion de Fichiers Bertrand Le cun et Emmanuel Hyon bertrand.le cun{at}u-paris10.fr et Emmanuel.Hyon{at}u-paris10.fr Université Paris Ouest Nanterre 25 octobre 2011 B.L.C. & E.H. (UPO)
Plus en détailJava Licence Professionnelle CISII, 2009-10
Java Licence Professionnelle CISII, 2009-10 Cours 4 : Programmation structurée (c) http://www.loria.fr/~tabbone/cours.html 1 Principe - Les méthodes sont structurées en blocs par les structures de la programmation
Plus en détailEPREUVE OPTIONNELLE d INFORMATIQUE CORRIGE
EPREUVE OPTIONNELLE d INFORMATIQUE CORRIGE QCM Remarque : - A une question correspond au moins 1 réponse juste - Cocher la ou les bonnes réponses Barème : - Une bonne réponse = +1 - Pas de réponse = 0
Plus en détailIntroduction aux Systèmes et aux Réseaux, Master 2 CCI
aux Systèmes et aux Réseaux, Master 2 CCI Cours 1 : Introduction et contexte Unix/Linux Laure Gonnord http://laure.gonnord.org/pro/teaching/ Laure.Gonnord@univ-lyon1.fr Master CCI - Université Lyon 1 -
Plus en détailPlaying with ptrace() for fun and profit
sous GNU/Linux nicolas.bareil@eads.net EADS Corporate Research Center - DCR/STI/C SSI Lab SSTIC 2006 Il était une fois... Sous UNIX, ptrace() est le seul moyen de debuggage. User-space, Interface rigide
Plus en détailProblèmes liés à la concurrence
ENS Cachan Problématique Difficile de gérer la concurrence : Pas toujours facile d avoir des fonctions réentrantes. Risque de race condition : ex : x :=x+1 x :=x+1 On voudrait des blocs d instructions
Plus en détailArguments d un programme
Arguments d un programme L2 SPI, Bruno Jacob 1 Arguments Quand on appelle un programme dans un environnement UNIX ou MS- DOS, on compose une ligne de commandes de la forme : nom-du-programme argument1
Plus en détailDerrière toi Une machine virtuelle!
Derrière toi Une machine virtuelle! Yann-Gaël Guéhéneuc guehene@emn.fr École des Mines de Nantes, France Object Technology International Inc., Canada D où ça vient? Calculatrice Machine de Turing 1936
Plus en détailOS Réseaux et Programmation Système - C5
OS Réseaux et Programmation Système - C5 Rabie Ben Atitallah rabie.benatitallah@univ-valenciennes.fr RPC - XDR Rappel RPC: Remote Procedure Call Besoin d un environnement de haut niveau pour le développement
Plus en détailIFT2245 - Systèmes d exploitation - TP n 1-20%
IFT2245 - Systèmes d exploitation - TP n 1-20% DIRO - Université de Montréal Nicolas Rous et Dorian Gomez Disponible : 14/02/2013 - Remise : 28/03/2013 au début de la démo LISEZ TOUT LE DOCUMENT AVANT
Plus en détailINTRODUCTION A JAVA. Fichier en langage machine Exécutable
INTRODUCTION A JAVA JAVA est un langage orienté-objet pur. Il ressemble beaucoup à C++ au niveau de la syntaxe. En revanche, ces deux langages sont très différents dans leur structure (organisation du
Plus en détailSession 8: Android File System
Session 8: Android File System LO52 - Automne 2014 Fabien BRISSET 2 mai 2014 fabien.brisset@utbm.fr www.utbm.fr Droits de reproduction Copyright 2013-2014, Fabien Brisset, Copyright 2004-2014, Free Electrons
Plus en détailLa Comptabilité UNIX System V Acctcom
Introdution La Comptabilité UNIX System V Acctcom (Groupe GLACE) Hervé Schauer schauer@enst.fr Acctcom est le système de comptabilité (accounting) d Unix System V. Il a été conçu pour permettre une facturation
Plus en détailINITIATION AU LANGAGE C SUR PIC DE MICROSHIP
COURS PROGRAMMATION INITIATION AU LANGAGE C SUR MICROCONTROLEUR PIC page 1 / 7 INITIATION AU LANGAGE C SUR PIC DE MICROSHIP I. Historique du langage C 1972 : naissance du C dans les laboratoires BELL par
Plus en détailGestion des processus
65 La Gestion des Processus 1 Définitions, exemples 2. Politiques d'allocation du processeur 3. Synchronisation des processus 66 Programme : Un programme est une suite figée d'instructions, un ensemble
Plus en détailOutils pour la pratique
Cinquième partie Outils pour la pratique 121 CHAPITRE 1 Les bases des séances de TP Avant de lire cettre section, il est suggéré de relire vos notes de cours se rapportant au système d exploitation Unix.
Plus en détailINTRODUCTION À LA PROGRAMMATION CONCURRENTE
INTRODUCTION À LA PROGRAMMATION CONCURRENTE POLYCOPIÉ DU COURS PCO1 Prof. Claude Evéquoz Prof. Yann Thoma HEIG-VD 2009 Table des matières Table des matières 2 1 Introduction à la programmation concurrente
Plus en détailLe système GNU/Linux IUP NTIC2-1013 - 17/11/05
Capocchi Laurent Doctorant en Informatique capocchi@univ-corse.fr http://spe.univ-corse.fr/capocchiweb Objectifs Comprendre les notions de noyau Linux et des modules. Le système GNU/Linux IUP NTIC2-1013
Plus en détailENSP Strasbourg (Edition 2009-2010) Les Systèmes Temps Réels - Ch. DOIGNON. Chapitre 3. Mise en œuvre : signaux, gestion du temps et multi-activités
Chapitre 3 Mise en œuvre : signaux, gestion du temps et multi-activités 77 GENERALITES SUR LES SIGNAUX Un signal est une information de contrôle (requête) transmise à un processus par un autre processus
Plus en détailChapitre 2. Les processus. 2.1 Introduction. 2.2 les différents états d un processus
Chapitre 2 Les processus 2.1 Introduction Le processus est un concept clé dans un système d exploitation. Un processus est un programme en cours d exécution. C est-à-dire, un programme à l état actif.
Plus en détailCours d Algorithmique-Programmation 2 e partie (IAP2): programmation 24 octobre 2007impérative 1 / 44 et. structures de données simples
Cours d Algorithmique-Programmation 2 e partie (IAP2): programmation impérative et structures de données simples Introduction au langage C Sandrine Blazy - 1ère année 24 octobre 2007 Cours d Algorithmique-Programmation
Plus en détailProgrammation C. Apprendre à développer des programmes simples dans le langage C
Programmation C Apprendre à développer des programmes simples dans le langage C Notes de cours sont disponibles sur http://astro.u-strasbg.fr/scyon/stusm (attention les majuscules sont importantes) Modalités
Plus en détailIntroduction à la programmation concurrente
Introduction à la programmation concurrente Moniteurs Yann Thoma Reconfigurable and Embedded Digital Systems Institute Haute Ecole d Ingénierie et de Gestion du Canton de Vaud This work is licensed under
Plus en détailCours de Systèmes d Exploitation
Licence d informatique Synchronisation et Communication inter-processus Hafid Bourzoufi Université de Valenciennes - ISTV Introduction Les processus concurrents s exécutant dans le système d exploitation
Plus en détailDans le chapitre 1, nous associions aux fichiers ouverts des descripteurs de fichiers par lesquels nous accédions aux fichiers.
I Présentation : Dans le chapitre 1, nous avons vu comment utiliser les appels-systèmes de bas niveau pour créer et accéder à des fichiers sur le disque. Nous avons notamment mis en évidence leur dépouillement
Plus en détailSimulation d un système de paiement par carte bancaire
Simulation d un système de paiement par carte bancaire Mini projet IN301/IN3ST01-2009-2010 Sujet rédigé par Jean Cousty et Laurent Najman, très librement inspiré d un projet de Jérome Gueydan pour l ENSTA
Plus en détailConcept de machine virtuelle
Concept de machine virtuelle Chap. 5: Machine virtuelle Alain Sandoz Semestre été 2007 1 Introduction: Java Virtual Machine Machine Virtuelle Java: qu est-ce que c est? c est la spécification d une machine
Plus en détailUn ordonnanceur stupide
Un ordonnanceur simple Université Paris Sud L objet des exercices qui suivent est de créer un ordonanceur implantant l algorithme du tourniquet ( round-robin scheduler ). La technique utilisée pour élire
Plus en détailIV- Comment fonctionne un ordinateur?
1 IV- Comment fonctionne un ordinateur? L ordinateur est une alliance du hardware (le matériel) et du software (les logiciels). Jusqu à présent, nous avons surtout vu l aspect «matériel», avec les interactions
Plus en détailIntroduction à la Programmation Parallèle: MPI
Introduction à la Programmation Parallèle: MPI Frédéric Gava et Gaétan Hains L.A.C.L Laboratoire d Algorithmique, Complexité et Logique Cours du M2 SSI option PSSR Plan 1 Modèle de programmation 2 3 4
Plus en détailINTRODUCTION AUX SYSTEMES D EXPLOITATION. TD2 Exclusion mutuelle / Sémaphores
INTRODUCTION AUX SYSTEMES D EXPLOITATION TD2 Exclusion mutuelle / Sémaphores Exclusion mutuelle / Sémaphores - 0.1 - S O M M A I R E 1. GENERALITES SUR LES SEMAPHORES... 1 1.1. PRESENTATION... 1 1.2. UN
Plus en détailCours de C. Petits secrets du C & programmation avancée. Sébastien Paumier
Cours de C Petits secrets du C & programmation avancée Sébastien Paumier paumier@univ-mlv.fr Illustrations provenant du site http://tux.crystalxp.net/ 1 Affectations étendues a+=expression a=a+expression
Plus en détailDNS Server RPC Interface buffer overflow. Céline COLLUMEAU Nicolas BODIN
Mémoire DNS Server RPC Interface buffer overflow Céline COLLUMEAU Nicolas BODIN 3 janvier 2009 Table des matières 1 Introduction 2 2 Présentation de la faille 3 3 Exemple d exploitation 5 4 Solutions 10
Plus en détailPremiers Pas en Programmation Objet : les Classes et les Objets
Chapitre 2 Premiers Pas en Programmation Objet : les Classes et les Objets Dans la première partie de ce cours, nous avons appris à manipuler des objets de type simple : entiers, doubles, caractères, booléens.
Plus en détailLier Erlang avec d autres langages de programmation
16 Lier Erlang avec d autres langages de programmation Les logiciels actuels, quelle que soit leur taille, sont souvent écrits dans plusieurs langages de programmation. Généralement, les pilotes de périphériques
Plus en détailServeur d'archivage 2007 Installation et utilisation de la BD exist
Type du document Procédure d'installation Auteur(s) Eric Bouladier Date de création 26/02/20007 Domaine de diffusion tous Validé par Equipe Versions Date Auteur(s) Modifications V1.00 26/02/2007 Eric Bouladier
Plus en détailCommunication Interprocessus
Communication Interprocessus Introduction Segments de données et fichiers communs Les signaux Les tubes de communication d UNIX Tubes anonymes Tubes nommés Les tubes de communication de Windows Tubes anonymes
Plus en détailLes vulnérabilités du noyau. LECORNET Olivier LEGROS Bruno VIGIER Nicolas Promo 2005
Les vulnérabilités du noyau LECORNET Olivier LEGROS Bruno VIGIER Nicolas Promo 2005 27 Septembre 2003 Table des matières 1 Introduction 3 2 Fonctionnement du noyau 4 2.1 Les modes de fonctionnements............................
Plus en détailCours de Programmation Impérative: Zones de mémoires et pointeurs
Cours de Programmation Impérative: Zones de mémoires et pointeurs Julien David A101 - david@lipn.univ-paris13.fr Julien David (A101 - david@lipn.univ-paris13.fr) 1 / 1 Z`o n`e s `d`e m`é m`o i r`e Julien
Plus en détailBrefs rappels sur la pile et le tas (Stack. / Heap) et les pointeurs
Brefs rappels sur la pile et le tas (Stack / Heap) et les pointeurs (exemples en C) v1.11 - Olivier Carles 1 Pile et Tas Mémoire allouée de manière statique Mémoire Allouée Dynamiquement variables locales
Plus en détailAlgorithmique et Programmation, IMA
Algorithmique et Programmation, IMA Cours 2 : C Premier Niveau / Algorithmique Université Lille 1 - Polytech Lille Notations, identificateurs Variables et Types de base Expressions Constantes Instructions
Plus en détailÉléments d informatique Cours 3 La programmation structurée en langage C L instruction de contrôle if
Éléments d informatique Cours 3 La programmation structurée en langage C L instruction de contrôle if Pierre Boudes 28 septembre 2011 This work is licensed under the Creative Commons Attribution-NonCommercial-ShareAlike
Plus en détailas Architecture des Systèmes d Information
Plan Plan Programmation - Introduction - Nicolas Malandain March 14, 2005 Introduction à Java 1 Introduction Présentation Caractéristiques Le langage Java 2 Types et Variables Types simples Types complexes
Plus en détailLe langage C. Séance n 4
Université Paris-Sud 11 Institut de Formation des Ingénieurs Remise à niveau INFORMATIQUE Année 2007-2008 Travaux pratiques d informatique Le langage C Séance n 4 But : Vous devez maîtriser à la fin de
Plus en détailLe Langage C Version 1.2 c 2002 Florence HENRY Observatoire de Paris Université de Versailles florence.henry@obspm.fr
Le Langage C Version 1.2 c 2002 Florence HENRY Observatoire de Paris Université de Versailles florence.henry@obspm.fr Table des matières 1 Les bases 3 2 Variables et constantes 5 3 Quelques fonctions indispensables
Plus en détailProgrammation Réseau SSH et TLS (aka SSL)
Programmation Réseau SSH et TLS (aka SSL) Jean-Baptiste.Yunes@liafa.jussieu.fr Coloriages: François Armand armand@informatique.univ-paris-diderot.fr UFR Informatique 2011-2012 Réseau et Sécurité Problèmes
Plus en détailRéalisation d un portail captif d accès authentifié à Internet 10.10.10.1
Master 1 ère année UE Réseaux avancés I Projet Réalisation d un portail captif d accès authentifié à Internet Présentation du projet Le but du projet est de mettre en place un portail captif permettant
Plus en détailManuel d'installation
CyberMUT P@iement P@iement CIC P@iement OBC SERVICE SECURISE DE PAIEMENT INTERNET PAR CARTE BANCAIRE (Sécurisé par le protocole SSL) Manuel d'installation (Document 2/2) EURO Sp.Tech. 1.2.8 Octobre 2001
Plus en détailINFO-F-404 : Techniques avancées de systèmes d exploitation
Nikita Veshchikov e-mail : nikita.veshchikov@ulb.ac.be téléphone : 02/650.58.56 bureau : 2N8.213 URL : http://student.ulb.ac.be/~nveshchi/ INFO-F-404 : Techniques avancées de systèmes d exploitation Table
Plus en détailTP réseaux 4 : Installation et configuration d'un serveur Web Apache
TP réseaux 4 : Installation et configuration d'un serveur Web Apache Objectifs Installer, configurer, lancer et administrer le serveur Web Apache sous Linux Données de base machine fonctionnant sous Linux
Plus en détailImprimantes et partage réseau sous Samba avec authentification Active Directory
Imprimantes et partage réseau sous Samba avec authentification Active Directory Sommaire 1- Pré requis Page 2 2- Configuration réseau Page 3 3- Installation de samba Page 4 à 5 4- Installation de kerberos
Plus en détailInitiation à la sécurité
Initiation à la sécurité UE Systèmes informatiques 12 septembre 2011 Julien Raeis - http://raeis.iiens.net/ Présentation Ingénieur IIE 2005 Carrière dans la sécurité des systèmes Consultant en sécurité
Plus en détailDE L ALGORITHME AU PROGRAMME INTRO AU LANGAGE C 51
DE L ALGORITHME AU PROGRAMME INTRO AU LANGAGE C 51 PLAN DU COURS Introduction au langage C Notions de compilation Variables, types, constantes, tableaux, opérateurs Entrées sorties de base Structures de
Plus en détailServeur Linux : FTP. Mise en place d un service FTP sous Linux. Bouron Dimitri 20/04/2014
Mise en place d un service FTP sous Linux Bouron Dimitri 20/04/2014 Ce document sert de démonstration concise pour l installation, la configuration, la sécurisation, d un serveur FTP sous Linux utilisant
Plus en détailJ2SE Threads, 1ère partie Principe Cycle de vie Création Synchronisation
J2SE Threads, 1ère partie Principe Cycle de vie Création Synchronisation Cycle Ingénierie 2e année SIGL Dernière mise à jour : 19/10/2006 Christophe Porteneuve Threads Principes Cycle de vie Création java.lang.thread
Plus en détailInfo0101 Intro. à l'algorithmique et à la programmation. Cours 3. Le langage Java
Info0101 Intro. à l'algorithmique et à la programmation Cours 3 Le langage Java Pierre Delisle, Cyril Rabat et Christophe Jaillet Université de Reims Champagne-Ardenne Département de Mathématiques et Informatique
Plus en détail1 Lecture de fichiers
Programmation 1 Cours n 6 GB3, 2 nd semestre 2014-2015 Cours de Python Gilles Bernot 1 Lecture de fichiers Un fichier est une suite de caractères mémorisés sur le disque dur de la machine dans un endroit
Plus en détailINITIATION AU LANGAGE JAVA
INITIATION AU LANGAGE JAVA I. Présentation 1.1 Historique : Au début des années 90, Sun travaillait sur un projet visant à concevoir des logiciels simples et performants exécutés dans des PDA (Personnal
Plus en détailProjet de programmation (IK3) : TP n 1 Correction
Projet de programmation (IK3) : TP n 1 Correction Semaine du 20 septembre 2010 1 Entrées/sorties, types de bases et structures de contrôle Tests et types de bases Tests et types de bases (entiers) public
Plus en détailGESTION DES FICHIERS C/UNIX
Licence IG Page 1 sur 6 GESTION DES FICHIERS C/UNIX Introduction Deux modes d appel - Par la bibliothèque standard C (appel de haut niveau) - Par appels système (bas niveau) Nécessite les includes suivant
Plus en détailCompilation (INF 564)
Présentation du cours Le processeur MIPS Programmation du MIPS 1 Compilation (INF 564) Introduction & architecture MIPS François Pottier 10 décembre 2014 Présentation du cours Le processeur MIPS Programmation
Plus en détailIN 102 - Cours 1. 1 Informatique, calculateurs. 2 Un premier programme en C
IN 102 - Cours 1 Qu on le veuille ou non, les systèmes informatisés sont désormais omniprésents. Même si ne vous destinez pas à l informatique, vous avez de très grandes chances d y être confrontés en
Plus en détailMon premier rpm. http://alexandre-mesle.com 7 juin 2010. 1 Avant de commencer 2 1.1 RPM... 2 1.2 URPMI... 2 1.3 RPMBUILD... 2
Mon premier rpm http://alexandre-mesle.com 7 juin 2010 Table des matières 1 Avant de commencer 2 1.1 RPM....................................................... 2 1.2 URPMI.....................................................
Plus en détailChapitre I Notions de base et outils de travail
Chapitre I Notions de base et outils de travail Objectifs Connaître les principes fondateurs et l historique du langage Java S informer des principales caractéristiques du langage Java Connaître l environnement
Plus en détailProgramme Compte bancaire (code)
using System; using System.Collections.Generic; using System.Linq; using System.Text; using System.Threading.Tasks; Programme Compte bancaire (code) namespace compte_bancaire /// Classe Program public
Plus en détailCours 14 Les fichiers
Cours 14 Les fichiers F. Gayral 1 Fichier : définition /media/travaux/documents/fgenseignement/java1/courstpsfgfc/14-fichiers/voirtypefichiers Fichier = ensemble d informations codées et stockées sur une
Plus en détailJADE : Java Agent DEvelopment framework. Laboratoire IBISC & Départ. GEII Université & IUT d Evry nadia.abchiche@ibisc.univ-evry.
: Java Agent DEvelopment framework Laboratoire IBISC & Départ. GEII Université & IUT d Evry nadia.abchiche@ibisc.univ-evry.fr Introduction à la plateforme JADE 1) Modèle d agent 2) Services 3) Norme FIPA
Plus en détailTraitement de données
Traitement de données Présentation du module TINI Présentation du module : Le module Tini se décline en plusieurs versions, il est constitué d une carte d application et d un module processeur : Les modules
Plus en détailModules du DUT Informatique proposés pour des DCCE en 2014/2015
Modules du DUT Informatique proposés pour des DCCE en 2014/2015 Résumé de l offre : Parmi les 5500 heures d enseignement informatique dispensées au département informatique de l IUT (avec 2880 heures de
Plus en détail1 Mesure de la performance d un système temps réel : la gigue
TP TR ENSPS et MSTER 1 Travaux Pratiques Systèmes temps réel et embarqués ENSPS ISV et Master TP1 - Ordonnancement et communication inter-processus (IPC) Environnement de travail Un ordinateur dual-core
Plus en détailSRS DAY: Problématique liée à la virtualisation
SRS DAY: Problématique liée à la virtualisation Anthony GUDUSZEIT Franck CURO gudusz_a curo_f Introduction Sommaire Définition Contexte Avantages / inconvénients Fonctionnement et problématique Techniques
Plus en détail