logo

Patrick TRAU, L2 SPI

cours informatique P.TRAU

Cours Architecture des Ordinateurs et Systèmes d'Exploitation

Unistra - Faculté de Physique et Ingénierie

Licence 2 Sciences Pour l'Ingénieur


  1. Informations générales
  2. détails et documents du cours
  3. premier contrôle
  4. second contrôle
  5. épreuve de substitution
  6. les TP
  7. les TD

1) Informations générales

Organisation du cours : 5 séances de 2h de cours, 5 séances de 2h de TD, et 3 TP de 2*2h=4 heures.

L'évaluation est faite par deux contrôles écrits d'une heure, l'un à mi-parcours, l'autre à la fin des enseignements, chacun comptant pour un tiers. Les 3 TP seront notés et compteront eux aussi 1/3 de la note de la matière. Pour être bien précis : si vous avez 18 au premier contrôle, celui-ci vaudra 1/3 de la note, et pas plus (en particulier, un certificat médical ne justifiera pas une absence en TP ou second contrôle, préférez l'arrêt de travail ou l'hospitalisation). Si vous y avez 0, idem.

évaluation du cours (et du prof) par les étudiants : je propose une aux étudiants de donner leur avis sur le cours, via un questionnaire sur moodle.

2) détails et documents du cours

cours 1 : historique de l'informatique, démontage d'un PC.
cours 2 : Le binaire (avec virgule) et les opérations (suivant, addition, multiplication, division) et autres bases : 120,1 en base 3, octal et hexa (en particulier, conversion en décimal et en binaire, calcul du suivant).
TD 1 : sujet CC1 2014 : les changements de base (b, o, h),  les calculs en binaire (+,-,*,/)
cours 3 : négatifs sur 8 et 16 bits, flottants.
TD 2 : suite sujet : entiers négatifs, float (et erreur inhérente) , masquages, codage BCD
CC1 sur tout ce qui a été fait jusque là.
CM 4 : structure interne d'un processeur (schéma) : CPU, ALU, bus, accu, registres, Registre d'instruction (Control Unit), mémoire (RAM/ROM) et adresses, langage machine et assembleur.
TD 3 : classe renversée : par groupes de 3 ou 4: distribution des sujets, puis présentation (6mn/groupe) :

  1. service de nommage / DNS
  2. IPV4 vs IPV6
  3. URL : exemples de méthodes, ports, ancres (#), arguments (?)
  4. quelles infos voit un serveur web ?
  5. OS existants, particularités de chacun, parts de marché
  6. format des disques : FAT, NTFS, autres
  7. OS et BIOS : qui fait quoi ?
  8. qu'est-ce qu'un protocole (pour une liaison entre deux systèmes informatiques) ?
  9. qu'est-ce que le Cloud, quelle différence avec ce que faisait déjà internet avant ?
  10. quel est le système d’exploitation des ordinateurs gérant une voiture (appelé généralement calculateur)

CM 5 : séance en distanciel, 2/11 de 8 à 10. Le cours se fera via BBB. Il vous faut un ordinateur ou une tablette, avec une connexion internet et une sortie son (haut-parleur ou casque), Le dialogue (vos questions) se fera principalement en texte (mode "tchat"). Un micro (un casque de téléphone en comporte un), une webcam seront utiles lors des séances de TD, mais pas nécessairement pour le cours. Pour ceux qui n'ont pas ces moyens matériels, vous vous êtes sûrement déjà signalés au responsable de filière, comme vous l'a demandé notre directeur de Faculté (prévenez moi aussi). Vous pouvez tester votre connexion en vous connectant dès maintenant, le laisse le cours ouvert jusqu'à lundi (mais vous, n'oubliez pas de vous déconnecter).
J'ai enregistré le cours, il suffit de re-cliquer sur le lien du cours et il est proposé vers le bas de la fenêtre (Non visible hors de moodle).

