18
100 Introduction aux systèmes d’exploitation INF3173 Principes des systèmes d’exploitation Jean Privat Université du Québec à Montréal Hiver 2021 Jean Privat (UQAM) 100 Introduction aux systèmes d’exploitation INF3173 Hiver 2021 1 / 18

100 Introduction aux systèmes d’exploitation

  • Upload
    others

  • View
    12

  • Download
    0

Embed Size (px)

Citation preview

Page 1: 100 Introduction aux systèmes d’exploitation

100 Introduction aux systèmes d’exploitationINF3173

Principes des systèmes d’exploitation

Jean Privat

Université du Québec à Montréal

Hiver 2021

Jean Privat (UQAM) 100 Introduction aux systèmes d’exploitation INF3173 Hiver 2021 1 / 18

Page 2: 100 Introduction aux systèmes d’exploitation

Plan

1 Préalables (et contexte)

2 Objectif du cours

Jean Privat (UQAM) 100 Introduction aux systèmes d’exploitation INF3173 Hiver 2021 2 / 18

Page 3: 100 Introduction aux systèmes d’exploitation

Préalables (et contexte)

Jean Privat (UQAM) 100 Introduction aux systèmes d’exploitation INF3173 Hiver 2021 3 / 18

Page 4: 100 Introduction aux systèmes d’exploitation

Ce qui est attendu des préalablesINF1070 Utilisation des systèmes informatiques

• Environnement Unix et shell• Systèmes de fichiers (types, droits, etc.)• Commandes, programmes et processus (redirection, tubes, etc.)• man et RTFM

INF2171 Organisation des ordinateurs et assembleur• CPU: Instruction, exécution, registres• Mémoire: code machine, données, pile, tas, adressages,

représentation de l’information

INF3135 Construction et maintenance de logiciels• Programmation C: pointeurs, allocation, bibliothèques• Qualité logicielle: exactitude, robustesse

Jean Privat (UQAM) 100 Introduction aux systèmes d’exploitation INF3173 Hiver 2021 4 / 18

Page 5: 100 Introduction aux systèmes d’exploitation

INF1070 en très vite

Système de fichiers• Fichier = forme libre de données stockées• Indépendance au matériel et extensible• Arborescence : chemins relatifs et absolus• Sécurité : utilisateurs et droits• cd, ls, cat, >, rm, grep, etc.

Commandes et processus• Processus = programme en cours d’exécution• PID, PPID, utilisateur, etc.• Utilise mémoire et processeur (entre autres)• sh, ps, kill, |, &, uptime, free, PATH, etc.

Jean Privat (UQAM) 100 Introduction aux systèmes d’exploitation INF3173 Hiver 2021 5 / 18

Page 6: 100 Introduction aux systèmes d’exploitation

UNIX et Linux

Jean Privat (UQAM) 100 Introduction aux systèmes d’exploitation INF3173 Hiver 2021 6 / 18

Page 7: 100 Introduction aux systèmes d’exploitation

INF2171 en très viteCPU - Unité centrale de traitement

• Unité de contrôle + unité arithmétique et logique• Exécute des instructions jusqu’à l’arrêt de l’ordinateur• N’est qu’une machine

→ Ne sait pas ce qu’est un SE, un programme ou un utilisateur

Registres (dans le CPU)Généraux (pour les calculs) et spéciaux, dont :

• Compteur ordinal (PC, program counter)• Pointeur de pile (SP, stack pointer)• Mot d’état (flags d’états et de contrôle)

Mémoire volatile (RAM)• Grand tableau d’octets adressables• Contient code machine et données

Jean Privat (UQAM) 100 Introduction aux systèmes d’exploitation INF3173 Hiver 2021 7 / 18

Page 8: 100 Introduction aux systèmes d’exploitation

Architecture à la von Neumann

Moniteur Clavier Disque dur

CPU Mémoire Controleurvidéo

Controleurclavier

Controleurdisque

Bus

Jean Privat (UQAM) 100 Introduction aux systèmes d’exploitation INF3173 Hiver 2021 8 / 18

Page 9: 100 Introduction aux systèmes d’exploitation

INF3135 en très vite

Le logiciel c’est difficile• Représentation des données, gestion de la mémoire, pointeurs,

etc.• Performance processeur, disque, réseau, énergie, etc.• Débogage, portabilité, qualité logicielle, etc.

→ Produire le bon code de la bonne façon, c’est difficile

Le logiciel c’est complexe• Utilisation de bibliothèques• Processus de compilation

Jean Privat (UQAM) 100 Introduction aux systèmes d’exploitation INF3173 Hiver 2021 9 / 18

Page 10: 100 Introduction aux systèmes d’exploitation

Objectif du cours

