Skip to content

matsud224/tinyos

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

tinyos

An UNIX-like toy operating system runs on x86 CPU

Modified gcc and newlib for cross-compile of userland applications are here.

Build

TODO

Features

  • Preemptive multitasking
  • Paging
  • Buddy memory allocation
  • Interrupts(PIC)
  • Timer(PIT)
  • Application runs in usermode
  • ELF loader
  • Delayed execution(like a work queue in Linux)
  • IDE disk driver
  • Serial port driver
  • RTL8139 NIC driver
  • Virtual file system layer
  • MINIX3 file system
  • FAT32 file system(readonly)
  • TCP/IP protocol stack(ported from my tinyip project)
  • Socket
  • Ported Newlib C library
    • (implemented exit, close, execve, fork, fstat, getpid, isatty, link, lseek, open, read, sbrk, stat, unlink, wait and write)
  • mruby in the kernel space

Screenshot Logging in via TCP/IP and running mruby, lua, ls and objdump.

References(random order)

License

  • Unlicense(Public Domain)