Exercices de programmation objet

Chaque méthode définie devra être accompagnée de sa spécification.

Manipulation de points

On considère la classe nommée Point ayant les attributs suivants :

  • __abs : attribut privé de type float pour représenter l’abscisse du point ;
  • __ord : attribut privé de type float pour représenter l’ordonnée du point.
  1. Définir la class Point et le constructeur __init__ permettant d’initialiser les deux attributs.

L’encapsulation est un concept fondamental de la conception objet. L’idée est de ne pas laisser accessibles les attributs depuis l’extérieur de la classe/objet ; les attributs sont alors dits privés (ou protégés si l’accès est nécessaire dans une sous-classe).

[Lire]

Gestion des processus et des ressources

L’objectif de ce document est d’essayer de faire comprendre les idées mises en œuvre lors de l’écriture des système d’exploitation afin qu’un nombre de programmes plus important que le nombre de processeurs puisse fonctionner « simultanément ».

L’ordonnanceur

Rappel sur l’exécution d’un programme

  • Un programme est un fichier contenant une suite d’instructions écrites en langage machine. C’est une suite d’octets que le processeur est capable de décoder et d’exécuter.

    [Lire]

Système d'exploitation : Principes généraux

Introduction

  1. À l’aide d’un éditeur de texte, écrire le programme Python suivant :
1
2
3
4
5
6
from os.path import getsize
from tkinter.filedialog import askopenfilename

fichier = askopenfilename()
if fichier:
    print("Fichier a pour taille {} octets".format(str(getsize(fichier))))
  1. Exécuter le programme.

  2. À l’aide de la fonction help préciser le rôle des fonctions getsize du module os et askopenfilename du module tkinter.filedialog.


Réponse
  • askopenfilename du module tkinter.filedialog crée une boite de dialogue permettant de sélectionner un fichier.
    Plus précisément, cette fonction retourne une chaîne de caractères contenant le chemin du fichier à ouvrir.
    La chaîne de caractères est vide si aucun fichier n’est sélectionné.
  • getsize du module os retourne la taille en octets du fichier passé en argument.

Ce petit programme permet d’illustrer les différentes fonctionnalités d’un système d’exploitation. Nous allons les découvrir à travers quelques questions.

[Lire]

Le routage entre réseaux IP

Routeurs et objectif du routage ?

La responsabilité d’un protocole de routage est de fournir l’information nécessaire pour effectuer un routage, c’est-à-dire la détermination d’un chemin entre une machine émettrice et une machine réceptrice, toutes deux identifiées par leur adresse IP sur des sous-réseaux différents.
Un routeur est un ordinateur possédant au moins deux interfaces réseaux situées sur des sous-réseaux IP différents.
Il faut être capable de distinguer une carte réseau d’une interface réseau.
Une carte réseau est un objet physique possédant une adresse MAC. On peut « attacher » à une carte réseau une ou plusieurs interfaces réseaux, objets virtuels, possédant toutes des adresses IP différentes.
La plupart du temps, cependant, on n’attache qu’une seule interface à chaque carte réseau.
  • Tous les systèmes d’exploitation, pour des raisons de fonctionnement interne qui ne seront pas développées ici, définissent une interface dite de bouclage (loopback) dont l’adresse est 127.0.0.1.
  1. Lancer un terminal.
  2. Entrer la commande ipconfig /all sous Windows ou ifconfig sous Linux ou OSX. Vérifier que l’interface de loopback est bien définie.
  3. Tapper la commande ping 127.0.0.1 et vérifier que l’interface est bien active.
  • Dans les faits, pour des raisons de performances, dire qu’un routeur possède plusieurs interfaces réseaux est équivalent à dire que le routeur possèdent plusieurs cartes réseaux.

    [Lire]

Système de fichiers

Linux est un logiciel libre

Un logiciel est dit libre si son code est couvert par une licence autorisant :

  • l’utilisation du logiciel ;
  • l’accès public au code source ;
  • la modification et la redistribution publique de ces modifications.

Introduction

Il est possible de commander les systèmes d’exploitation de la famille UniX et leurs dérivés (tels OS X et Linux) grâce à un logiciel appelé shell, en ligne de commandes. À l’ère de l’interface graphique et des écrans tactiles, on peut se demander pourquoi continuer à taper des commandes, processus qui semble beaucoup plus long et nécessite un apprentissage préalable. En fait, une fois les commandes maîtrisées, utiliser la ligne de commande s’avère beaucoup plus efficace pour réaliser des tâches non élémentaires.

