TEKlib v0.32
helium release
(c) 2001 by TEK neoscientists
all rights reserved.
overview
----------------------------------------------
TEKlib is a virtual operating system, middleware, and IPC
layer. it provides portable services for
- memory management
- timers
- mutexes
- events
- threads
- message IPC
- network transparency
TEKlib implements an ultra-thin¹ abstraction to a host's
kernel, with currently two layers entirely differing in
respect to naming conventions and abstraction levels. an
implementation of the lower layer ('kernelspace') provides a
port to another platform. the upper layer ('tekspace') is
fully portable, and applications written for that API
compile flawlessly, without modifications, on all supported
platforms.
currently TEKlib supports an ANSI C conformant API for the
following platforms:
- Linux/32bit²
- TAO Elate/AmigaSDK 1.01
- AmigaOS 3.x
- MorphOS
examples in C and documentation in plain text, amigaguide,
HTML, and PDF are included.
¹ currently less than 30k of binary code
² mostly POSIX compliant, but untested on other operating
systems and architectures; for porting see kn/linux/exec.c
key benefits
----------------------------------------------
- well-defined multitasking semantics for atomic, explicit,
massive parallelity
- tasks are autonomous entities supplied with means for
communication; communicating tasks can be passed around like
objects
- realtime conformant design
- fine-grained, recursive memory management, including
memory pools, optimized reallocation strategies,
thread-safety, cleanup handling
- reliable, unified messaging semantics for synchronous and
asynchronous IPC in both local address space and via network
- protocol-agnostic messaging layer, currently implemented
with TCP/IP sockets
- small, robust, fault-tolerant, fast, portable, fully
re-entrant, not limited to a particular compiler
- open source, BSD style licensing model.
security warning
----------------------------------------------
this library is targetted to creating distributed software in
the long run. at its current development stage, it lacks the
implementation of a fully-fledged security philosophy. don't let
networked TEKlib applications listen on privileged port numbers,
and don't announce messageports outside of trusted environments
for now.
requirements
----------------------------------------------
known, tested, recommended configurations
Linux - 2.2 and 2.4 kernel series, gcc 2.95.2,
libpthreads, libX11 (optional)
AmigaOS - AmigaOS 3.x, bsdsocket.library v4,
guigfx.library and render.library (optional),
SAS/C 6.5x or egcs 2.91.66
TAO Elate - AmigaSDK 1.01, vpcc 2.0
MorphOS - bsdsocket.library v4, guigfx.library and
render.library (optional), gcc 2.95.2
authors
----------------------------------------------
timm s. mueller
tmueller@neoscientists.org
daniel adler
dadler@neoscientists.org
visit the TEKlib homepage:
www.neoscientists.org/~bifat/teklib/
|