[Info-vax] Memory Management (was Re: Running Alpha VMS under the ES40 emulator)

Stephen Hoffman seaohveh at hoffmanlabs.invalid
Mon Oct 14 11:37:26 EDT 2013


On 2013-10-14 03:30:02 +0000, JF Mezei said:

> A properly written browser would have it "locally" release all memory 
> associated with a web page when that tab is closed. This may not be 
> reflected in the process virtual memory.

JF undoubtedly knows this, but closing a tab in various modern browsers 
frees the associated physical memory and also frees the underlying 
virtual memory.

In particular, these browser designs utilize operating system 
mechanisms to seek to isolate failures and crashes and security 
attacks: processes and sandboxes.

<http://blog.chromium.org/2008/09/multi-process-architecture.html>
<http://trac.webkit.org/wiki/WebKit2>

It's still possible that the controlling process(es) that are present 
in these design can leak memory, though garbage collection usually 
helps avoid damage from outright leaks.  But the most voluminous and 
most volatile and most untrusted data — the causes of trouble in most 
any web browser — the HTML web page contents, any Javascript, plug-ins, 
and the rest — are isolated into processes separate from the core 
browser process.

It's quite possible for VMS application programmers to use these 
general techniques and designs, but VMS itself lacks features such as 
process-management and coordination assists and sandboxing support.  
It's possible to implement the former, but I don't know of a good way 
to implement the latter without a FUSE interface or ACL-level callouts 
or some similar mechanisms within the system services and the file 
system.  Closest VMS home-grown analog to a sandbox would probably 
involve allocating a unique transient UIC group for each sandbox, but 
even then the entitlements mechanism would need to be created and 
managed by the application, and there's no easy way to isolate certain 
mechanisms such as networking, and I'd generally prefer to avoid 
pushing decisions related to security into a typical application.  Or 
writing a sandbox, for that matter.

Rather further along here is Erlang.  
<http://en.wikipedia.org/wiki/Erlang_(programming_language)>



-- 
Pure Personal Opinion | HoffmanLabs LLC




More information about the Info-vax mailing list