comps
      aios_logo
title








Visit
News
Downloads
Images
Handbooks
Mailing list
Forum
Links
Credits
Artificial intelligence Oprating System

aios is an operating system for x86 PC.It aimed to make you understand how to develop operating system. after follow the links given below or reading our handbooks and experimenting on aios source code you will be able to make your own operating system.you can also help us throug your beautiful ideas.aios has a great forum where you share your views with others further you can mail me personally.I will be glad to response on your beautiful questions.

aiOS and osdev wiki
aios wiki handbooks
  • Users manual
  • Developer guide
  • basic things to know
  • up to you
Introduction
Basic information
  • Introduction
  • Required Knoledge
  • Beginner mistakes
  • Licencing
  • Getting started
  • How to ask questions
  • What order should i make things in?
  • Frequently asked questions
  • tutorials
Environment
  • How kernel,compiler and C library work together
  • Interrupt Service routines , which can not be do in C
  • Using other language than C
  • The Bios PC (including examle)
  • Object files and relocation
  • How to ask questions
  • What order should i make things in?
  • Frequently asked questions
  • tutorials

Bare Bones/Baby step

  • Bare Bones
  • C++ Bare Bones
  • D Bare Bones
  • Pascal Bare Bones
  • FreeBasic Bare Bones
  • The BabyStep Tutorial

Booting and Setup

  • Boot Sequence
  • Diskless Booting
  • GDT Tutorial
  • Interrupts
  • Getting Keyboard Input

Testing and Debugging

  • Troubleshooting
  • Testing
  • Unit Testing
  • How Do I Use A Debugger With My OS

Design Consideration

Kernel Models

  • Monolithic Kernel
  • Microkernel
  • Exokernel and related models
  • Modular Kernel
  • More...

Task Models

  • Monotasking Systems
  • Multitasking Systems
  • Real-Time Systems
  • More...

Memory and Resource Management

  • Memory management - Overview and Introduction
  • Segmentation
  • Paging
  • Page Frame Allocation
  • File Management
  • File Systems
  • More...

Scheduling

  • Processes and Threads
  • Context Switching
  • Scheduling Algorithms
  • Multiprocessor Scheduling
  • Blocking Process - processes sleeping and waiting
  • More...

Process Sychronization

  • Synchronization Primitives - Semaphores, mutexes, spinlocks et al.
  • Signals
  • More...

Inter-Process Communication

  • Message Passing
  • Shared Memory
  • RPC - Remote procedure calls
  • More...

Resources

  • Books on OS Development
  • Assembly
  • Some small kernels with source
  • Disk Images with preinstalled GRUB
  • Deprecated, yet relevant, bits of specifications
  • Chip Numbers, Acronyms and Things
  • Resources
  • More...

Reference Information

    Executable File Types
  • 32 bit
    • ELF
    • PE
  • 16 bit
    • COM
    • MZ

Filesystems

  • FAT Details
  • Ext2 Details
  • SFS Details
  • NTFS Details
  • More...

CPU
Modes

  • Real Mode
  • Protected Mode
  • Virtual 8086 Mode
  • X86-64

Hardware
The Hardware Category and linked resources

Other

  • IA32 Architecture Family
  • Model Specific Registers (MSRs)
  • Detecting CPU Speed
  • Inline Assembly/Examples
  • CPU Bugs
  • AMD K6 WriteBack Optimisations
  • SSE
  • Where Can I Find Information About Ports

Memory

  • Detecting Memory (x86)
  • A20 Line or "Why cant I access all my memory?"

IRQ's and Exceptions, PIC, NMI, APIC, OPIC

  • PS2 Keyboard Input
  • Mouse Input
  • I can't get interrupts working
  • IDT problems
  • Interrupt Service Routines (ISRs)
  • Interrupts
  • Non Maskable Interrupt (NMI)
  • APIC
  • PIC

Clocks, Timers and Counters

  • Programmable Interval Timer (PIT)
  • The CMOS clock, and its RTC chip
  • APIC timer (per-processor timer)
  • Detecting CPU Speed

Video

  • Accelerated Graphic Cards
  • Detecting Colour and Monochrome Monitors?
  • Printing to Screen in protected mode
  • Text Mode Cursor
  • Drawing In Protected Mode
  • Kernel Stdio Theory
  • VGA Resources and VGA Hardware documentation
  • Drawing characters in graphics mode using VGA Fonts
  • Video Signals And Timing
  • How to program Bochs' and QEMU's BGA graphics device

Audio

  • Sound
  • PC Speaker
  • Sound Blaster 16

Storage devices

  • ATA (harddisks)
  • ATAPI (CD-ROM)
  • DMA
  • Floppy Disk Controller (FDC)

Plug and Play

  • Plug-and-Play (PNP)
  • PNP Calls In Protected Mode

PCI, USB and things like this ...

  • AGP
  • USB
  • PCI

Network cards and communicating devices

  • 3c90x
  • Intel 8254x
  • Serial ports
  • Ne2000
  • RTL8139
  • RTL8169
  • 802.11

Non-x86 Development

  • PowerPC
  • MIPS
  • Sparc
  • ARM

Tools

Bootloaders

  • Bootloader theory
  • GRUB / GRUB 2
  • LILO
  • XOSL
  • System Commander
  • Boot Magic
  • Rolling Your Own Bootloader

Compilers

  • GCC
  • Cygwin
  • MinGW
  • Dev-C++
  • DJGPP
  • Building a GCC Cross-Compiler
  • Porting GCC to your OS
  • Calling Conventions of GCC for x86 systems
  • Watcom C/C++
  • Visual Studio
  • Visual C++ Runtime
  • TCC
  • Other Compilers

Assemblers

  • GAS (GNU as, part of binutils)
  • Cygwin
  • FASM
  • NASM
  • YASM
  • On the difference between AT&T and Intel Opcode syntax

Linkers

  • LD (GNU ld, part of binutils)
  • Link Archiver (GNU ar, part of binutils)

Emulators

  • Bochs
  • QEMU
  • Microsoft Virtual PC
  • Windows Virtual PC
  • VMWare
  • VirtualBox
  • SimICS

Working with Disk Images

  • Disk Images in general, and ...
  • Loopback Device for Linux, *BSD et al.
  • hdiutil for MacOS X
  • Windows Tools

Artificial Intelligence Operating System beyond superficial

©aios 2012-13 ,proshanta@searchcode.org