FW: [Malvern] Permissions and Securing Data

Ian Pascoe ianpascoe at btinternet.com
Sun Jun 17 19:33:55 BST 2007


Cheers Keith, Chris and Greg

This all stemmed from another thread on a different list which got me
thinking.

If you have two instances of the same app running, which would use the same
temporary files and program modules could there be a cross over of
information.  Say you had a module that contained common data for that
particular app, when the second app is running what stops it from grabbing
the same information as the first - presumeing that that module contains
just the file name of the data that is being worked on?  I'm guessing that
this is stopped by Greg's memory allocation as below.

Chris, I can see that runing the app in two different shells would keep the
apps seperated but would they still run concurrently?

E

-----Original Message-----
From: magicobject at googlemail.com [mailto:magicobject at googlemail.com]On
Behalf Of Greg Wright
Sent: 13 June 2007 21:22
To: ianpascoe at btinternet.com
Subject: Re: [Malvern] Permissions and Securing Data


There are different types of memory pages.

The program executable pages can be shared. Even the data segments of
the program can be shared. Once a data page is written to however, it
is marked as dirty, and is unavailable for the other processes.

(This system is extremely efficient, for example if you run a program
twice in quick succession the chances are that the program executable
pages are already in memory so don't have to be fetched from disk. If
the system runs short of physical memory, clean pages (program
executable pages and data pages that have not been written to) can be
released to the system straight away. Dirty pages would have to be
copied to swap before they can be reused.)

So to answer your question. As much memory as possible is shared but
as soon as a process writes to a page it gets its own copy (unless
that page is in a shared memory segment). Attempts to access
non-shared data pages owned by a different process will result in an
access violation causing the process to dump core.

It certainly used to be the case that windows could not do this type
of memory sharing, and hence was more memory intensive than *nix
systems.

Regards
Greg

On 13/06/07, Ian Pascoe <ianpascoe at btinternet.com> wrote:
>                         Hi-de-hi
>
> WARNING:  This is an Ian question!
>
> If you have the following scenario whereby you have an application working
> with some data, the CPU usage shows that there is sufficient spare
capacity
> to run the program a second time using a different data source, how would
> you go about this to ensure that the multiple copies of the application
> can't inadvertantly take data from one instance of the program and use it
in
> another, or interfere with one another?
>
> Hope that kinda makes sense.
>
> Is this what would be called virtualisation ?  Or is it just a simple
> question of running it in a different workplace if ran from a GUI.
>
> E
>
>
>
> _______________________________________________
> Malvern mailing list
> Malvern at mailman.lug.org.uk
> https://mailman.lug.org.uk/mailman/listinfo/malvern
>





More information about the Malvern mailing list