Giter Club home page Giter Club logo

zosys's Introduction

ZOSys

ZOSys is a Unix-inspired operating system written for the SC126 board by Stephen C Cousins.

Design

ZOSys uses the Z180 MMU heavily. On boot, the system is loaded from ROM to RAM, and execution continues there.

The kernel exists in the first full memory space, pages 0x80-0x8F. Each process receives a block of 16 pages.

The lowest page in memory remains mapped to page 0x00. All vector behaviour is fixed at runtime, and writes to this area are ignored.

The highest page in memory is always mapped to the highest page in the process's page block. This may not be used by user code. It is used for syscall and interrupt stacks, and for kernel temporary data.

The pages between the lowest and the highest are either mapped to kernel space or to process space, depending what code is running.

While running kernel code, the MMU is configured as follows:

0x0000+---------+
      | Vectors |
      |(0x00000)|
0x1000+---------+
      |         |
      | Kernel  |
      |(0x81000)|
      |         |
      |         |
0xF000+---------+
      |Temporary|
      |(0xXF000)|
      +---------+

When running user code, the MMU is configured as follows:

0x0000+---------+
      | Vectors |
      |(0x00000)|
0x1000+---------+
      |         |
      |Userspace|
      |(0xX1000)|
      |         |
      |         |
0xF000+- - - - -+
      |Temporary|
      |(0xXF000)|
      +---------+

Building

Requires z88dk.

Run make in the top-level directory to build.

zosys's People

Contributors

0xtj avatar

Stargazers

 avatar MiguelVis avatar Wayne Warthen avatar Chris Lidyard avatar Sergey Kiselev avatar MacTORG avatar

Watchers

James Cloos avatar MiguelVis avatar  avatar

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    ๐Ÿ–– Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. ๐Ÿ“Š๐Ÿ“ˆ๐ŸŽ‰

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google โค๏ธ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.