NAME¶
umview - User Mode implementation of View-OS
SYNOPSIS¶
umview [
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).
umview is the user mode implementation of View-OS concepts. It is a
modular partial virtual machine.
umview before loading any module is
completely transparent, a process behaves inside
umview 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
network interfaces
(lwipv6) , 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.
umview
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.
- -n
- --nokernelpatch
- umview is able to use some specific kernel
extensions (when present) to increase its performance. The source
distribution of umview include the kernel patches for the latest
kernels. The kernel extensions are enabled by default when available. This
option disables the kernel extensions.
- --nokmulti
- This option disables the PTRACE_MULTI kernel
extension.
- --noksysvm
- This option disables the PTRACE_SYSVM kernel
extension.
- --nokviewos
- This option disables the PTRACE_SYSVIEWOS kernel extension
(already experimental, not yet released).
- -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>.