Informatique de Base Introduction aux Systèmes d'Exploitation Pierre Manneback Service d ’Informatique Faculté Polytechnique de Mons Pierre.Manneback@fpms.ac.be http://elearning.fpms.ac.be (info) OS 2003-04, FPMs, Ch. 1
Chapitre 1 Concepts de base des O.S. 1.1. Qu'est-ce un O.S. ? 1.2. Histoire des O.S. 1.3. La jungle des O.S. 1.4. Composantes des O.S. 1.5. Les appels-systèmes OS 2003-04, FPMs, Ch. 1
1.1. Qu'est-ce qu'un O.S. ? C'est la couche logicielle indispensable entre le hardware et les programmes applicatifs C'est une machine étendue Présentation à l'utilisateur d'une machine virtuelle Masquage de la complexité technique C'est un gestionnaire de ressources Allocation équitable du temps (CPU) et de l'espace (mémoire) entre les différents processus Allocation équitable des autres ressources périphériques OS 2003-04, FPMs, Ch. 1
L’O.S. est plus qu’une interface Beaucoup d’utilisateurs ne voient que l’interface (shell) Intégration de plus en plus forte actuellement entre les services (cfr Windows/Internet) Hardware Operating System Libraries Utilities Interface OS 2003-04, FPMs, Ch. 1
Objectifs de l’O.S. Utilisation efficace des ressources Eviter les bouchons (bottlenecks) et les temps d’attente Partage “optimal” du CPU, mémoire, I/O Facilité d’utilisation Le client est roi Disponibilité, fiabilité, sécurité les systèmes informatiques sont le cerveau de nombreuses entreprises A failed system can mean a failed company... OS 2003-04, FPMs, Ch. 1
vue abstraite d'un système informatique Un système informatique est composé de: hardware programmes systèmes programmes d'applications OS 2003-04, FPMs, Ch. 1
1.2. Historique des OS OS 2003-04, FPMs, Ch. 1
Première génération OS 1945 - 1955 Systèmes batch (par lots) simples mono-tâche et séquentiel (héritier: DOS) Compute Read Print Compute Read Print Gaspillage d ’utilisation CPU ! OS 2003-04, FPMs, Ch. 1
Seconde génération OS 1955 - 1965 Systèmes batch avec spooling (Simultaneous Peripheral Operations On-Line) lecture et écriture mieux, mais problème des longs jobs Compute Read Print Compute Read Print Compute Read Print OS 2003-04, FPMs, Ch. 1
Troisième génération OS 1965–1980 Introduction des concepts de temps partagé et d’interactivité avec les utilisateurs (premiers terminaux texte tty) systèmes multi-tâches, multi-utilisateurs nécessité d’un ordonnanceur et de gestion de processus (priorités, tranches de temps) les premiers O.S. modernes, propriétaires (IBM, Dec,…) ou de domaine public (Unix) vers une gestion moins gaspilleuse des ressources 4.Timesharing systems -- early systems were add ons to batch. in some cases ran as batch jobs (limited resource management) poor performance (65\% was good) (CPU time/interaction very small) little ability for users to share programs or data Relate performance to percentage using analogy of a highway. 100km of cars go by in an hour theoretically 20,000 5m cars 1800 cars if following at 10 car lengths = 9% OS 2003-04, FPMs, Ch. 1
Base de la multiprogrammation Plusieurs jobs sont résidents en mémoire. Nécessité d’un ordonnanceur pour sélectionner le job suivant devant s’exécuter OS 2003-04, FPMs, Ch. 1
Quatrième génération 1980 – ... Les premiers PCs: retour en arrière au niveau des O.S. (mono-tâche, mono-user)! Les premiers réseaux: intégration des protocoles de communication dans les O.S. L’avènement réel de l’informatique moderne internet a 30 ans! Unix aussi! C également! 6. Personal Computers and Workstations redesign opportunity, simplification single user (single/multiple task) protection -- system from user, v. errors Most were over simplified -- rush to get into production old processor architecture single task dubious protection Now seeing sophisticated systems such as Sun, HP UNIX workstations, Windows NT. OS 2003-04, FPMs, Ch. 1
Quatrième génération 1980 – ... “The system is the network.” (Sun Microsystems) Multi-utilisateurs, Multi-tâches, Multi-processeurs, Multi-ordinateurs (systèmes distribués) 7.Network or Distributed Systems Communication Shared programs/data Single file system Universal interfaces Increased complexity How many operating systems can the class name - contest in groups. OS 2003-04, FPMs, Ch. 1
Résumé de l’histoire de l’informatique OS 2003-04, FPMs, Ch. 1
1.3. La jungle des O.S. Mainframe operating systems Server operating systems Multiprocessor operating systems Personal computer operating systems Real-time operating systems (O.S. temps-réel) Embedded operating systems (O.S. embarqués) Smart card operating systems (O.S. pour cartes à puces) OS 2003-04, FPMs, Ch. 1
Systèmes parallèles Plusieurs CPU coopérant en topologie rapprochée (cartes multiprocesseurs, clusters) À mémoire partagée, distribuée, ou distribuée et virtuellement partagée. Pourquoi ? Coût/Performance Fiabilité/Tolérance aux pannes/Qualité de Service OS 2003-04, FPMs, Ch. 1
Systèmes distribués L’application est répartie sur plusieurs ordinateurs (loosely coupled). Avantages Partage de ressources adaptation application/architecture Nouveau concept : Cluster & Grid computing (voir http://www.top500.org) OS 2003-04, FPMs, Ch. 1
Systèmes temps-réel Contraintes de temps strictes Souvent utilisés pour des applications dédicacées de contrôle (industrie, domaine médical, scientifique,…) Hard real-time system Nécessite un O.S.+hardware adapté Soft real-time system Nécessite un paramètrage de l’O.S. (ordonnanceur spécialisé) OS 2003-04, FPMs, Ch. 1
Systèmes mobiles (embarqués ou spécialisés) de l'informatique dans toutes les machines: cartes à puce, machines à laver, notebook, agenda électroniques, GSM,... nécessité d'un O.S. standard, miniature et adapté pour les programmer : Windows CE, adaptation de Linux, PalmOS,... OS 2003-04, FPMs, Ch. 1
1.4. Composantes des O.S. Gestion des processus Gestion de la mémoire Gestion des fichiers Gestion des I/O et périphériques Administration et sécurité Réseau Services utilisateurs (interface, audit, monitoring…) OS 2003-04, FPMs, Ch. 1
Gestion des processus Un processus est un programme en cours d’exécution il occupe des ressources (mémoire, fichiers ouverts, CPU,..) il a un contexte d’exécution (état) Les fonctions indispensables sont: Création et terminaison Allocation des ressources Synchronisation et communication Administration Processes and threads are the principal components of work, i.e. a thread executes. A process consists of memory, open files and a current state (program counter, registers, etc.) A process consists of several threads that share the memory files, etc., but have their own execution state. General functions are create/delete or allocate/deallocate processes/threads suspend/resume thread support synchronisation and ipc manage OS 2003-04, FPMs, Ch. 1
l'arbre des processus A a créé 2 processus fils, B et C B a créé 3 processus fils, D, E et F OS 2003-04, FPMs, Ch. 1
Gestion des processus: gare aux deadlocks! (a) Un deadlock potentiel (b) un deadlock réel OS 2003-04, FPMs, Ch. 1
Gestion de la mémoire Partage équitable de la mémoire entre processus Gestion d’une mémoire virtuelle (swap) Protection des accès Récupération des blocs devenus libres (garbage collection) The problems here can vary substantially from a small PC to a larger system (virtual memory v. none) and hardware support. A major function of modern memory systems is to delay binding of addresses as long as possible. manage memory - in use, free, clean/dirty allocate memory to processes While memory has become much cheaper and more plentiful the speed gap between primary and secondary has also increased. OS 2003-04, FPMs, Ch. 1
Gestion de la mémoire secondaire L'O.S. doit gérer efficacement: l'allocation/désallocation de l'espace disque les accès (lents) aux disques les transferts mémoire-vive/mémoire secondaire OS 2003-04, FPMs, Ch. 1
create, delete, open, close Gestion des fichiers Administration des fichiers création/effacement/copiage fichiers/répertoires modification des propriétés d’un fichier Correspondance fichier/stockage physique Backup et archivage create, delete, open, close read, write, seek get or set attributes To users this is very important. As we'll see different systems give quite different capabilities. create/delete files/directories manipulate file/directory attributes mapping to storage backup and archiving Increasingly systems are concerned with resilency to disk crashes and maintaining the consistency of multiple copies of files. A minimal set of operations - create, delete, open, close, read, write, seek, and get or set attributes. The same sort of thing for I/O devices, memory allocation, information services, etc. OS 2003-04, FPMs, Ch. 1
L'arbre des fichiers . OS 2003-04, FPMs, Ch. 1
L'arbre des fichiers Before mounting, After mounting floppy on b, Les fichiers sur "Floppy" sont inacessibles After mounting floppy on b, les fichiers sur "floppy" font partie de l'arbre des fichiers OS 2003-04, FPMs, Ch. 1
Gestion des I/O Assurer un niveau d’abstraction: cacher les particularités des systèmes Composantes principales Gestion de buffering, caching et spooling Drivers OS 2003-04, FPMs, Ch. 1
Administration et sécurité Gestion des comptes utilisateurs quotas, compatibilité, droits d’accès Audit du système Démarrage (boot) et redémarrage en cas de panne Lutte conte le piratage Les fonctions réseaux jouent un rôle majeur aujourd’hui (accès distants au CPU et aux périphériques) Really needs to be integrated with all other subsystems, but has some functions of its own: authentication encryption Granularity of both the object protected and the type of protection has important implications. OS 2003-04, FPMs, Ch. 1
Administration réseau Lié de plus en plus à l’O.S. 4 types de systèmes Stand alone (en voie d'extinction) Multiprocesseurs Clusters (LAN) Distribué (WAN) 2 modèles de communication par passage de message Mémoire (virtuellement) partagée Networking is increasingly a part of the system, e.g. inter-machine ipc is transparent. We can look at (at least) four different types of systems: stand alone multi-processor -- shared clock, uniform access memory networked -- no shared clock, NUMA distributed Two communication models -- messaging passing and shared memory. OS 2003-04, FPMs, Ch. 1
Services utilisateurs Interface (conviviale) shell GUI (Graphic User Interface) scripting (langages de commande) Comptabilité, administration Sécurité, Audit L’utilisateur veut un O.S. simple d'emploi, efficace, fiable (cfr évolution de l’automobile) OS 2003-04, FPMs, Ch. 1
Structure d’O.S. type - UNIX USERS shells and commands compilers and interpreters system libraries signals terminal handling character I/O system terminal drivers file system swapping block I/O system disk and tape drivers CPU scheduling page replacement demand paging virtual memory system call interface to kernel kernel interface to the hardware interface N O Y A U terminal controllers terminals device controllers disks and tapes memory controllers physical memory HARDWARE OS 2003-04, FPMs, Ch. 1
1.5. Les appels-systèmes Les appels-systèmes permettent aux applications d'utiliser les ressources systèmes (gestion des processus, fichiers, mémoire I/O). Ils font basculer l'application de l'exécution en mode utilisateur à l'exécution en mode "kernel" (noyau) Ils déclenchent pour cela une interruption du cours normal de l'exécution ver sun traitement (handler) en mode noyau. OS 2003-04, FPMs, Ch. 1
Quelques appels-système POSIX pour la gestion des processus OS 2003-04, FPMs, Ch. 1
Quelques appels-système POSIX pour la gestion des fichiers OS 2003-04, FPMs, Ch. 1
Correspondance Appels-système Posix-Win32 OS 2003-04, FPMs, Ch. 1