Overview

TINOS project aims at developing a small, multipurpose operating system that provides a reasonably rich set of capabilities while maintaining relatively low demand on resources. Primary goal, however, is to gain some hands-on experience developing an operating system and learn about various techniques and designs in the area of modern operating systems.

Basically, TINOS is its author's hobby and as such it may cease to exist without reason or warning. However, I have a strong commitment to keep it going, especially thanks to a couple of people that have downloaded early versions of TINOS and shared their experiences with me (thank you guys). As long as there's even a slight interest, it makes my day.

TINOS is a system for PC platform and Intel 386/486/586 processor family. In the future it might get ported to some other platform, but that is the lowest priority at present. TINOS kernel is a preemptive, multithreading executive that provides separate virtual address space and multiple threads of execution per process. There are multiple threads of execution within the kernel as well. Scheduler provides a rather traditional preemptive, round-robin, priority-based mechanism. Virtual memory subsystem supports large, sparse address spaces described by mapped memory objects (including memory mapped files), shared or private (copy-on-write) mappings and page level mapping control. However, most of the detailed design and implementation issues regarding virtual memory are not yet complete.

TINOS is a microkernel based operating system, where kernel provides scheduling, virtual memory and fast interprocess communication services. All device drivers and filesystems are regular user-level processes. Such design puts a strong emphasis on a very efficient communication and virtual memory services. Thus, they are the main focus of current development efforts.

TINOS is written entirely in C language with some small portions in assembler where C couldn't handle it. I use Linux/GCC as my development platform. TINOS is booted by GRUB, a muliboot compliant bootloader developed by Erich Boleyn. For more information about grub and how to boot TINOS, see download section.


Copyright (c) 1998 Bart Sekura

1