dywoq/zero
Folders and files
| Name | Name | Last commit date | ||
|---|---|---|---|---|
Repository files navigation
==============================================================================
Zero ZQ
•Zero ZQ is a 32-bit operating system, designed to be portable across various
architectures and platforms. In Zero, the portability is implemented using
abstraction layers. Below, you can see their brief definition and
responsibilities:
- AAL (Architecture Abstraction Layer): Hides the architecture-dependent
implementation details, including interrupt handling, virtual memory
management etc. Not used directly by the generic kernel code.
- PAL (Platform Abstraction Layer): The last startup point of Zero ZQ. Manages
the platform-dependent code, such as working with timer interrupts, disk,
mapping virtual memory and talking to AAL. Unlike AAL, PAL is used by the
generic kernel code frequently.
- BAL (Boot Abstraction Layer): The first startup point of Zero ZQ. Its
responsibility is to collect boot information (a memory map,
video information, time etc.) and provide it to PAL.
==============================================================================
Status
Below, you can see a current status of project, and what's planned (may change
in future):
Current status: Writing documentation, architecture and design of
the operating system
- Development tools:
ZeroBuild - Building system [ ]
ZeroDoc - Documentation packing and management [ ]
Integrating KConfig into build system [ ]
- Operating system:
"zqbal" (BAL's implementation, i386) [ ]
"zqaal" (AAL's implementation, i386) [ ]
"zqpal" (PAL's implementation, i386) [ ]
"zqke" (an operating system kernel) [ ]
Notes:
- The "zqpal" and "zqke" parts are going to be developed at the same time.
- New development tools and planned things list will expand as soon
as I bring notes from my notebook into README file.
Planned CPU architectures to support:
i386
Planned platforms to support:
IBM-compatible PCs