[Lire]

Les systèmes d'exploitation

Toute machine est dotée d’un système d’exploitation qui a pour fonction de charger les programmes depuis la mémoire de masse et de lancer leur exécution en leur créant des processus, de gérer l’ensemble des ressources, de traiter les interruptions ainsi que les entrées-sorties et enfin d’assurer la sécurité globale du système.

Au programme de la classe de première

Contenus Capacités attendues Commentaire
Systèmes d’exploitation - Identifier les fonctions d’un système d’exploitation.
- Utiliser les commandes de base en ligne de commande.
- Gérer les droits et permissions d’accès aux fichiers.
- Les différences entre systèmes d’exploitation libres et propriétaires sont évoquées.
- Les élèves utilisent un système d’exploitation libre.
- Il ne s’agit pas d’une étude théorique des systèmes d’exploitation.

Au programme de la classe de terminale

Contenus Capacités attendues Commentaire
Composants intégrés d’un système sur puce. Identifier les principaux composants sur un schéma de circuit et les avantages de leur intégration en termes de vitesse et de consommation. Le circuit d’un téléphone peut être pris comme un exemple : microprocesseurs, mémoires locales, interfaces radio et filaires, gestion d’énergie, contrôleurs vidéo, accélérateur graphique, réseaux sur puce, etc.
Gestion des processus et des ressources par un système d’exploitation. - Décrire la création d’un processus, l’ordonnancement de plusieurs processus par le système.
- Mettre en évidence le risque de l’interblocage (deadlock).
- À l’aide d’outils standard, il s’agit d’observer les processus actifs ou en attente sur une machine.
- Une présentation débranchée de l’interblocage peut être proposée.

Documents

Simulation de réseaux

L’objectif de cette séance est de mettre en pratique les concepts rappelés lors des séances précédentes et d’introduire la notion de routage.

  • Télécharger le logiciel Filius

  • Attention : Choisir la langue lors de la première ouverture du logiciel. En cas d’erreur, supprimer le dossier .filius contenant les paramètres de langues se trouvant dans C:\Users\nom d’utilisateur sur le réseau\AppData\Local\.filius (sous windows).

Construction d’un réseau local

  1. En mode conception, créer le réseau local suivant :

    [Lire]

Analyse du protocole de transport TCP

Cette séance nécessite l’utilisation du logiciel libre Wireshark. Des versions pour Windows (il existe même une version portable qui n’a pas besoin d’être installée), OS X et Linux sont téléchargeables à cette adresse : https://www.wireshark.org

  1. Rechercher pour quelles actions les protocoles http, pop3, ftp, telnet, ssh et dns sont utilisés.

  2. Ces protocoles s’appuient-ils sur le protocole TCP ou le protocole UDP au niveau de la couche transport du modèle OSI.

    [Lire]

Adressage IPv4

  1. L’adresse IPv4 d’un réseau est 192.168.56.0/24. Combien de bits sont-ils dédiés à la partie réseau ? Combien de machines peut-on incorporer à ce réseau ?

Réponse

24 bits sont réservés au réseau dans l’adresse. Une adresse IPv4 étant composée de 32 bits, il reste 8 bits pour l’adressage des machines dans ce réseau. Avec ces 8 bits on peut créer $2^8 = 256$ adresses différentes, pour $2^8 - 2 = 254$ ordinateurs.

[Lire]

Modélisation des réseaux

Vocabulaire

  • Réseau : ensemble d’équipements interconnectés (liaisons mais aussi protocoles).

  • Un internet : réseau informatique dont le protocole de routage/adressage est IP (Internet Protocol).

  • L’Internet : réseau des réseaux —plus grand réseau internet

    • Tous les réseaux internet ne font pas partie de l’Internet.
    • Le WEB (World Wide Web) est seulement une composante de l’Internet.

Structure d’un internet

Pour transmettre des données d’un équipement vers un autre, il faut envoyer un signal sur un support de communication. Il est cependant impossible de relier directement entre eux tous les équipements qui souhaiteraient interagir, surtout dans le cadre d’un réseau mondialisé. Le nombre de liaisons serait trop important et les liaisons seraient trop longues (affaiblissement physique du signal).

[Lire]