|
||||||||||
PREV PACKAGE NEXT PACKAGE | FRAMES NO FRAMES |
See:
Description
Interface Summary | |
---|---|
FindProc | Interface to be used with Host.requestFindProc. |
HostRefreshBuilder | [Re-]build the information on the processes running on a host. |
Observer | Root Observer interface. |
ProcBlockObserver | An interface perform a one time check of all tasks while each is in the blocked state. |
ProcTasksObserver | An interface for clients to correctly know about all tasks of a Proc. |
TaskAttachedObserverXXX | Interface used to notify of a Task that has has been attached, and is about to resume execution in that state. |
TaskObserver | Observable events generated by a Task. |
TaskObserver.Cloned | Interface used to notify of Task clone events. |
TaskObserver.Code | Interface used to notify of a Task that the task's execution has reached a specific point in the code address space. |
TaskObserver.Execed | Interface used to notify of a Task exec (overlaying the process image with that of a new program). |
TaskObserver.Forked | Interface used to notify of Task forked (creating a new child process that contains one Task) events. |
TaskObserver.Instruction | Interface used to notify that a Task has executed a single instruction. |
TaskObserver.Signaled | Interface used to notify that a Task has a pending signal. |
TaskObserver.Syscalls | Interface used to notify of a Task either entering, or exiting a system call. |
TaskObserver.Terminated | Interface used to notify that Task has terminated (the task no longer exits). |
TaskObserver.Terminating | Interface used to notify of a Task that is terminating. |
TaskObserver.Watch |
Class Summary | |
---|---|
Action | An Observer return this Action to indicate what should
happen next. |
Auxv | |
Environ | The environment vector. |
Host | A host machine. |
HostEvent | Possible host events. |
Manager | Manager of all operations within the proc model. |
MemoryMap | Represent a memory map as modelled in /proc/$$/maps. |
Observable | Observable element of the proc model. |
Observation | The binding between an Observer and its Observable. |
Proc | A UNIX Process, containing tasks, memory, ... |
ProcBlockAction | This class blocks all of the threads in a process and performs a given action defined by the method existingTask(Task task) on each task. |
ProcEvent | |
ProcEventObservable | |
ProcTasksAction | Provides a mechanism for tracing all clone events within a process. |
StressAttachDetachManyTasks | Test attaching to a process with many many tasks. |
StressAttachDetachRapidlyCloningMainTask | Observer stress test. |
StressAttachDetachRapidlyForkingMainTask | Check that the observer TaskObserver.Forked works. |
StressAttachDetachSignaledTask | Test attaching to a process with many many tasks. |
StressAttachDetachSignaledTask.SignalStorm | A signal class; that just adds then delets itself. |
StressTestAbandon | |
Task | |
TaskEvent | |
TaskId | Light weight identifier for a task. |
TestAbandon | |
TestBreakpoints | |
TestBreakpoints.InstructionObserver | |
TestComparable | |
TestEnviron | Test an Environment vector. |
TestExec | Test the exec event. |
TestFindProc | |
TestHostGet | Test Host's public get methods. |
TestInstructions | |
TestInstructions.InstructionObserver | |
TestInstructions.Symbol | |
TestMapGet | |
TestProcForceDetach | |
TestProcGet | Test Proc's public get methods. |
TestProcTasksObserver | Test that the Proc's ProcTasks Observer correctly reports the tasks belonging to a process. |
TestProcTasksObserver.ProcTasksTester | |
TestRun | Check that a program can be run to completion. |
TestSyscallRunning | XXX: This code should be simplified, eliminating local parallelism by performing everything in a single test-thread. |
TestSyscallSignal | XXX: This code should be simplified, eliminating local parallelism by performing everything in a single test-thread. |
TestTaskClonedObserver | Check that clone (task create and delete) events are detected. |
TestTaskForkedObserver | Check that the observer TaskObserver.Forked works. |
TestTaskObserver | Generic observer tests - that the framework functions ok. |
TestTaskObserverDetach | Check that random events, arriving mid-way through a detach, are handled. |
TestTaskObserverInstruction | |
TestTaskObserverInstruction.InstructionObserver | |
TestTaskObserverInstructionAndCode | |
TestTaskObserverInstructionAndCode.CodeObserver | |
TestTaskObserverInstructionAndCode.InstructionObserver | |
TestTaskObserverInstructionAndCode.TerminatedObserver | |
TestTaskObserverInstructionAndCode.TestObserver | |
TestTaskObserverInstructionSigReturn | |
TestTaskObserverWatchpoint | |
TestTaskObserverWatchpoint.AddFailWatchObserver | |
TestTaskObserverWatchpoint.CodeObserver | |
TestTaskObserverWatchpoint.FailingWatchObserver | |
TestTaskObserverWatchpoint.InstructionObserver | |
TestTaskObserverWatchpoint.OkToTerminateObserver | |
TestTaskObserverWatchpoint.Symbol | |
TestTaskObserverWatchpoint.TerminatedObserver | |
TestTaskObserverWatchpoint.TestObserver | |
TestTaskObserverWatchpoint.WatchObserver | |
TestTaskSyscallObserver | Check that syscall events are detected. |
TestTaskSyscallObserver.SyscallObserver | |
TestTaskTerminateObserver | Check the Task terminating and terminated observers. |
TestTaskTerminateObserver.TerminatingCounter |
This package implements frysk's process model of the target system.
Host
), processes
(Proc
), and tasks (Task
, a.k.a., threads).
Frysk provides both behavioral and relational views of that model.
The following sections describe each of those views.
Process 1 forms the root of the process tree.
The tasks, within a process, form a simple two level tree:
Methods for iterating over, and searching for, a host's process and tasks are provided.
The process model can also be viewed as a collection of independent state-machines. Each state-machine instance tracks the state of the corresponding host, process, or task.
For instance, a process(or Proc
object) has the
following states:
The client manipulates a state-machine instance by sending it request messages. The state-machine, in turn, notifies interested client of state transitions that result from these requests, and other asynchronous events, using observers.
Finally, the individual state-machine uses internal messages to co-ordinate the systems overall state.
|
||||||||||
PREV PACKAGE NEXT PACKAGE | FRAMES NO FRAMES |