VirtualBox

Changeset 58033 in vbox for trunk


Ignore:
Timestamp:
Oct 5, 2015 10:12:28 PM (9 years ago)
Author:
vboxsync
Message:

VBoxService: Started adding pages with some details for each component.

Location:
trunk/src/VBox/Additions/common/VBoxService
Files:
6 edited

Legend:

Unmodified
Added
Removed
  • trunk/src/VBox/Additions/common/VBoxService/VBoxService.cpp

    r58031 r58033  
    1717
    1818
     19/** @page pg_vgsvc VBoxService
     20 *
     21 * VBoxService is a root daemon for implementing guest additions features.
     22 *
     23 * It is structured as one binary that contains many sub-services.  The reason
     24 * for this is partially historical and partially practical.  The practical
     25 * reason is that the VBoxService binary is typically statically linked, at
     26 * least with IPRT and the guest library, so we save quite a lot of space having
     27 * on single binary instead individual binaries for each sub-service and their
     28 * helpers (currently up to 9 subservices and 8 helpers).  The historical is
     29 * simply that it started its life on OS/2 dreaming of conquring Windows next,
     30 * so it kind of felt natural to have it all in one binary.
     31 *
     32 * Even if it's structured as a single binary, it is possible, by using command
     33 * line options, to start each subservice as an individual process.
     34 *
     35 * Subservices:
     36 *  - @subpage pg_vgsvc_timesync    "Time Synchronization"
     37 *  - @subpage pg_vgsvc_vminfo      "VM Information"
     38 *  - @subpage pg_vgsvc_vmstats     "VM Statistics"
     39 *  - @subpage pg_vgsvc_gstctrl     "Guest Control"
     40 *  - @subpage pg_vgsvc_pagesharing "Page Sharing"
     41 *  - @subpage pg_vgsvc_memballoon  "Memory Balooning"
     42 *  - @subpage pg_vgsvc_cpuhotplug  "CPU Hot-Plugging"
     43 *  - @subpage pg_vgsvc_automount   "Shared Folder Automounting"
     44 *  - @subpage pg_vgsvc_clipboard   "Clipboard (OS/2 only)"
     45 *
     46 * Now, since the service predates a lot of stuff, including RTGetOpt, we're
     47 * currently doing our own version of argument parsing here, which is kind of
     48 * stupid.  That will hopefully be cleaned up eventually.
     49 */
    1950
    2051/*********************************************************************************************************************************
  • trunk/src/VBox/Additions/common/VBoxService/VBoxServiceControl.cpp

    r58029 r58033  
    1414 * VirtualBox OSE distribution. VirtualBox OSE is distributed in the
    1515 * hope that it will be useful, but WITHOUT ANY WARRANTY of any kind.
     16 */
     17
     18/** @page pg_vgsvc_gstctrl VBoxService - Guest Control
     19 *
     20 * The Guest Control subservice helps implementing the IGuest APIs.
     21 *
     22 * The IGuest APIs provides means to manipulate (control) files, directories,
     23 * symbolic links and processes within the guest.  Most of these means requires
     24 * credentials of a guest OS user to operate, though some restricted ones
     25 * operates directly as the VBoxService user (root / system service account).
     26 *
     27 * The current design is that a subprocess is spawned for handling operations as
     28 * a given user.  This process is represented as IGuestSession in the API.  The
     29 * subprocess will be spawned as the given use, giving up the privileges the
     30 * parent subservice had.
     31 *
     32 * It will try handle as many of the operations directly from within the
     33 * subprocess, but for more complicated things (or things that haven't yet been
     34 * converted), it will spawn a helper process that does the actual work.
     35 *
     36 * These helpers are the typically modeled on similar unix core utilities, like
     37 * mkdir, rm, rmdir, cat and so on.  The helper tools can also be launched
     38 * directly from VBoxManage by the user by prepending the 'vbox_' prefix to the
     39 * unix command.
     40 *
    1641 */
    1742
  • trunk/src/VBox/Additions/common/VBoxService/VBoxServicePageSharing.cpp

    r58032 r58033  
    1414 * VirtualBox OSE distribution. VirtualBox OSE is distributed in the
    1515 * hope that it will be useful, but WITHOUT ANY WARRANTY of any kind.
     16 */
     17
     18/** @page pg_vgsvc_pagesharing VBoxService - Page Sharing
     19 *
     20 * The Page Sharing subservice is the driving force in implementing the Page
     21 * Fusion feature in VirtualBox.   It is its responsibility to find memory
     22 * mappings and other good candidates for page sharing.
     23 *
     24 * This is currently only implemented on Windows.  There is no technical reason
     25 * for it not to be doable for all the other guests too, it's just a matter of
     26 * customer demand and engineering time.
    1627 */
    1728
  • trunk/src/VBox/Additions/common/VBoxService/VBoxServiceStats.cpp

    r58029 r58033  
    1616 */
    1717
     18/** @page pg_vgsvc_vmstats VBoxService - VM Statistics
     19 *
     20 * The VM statistics subservice helps out the performance collector API on the
     21 * host side by providing metrics from inside the guest.
     22 *
     23 * See IPerformanceCollector, CollectorGuest and the "Guest/*" submetrics that
     24 * gets registered by Machine::i_registerMetrics in Main.
     25 */
    1826
    1927/*********************************************************************************************************************************
  • trunk/src/VBox/Additions/common/VBoxService/VBoxServiceTimeSync.cpp

    r58029 r58033  
    1717
    1818
    19 /** @page pg_vboxservice_timesync      The Time Sync Service
     19/** @page pg_vgsvc_timesync     VBoxService - The Time Sync Service
    2020 *
    2121 * The time sync service plays along with the Time Manager (TM) in the VMM
     
    6868 *
    6969 * It now boils down to these three (configuration) factors:
    70  *  -# g_TimesyncMinAdjust - The minimum drift we will ever bother with.
    71  *  -# g_TimesyncLatencyFactor - The factor we multiply the latency by to
     70 *  -# g_TimeSyncMinAdjust - The minimum drift we will ever bother with.
     71 *  -# g_TimeSyncLatencyFactor - The factor we multiply the latency by to
    7272 *     calculate the dynamic minimum adjust factor.
    73  *  -# g_TimesyncMaxLatency - When to start discarding the data as utterly
     73 *  -# g_TimeSyncMaxLatency - When to start discarding the data as utterly
    7474 *     useless and take a rest (someone is too busy to give us good data).
    7575 *  -# g_TimeSyncSetThreshold - The threshold at which we will just set the time
  • trunk/src/VBox/Additions/common/VBoxService/VBoxServiceVMInfo.cpp

    r58031 r58033  
    1616 */
    1717
     18/** @page pg_vgsvc_vminfo VBoxService - VM Information
     19 *
     20 * The VM Information subservice provides heaps of useful information about the
     21 * VM via guest properties.  Check out the "/VirtualBox/GuestInfo/" part of the
     22 * guest properties.
     23 *
     24 *
     25 * @section sec_vgsvc_vminfo_beacons    Beacons
     26 *
     27 * The subservice does not write properties unless there are changes.  So, in
     28 * order for the host side to know that information is up to date despite an
     29 * oldish timestamp we define a couple of values that are always updated and can
     30 * reliably used to figure how old the information actually is.
     31 *
     32 * For the networking part "/VirtualBox/GuestInfo/Net/Count" is the value to
     33 * watch out for.
     34 *
     35 * For the login part, it's possible that we intended to use
     36 * "/VirtualBox/GuestInfo/OS/LoggedInUsers" for this, however it is not defined
     37 * correctly and current does NOT work as a beacon.
     38 *
     39 */
    1840
    1941
     
    886908        VGSvcError("Error writing logged in users count, rc=%Rrc\n", rc);
    887909
     910/** @todo r=bird: What's this 'beacon' nonsense here?  It's _not_ defined with
     911 *        the VGSVCPROPCACHE_FLAGS_ALWAYS_UPDATE flag set!!  */
    888912    rc = VGSvcPropCacheUpdate(&g_VMInfoPropCache, g_pszPropCacheValNoLoggedInUsers, cUsersInList == 0 ? "true" : "false");
    889913    if (RT_FAILURE(rc))
Note: See TracChangeset for help on using the changeset viewer.

© 2024 Oracle Support Privacy / Do Not Sell My Info Terms of Use Trademark Policy Automated Access Etiquette