1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95 96 97 98 99 100 101 102 103 104 105 106 107 108 109 110 111 112 113 114 115 116 117 118 119 120 121 122 123 124 125 126 127 128 129 130 131 132 133 134 135 136 137 138 139 140 141 142 143 144 145 146 147 148 149 150 151 152 153 154 155 156 157 158 159 160 161 162 163 164 165 166 167 168 169
|
.\" Copyright (c) 2006 Renzo Davoli
.\"
.\" This is free documentation; you can redistribute it and/or
.\" modify it under the terms of the GNU General Public License,
.\" version 2, as published by the Free Software Foundation.
.\"
.\" The GNU General Public License's references to "object code"
.\" and "executables" are to be interpreted as the output of any
.\" document formatting or typesetting system, including
.\" intermediate and printed output.
.\"
.\" This manual is distributed in the hope that it will be useful,
.\" but WITHOUT ANY WARRANTY; without even the implied warranty of
.\" MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
.\" GNU General Public License for more details.
.\"
.\" You should have received a copy of the GNU General Public
.\" License along with this manual; if not, write to the Free
.\" Software Foundation, Inc., 51 Franklin St, Fifth Floor, Boston,
.\" MA 02110-1301 USA.
.TH VIEW-OS 1 "June 10, 2006" "VIEW-OS: a process with a view"
.SH NAME
umview \- User Mode implementation of View-OS
.SH SYNOPSIS
.B umview
[
.I options
]
.I prog
.br
.SH 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).
.br
.B umview
is the user mode implementation of View-OS concepts.
It is a modular partial virtual machine.
.B umview
before loading any module is completely transparent, a process
behaves inside
.B umview
as it would have behaved outside.
Each module can customize specific entities: there are modules to mount
filesystems at user-level
.B (umfuse)
, to define virtual network interfaces
.B (lwipv6)
, to define virtual devices
.B (umdev)
, to provide interpreters for executables, e.g. to support executables for
foreign architectures
.B (umbinfmt)
, to hide, move, overlay parts of the file system
.B (viewfs).
.br
These are some examples of modules provided by the View-OS team.
.B 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.
.SH OPTIONS
.PD 0
.IP "\fB\-V\fP \fIname\fP" 4
.PD 0
.IP "\fB\-\-viewname\fP \fIname\fP" 4
set the name of the view. The view can be read and set using
.B vuname
or
.B viewname
commands.
.PD 0
.IP "\fB\-p\fP \fImodule\fP [ , \fImodule_options\fP ]" 4
.PD 0
.IP "\fB\-\-preload\fR \fImodule\fP [ , \fImodule_options\fP ]" 4
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.
\fImodule_options\fR 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
.B um_add_service
command.
.IP "\fB\-s\fP" 4
.PD 0
.IP "\fB\-\-secure\fR" 4
set kmview in \fIhuman mode\fR, 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.
.IP "\fB\-f\fP \fIrcfile\fP" 4
.PD 0
.IP "\fB\-\-rc\fR \fIrcfile\fP" 4
Use \fIrcfile\fR as the initialization file for kmview.
kmview always executes \fB/etc/viewosrc\fR if exists, then kmview
executes the initialization
file set by this option or \fB~/.viewosrc\fR.
.IP "\fB\-x\fP" 4
.PD 0
.IP "\fB\-\-nonesting\fR" 4
.B 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 \fB\-x\fR or \fB\-\-nonesting\fR option disables the nesting feature.
.IP "\fB\-n\fP" 4
.PD 0
.IP "\fB\-\-nokernelpatch\fR" 4
.B umview
is able to use some specific kernel extensions (when present)
to increase its performance. The source distribution of
.B umview
include the kernel patches for the latest kernels.
The kernel extensions are enabled by default when available.
This option disables the kernel extensions.
.IP "\fB\-\-nokmulti\fR" 4
This option disables the PTRACE_MULTI kernel extension.
.IP "\fB\-\-noksysvm\fR" 4
This option disables the PTRACE_SYSVM kernel extension.
.IP "\fB\-\-nokviewos\fR" 4
This option disables the PTRACE_SYSVIEWOS kernel extension (already
experimental, not yet released).
.IP "\fB\-o\fP \fIfile\fP" 4
.PD 0
.IP "\fB\-\-output\fR \fIfile\fP" 4
This option diverts the debugging output to the file specified, it is
useful when
.B umview
has been compiled with debugging extensions.
.IP "\fB\-v\fP" 4
.PD 0
.IP "\fB\-\-version\fR" 4
Print the version and exit.
.IP "\fB\-h\fP" 4
.PD 0
.IP "\fB\-\-help\fR" 4
Print a short help message and exit.
.SH SEE ALSO
.BR um_add_service(1)
.BR um_del_service(1)
.BR um_ls_service(1)
.BR um_mov_service(1)
.BR umfuse(1viewos)
.BR lwipv6(1viewos)
.BR umdev(1viewos)
.BR umbinfmt(1viewos)
.BR viewfs(1viewos)
.BR vuname(1viewos)
.BR viewname(1viewos)
.SH 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>.
|