Chapitres disponibles dans le cours
Actualise le lun aoû 3 08:12:17 UTC 2015
Les chapitres sont + ou - developpes
d'apres les cas et les demandes !
/* Fichier Trace Chapitres */
Presentation du cours c++ et de l'emulateur integre
La fenetre source et la fenetre message de l'emulateur C++
Un petit detour en C++
Le langage C++
C++ a partir de C
programmation orientee objets
Incompatibilites de C++ et C ANSI
La declaration prototype est obligatoire :
Une fonction sans argument est declare ():
Par defaut le type d'une fonction est int :
Transmission par valeur
le qualificatif "const"
Les pointeurs de type (void *)
Les specificites de C++
Les commentaires
L'emplacement des declarations est libre
Les references
Les arguments par defaut
Les surcharges
Comment le compilateur nome les fonctions surchargees
Le choix de la fonction surchargee
En C et en C++ il existe des programmes et des variables automatiques ou permanentes ou dynamiques :
Automatique
La pile, les parametres d'appel C et le Frame Pointeur
Permanente (Remanante)
Dynamique
Les operateurs "new" et "delete" pour la gestion dynamique des variables
En C il existe les fonctions et les macros
Fonctions en ligne
Structures et objets
Classes et objets
En C++ les classes remplacent avantageusement les structures
Les fonctions membre sont communes a tous les objets de la classe
This
C++ prevois aussi l'utilisation de fonctions membre en ligne
C++ version 2.0 prevois l'utilisation de "static" dans une classe
Une variable menbre peut etre declaree statique
Une fonction membre peut etre declaree statique
Le mot "static" dans une classe
C++ generalise l'utilisation du qualificatif "const".
Le qualificatif "const" sur les obgets
C++ est un langage fortement type
Un pointeur peut etre defini sur un objet ou sur une fonction membre :
Un pointeur peut etre defini dans un objet et pointer sur ...
Construction initialisation d'objets Destruction
Constructeurs
Destructeur
Utilisations initialisation
Lambda variables
Trace A : fonctionnement en pas a pas d'un programme c++
Trace B : fonctionnement en pas a pas d'un programme c++
Makefile
But
Exemple fil d'Ariane
Fichiers Logiciel necessaires pour faire les TP du Make
MISE EN ROUTE DE LA DEMO
Resume graphique de la fabrication du programme
En cas d'erreur
A QUOI SERT MAKE : DECOUVERTE
Comment fonctionne Make ?
Que sait faire Make ?
Regles et cibles
Ou make cherche les regles que vous avez ecrites
L'arbre de dependances et les commandes
Make tire au flanc
Make et la pendule
Make fait bosser les autres
Les dependances multiples de l'arbre
Les cibles virtuelles
Le menage dans les fichiers
Regles et commandes plus precissement
Un exemple type de base a ameliorer
la variable $+
la variable $@
Les regles generiques et implicites
Autre formes de regles implicites et $<
Les regles statiques
Declaration de cibles virtuelles
Classification des regles et commandes
make depend
Les inclusions
Regle de dependance et parallelisme
Cibles segondaires
.PRECIOUS et UPDATE-SECONDARY
Make en peti t bo ut s
Quand Make arrete l'exploration de l'arborescence ?
Les limites de tous ca !
Les variables du make et autres
Les fondamentaux d'unix pour bien comprendre
Syntaxe des variables du make
D'un make a l'autre ou autre tache
Make recois les variables d'environement
Make recois les variables de la ligne de commande
Make transmet les variables
Pour Modifier l'heritage des variables
Les sous niveaux des variables FILE
Quel est l'Origine des valeurs des variables ?
Override Directive
Les Overrided variables deviennent par defaut non exportables
TP sur les differents niveaux de variables et leur transmission
Passage de variables entre make et shell
Deux systemes d'affectation des variables dans le Make
Principe du calcul des variables differes et immediates
Chasse aux recursions
Les affectations sont des systemes tres (trop ?) riches !
FLAVOR et recursions
Les variables a evaluation conditionnelles ou fonctionelles
Evaluation conditionnelle du Make sript (syntaxe)
Fonctionnement du Make en deux phases
Variables et makes resume
Make multitaches
TP : Etendre un projet avec Make
EX : Moc preprocesseur
Gestion des sauvegardes et TAR
TAR pour un CLIENT
TAR pour VOUS
TAR : Comment ca marche ?
Pour le client allergique au make
Vers : autoconf mycc rpm ... VERS AUTOCONF mYCC RPM ... ???
Limitations Pratiques %.o : Makefile
unix
Ordinateurs microprocesseurs en general
Microprocesseurs
Bases NumeriquesSS
Compteurs et groupages
Complement a N-1 et a N
PROM code et MEMOIRE VIVE data
Periferiques
Instructions
Ruptures de sequence
Trap logiciel
Trap materiel : Branchement sur IT : coprocesseur
Reset PC : BIOS
Virus destroyd ?
Compilation
Temps partage
Swap
MMU Page Memoire logique Protections & translation
Le noyau cache le materiel et sa diversitee
Cache en general
Optimisation compilees des blocs d'instructions
Risk & Cisk Cache : Comparaisons
Page a la demande RAM / DISQUE par MMU
Pages communes a plusieurs taches : CODE DATA version V
Historique d'unix
Objectifs
Realisation
Fonctionnement en mode Caracteres
Liaisons series
Mode ligne
Philosophie d'unix
Vue de l'Utilisateurs
Login -> facture
Shell : notions
QQ Commandes
Commandes simples
Commandes de bases
Manuel en ligne : man info
Fichiers
Structure du fichier
Chemins absolus et relatifs
Notions d'inoeud fichiers et directory . ..
Liens : les differants noms d'un fichier
les Redirections et les ecrans
Redirections simple < >
Ajout a un fichier >>
Qui fait les redirections ?
Les ecrans et linux
syntaxe redirection du shell groupage
Gestion des fichiers
QQ utilitaires
Pipes et filtres
Les Taches et Executables
Fichiers executables : notions
Taches : suivis
Signaux : controle des taches
Executable, intepretes, inclusion
Interpreteur de base unix sh
Fork Exec : notions
Taches et Noyau : notions de fd C zone U HERITAGE
Gestion des Taches : synoptique des etats
Les periferiques sont des fichiers !!!
Le noyau et les protections : login users group reel effectif sauve file
Administrateurs
Disques Partitions vfs DD amorcage lilo init
PARTITION UNIX systeme de fichiers historique
Disques PC Partition active
Appelations des disques et partitions LINUX
Boot Bios Pc partition active
Les partitions sous pc et linux nt
Un choix de boot flexible : lilo
Un exemple de conf. lilo : multi : disques , os ,noyaux linux
Utilisation des partitions
Partition : Magor minor
Montage et demontage de partitions : Mknod Mount Umount
Linux et les autres types de partitions VFS
L'acces au fichier dans le noyau & sh
les etapes du demarrage : bios pc lilo boot init X
Compilation d'un noyau
Configuration des initS
Memoire paginee virtuelle MMU et/ou Swap
Init x , sync , pid 0 1
Graphisme carte
Xwindows (CLIENTS / SERVEUR) notions != window
les reseaux
Mise en garde
Configurations et materiels utilises
Comment connecter sa machine aux reseaux du cours
Avant les reseaux
Generalitees
les reseaux TCP/IP UDP, ...
les couches de protocoles 1:2:3:4...
N1:N2 : QQ exemples varies de reseaux materiels ...
N1:N2 reseaux Ethernet
ALOHA CSMA:CD MAC LLC1 ethernet niveau 1 et 2
N1 : codage seriel des bits Ethernet
Attenuation Reamplification d'un signal numerique
N2 : trame Ethernet & ISO
Ethernet : Domaine d'utilisation
Taux de reussite Electrique d'une trame
Plusieurs supports(Ether) net
10 base 5
10 base 2
1 base 5 10 base T
100 base T
Cables Rj45 T
Hub
Performance LAN : limitations,parallelisation pont
Switch evolution
N1:N2 reseaux HPIB GPIB
N1:N2 reseaux Token ring
N3 IP datagramme routage : DOD CATNET iNTERNET : heterogene
Decoupage et reassemblage du datagramme
Entete IP et politique de routage
Interconnections de reseaux & couches
arp notions
N4 : TCP transfert control protocol : controle de flux,PORT
Entete TCP
N4 : UDP : sans controle de flux [sans connection ^]
N5 N6 N7 Autres couches et services ..
Vue generale des couches & programmes (!= ISO/X200)
Services, C/S Sockets ,Encpasulation, Tunelling
Primitives de gestion des sockets : notions
Synoptique d'une connexion par sockets
Client et serveur peuvent tout ignorer du socket !
Les sockets actifs sur votre machine et les fichiers
URI
Clients Serveurs en reseaux ou pas
Demon inetd : (notions)
Xwindow
Serveur httpd apache script racine erreur loadbalancing
Protcole != Port
Console virtuelle
FTP file tranport protocol
Mail Unix et/ou Internet Outils_Mails
Envoi de couriel de l'interieur :
Envoi de couriel a partir de l'exterieur
Consultation/Retrait de couriel
Couriel independant de la machine
SMTP protocol
POP protocol IMAP
synoptyique et principe du RELAY des mails par les MTA
MTA configuration : filtrage, local mail, alias, list, relay
configurer un SMTP relay et masquerider d'un domaine virtuel
Mise en place de reseaux
Reseau sous reseaux, exemple , masques , notion reseaux autonomes
Classes Masques Reseaus prives
Outils reseaux
Programmer et surveiller les interfaces N1&2 : Ifconfig
Ping
Voir les packets soft : Tcpdump
arp rarp notions DHCP
Mise en place des routes soft sur le routeur
Le suivis des routes reseaux : Traceroute
les sockets : Netstat
Fourniseur d'acces : PPP CHAP PAP FAI DNS TUNELLING
Ifconfig ppp
Route vers FAI
Scripts de demarrage et d'arret sur ppp
Internet, intranet, Faux reseaux
Plusieurs reseaux sur un meme lan
Sur quelle machine est on ?
Resolveur de nom
Configuration du Resolveur
/etc/hostS
DNS ... exercises
DNS configuration : domaine sous domaine revers
Resolveur : exercises sur le reseaux
Plus generalement : Access aux Fichiers repartis et Autres services
Filtre Routage Masquarade loopback ...
Script de configuration libre init YAST ...
IPv6 ....
Notations IPv6 & adresses locales
IPv6 Routeur/Host Prefix Mask
IPv6 addresses speciales
IPv6 <-> IPv4
Le source des classes C++ utilisees
La classe point
La declaration de point
La realisation de point
La classe pointcol
La declaration de pointcol
La realisation de pointcol
Comment connecter sa machine aux reseaux du cours