Should the standard library be "batteries included"?

iRMX 86 was the best OS I ever developed on

It had concept of levels

1. Nucleus

  • task scheduling
  • jobs
  • segments
  • mailboxes - my favorites
  • semaphores
  • regions
  • interrupt response
  • object directories

This is where hard realtime programming lived.


2. Executive

Built on nucleus objects.

Adds:

  • richer process control
  • naming/cataloging
  • system object organization
  • higher-level synchronization

Application system programmers usually worked here.


3. BIOS (Basic I/O System)

Low-level async I/O abstraction:

  • device-independent queues
  • driver framework
  • request packets
  • interrupt-driven completion

4. EIOS (Extended I/O System)

Adds filesystem:

  • hierarchical files
  • logical names
  • buffering
  • synchronous operations
  • pathname lookup

Possibly std also need “levels”

And one important point - you can write your application on every level, depends on functionality

3 Likes