标签: virtualization

WPF:列表框和虚拟化

  1. 我如何知道我的列表是否正在虚拟化?
  2. 如何将此代码段虚拟化?

    <ScrollViewer Grid.Column="1" Name="LogScroller">
        <r:NoInheritanceContentControl>
            <ListBox   Background="Black" ItemsSource="{Binding Path=ActiveLog}" >
                <ListBox.ItemTemplate>
                    <DataTemplate>
                        <Grid Background="Black">
                            <Grid.ColumnDefinitions>
                                <ColumnDefinition Width="200"></ColumnDefinition>
                                <ColumnDefinition Width="*"></ColumnDefinition>
                            </Grid.ColumnDefinitions>
                            <Grid.RowDefinitions>
                                <RowDefinition></RowDefinition>
                                <RowDefinition></RowDefinition>
                            </Grid.RowDefinitions>
                            <TextBlock Grid.Column="0" Grid.Row="0" Foreground="White">
                            <TextBlock >Date:</TextBlock>
                            <TextBlock  Text="{Binding Path=LogDate}"/>
                        </TextBlock>
                            <TextBlock Grid.Column="1" Grid.Row="0" Foreground="White">
                            <TextBlock >Severity:</TextBlock>
                            <TextBlock  Text="{Binding Path=Severity}"/>
                        </TextBlock>
                            <TextBlock Grid.Column="0" Grid.ColumnSpan="2" Grid.Row="1" Foreground="LightGray" Text="{Binding Path=Message}"></TextBlock>
                        </Grid>
                    </DataTemplate>
                </ListBox.ItemTemplate>
                <ListBox.Template>
                    <ControlTemplate>
                        <StackPanel Background="Black" IsItemsHost="True" >
                        </StackPanel>
                    </ControlTemplate>
                </ListBox.Template>
            </ListBox>
        </r:NoInheritanceContentControl>
    </ScrollViewer>
    
    Run Code Online (Sandbox Code Playgroud)

wpf virtualization listbox

13
推荐指数
2
解决办法
1万
查看次数

在Parallels虚拟机中运行服务器.主机可以访问吗?

我在Windows 7客户操作系统中运行Web服务器,而我想从我的Mac主机操作系统访问它.Web服务器正在运行,我可以从我的客户操作系统访问它,但不能从其主机访问它.

我正在使用Parallels Desktop,我尝试将网络模式从共享,桥接更改为仅限主机,但没有结果.

这是为了发展,所以我只需要它至少可以访问我的主机操作系统.Parallels实际上是否可以实现这一点,还是应该关注其他VM引擎?

virtualization parallels

13
推荐指数
1
解决办法
9424
查看次数

TreeView虚拟化

我们试图提出一种虚拟化的好方法TreeView,数据并不是真正的问题,因为它非常轻(每个项目大约16个字节),问题是我们可能有数万个,尽管实际上数据只需要160 kb的内存,treeview项目确实使用了更多的内存.我们现在尝试使用3种不同的树进行虚拟化,WPF,Infragistics和Telerik.所有这些都有很大的问题,使它们无法用于我们的应用程序:

WPFTreeView:滚动条显示了一些怪异的行为,周围很多跳跃,变化大小不一致,用鼠标拖动它不能正常工作,滚动(跳来回)

Telerik:项目消失,滚动条也不稳定,项目随机展开崩溃,样式不起作用

Infragistics:项目根本没有虚拟化,每个项目都留在内存中,使虚拟化无用.

我们几个月来一直在努力解决这个问题,但我们还没有找到一个好的解决方案.有没有人成功实现TreeView了超过9000项的虚拟化?如果是这样,你的策略是什么?你使用了第三方控件吗?它100%有效吗?

任何建议都非常感谢.

谢谢.

.net wpf treeview virtualization

13
推荐指数
1
解决办法
3298
查看次数

在QEMU中,是否可以拦截Linux Guest OS发送/接收的数据包?

我们正在做一个涉及从虚拟机管理程序层(即QEMU)监控来宾操作系统(例如Linux)的小项目.我们要监控的一件事是进出客户操作系统的网络流量.是否可以在不修改Guest OS的情况下这样做?

一种方法是拦截在创建套接字时创建的相关系统调用,并在执行指令时从相关寄存器中获取值.但我们不太确定它是否容易,或者它是否是正确的方法.

sockets linux virtualization qemu system-calls

13
推荐指数
3
解决办法
1628
查看次数

WPF Listbox Virtualization创建DisconnectedItems

我正在尝试使用WPF ListBox创建Graph控件.我创建了自己的Canvas,它来自VirtualizingPanel,我自己处理项目的实现和虚拟化.

然后将列表框的项面板设置为我的自定义虚拟化画布.

我遇到的问题发生在以下场景中:

  • 首先创建ListBox项目A.
  • 列表框项目B在画布上的项目A的右侧创建.
  • 列表框项目A首先被虚拟化(通过将其平移到视图之外).
  • ListBox项目B被第二次虚拟化(再次通过将其平移到视图之外).
  • 将ListBox项目A和B置于视图中(即:实现它们)
  • 使用Snoop,我检测到ListBox现在有3个项目,其中一个是直接位于ListBox项目B下面的"DisconnectedItem".

是什么导致了这个"DisconnectedItem"的创建?如果我首先虚拟化B,然后是A,则不会创建此项目.我的理论是,虚拟化ListBox中其他项之前的项会导致子项断开连接.

