When does QNX page?

QNX has virtual memory, but when does it use it? Do you
lock real time processes into memory with “mlock”, or what?
The help files seem to be silent on the subject of
virtual memory.

John Nagle
Team Overbot

John Nagle <nagle@downside.com> wrote:

QNX has virtual memory, but when does it use it? Do you
lock real time processes into memory with “mlock”, or what?
The help files seem to be silent on the subject of
virtual memory.

It’s not actually a supported feature outside of the GNU toolchain.

chris


Chris McKillop <cdm@qnx.com> “The faster I go, the behinder I get.”
Software Engineer, QSSL – Lewis Carroll –
http://qnx.wox.org/

Mario Charest postmaster@127.0.0.1 wrote:

“John Nagle” <> nagle@downside.com> > wrote in message
news:c9976j$gbf$> 1@inn.qnx.com> …
QNX has virtual memory, but when does it use it? Do you
lock real time processes into memory with “mlock”, or what?
The help files seem to be silent on the subject of
virtual memory.

Virtual memory it one thing, swapping to disk is another. QNX is alway
using virtual memory, that means you run in a private address space where
addresses don’t match physical address.

That’s “virtual addressing,” not “virtual memory.” Think about what’s
virtual (i.e., what doesn’t “physically” exist). In VA, it’s the addresses
that are virtual, in VM it’s the actual memory that’s virtual.

Sorry, just one of my “buttons”. :slight_smile:

Cheers,
-RK

Some oses, through virtual memory can move some address range to disk, that
swapping, QNX doesn’t really use it, only gcc does as Chris mentionned.


John Nagle
Team Overbot


[If replying via email, you’ll need to click on the URL that’s emailed to you
afterwards to forward the email to me – spam filters and all that]
Robert Krten, PDP minicomputer collector http://www.parse.com/~pdp8/

“John Nagle” <nagle@downside.com> wrote in message
news:c9976j$gbf$1@inn.qnx.com

QNX has virtual memory, but when does it use it? Do you
lock real time processes into memory with “mlock”, or what?
The help files seem to be silent on the subject of
virtual memory.

Virtual memory it one thing, swapping to disk is another. QNX is alway
using virtual memory, that means you run in a private address space where
addresses don’t match physical address.

Some oses, through virtual memory can move some address range to disk, that
swapping, QNX doesn’t really use it, only gcc does as Chris mentionned.

John Nagle
Team Overbot

“Robert Krten” <rk@parse.com> wrote in message
news:c9fdpu$6kh$1@inn.qnx.com

Mario Charest postmaster@127.0.0.1 wrote:

“John Nagle” <> nagle@downside.com> > wrote in message
news:c9976j$gbf$> 1@inn.qnx.com> …
QNX has virtual memory, but when does it use it? Do you
lock real time processes into memory with “mlock”, or what?
The help files seem to be silent on the subject of
virtual memory.

Virtual memory it one thing, swapping to disk is another. QNX is alway
using virtual memory, that means you run in a private address space
where
addresses don’t match physical address.

That’s “virtual addressing,” not “virtual memory.” Think about what’s
virtual (i.e., what doesn’t “physically” exist). In VA, it’s the
addresses
that are virtual, in VM it’s the actual memory that’s virtual.

Sorry, just one of my “buttons”. > :slight_smile:

Let there be light :wink:

Cheers,
-RK

Some oses, through virtual memory can move some address range to disk,
that
swapping, QNX doesn’t really use it, only gcc does as Chris mentionned.


John Nagle
Team Overbot


\

[If replying via email, you’ll need to click on the URL that’s emailed to
you
afterwards to forward the email to me – spam filters and all that]
Robert Krten, PDP minicomputer collector > http://www.parse.com/~pdp8/

“Robert Krten” <rk@parse.com> wrote in message
news:c9fdpu$6kh$1@inn.qnx.com

Mario Charest postmaster@127.0.0.1 wrote:

“John Nagle” <> nagle@downside.com> > wrote in message
news:c9976j$gbf$> 1@inn.qnx.com> …
QNX has virtual memory, but when does it use it? Do you
lock real time processes into memory with “mlock”, or what?
The help files seem to be silent on the subject of
virtual memory.

Virtual memory it one thing, swapping to disk is another. QNX is alway
using virtual memory, that means you run in a private address space
where
addresses don’t match physical address.

That’s “virtual addressing,” not “virtual memory.” Think about what’s
virtual (i.e., what doesn’t “physically” exist). In VA, it’s the
addresses
that are virtual, in VM it’s the actual memory that’s virtual.

Sorry, just one of my “buttons”. > :slight_smile:

Cheers,
-RK

Indeed. So QNX does use VA. But I’m not sure that I heard an answer to
the main question.
Does QNX use VM? If so, how do you lock memory for a real-time process?

Cheers,
Steve

Steve Cobb wrote:

Indeed. So QNX does use VA. But I’m not sure that I heard an answer to
the main question.
Does QNX use VM? If so, how do you lock memory for a real-time process?

It doesn’t currently, but the api’s are in place to lock the memory via
mlock(), mlockall() etc.

\

Cheers,
Adam

QNX Software Systems Ltd.
[ amallory@qnx.com ]

With a PC, I always felt limited by the software available.
On Unix, I am limited only by my knowledge.
–Peter J. Schoenster <pschon@baste.magibox.net>