Skip to content

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

57 Commits
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

==============================================================================

                                Zero ZQ

•Zero ZQ is a 64-bit operating system, written in Rust. It's 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:
        Zero CLI                                            [ ]

- Operating system:
        "zqbal" (BAL's implementation, x86-64)              [ ]
        "zqaal" (AAL's implementation, x86-64)              [ ]
        "zqpal" (PAL's implementation, x86-64)              [ ]
        "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:
        x86-64

Planned platforms to support:
        QEMU emulator