INSIA

: Maison !

10
janvier 2011

INSIA - Technologies UNIX : Cours N°2

Rédigé par Matthieu CERDA   Aucun commentaire   Mis à jour le  10/01/2011

Et c'est parti pour la seconde partie du cours de technologies UNIX !

Le cours commence par une introduction au fonctionnement des disques durs : HDD

On se porte ensuite sur l'étude des systèmes de fichiers de type UNIX, il faut donc définir les structures de base :

Un disque dur possède, dans le cas d'une table de type MBR :

  • Un MBR composé du code exécutable de boot ( Par exemple GRUB ou NTLDR )

  • Une table des partitions

  • Des partitions


Voici les structures de base d'un FS de type UNIX :

  • Table des i-nodes


Voici les types d'i-node utilisables :

  • - : fichier standard

  • d : répertoire

  • s : lien symbolique

  • b : périphérique de type block

  • c : périphérique de type char

  • p : pipe nommé (créé par exemple avec mknod)

  • s : socket nommé


Ainsi que des attributs :

  • UID

  • GID

  • Permissions : UGO - RWX

  • Bits spéciaux : SUID,SGID, Sticky


Voici un article résumant la partie du cours sur les structures des FS : i-node

Classé dans : INSIA Mots clés : aucun


03
janvier 2011

INSIA - Technologies UNIX : Cours N°1

Rédigé par Matthieu CERDA   1 commentaire   Mis à jour le  03/01/2011

Petit début en douceur : Qu'est ce qu'un semi-conducteur ?

On fait un petit topo sur l'historique de la micro informatique : Les premiers ordinateurs de Bell Labs de 1955, l'IBM 360 de 1964, les languages utilisés (COBOL/FORTRAN/ALGOL/ASM) non intéropérables.

Alors qu'IBM était roi du marché, DEC cherche a devenir "calife a la place du calife" et lance le VAX et la série PDP (7/10/11) utilisant LISP.

DEC a alors l'idée de proposer aux universités leurs ordinateurs (l'utilisateur de demain ce sont les étudiants), ce qui était très malin car ils y gagnaient un parc d'utilisateurs compétents qui débuggaient leurs utilisateurs et quelques contrats de maintenance.
L'intelligence artificielle, c'est une manière que modéliser les décisions d'un expert.

C'est alors que Ken Thompson, employé de Bell Labs, cherche a créer un ordinateur pouvant concurrencer Gary Kasparov aux échecs, et le nomma "Belle". Il crée alors Space Travel, programme pour se promener dans l'arborescence de l'ordinateur.

Chez General Electric, MULTICS est créé, mais en raison de la loi AntiTrust ils ne pouvaient pas faire de la micro informatique et le budget s'épuise. Dennis Ritchie cherche donc a récupérer le projet.

Niklaus Writh créé le PASCAL.

Le métro 14 est basé sur les théories de Dijkstra (preuves de programme) ? a approfondir !

Dijkstra a crée l'algorithmique qui a aidé a créer les languages récents

Dennis Ritchie trouve que le BCPL de l'époque ("B") était trop étriqué et cherche donc a créer le C.

Il se dit aussi qu'il fallait faire un language clair, portable, permettant d'utiliser les interfaces de la machine.

Une alliance se forme entre les universitaires, Ken Thompson, et Kernighan / Ritchie qui connaît les gens de Berkeley et les créateurs de MULTICS.

Ken Propose alors de créer UNICS.

Compilation en C :

  1. Analyse lexicale

  2. Analyse syntaxique

  3. Analyse contextuelle

  4. Compilation

  5. Edition de liens


Dennis voit que sur tous les PC de l'époque, très différends, il y avait le même type de programmes : compilateurs et éditeurs de liens.

Il se dit alors : Si mon compilateur C sort de l'assembleur au format local, c'est tout bon !

En 1969, UNIX Time Sharing System v1 sort sous le giron d'AT&T.

Bill Gates pompe UNIX et crée SCO-Unix via SCO.

Xerox fabrique le Star 8010, truc qui coûte un bras mais disposant de technologies révolutionnaires (Mail, Ethernet, GUI, souris), mais ça marche pas car trop cher, et IBM sort l'IBM PC.

