# PepperOS Manual

# Table of Contents

- [Overview](#i-overview)
    - [Supported Hardware](#a-supported-hardware)
    - [Features](#b-features)
- [Kernel architecture](#ii-kernel-architecture)
    - [Boot process](#a-boot-process)
    - [Memory management](#b-memory-management)
    - [Scheduling](#c-scheduling)
    - [Input/output](#d-inputoutput)
- [Syscall table](#iii-syscall-table)

## I. Overview

## a. Supported Hardware

The recommended hardware to run PepperOS is the following:

- UEFI/BIOS
- Any x86 processor, 64-bits only
- PS/2 Keyboard
- Minimum 128MB of memory

## b. Features

- Round robin preemptive scheduling
- Coexistence of ring 0 and ring 3 processes

## II. Kernel architecture

### a. Boot process

### b. Memory management

### c. Scheduling

### d. Input/Output

## III. Syscall table

The syscall interface in the Pepper kernel uses the System V ABI convention for argument order.
It vaguely mimics Unix-like systems. You will find it in [SYSCALLS.md](SYSCALLS.md).