[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