Billou crée Xenix, c'est un échec car Xerox a déja Star.

Il se fait aussi jeter par IBM.

(et donc cela aboutit a DOS et la série Windows).

1981 , date importante : Abrogation de la loi antitrust (élection de Reagan).

Les entreprises veulent faire du pognon, et donc Bell/AT&T, bon prince, décide que Berkeley a aussi des droits sur les sources d'UNIX.

Deux branches se créent : BSD v1,2,3,4 et UNIX System V de Bell.

IBM réclame la paternité d'UNIX  et lance AIX.

C'est donc la foire et 5 branches d'UNIX sont là.

Les entreprises, qui ont l'argent, créent donc des organisation de normalisation, ce qui donne POSIX pasque la non opérabilité y'en a marre.

Ils normalisent donc le shell bourne, la libc compatible ANSI pour UNIX ...

AT&T crée le Korn shell.

Novell crée NetWare (IPX/SPX, Novell DOS7) puis UnixWare.

UNIX intègre TCP/IP en standard car ils ont bossé sur ARPANET.

--- Fin de la partie historique

On repasse a une vision plus technique des systèmes UNIX : On va s'intéresser aux noyaux monolithiques.

  • Un processus est une instance d'exécution d'un programme

  • Il se compose de :

  • 1 Segment de texte

  • 1 Segment de data : fct programme => Variables globales, fct programme => environnement, TFO (Table des Fichiers Ouverts), Table des signaux

  • 1 Segment de stack +1 pour chaque thread


On aborde le déroulement d'un programme et le fonctionnement des fonctions réentrantes par interruption (variable global = mal = bug), et le fonctionnement et état des processus présent => prêt => actif => présent / absent.

Classé dans : INSIA Mots clés : aucun


06
décembre 2010

INSIA – CCNA : Cours N°1

Rédigé par Matthieu CERDA   Aucun commentaire   Mis à jour le  06/12/2010

Un exemple de configuration type Cisco pour un routeur, avec une sécurisation de base :
[code lang="shell"]
# configure terminal
# --- GENERAL ---
(config)# hostname FAI
(config)# enable secret class
(config)# line console 0
# --- VTYs ---
(config-line)# password cisco
(config-line)# login
(config-line)# logging synchronous
(config-line)# exec-timeout 3 30
(config-line)# exit
(config)# line vty 0 15
(config-line)# password cisco
(config-line)# login
(config-line)# exec-timeout 3 30
(config-line)# logging synchronous
(config-line)# exit
(config)# banner motd "Avez-vous les droits ?"
# --- INTERFACE ETHERNET ---
(config)# interface fa0/0
(config-if)# description Réseau client 1
(config-if)# ip address 192.168.10.254 255.255.255.0
(config-if)# no shutdown
(config-if)# exit
# --- INTERFACE SERIE ---
(config)# interface se0/0
(config-if)# description Réseau FAI 1 DCE 64000 Kbps
(config-if)# clock rate 64000
(config-if)# bandwith 64 # En Kbps !
(config-if)# encapsulation hdlc # Par défaut
(config-if)# ip address 200.200.200.5 255.255.255.252
(config-if)# no shutdown
(config-if)# exit
# --- ROUTAGE RIP ---
(config)# router rip
(config-router)# network X.X.X.X
(config-router)# exit
(config)# exit
%SYS-5-CONFIG_I: Configured from console by console
[/code]

Un exemple de configuration type Cisco pour un switch, avec une sécurisation de base :
[code lang="shell"]
# configure terminal
(config)# interface Vlan 1
(config-if)# ip address 192.168.10.253 255.255.255.0
(config-if)# no shutdown
(config-if)# exit
# --- INTERFACE ETHERNET - VLANs ---
(config)# interface fa0/0.100
(config-if)# description Réseau client VLAN 100
(config-if)# encapsulation dot1Q 100 # VLAN 100
(config-if)# bridge-group 1
(config-if)# exit
[/code]

Debuggage :

  • En cas d'interface up / down, penser a :



  1. Vérifier l'encapsulation

  2. Vérifier si l'on est DCE ou DTE et si la commande clock rate est réglée en conséquence (show controller s0/0, vérifier le message CLOCK STOPPED)

Classé dans : INSIA Mots clés : aucun