Viewing system information for a device

The Momentics IDE for BlackBerry provides a rich environment not only for developing and maintaining your apps, but also for examining the details of your running devices.

You can use the Momentics IDE to find answers to these questions:

  • Are my processes running?
  • What state are they in?
  • What resources are being used, and by which processes?
  • Which processes or threads are communicating with which other processes or threads?

The System Information perspective

The System Information perspective provides a detailed report on your target's resource allocation and usage, and key metrics such as CPU usage, app layout, and the interaction of different apps.

Screen showing the System Information perspective.

Key terms


The minimum unit of execution that can be scheduled to run.


A container for threads, defining the virtual address space that the thread runs in. A process always contains at least one thread. Each process has its own set of virtual addresses, typically ranging from 0 to 4 GB.

Threads in a process share virtual memory space but have their own stacks.This common address space allows threads in the process to access shared code and data easily. It also lets you optimize or group common functionality, while still providing process-level protection from the rest of the system.

scheduling priority

The order that threads run in when multiple threads are competing for CPU time.

Each thread can have a scheduling priority ranging from 1 to 255 (the highest priority), independent of the scheduling policy. The special idle thread (in the process manager) has priority 0 and is always ready to run. By default, a thread inherits the priority of its parent thread.

You can set a thread's priority using the pthread_setschedparam() function.

scheduling policy

The policy that determines which thread should run next when two or more threads share priority (that is, the threads are directly competing with each other for the CPU). The following policies are available:

  • Round-robin
  • First-in, first_out (FIFO)
  • Sporadic

You can set a thread's scheduling policy using the pthread_setschedparam() function or you can start a process with a specific priority and policy by using the on command.


The state of the thread. Only one thread can run at a time. If a thread isn't in RUNNING state, it must either be READY or BLOCKED (or in one of the many blocked variants).

message passing

The fundamental form of communication in BlackBerry 10 OS. The OS relays messages from thread to thread using a send-receive-reply protocol. For example, if a thread calls the MsgSend() function, but the server hasn't yet received the message, the thread is SEND-blocked. A thread waiting for an answer is REPLY-blocked.


The medium for transmitting messages. Message passing is directed at channels and connections, rather than targeted directly from thread to thread. A thread that wants to receive messages first creates a channel; another thread that wants to send a message to that thread must first make a connection by attaching to that channel.


An asynchronous event notification that can be sent to your process. Signals may include:

  • Simple alarms based on a previously set timer
  • A notification of unauthorized access of memory or hardware
  • A request for termination
  • User-definable notifications

The OS supports the standard POSIX signals (as in UNIX) as well as the POSIX real-time signals. The POSIX signals interface specifies how signals target a particular process, not a specific thread. To ensure that signals go to a thread that can handle specific signals, many apps mask most signals from all but one thread.

You can specify the action associated with a signal by using the sigaction() function and block signals by using the sigprocmask() function. You can send signals by using the raise() function, or you can send them manually using the Target Navigator view. For more information, see Using System Information views.

Last modified: 2015-04-24

Got questions about leaving a comment? Get answers from our Disqus FAQ.

comments powered by Disqus