zOS (Z-Systeme d'Exploitation)
zOS
A l'origine, les developpements ZPUTA/zOS ne ciblaient que l'architecture ZPU et ils avaient deux methodes d'execution principales:
- en tant qu’application demarree par IOCP,
- en mode autonome en tant que firmware de demarrage du ZPU Evo.
Dans zOS, toutes les fonctionnalites non-OS sont stockees en tant qu'applications sur une carte SD. Pour fonctionner, zOS necessite une connexion serie avec de preference un emulateur de terminal ANSI/VT100.
Un developpement materiel recent, le tranZPUter SW-700 v1.3, voit zOS operer en tant qu'OS hote ou le clavier et l'ecran sont sous son controle direct. Un emulateur de terminal ANSI a ete developpe et integre.
Utilisation du systeme d'exploitation
Ligne de commande
La premiere introduction au systeme d’exploitation est un message de connexion qui affiche la CPU, la version, etc. et emet une invite pour la saisie de commandes:

Les raccourcis clavier readline et les commandes internes sont identiques a la version anglaise.
Applications
Les applications actuellement fournies par zOS resident sur une carte SD. La liste complete des commandes (Disk IO, Disk Buffer, Filesystem, Memoire, Materiel, Tests de performance, Execution de programmes, Commandes diverses, Applications, Commandes tranZPUter) est identique a la version anglaise.
autoexec.bat
Detail technique
Organisation de la memoire
Les cartes memoire IOCP et zOS sont identiques a la version anglaise.



Interface applicative
Comme la plupart des systemes d’exploitation, zOS fournit une API qu’une application correctement compilee peut utiliser pour reduire sa taille et sa complexite et reutiliser les fonctionnalites du systeme d’exploitation. La table vectorielle API complete (93 vecteurs) est identique a la version anglaise.
Le prototype de l’application est:
uint32_t app(uint32_t param1, uint32_t param2)
Installation et build automatises (recommande)
build.sh, qui assemble/compile IOCP, zOS et les applications pour un CPU choisi en une seule passe. Deux chaines de compilation sont impliquees et les scripts d'installation les fournissent toutes les deux :
| Chaine de compilation | CPU cible | Source |
|---|---|---|
ZPU zpu-elf-gcc 3.4.2 |
Small Medium Flex Evo EvoMin (ZPU) |
installee dans /opt/zpu (depuis ZPU_TOOLCHAIN_URL) |
ARM arm-none-eabi |
K64F (Kinetis / Teensy 3.5) |
fournie dans le depot sous tools/arm (aucune installation) |
Comme les deux chaines de compilation sont des binaires Linux / croises, le build s’execute en natif sous Linux, dans Docker sous macOS (image zos-build:latest) et via WSL1 sous Windows :
| Script | Plateforme | Notes |
|---|---|---|
setup_zOS.sh |
Linux (natif) / macOS (Docker) | Installe les outils de build de base + la chaine de compilation ZPU ; sous macOS, il compile dans l’image Docker zos-build:latest. |
setup_zOS_windows.cmd |
Windows 10 / 11 | Lanceur a double-clic qui appelle le script PowerShell ci-dessous. |
setup_zOS_windows_native.ps1 |
Windows 10 / 11 (WSL1) | Configure WSL1 et y execute l’installation Linux. |
setup_zOS_wsl1.sh |
dans WSL1 | L’etape d’installation Linux invoquee automatiquement dans la distribution WSL1. |
Linux / macOS — setup_zOS.sh
chmod +x setup_zOS.sh
./setup_zOS.sh
Windows 10 / 11 — setup_zOS_windows_native.ps1 — double-cliquez sur setup_zOS_windows.cmd, ou depuis une invite PowerShell :
Set-ExecutionPolicy -Scope Process -ExecutionPolicy Bypass
.\setup_zOS_windows_native.ps1
L’installation clone ZOS_REPO_URL (par defaut https://git.eaw.app/eaw/zOS.git) dans ~/zOS. Une fois terminee, compilez zOS avec (build.sh selectionne automatiquement natif / Docker / WSL1 selon l’hote) :
./build.sh -C Evo -O zos # zOS for the Evo ZPU
./build.sh -C K64F -O zos # zOS for the K64F (ARM Cortex-M4)
./build.sh -h # all options (-C CPU, -I IOCP, -O os, -o os ver, addresses, sizes ...)
build/ et build/SD/ — la ROM d'amorcage (BOOT.ROM / BOOTTINY.ROM), le chargeur d'amorcage IOCP_<func>_<addr>.bin et le .bin de zOS, plus les binaires d'applications bin/ prets a copier sur une carte SD formatee en FAT.
Substitutions d’environnement utiles :
| Variable | Role |
|---|---|
ZOS_REPO_URL |
Depot a cloner (par defaut https://git.eaw.app/eaw/zOS.git). |
ZOS_DIR |
Compiler dans une copie de travail existante au lieu de cloner. |
ZPU_TOOLCHAIN_URL |
Emplacement de l’archive de la chaine de compilation zpu-elf-gcc 3.4.2 installee dans /opt/zpu. |
ZOS_BUILD_IMAGE |
Image Docker utilisee pour le build macOS (par defaut zos-build:latest). |
ZOS_ASSUME_YES=1 |
Accepte toutes les invites de maniere non interactive (installations sans surveillance / CI). |
build.sh — est documente dans la section Build logiciel juste en dessous.
Build logiciel
La documentation complete du build (chemins, outils, arborescence du build, parametres build.sh) est identique a la version anglaise.