|
1 |
| -# Projet LO41 UTBM P20 : Gestion d'un aéroport |
| 1 | +# LO41 - C - Airport control tower simulation |
2 | 2 |
|
3 |
| -<img alt="GitHub repo size" src="https://img.shields.io/github/repo-size/TheRolfFR/LO41_C_airport?style=flat-square"> <img alt="GitHub repo size" src="https://tokei.rs/b1/github/TheRolfFR/LO41_C_airport?category=code"> <a href="./LICENSE.md"><img alt="GitHub repo size" src="https://img.shields.io/badge/License-NPOSL--3.0-red?style=flat-square"></a> <a href="./README-en.md"><img src="https://img.shields.io/badge/EN-README-red?style=flat-square"></a> |
| 3 | +<img alt="GitHub repo size" src="https://img.shields.io/github/repo-size/TheRolfFR/LO41_C_airport?style=flat-square"> <img alt="GitHub repo size" src="https://tokei.rs/b1/github/TheRolfFR/LO41_C_airport?category=code"> <a href="./LICENSE.md"><img alt="GitHub repo size" src="https://img.shields.io/badge/License-NPOSL--3.0-red?style=flat-square"></a> |
4 | 4 |
|
5 |
| -_Projet individuel noté : Gestion d'un aéroport C système_ |
6 | 5 |
|
7 |
| -## Objectif |
8 |
| -Comprendre le fonctionnement d'un système d'exploitation et son organistation. Utiliser l'API en C pour implémenter un cas réel: |
9 |
| -Gérer la tour de contrôle d'un aéroport et ses pistes. |
| 6 | +_Personal academic project : C control tower simulation in system c_ |
10 | 7 |
|
11 |
| -## Comment compiler et lancer le projet |
12 |
| -Si vous utilisez [l'IDE JetBrains CLion](https://www.jetbrains.com/clion/), vous pouvez facilement commencer. |
13 |
| -Sinon vous pouvez utiliser le [Makefile](./cmake-build-debug/Makefile) and le fichier [cbp file](./cmake-build-debug/lo41_projet.cbp) |
14 |
| -générés automatiquement par le projet. Ou simplement, tapez ceci dans terminal : |
15 |
| -```sh |
16 |
| -gcc -Wall main.c -o lo41_projet && chmod +x lo41_projet && ./lo41_projet |
17 |
| -``` |
18 |
| - |
19 |
| -ou : |
| 8 | +## Objective |
| 9 | +Understand Operating systems principles and management. Use C API to implement a real use case : a control tower of an |
| 10 | +airport |
20 | 11 |
|
| 12 | +## How to build and launch the project |
| 13 | +By using the [CLion JetBrains Editor](https://www.jetbrains.com/clion/), you can easily get started. Else you could use |
| 14 | +the [Makefile](./cmake-build-debug/Makefile) and the [cbp file](./cmake-build-debug/lo41_projet.cbp) generated |
| 15 | +automatically by the project. Or simply, you could just type this in a tmerinal : |
21 | 16 | ```sh
|
22 |
| -./compile.sh && ./launch.sh |
| 17 | +gcc -Wall main.c -o lo41_projet && chmod +x lo41_projet && ./lo41_projet |
23 | 18 | ```
|
24 | 19 |
|
25 |
| -*le compileur gcc est nécessaire pour faire cette commande* |
| 20 | +## Main parts of the code |
26 | 21 |
|
27 |
| -## Parties principales du code |
28 |
| - |
29 |
| -Ici les données sont séparées dans différentes catégories/thèmes |
30 | 22 | Here data is separated in different categories/themes :
|
31 | 23 |
|
32 |
| -- affichage : tout ce qui permet d'afficher à l'écran |
33 |
| -- arguments : tous les arguments passés au thread |
34 |
| -- plane : l'avion lui-même |
35 |
| -- controleur : le controleur chargé de réguler le traffic aérien |
36 |
| -- listeAttente : la liste d'attente utilisée pour le décollage et l'atterissage |
37 |
| -- mutex : tout ce qui est lié à des ressources critiques et des ressources partagées |
38 |
| -- piste : les données des pistes et comment les gérer |
39 |
| -- tarmac : les données du tarmac et comment le gérer |
40 |
| -- utilitaires : toutes les fonctions utilitaires nécessaires au programme |
41 |
| - |
42 |
| -## Dépot GitHub du projet |
43 |
| - |
44 |
| -Si vous voulez trouver le dernier code source mis à jour, allez voir à l'adresse suivante : |
45 |
| - |
46 |
| -[https://github.com/TheRolfFR/LO41_C_airport.git](https://github.com/TheRolfFR/LO41_C_airport.git) |
| 24 | +- display : everything displayed to the screen |
| 25 | +- arguments : every argument passed to the threads |
| 26 | +- plane : the plane data itself |
| 27 | +- comptrolleur : the conptrolleur in charge of regulating traffic activity |
| 28 | +- ipc : ipc messages sent between entities |
| 29 | +- wating list : airplane waiting list for landing and take-off |
| 30 | +- mutex : everything linked to critical and shared resources |
| 31 | +- runway : handle the runway data |
| 32 | +- tarmac : handle the parking area |
| 33 | +- utilities : additional functions created to code faster |
0 commit comments