j'y ai parlé de : Fonctionnement de l'ordinateur : les interfaces (périphériques, IHM, IMM). Les disques : FAT, arborescence de répertoires, multi-utilisateurs. Le secteur de boot, BIOS/OS
OS mono ou multi-utilisateurs, multitâches (ordonnanceur). Les "vrais" ordinateurs (le plus gros : 150k coeurs de 512bits, 5Po ram). Le transfert de données sur bus parallèle, liaisons // et série, protocoles (handshaking) hard et soft, modem.

TD 4 (jeudi 5/11, en distanciel, même adresse) : TD masquage : déplacements entre parties d'un mot MW. Chenillard 8b. Essai en python (ce serait bien que vous installiez python sur votre ordi personnel, puisqu'on s'en servira de toute façon en TP). J'ai mis plus un peu plus loin un lien vers le sujet et la correction (pour tester vous pouvez faire du copier-coller,  du moins chez moi ça fonctionne).

TD 5 (9 et 12/11, en distanciel) : j'aimerais que vous mettiez par écrit (par groupes de 4) un document sur le sujet que vous aviez fait au TD 3. Vous me le rendrez à l'avance que j'aie le temps de le lire (j'ai mis un lieu pour le déposer ci-dessous). Pendant la séance nous discuterons sur certains points : IP, Cloud (IaaS, PaaS, SaaS), architecture client/serveur, révision IPV4/V6 (classes ABC en v4, masque de sous-réseau), puis DNS, switch, routeur, réseau Osiris, Renater et Internet, DHCP, NAT

TP : ils seront en Python, il faut donc l'installer chez vous. Vous aurez un sujet pour deux séances de 2h. Le sujet est "dévoilé" au début de cette séance. Vous y travaillez pendant les 2 heures. Puis si vous n'avez pas eu le temps d'avancer suffisamment, vous y travaillez avant la seconde partie. Vous préparez également le rapport. A la seconde séance, je vous donne la fin du sujet, vous y travaillez pendant les 2h, et finissez le rapport qui est à rendre à la fin de la séance (impérativement, aucun délai supplémentaire). Le travail est individuel  (en tout cas, un rapport par personne, bien sûr vous allez discuter entre vous). Si le confinement cesse en décembre, nous ferons peut-être les derniers TP en présentiel.

Liens intéressants :

3) premier contrôle

[lien] sujet Archi des ordis novembre 2013

[lien] sujet CC1 novembre 2018

[lien] bonne copie CC1 novembre 18

[lien] sujet du CC1 de cette année (pdf)

4) second contrôle

Le second contrôle porte généralement sur tout le cours (sauf calculs arithmétiques en binaire) et sur les TP. L'examen se fera sans documents, pour que vous ne recopiez pas des définitions récupérées de diverses sources, mais expliquiez vraiment ce que vous avez compris (ou saviez déjà, ou que vous avez approfondi, après le cours, par quelques recherches sur internet). Pour réviser, il faut donc que vous regardiez vos notes de cours et fassiez un petit point sur chaque thème abordé. Bien entendu, les divers sujets abordés lors du TD en "classe inversée" (où c'est vous qui avez présenté un petit morceau du programme) font également partie des choses que vous êtes sensés savoir.