Jean Privat (UQAM) 100 Introduction aux systèmes d’exploitation INF3173 Hiver 2021 10 / 18

Page 11: 100 Introduction aux systèmes d’exploitation

Combiner les mondes

INF1070INF3135

???

INF2171

INF1070 : Des processus et utilisateurs• Cohabitent pacifiquement• Sur un même ordinateur

INF3135 : Des logiciels• Complexes• De qualité variable

INF2171 : Des ordinateurs et CPU• Conceptuellement simples

Comment c’est possible que tout fonctionne ensemble ?

Jean Privat (UQAM) 100 Introduction aux systèmes d’exploitation INF3173 Hiver 2021 11 / 18

Page 12: 100 Introduction aux systèmes d’exploitation

Exemples

Partage des ressources• Plusieurs programmes s’exécutent en même temps• Mais doivent se partager les ressources matérielles• CPU, mémoire, fichiers, etc.

Isolation des processus• Les bogues des programmes existent• Mais affectent rarement les autres programmes directement• Qui s’exécutent pourtant sur le même ordinateur

Sécurité des données• Les utilisateurs malveillants (ou incompétents) existent• Mais ne peuvent pas lire ou corrompre les données des autres• Sauf avec un tournevis et un marteau

Jean Privat (UQAM) 100 Introduction aux systèmes d’exploitation INF3173 Hiver 2021 12 / 18

Page 13: 100 Introduction aux systèmes d’exploitation

Objectifs du cours

• À quoi sert un SE• Comprendre comment fonctionne un SE• Savoir utiliser les services offerts par les SE

Jean Privat (UQAM) 100 Introduction aux systèmes d’exploitation INF3173 Hiver 2021 13 / 18

Page 14: 100 Introduction aux systèmes d’exploitation

Beaucoup de rôles

Dans le cadre du cours, on va voir• Gestion des processus et leur communication• Gestion des fichiers et de l’espace disque• Gestion de la mémoire• Gestion des périphériques (entrées-sorties)

Attention• Les rôles sont inter-reliés• Le découpage des rôles est assez arbitraire

Jean Privat (UQAM) 100 Introduction aux systèmes d’exploitation INF3173 Hiver 2021 14 / 18

Page 15: 100 Introduction aux systèmes d’exploitation

Beaucoup de points de vue

Utilisateur• Humain (de base)• Administrateur système

Développeur d’applications• La plupart d’entre-vous

Développeur de systèmes d’exploitation• Se mettre dans ses souliers peut aider à mieux comprendre

Constructeur de matériel• On le prendra moins en compte

Jean Privat (UQAM) 100 Introduction aux systèmes d’exploitation INF3173 Hiver 2021 15 / 18

Page 16: 100 Introduction aux systèmes d’exploitation

Beaucoup de niveauxOn raisonnera souvent à trois niveaux différentsAttention à pas les mélanger !Niveau général

• Problèmes conceptuels et solutions générales• Problèmes fréquents et solutions habituelles

Niveau Unix et POSIX• Le mode Unix et sa philosophie• Normes, appels système et API• Avantage : répandu, (relativement) portable et documenté

Niveau Linux• Le projet Linux (et son écosystème)• Détails d’implémentation et de services spécifiques• Avantage : versatile, libre, gratuit, ouvert, étudiable

Jean Privat (UQAM) 100 Introduction aux systèmes d’exploitation INF3173 Hiver 2021 16 / 18

Page 17: 100 Introduction aux systèmes d’exploitation

Beaucoup d’histoire

Longue historiqueLes systèmes d’exploitation existent depuis les années 1960En 2020 les choses importantes ne sont pas exactement les mêmesqu’en 2010, 2000, 1980 ou 1960

Évolution des SE• Monotâche → Multiprogrammation → Multitâche →

Multiutilisateurs → Virtualisation et infonuagique

Difficulté• La gomme a été mâchée par beaucoup de monde• Le vocabulaire et les concepts sont parfois spécifiques

Jean Privat (UQAM) 100 Introduction aux systèmes d’exploitation INF3173 Hiver 2021 17 / 18

Page 18: 100 Introduction aux systèmes d’exploitation

Beaucoup de spécialitésDifficultés autour des SE: plusieurs spécialitésArchitecture matérielle

• Organisation matérielle des ordinateurs• Elle est complexe et évolue chaque année

Programmation bas niveau• À l’interne (dans le système lui-même)• Dans les API offertes aux programmes

Algorithmique• Recherche d’efficacité• Taille croissante des systèmes

→ impose l’utilisation d’algorithmes sophistiqués

Dans le cadre du cours on essaiera d’éviter ces difficultésJean Privat (UQAM) 100 Introduction aux systèmes d’exploitation INF3173 Hiver 2021 18 / 18