使用包含数百个节点的图表时问题更加明显,因为当我平移时,我最终会收到数百个断开连接的项目.

以下是画布代码的一部分:

/// <summary>
/// Arranges and virtualizes child element positionned explicitly.
/// </summary>
public class VirtualizingCanvas : VirtualizingPanel
{
   (...)

    protected override Size MeasureOverride(Size constraint)
    {
        ItemsControl itemsOwner = ItemsControl.GetItemsOwner(this);

        // For some reason you have to "touch" the children collection in 
        // order for the ItemContainerGenerator to initialize properly.
        var necessaryChidrenTouch = Children;

        IItemContainerGenerator generator = ItemContainerGenerator;

        IDisposable generationAction = null;

        int index = 0;
        Rect visibilityRect …
Run Code Online (Sandbox Code Playgroud)

.net c# wpf virtualization

13
推荐指数
2
解决办法
5244
查看次数

特权指令,陷阱和系统调用之间的关系

我试图了解虚拟机监视器(VMM)如何虚拟化CPU.

我现在的理解是,当CPU处于用户模式时,即将执行特权指令时,CPU会发出保护错误中断.在像C这样的高级语言中,特权指令包含在系统调用中.例如,当应用程序需要当前日期和时间(与I/O设备交互的指令具有特权)时,它会调用某个库函数.此库函数的汇编版本包含一个名为"int"的指令,该指令会在CPU中生成陷阱.CPU从用户模式切换到特权模式,并跳转到操作系统提供的陷阱处理程序.每个系统调用都有自己的陷阱处理程序.在此示例中,陷阱处理程序从硬件时钟读取日期和时间并返回,然后CPU将自身从特权模式切换到用户模式.(来源:http://elvis.rowan.edu/~hartley/Courses/OperatingSystems/Handouts/030Syscalls.html)

但是,我不太确定这种理解是否正确.本文提到的(特权)的x86指令POPF不会导致陷阱的概念,从而为VMM复杂的事情:http://www.csd.uwo.ca/courses/CS843a/papers/intro-vm.pdf.根据我的理解,当用户程序显式调用而不是通过系统调用时,popf指令不应该导致陷阱,而应该导致保护错误中断.

所以我的两个具体问题是:

  • 当用户程序在CPU处于用户模式时执行特权指令时会发生什么?
  • 用户程序执行系统调用时会发生什么?

virtualization x86 operating-system computer-architecture

13
推荐指数
2
解决办法
1万
查看次数

Linux上是否需要docker-machine?

我正在运行一台Windows7(64位)机器vmplayer,它有主机Fedora 25.

我安装docker CE了它,我的例子到现在都运行良好.

问题在于尝试运行docker-machine示例.根据我的理解,需要为docker创建主机.

  • 虽然是有意义的有它WindowsMac,但我需要它Linux

  • 甚至更令人困惑的是,为什么我到目前为止尝试的所有例子都运作良好?

  • 另一点是,如果docker-machine不是Linux码头分布的一部分; 那么我们如何创建多个docker主机Linux

linux virtualization docker docker-machine

13
推荐指数
1
解决办法
3514
查看次数

虚拟机的软件优化

当您知道您的软件(不是驱动程序,不是操作系统的一部分,只是一个应用程序)将主要在虚拟化环境中运行时,是否存在优化代码和/或编译器设置的策略?或者你应该和不应该做什么的指南?

这可能不是0.0x%的性能提升,但可能只是可能有一些简单的事情可以大大提高性能,或者看起来很简单,但在虚拟化环境中是灾难性的.例如,在内核构建中启用CONFIG_PARAVIRT很容易,并且可以大大提高性能.现在我正在为应用程序寻找类似的东西,如果有的话.

在我的情况下,它将是C++代码,可能是VMWare,但我想尽可能保持与语言/产品无关的问题.我想知道是否有这样的策略,或者这是否完全浪费时间 - 毕竟虚拟化的概念是你不必过多关心它.

c++ optimization virtualization

12
推荐指数
1
解决办法
518
查看次数

为什么 Ubuntu docker 镜像不是虚拟机

我得到了 VM 和容器之间的巨大差异。但这让我对 Ubuntu 容器如何存在感到困惑。因为 Ubuntu 是一个操作系统,所以我觉得很矛盾。

https://hub.docker.com/_/ubuntu

这不是一个完整的客户操作系统吗?那么是什么使它成为虚拟机上的容器呢?或者容器和虚拟机之间的界限是否模糊?

我试过在谷歌上搜索这个,但我发现的唯一结果是经典的 VM vs 容器答案,这并不是我真正想问的,我不认为。

编辑 - 我已经更新以尝试进一步澄清我的问题。

virtualization containers virtual-machine docker dockerhub

12
推荐指数
1
解决办法
3273
查看次数

qemu:无法加载 PC BIOS 'bios-256k.bin'

我试图将 QEMU 与我正在构建的内核 ISO 一起使用,但我无法运行测试。

我正在使用 Windows 10 64 位,pc-bios如果重要的话,我已将该文件夹添加到 PATH。到目前为止,我已经尝试了以下命令: Windows 终端屏幕截图

virtualization qemu virtual-machine windows-10

12
推荐指数
1
解决办法
4991
查看次数