NAME
kmview - Kernel Mode implementation of View-OS
SYNOPSIS
kmview [ options ] prog
DESCRIPTION
The main goal
of the View-OS project is to give each process its own view
of the system resources. For example, each process can mount
filesystems or hide some file or directories. It is also
possible to assign virtual network interfaces, IP addresses
or define virtual devices for each process (or for
hierarchies of processes).
kmview is the kernel module implementation of View-OS
concepts. It works on a linux kernel providing utrace and it
needs the kmview kernel module already loaded to
work. It is a modular partial virtual machine. kmview
before loading any module is completely transparent, a
process behaves inside kmview as it would have
behaved outside. Each module can customize specific
entities: there are modules to mount filesystems at
user-level (umfuse) , to define virtual networking
stacks (net) , to define virtual devices
(umdev) , to provide interpreters for executables,
e.g. to support executables for foreign architectures
(umbinfmt) , to hide, move, overlay parts of the file
system (viewfs).
These are some examples of modules provided by the View-OS
team. kmview aims to provide a general interface to
customize the system call semantics of process under
specified conditions. So more modules will be added both by
the View-OS team and by third parties.
OPTIONS
-V
name
--viewname name
set the name of the view. The view can be read and set using vuname or viewname commands.
-p module [ ,
module_options ]
--preload module [ , module_options ]
preload modules. Modules will be loaded as shared libraries thus all the rules to load libraries apply. Modules must be loaded from a directory within the ld.so search path or should be specified by their pathnames. If necessary configure the LD_LIBRARY_PATH environment variable appropriately. module_options are module specific configuration options, thus the reader should refer to each service module manual for a complete description. Modules can be loaded at run time using the um_add_service command.
-s |
--secure
set kmview in human mode, i.e. force the check of capabilities and permissions. uid is 0 at startup, in this way it is possible to load modules and mount services. When a process sets its uid as an unprivileged user (via setuid(2) or viewsu(1)), capability and permissions are enforced.
-f rcfile
--rc rcfile
Use rcfile as the initialization file for kmview. kmview always executes /etc/viewosrc if exists, then kmview executes the initialization file set by this option or ~/.viewosrc.
-x |
--nonesting
umview is able to provide module nesting, i.e. a module can provide services on the basis of virtual services provided by another module or even by the module itself. For example it is possible to mount a file system image which is stored in an already virtually mounted filesystem. This feature requires the pure_libc library. The -x or --nonesting option disables the nesting feature.
-o file
--output file
This option diverts the debugging output to the file specified, it is useful when umview has been compiled with debugging extensions.
-v |
--version
Print the version and exit.
-h |
--help
Print a short help message and exit.
SEE ALSO
um_add_service(1) um_del_service(1) um_ls_service(1) um_mov_service(1) umfuse(1viewos) lwipv6(1viewos) umdev(1viewos) umbinfmt(1viewos) viewfs(1viewos) vuname(1viewos) viewname(1viewos)
AUTHORS
View-OS is a project of the Computer Science Department, University of Bologna. Project Leader: Renzo Davoli. Development Team: P. Angelelli, A. Bacchelli, M. Belletti, P. Beverini, D. Billi, A. Forni, L. Gardenghi, A. Gasparini, D. Lacamera, C. Martellini, A. Seraghiti <http://www.sourceforge.net/projects/view-os>
Howto’s and further information can be found on the project wiki <wiki.virtualsquare.org>.