unsui (雲水)
POSIX compliant runtime environment for Amiga
|
Overview
The amigazen project has created unsui (雲水), a complete POSIX runtime for Amiga. The most iconic and poetic term for a zen acolyte or novice monk, "unsui" means "Cloud, Water" - representing a wandering acolyte who flows through the world without obstruction, like a cloud drifting in the sky or water flowing across the land. The environment is that path; it allows code and creativity to move as freely as a cloud, providing a seamless, Unix-like foundation on classic hardware.
Rather than forcing Amiga to become Unix, unsui provides a bridge that allows users to access the vast ecosystem of Unix software while preserving the Amiga experience. The focus is on creating a pragmatic, single-user development environment rather than a full multi-user server OS.
unsui follows the principle of "harmony through compatibility" - Unix standards and Amiga's unique capabilities can coexist and complement each other. Each component name carries both poetic and technical meaning, creating a layered understanding that elevates the project from being merely thematic to being aligned with both its philosophical roots and its practical function.
|
Core Components
|
UnixLib3 the 'zafu' - C Standard Library
|
C99 Standard Compliance: Full implementation of stdio.h, stdlib.h, string.h, time.h, math.h with all standard functions (printf, malloc, strcpy, fopen, fread, sin, cos, sqrt, pow).
POSIX.1 Extensions: File system APIs (opendir, readdir), process control (fork, execve, waitpid, kill), pipes and I/O (pipe, dup2), and basic signal handling (signal, raise).
Foundation: UnixLib3 is the 'zafu', the cushion - the foundational C standard library that provides balance and support for all other components. In zen, the zafu (座蒲) is the meditation cushion that provides the foundation for proper posture and balance. Just as the zafu supports the practitioner's meditation, UnixLib3, the zen-inspired Amiga Foundation for Unix, serves as a stable base for all software in the runtime environment.
|
|
Shami - POSIX Shell
|
POSIX sh Compatibility: Command execution, I/O redirection (>, <, >>), pipes (|), environment variables ($PATH, $HOME), and basic scripting (if, for, while, case statements).
Your Guide: With the unsui environment as the path and the Shami shell as the guide, users can finally stop fighting the system and achieve a state of productive harmony on the machine they love. The name "Shami" (沙弥) means "Novice Monk" - a dedicated practitioner at the beginning of their journey, representing the tool for mastery as users learn to work with Unix tools on Amiga.
|
|
Koans - Core Utilities
|
The Tools of Insight: In Zen, a koan (公案) is a riddle used to break through conventional thinking. Mastering the cryptic but powerful Unix utilities is a similar journey. Each tool is a practical puzzle that, once solved, grants deeper understanding and control over the system.
File Management: ls, cd, cp, mv, rm, mkdir, ln...
Text Processing: cat, grep, sed, awk, head, tail...
System & Archiving: ps, kill, uname, tar, gzip...
|
|
Development Tools
|
Self-Hosting Environment: C compiler (cc/gcc), linker (ld), make build system, standard headers in /usr/include. Enables development within the unsui environment itself.
|
|
Terminal Support
|
ncurses Library: Essential for terminal control, enabling text editors (vi, emacs) and interactive command-line applications. Core to a rich command-line experience.
|
|
The Zen Philosophy Behind Our Names
For readers unfamiliar with zen Buddhism, the naming choices may seem unusual at first. This section explains the deeper philosophy that inspired these names and why they are particularly fitting for a Unix subsystem on Amiga.
Zen and the Art of Computing: Zen Buddhism emphasizes direct experience, practical wisdom, and finding harmony between seemingly opposing forces. It is about achieving clarity through practice rather than through complex theories. This philosophy mirrors the Unix philosophy of simple, composable tools that work together harmoniously.
unsui (雲水) - "Cloud, Water": In zen monasteries, an unsui is a wandering student who travels between different temples to learn from various masters. Like clouds that drift freely across the sky or water that flows around obstacles, the unsui represents adaptability and the ability to move between different environments without losing their essential nature. This metaphor captures the goal: allowing Amiga users to access Unix software while maintaining the unique character of their platform.
Zafu (座蒲) - The Meditation Cushion: In zen practice, the zafu is the round cushion that supports the practitioner during meditation. It is not just a physical object - it represents the foundation upon which all practice is built. Without proper support, meditation becomes uncomfortable and unfocused. Similarly, UnixLib3 provides the foundational support that makes all other development work possible. It is the stable base that allows everything else to function properly.
Shami (沙弥) - The Novice Practitioner: A shami is someone who has taken the first steps on the zen path but is not yet a master. They represent the beginning of a journey toward understanding. This describes the shell's role: it is the first tool for interacting with the Unix environment, a guide for learning to navigate this new territory. Like a shami, users grow in skill and understanding through practice.
Koans (公案) - Riddles of Enlightenment: Koans are paradoxical questions or statements used in zen training, such as "What is the sound of one hand clapping?" They are designed to break through conventional thinking and lead to direct insight. The Unix command line works similarly - each command is a puzzle that, when mastered, reveals deeper understanding of the system. Learning to use tools like grep, sed, and awk is like solving koans: initially cryptic, but ultimately enlightening.
Why This Matters: These names are not just decorative - they reflect the principle that good software design shares the same principles as good zen practice: simplicity, directness, and harmony. By choosing names that carry this deeper meaning, the project reminds users that computing can be more than just technical - it can be an art form that brings joy and insight.
|
Design Philosophy
unsui follows the principle of "harmony through compatibility" - Unix standards and Amiga's unique capabilities can coexist and complement each other. Rather than forcing Amiga to become Unix, unsui provides a bridge that allows users to access the vast ecosystem of Unix software while preserving the Amiga experience.
The system is designed with modularity and pragmatism in mind. The focus is on providing a complete development environment and familiar command-line experience for a single-user home computer, avoiding the complexity and bloat of full multi-user server systems.
Each component name carries both poetic and technical meaning, creating a layered understanding that elevates the project from being merely thematic to being aligned with both its philosophical roots and its practical purpose.
|
Technical Specifications
|
Target Platform:
|
AmigaOS 3.x (68000/68020/68030/68040/68060)
|
|
Compilers:
|
SAS/C, DICE
|
|
Standards:
|
C99, POSIX.1-2001, SUSv3
|
|
Architecture:
|
Modular, layered design with self-hosting development environment
|
|
Use Case:
|
Single-user home computer with complete development capabilities
|
|
Frequently Asked Questions
Q: Why do we need a POSIX runtime on Amiga?
A: A POSIX runtime provides access to the vast ecosystem of Unix software, making it easier to port applications, use existing tools, and follow modern development practices while preserving the unique Amiga experience.
Q: How is unsui different from other Unix-like environments?
A: unsui is designed specifically for single-user home computers, avoiding the complexity of multi-user server systems. It focuses on development tools and practical utilities rather than enterprise features.
Q: Which compilers are supported?
A: UnixLib3 is designed for SAS/C and DICE compilers, providing a complete C99 and POSIX-compliant standard library for these popular Amiga development tools.
Q: What shell commands will be available?
A: The Koans component provides essential utilities like ls, cp, mv, rm, grep, sed, awk, tar, and gzip. These are the most commonly used commands for file management and text processing.
Q: Can I run existing Unix software?
A: Software written to POSIX standards should work with minimal modifications. The runtime provides the necessary system calls, file operations, and process management that most Unix applications expect.
Q: What about networking support?
A: Basic TCP/IP utilities like ping and library interfaces are included, but complex network daemons are excluded. The focus is on client-side networking rather than server capabilities.
Q: How does the zen philosophy relate to the technical design?
A: The zen-inspired names reflect the design principles: simplicity, directness, and harmony. Like zen practice, good software design achieves clarity through focused, purposeful implementation rather than unnecessary complexity.
Q: When will unsui be available?
A: unsui is currently in development. The project follows an iterative approach, with components being developed and tested incrementally to ensure quality and compatibility.
|
|
|
unsui - Where Unix meets Amiga, and harmony flows like water
|
|
|