Home Computer Audio Asylum

Music servers and other computer based digital audio technologies.

A Technical Response from Damien Plisson ( Audirvana)

Damien sent me this info to reassure users of the Audirvana Beta:

OS X is based on a BSD (flavor of Unix) kernel that brings virtual memory (so called "protected memory") management, along with a preemptive multitasking scheduler.
These two mechanisms ensure applications play along well, and that an application hang, or crash will not impact the rest of the system:
A hang is managed by the scheduler that gives back CPU to other apps when the hung app time is up.
For crash, each application lives in its own address space ("virtual memory") and any attempt to access beyond its allocated domain fails, terminating the application (99% of crashes).
The OS service, inter application communications, … are managed through specific ports/APIs/shared memory mechanisms offered by the kernel.

No application can directly access the kernel space. This is called the user/kernel boundary. It can be crossed on by drivers inside the kernel that offer services to applications. Outside those declared services, no way.
Audirvana Plus uses such official mechanisms, period. No "open heart surgery", evil hacking breaching security mechanisms.

But the kernel lives in a single address space, thus not isolating drivers from the other. This is mainly for performance reasons. (FYI, there have been some microkernel designs with this kind of protection at all levels, but the performance hit what too high). That's why a IOAudioFamily / OSvKernDSPLib failure crashes the kernel, thus the whole system. And note that it is not that bad, some core functions being still alive as it can display the error message on the screen.

On kernel panics impact: OS X makes use of a journaling file system. This is a technology directly derived from the high end databases: the two phases commit.
First phase: you write in the journal what you intend to do, with the roll back information. Second phase: you perform the operation, and finally you erase the journal entry.
This ensures that the hard drive will always be in a consistent state, even if the system crashes (kernel panic, power loss) at the wrong time. In this case, at the next boot, it will find journal entries about incomplete operations, and perform the roll back steps to ensure the hard drive consistency.

A note about sandboxing: this is a new feature first introduced in Lion, and that will get widely used only from Mountain Lion on. Goal is to prevent malicious activity (e.g. viruses, trojans, …).
This is a trick to fool an application by making it believe it is running in a very limited system, with access to only the approved services (see: https://developer.apple.com/devcenter/mac/app-sandbox/ ). E.g. the objective is to avoid an application approved for text editing to play with USB devices.


This post is made possible by the generous support of people like you and our sponsors:
  Amplified Parts  


Follow Ups Full Thread
Follow Ups

FAQ

Post a Message!

Forgot Password?
Moniker (Username):
Password (Optional):
  Remember my Moniker & Password  (What's this?)    Eat Me
E-Mail (Optional):
Subject:
Message:   (Posts are subject to Content Rules)
Optional Link URL:
Optional Link Title:
Optional Image URL:
Upload Image:
E-mail Replies:  Automagically notify you when someone responds.