SpecOS / Blog: Recent posts

Signal sending and delivery

I've been working on a couple of larger projects over the past few months. Signal handling, pipes and GUI desktop.

For signals, the current prototyping code only supports SIGKILL, but it is implemented as a check in both the syscall handler and the preemption code, so we have multiple places to force a stubborn process to die.

As for other signals (a limited subset of the normal POSIX ones), although only the kill command can currently send them, the framework will still need to handle them. SIGKILL is easy because the kernel can immediately arrange for the thread to call proc_exit() which reclaims resources and markes itself as T_DEAD. The userland code never gets another chance to run.... read more

Posted by Brian Ruthven 2017-02-06

559:cfcf273930f4 uploaded

559:cfcf273930f4 uploaded. Not many changes since last update:

  • Lots of code cleanup (incuding linting of most source files)
  • stat() for files (incomplete)
  • Added devices for "/screen", "/keyboard" and "/null"
Posted by Brian Ruthven 2016-06-18

Changeset 520:966a0cd02999 files re-uploaded

Oops - I botched the previous upload so the "download latest" button didn't update. I've re-uploaded them now :-)

Posted by Brian Ruthven 2015-08-20

Changeset 520:966a0cd02999 files uploaded

It's been a while since I posted any files, so here is 520:966a0cd02999 as both a disk image and tape bootstrap program.

What's new since the last image:

  • Lots of source-code cleanup bits
  • DOS springboard code re-written to be faster
  • File rename and file delete syscalls added
  • perror() added
  • Shell can now background commands (using the crude builtin "bg" prior to running a command)
  • Process listing capability added
  • Most source is now passed through lint (which found some issues)... read more
Posted by Brian Ruthven 2015-08-10