Andrew Stopford's Weblog

poobah

Sponsors

News

Articles

Family

Old Blogs

Silverlight PAL

I started pondering about the DLR and running it on the SSCLI when I came across this article on the CoreCLR (shared source version of that would be fun) and the following.

A lot of the Silverlight PAL benefits from lessons learned when we developed the Shared Source Common Language Infrastructure (SSCLI), also known as Rotor. The SSCLI ran on a number of UNIX-style platforms as well as Windows. The base OS functionality varies widely on UNIX-style platforms. The SSCLI PAL had to work on both microkernels (such as the Mach kernel in Mac OS X) and monolithic kernels and had to cope with different OS services such as threading, exception handling, and networking stacks. Because Silverlight only targets Windows and Intel Mac machines we were able to write Mac-specific implementations for many of the functions in the PAL, which helps with the size and performance of the PAL.

The diagram in the article makes more sense but the CoreCLR Platform Adaption Layer (PAL) works in the same way as Rotors in that anything Win32 related goes direct to the OS while anything else goes via the PAL. Rotors PAL targeted different chip sets and Win32, FreeBSD Unix and Mac OSX.  Free BSD and the Mac OSX are based on the same kernal (the Mach kernal) so chip sets aside porting the Mac PAL to the Unix PAL was relatively stright foward. The CoreCLR PAL targets the same chip set's and only requires a small sub-set of OS functionlity which keeps the complexity of the CoreCLR's PAL down.

Comments

No Comments

Leave a Comment

(required) 

(required) 

(optional)

(required)