Video Screencast Help
Endpoint Virtualization Community Blog

Delving Deeper into Layer Prioritization

Created: 08 Mar 2006 • Updated: 29 Jul 2010 • 1 comment
Jared Payne's picture
0 0 Votes
Login to vote

Jared Payne provides helpful details on the priority values assigned by Fslx.sys to shed some light on the Layer Prioritization section of the SVS White Paper.

One of our readers wrote us that page 9 of the SVS white paper was confusing, with the chart displaying a Base request twice -- for example, with 2 different Default Priorities but no explanation as to why they are different, as follows:

By default, Fslx.sys assigns layers the following priority values:

Type of Request Default Priority Value
Data layer
(File System Priority)
45.5
Priority of the layer's files from the perspective of any application

Normal owner
(File System Priority UNCHANGEABLE)
55.5
Priority of the layer's files from the perspective of an application running from that layer

Base owner
(File System Priority UNCHANGEABLE)
65.5
Priority of base's files from the perspective of an application running from the base

Base
(File System Priority UNCHANGEABLE)
75.5
Priority of the base's files from the perspective of an application running in an application layer

Normal
(File System Priority)
85.5
Priority of the layer's files from the perspective of an application running outside the layer

Normal owner
(Registry Priority UNCHANGEABLE)
55.5
Priority of the layer's registry entries from the perspective of an application running from that layer

Normal
(Registry Priority)
65.5
Priority of the layer's registry entries from the perspective of an application running outside the layer

Base owner
(Registry Priority UNCHANGEABLE )
75.5
Priority of the base's registry entries from the perspective of an application running from the base

Base
(Registry Priority UNCHANGEABLE )
85.5
Priority of the base's registry entries from the perspective of an application running from a layer

Page 10: "Fslx.sys assigns a priority of 65.5 to the Firefox layer, a priority of 65.4 to the Opera layer, and a priority of 85.5 to the base."

65.5 is the default value of the registry of an application layer. In the example given, they did not tell you that the priority of the Opera's registry was changed to 65.4. Changing the priority of the Opera's registry to 65.4 makes it so that if FireFox and Opera are both active, you will get the results you expect when you open a Web page, in this case, Opera. If Opera and FireFox both had a layer priority of 65.5, it would be undefined which application that would open the Web page.

Comments 1 CommentJump to latest comment

trb48's picture

I think that this is a great post, but it was not completely clear until I took a trip to the white paper that is referred to. I have decided to post the text...

This is page 10 of the SVS White Paper

Suppose a user has on his machine two virtualized browser applications: Mozilla's Firefox and Opera Software's Opera. Further, suppose that the layers both applications occupy are currently active on the user's computer. When the user double-clicks an HTML file on his desktop:

  1. Explorer calls the system registry to determine which program handles HTML files. This is an HKEY_CLASSES_ROOT request. Fslx.sys intercepts the call.
  2. Fslx.sys considers the Firefox layer, the Opera layer, and the base. Because both Firefox and Opera are registered to open HTML files, Fslx.sys checks certain values in the registry redirection area. Specifically, it checks values in HKEY_CURRENT_USER and HKEY_LOCAL_MACHINE.
  3. Based on these values, Fslx.sys assigns a priority of 65.5 to the Firefox layer, a priority of 65.4 to the Opera layer, and a priority of 85.5 to the base.
  4. Fslx.sys begins its search for the files with which it will respond to the system's request. By beginning at the layer with the lowest numerical value (which represents the layer with the highest priority), Fslx.sys determines that it should use the following search order: Opera layer, Firefox layer, and the base. Fslx.sys performs these searches quickly, without creating noticeable system delays.
  5. Fslx.sys directs the request to the Opera layer.
  6. The system launches the Opera browser.

Although Fslx.sys assigns priorities automatically based on the conditions noted above, you can manually assign priorities.

-7
Login to vote