Un autre point très important portera sur les masquages, décalages et autres fonctions booléennes, tel que traité en TP, en particulier la 1ère partie du TP2. Comme vous n'avez pas droit aux documents, je ne serai pas trop exigeant sur la syntaxe du langage python, mais bien sûr c'est compté comme un prérequis (c'est quand même la même UE). D'ailleurs de temps en temps certaines questions sont liées à d'autres domaines vus au cours du semestre : méca, maths, électromag... (c'est quand même le même diplôme), voire même du programme de terminale (une année c'étaient les nombres complexes, une année des mesures de contraintes mécaniques, une année un calcul vectoriel...)

Remarque : En cas d'absence au premier contrôle ou un TP, ceux qui aimeraient que j'étudie leur situation auront au minimum la décence de me contacter. Profitez du dernier TP si jamais vous ne comprenez pas une note sur Moodle.

[lien] sujet CC2 19-20 (nous faisions du C mais j'aurais posé presque les mêmes questions en python)

[lien] sujet de cette année

[lien] pistes de solution

5) épreuve de substitution

l'épreuve de substitution durera 1h. Elle n'est accessible qu'à ceux qui ont une moyenne <10 à la matière (CC1+CC2+TP). Mais vous n'êtes pas obligé de la passer, si vous pensez que la note reflète votre niveau et que vous risquez de baisser votre note. Pour toute personne décidant de passer cette épreuve, la note remplacera (se substituera à) l'intégralité de la note de la matière (CC1+CC2+TP). Pour vous permettre votre choix, je vous donnerai le plus rapidement possible la dernière note (le TP3), j'espère y arriver dans l'après-midi du passage du dernier groupe (le 6/1)

L'épreuve portera sur l'intégralité du programme de la matière, ce qui a été vu en cours avant les contrôles et après, et ce qui a été fait en TP. Les documents seront interdits, excepté une feuille A4 (comme au CC1, vous pouvez écrire en tout petit). L'épreuve se déroulera en présentiel.

[lien] sujet épreuve de substitution (ou pdf)

6) les TP

Vous devez passer vos TP aux jours prévus pour VOTRE groupe. Tout changement de groupe que je n'aurais pas accepté A L'AVANCE sera considéré comme une absence. A priori, si vous me prévenez, j'accepte les échanges avec un autre étudiant, car ça ne modifie pas les effectifs. En période de confinement par contre nous pouvons avoir plus de souplesse sur les effectifs. En présentiel, suivant les disponibilités des salles d'info, j'essaye de vous faire faire un maximum de TP seuls. J'y arrive plus ou moins suivant les années.

Les TP se font en deux parties de 2h. Vous DEVEZ déposer sur moodle les programmes écrits, dès la fin du premier 1/2 TP (les source python). Pour le rapport (qui explique ce que vous avez fait, ce que vous avez compris, ce qui n'a pas marché, ce qui a été difficile à comprendre, éventuellement des sources améliorés...), vous le déposerez sur moodle dès la fin de la seconde moitié du TP (avec vos sources définitifs, y compris première partie). Si vous voulez le travailler hors du TP, il faudra le faire entre les deux morceaux du TP)

Vous pouvez éventuellement écrire votre rapport sur papier. Mais je préfère que vous le déposiez sous moodle, ce qui me permet de vous les corriger. Attention : je n'ai pas acheté Word, si vous tenez à sa mise en page envoyez le en pdf.

Les TP en distanciel se font sur BBB, à la même adresse que les cours.

[lien] sujet Tp1 partie1 (gestion des entiers) : pour la première demi-séance de 2h. Si vous ne finissez pas, vous pourrez continuer avant la seconde demi-séance.

[lien] sujet TP1 complet : gestion des entiers et flottants

[lien] quelques points extraits du chat TP1

[lien] pistes de correction TP1

c'est rare que je fasse une correction des TP. Mais là vous n'avez absolument pas compris ce que j'attendais de vous. Le but est de vous faire comprendre des choses peut-être mal comprises en cours, d'analyser, de prendre du recul et d'expliquer ce que vous en concluez. Vous me donnez uniquement des sources de programmes qui servent à quelque chose. S'il y a plusieurs fois le même programme, dois-je passer des heures (rappelez vous : le temps passé sur votre rapport doit être multiplié par 80 pour évaluer combien ça m'énerve) à voir si vous avez utilisé le même programme ou si vous avez peut-être changé une valeur dedans ? pour la Q1 ou Q2, un seul exemple suffit, et vous me donnez vos conclusions (vous verrez que j'ai trouvé beaucoup de choses à dire).
Donc regardez bien cette correction, et faites mieux aux prochains TP (d'après moi peu d'entre vous méritaient la moyenne, je serai vraiment plus exigeant aux prochains). Vous n'êtes plus au lycée, vous n'avez pas juste à appliquer des méthodes qu'on vous a apprises mais prendre du recul et analyser.
J'avais pourtant bien insisté que me rendre votre notebook était une mauvaise idée. Si je demande N fois de me planter un clou avec un marteau et que N fois vous insistez pour utiliser un bulldozer, au bout d'un moment je dis "je préfére le marteau, mais si vous voulez le bulldozer essayez" Je dis "seuls vos commentaires m'intéressent", certains m'en ont mis aucun (ils méritaient donc 0) certains m'ont mis en tout 5 lignes de commentaires sur 200 lignes (ils méritent 5/200 =0,025). Certains ont trouvé utile de m'envoyer des dizaines, voire centaines, de milliers de "le bit vaut 1". A quel niveau pensez vous qu'on peut imaginer leur capacité d'analyse ?
Dernier point, un seul m'a donné quelques liens sur ces sources. Je répète une fois de plus, je ne fais ces TP que pour que vous COMPRENIEZ. Que vous cherchiez sur internet un programme qui fait des calculs alors que la question est "je veux des masquages, pas de calculs", ça mérite combien ? Par contre s'en inspirer, comprendre, et modifier pour que ça corresponde à la question, c'est très bien. Donc citer où vous vous êtes inspiré rapporte des points, essayer de me faire croire que vous avez le même style de programmation que Tyrtamos vous en fait perdre (lui, en plus des quelques lignes de code, a aussi mis plein de texte d'explication).
et répondez aux questions. La Q1 demandait : pourquoi ces valeurs ? la Q4 : M est le nombre de bits de la mantisse, que vaut M ?

