Projet système d'exploitation semestre 1 master 1 université d'Artois

Loquicom 85a885afc2 :fire: Suppr fichier inutile %!s(int64=5) %!d(string=hai) anos
.gitignore 0fe5043d0d MaJ gitignore %!s(int64=5) %!d(string=hai) anos
README.md a40085b12b Correction orthographe %!s(int64=5) %!d(string=hai) anos
color.h 9cfe29b14d addcolor %!s(int64=6) %!d(string=hai) anos
command.c b6232f33f4 Ajout myps en commande interne mysh %!s(int64=5) %!d(string=hai) anos
command.h 17cd429b0d :bug: Debug compilation %!s(int64=5) %!d(string=hai) anos
constante.h fc243f7e3e Ajout création et suppression ipc %!s(int64=5) %!d(string=hai) anos
error.c be18178fd5 :bug: Debuf redirection all %!s(int64=6) %!d(string=hai) anos
error.h be18178fd5 :bug: Debuf redirection all %!s(int64=6) %!d(string=hai) anos
execute.c 585c70792b Meilleur affichage commande introuvable %!s(int64=5) %!d(string=hai) anos
execute.h ef906d7d05 Documentation execute %!s(int64=5) %!d(string=hai) anos
expreg.c dd922fd081 Debug postion fin %!s(int64=5) %!d(string=hai) anos
expreg.h 5ba016ad22 Ajout documentation %!s(int64=5) %!d(string=hai) anos
ipc.c 59219854df Ajout comportement par defaut set et setenv %!s(int64=5) %!d(string=hai) anos
ipc.h 82d480f3d7 Ajout documentation %!s(int64=5) %!d(string=hai) anos
makefile e76940f507 Utilisation constante couleur %!s(int64=5) %!d(string=hai) anos
myls.c d2d487a982 Amélioration affichage jour %!s(int64=5) %!d(string=hai) anos
myps.c fe8540c1dd Modif myps %!s(int64=5) %!d(string=hai) anos
mysh.c a0642748c1 Amélioration affichage %!s(int64=5) %!d(string=hai) anos
mysh.h 17cd429b0d :bug: Debug compilation %!s(int64=5) %!d(string=hai) anos
parser.c 1ff4e023df Amélioration gestion memoire string nom fichier redir %!s(int64=5) %!d(string=hai) anos
parser.h 65aa236221 Fin commande en fond %!s(int64=6) %!d(string=hai) anos
sem.c a188331297 :bug:Debug semaphore %!s(int64=5) %!d(string=hai) anos
sem.h a188331297 :bug:Debug semaphore %!s(int64=5) %!d(string=hai) anos
shm.c fc243f7e3e Ajout création et suppression ipc %!s(int64=5) %!d(string=hai) anos
shm.h a3f9d34da9 Ajout shm %!s(int64=5) %!d(string=hai) anos
str.c 6f207d9d59 :bug: Correction presence char indésirable %!s(int64=6) %!d(string=hai) anos
str.h 6a428a0652 Ajout doucmentation execute %!s(int64=5) %!d(string=hai) anos
subdiv.c 66f50e3ee6 Correction faute de frappe %!s(int64=5) %!d(string=hai) anos
subdiv.h b9285d5e01 :bug: Retrait pointeur subdiv %!s(int64=5) %!d(string=hai) anos
variable.c 59219854df Ajout comportement par defaut set et setenv %!s(int64=5) %!d(string=hai) anos
variable.h 59219854df Ajout comportement par defaut set et setenv %!s(int64=5) %!d(string=hai) anos
wildcard.c c6b58bf38c :bug: Debug wildcard %!s(int64=6) %!d(string=hai) anos
wildcard.h c6b58bf38c :bug: Debug wildcard %!s(int64=6) %!d(string=hai) anos

README.md

Projet SEC (MySh) Master 1 Artois 2018-2019

Brandao Arthur (60%) & Maxence Bacquet (40%)

Utilisation

La compilation du programme s'effectue avec la commande make dans le dossier du projet. Il est possible de recréer les dépendances avec la commande make depend, et de supprimer les logs d'erreurs avec make rm-log. Pour lancer le programme il suffit d'exécuter le fichier ./mysh.

Les commandes externes (myls et myps) sont exécutables sans passer par le programme mysh, mais sont aussi utilisables comme des commandes internes de ce dernier. Il suffit juste de taper le nom de la commande dans un terminal mysh pour l'exécuter.

Fonctionnalités

Présentes :

  • Exécution de commandes
  • Séquencement
  • Wildcards
  • Changement de répertoire
  • Sortie du shell (commande exit et Ctrl+C)
  • Code de retoure d'un processus (commande status)
  • Lister le contenue d'un répertoire (commande myls)
  • Etat des processus en cours (commande myps)
  • Les tubes
  • Les redirections d'entrées et de sorties vers des fichiers
  • Premier et arrière plans
  • Commande myjobs
  • Variables locales et d'environnements

Absentes :

  • Commandes myfg, mybg et gestion du Ctrl+Z

Bugs / Fonctionnalités partiels

Certaines wildcars complexe ne sont pas interprétées (par exemple [A-Z.]*[^~]).

Il manque 3 champs dans la commande myps : %CPU, %MEM, TIME. De plus le champ TTY est sous la forme d'un nombre et non d'un texte comme dans la commande ps -aux.

Blagounette

Comment appelle-t-on un combat entre un petit pois et une carotte ?

Un bon duel !