[lien] sujet TP2 : décalages et masquages

[lien] TP2 : vidéo pour ceux qui ne comprennent pas ce qu'est une rotation de bits

[lien] petit résumé du Chat du TP2 (les 2 demi-séances)

[lien] sujet TP3 : gestions des fichiers, dialogue entre tâches

petite proposition pour la Q2 (si vous avez trouvé autre chose, gardez le votre !) :

quoi=['lire','écrire','exécuter']
qui=['tous','groupe','moi']
for user in range(3) :
  for droit in range(3) :
    # bidouillage sur les masques
    if (?????) : print(qui[user],'peut',quoi[droit])
    else : print(qui[user],'ne peut pas',quoi[droit])
remarque : Regardez dans le sujet du TP 2 et mes commentaires du TP1 ce que j'attends d'un rapport de TP !

[lien] sujet TP3 : version multi-threading (certains, mais pas une majorité, n'arrivaient pas à lancer 2 tâches en même temps sur Mac)

[lien] petit résumé du Chat du TP3 (les 2 demi-séances)

[lien] Cette année était la première où l'on programmait en Python. Les années précédentes c'était en C, pour info voici les 3 sujets : TP1 : entiers et floats, TP2 : applications réelles des masquages, TP3 : multitâche.

7) les TD

Les deux premiers TD, nous avons suivi le sujet 2014 : sujet

Pour le TD 4 "python et masquages", je recopiais en direct sur mon PC ce que vous écriviez au tableau (corrigé). Puis j'ai remis le tout en forme, directement dans le sujet : sujet et correction. Il est important de l'avoir regardé pour les TP (surtout si vous n'avez pas pris de notes pendant le TD).

le TD 3 s'est fait en classe inversée : les étudiants étaient par groupes de 3 ou 4, en salles d'info. J'ai distribué les sujets, chaque groupe avait 1h pour chercher sur Internet, puis le présenter à tous (6mn / groupe, je corrigeais quand il y avait des erreurs ou de grosses omissions). Puis j'ai laissé du temps pour que chaque groupe nous fasse un petit document, j'ai sélectionné les meilleurs, je les ai donné au TD 5 et j'y ai détaillé les points qui le méritaient (voir plus haut). Voila les 10 documents, en ZIP. Ils ne respectent pas tous les règles des droits d'auteurs, si ça gène quelqu'un qu'il me prévienne !


Patrick TRAU, avril 2021