精华内容
下载资源
问答
  • 以交互方式或从命令行运行,非常适合单个用户或整个企业。 打印带有语法突出显示和行编号的源代码,这些源代码包含。 打印HTML文件。 在一张纸上打印“页向上”(节省树木!) 完全控制页面格式选项,包括...
  • 它提供了功能manipulateWidget ,可用于非常简单的方式创建图形界面,该界面允许用户修改交互式图表的数据或参数。 从技术上讲,该函数会生成“闪亮”小工具,但用户甚至不必知道什么是“闪亮”。 产品特点 使用...
  • ZingChart jQuery是[ZingChart图表库]( )的包装,该包装允许jQuery风格使用[** 88 **不同的API方法](#methods)和[* * ZingChart必须提供的* 81 **个不同的API事件](#events)。 它旨在通过最简单,最jQuery...
  • 允许您的UI对用户的拖动交互以物理上自然的方式做出React。看到它在工作,并使用此开始使用它。 如果您想在自己的作品中拥有漂亮的交互动画,则该库适合您: 使用多平台应用程序。 您不想弹出的。 React.js ...
  • 创建一个调用Google Maps API和/或Google Places API(或类似名称)的网站,以允许用户搜索其下一个度假胜地。 您需要帮助您的用户: 选择目的地城市 寻找住宿 寻找旅游景点 查找酒吧和餐馆 视觉上对您的用户有...
  • DIV+CSS布局,交互方式采用当前最流行的AJAX技术,所有操所在一个页面完成,并实现了AJAX的最高应用—— AjaxUpload,所有操作一气呵成,带来前所未有的用户体验。 简洁的主题与皮肤开发技术,更合理的模块化...
  • DIV+CSS布局,交互方式采用当前最流行的AJAX技术,所有操所在一个页面完成,并实现了AJAX的最高应用—— AjaxUpload,所有操作一气呵成,带来前所未有的用户体验。 简洁的主题与皮肤开发技术,更合理的模块化...
  • 分时系统指:在一个主机上连接了多个带有显示器和键盘的终端,同时允许多用户通过自己的终端,以交互方式使用计算机,共享主机中的资源。 特征: 1、多路性 2、独立性 3、及时性 4、交互性 实时系统: 二、...

    无操作系统:

    单道批处理系统:

    多道批处理系统:

    分时系统:

    分时系统指:在一个主机上连接了多个带有显示器和键盘的终端,同时允许多个用户通过自己的终端,以交互方式使用计算机,共享主机中的资源。
    特征:
    1、多路性
    2、独立性
    3、及时性
    4、交互性

    实时系统:

    二、操作系统的基本特性

    展开全文
  • 在第一次运行的时候,可以在Log On选项卡中,注意不要选中Allow service to interact with desktop(中文版中为 允许服务与桌面交互),这样在运行服务的时候就不会弹出状态窗口。 四、到后台加入游戏...
  • 整理翻译官网英文Navicat 15用户指南,Navicat 15 具备项改进和新功能,能满足你对数据库开发的需求。过百种增强的功能和耳目一新的界面,让你崭新的方式创建、管理和维护数据库,新的数据可视化工具使你可以将...
  • 1.允许覆盖用户以一致的方式找出覆盖内的内容 2.为新硬件设计的开发人员提供一种简单的方法来测试新IP 3.促进Overlays之间IP的重用 本教程主要用于演示最后两点,介绍与新IP交互的过程,开发驱动程序,最后从个IP...

    本笔记概述了Overlay类在PYNQ 2.0中的变化以及如何有效地使用它。

    重新设计的Overlay类有三个主要的设计目标
    1.允许覆盖用户以一致的方式找出覆盖内的内容
    2.为新硬件设计的开发人员提供一种简单的方法来测试新IP
    3.促进Overlays之间IP的重用

    本教程主要用于演示最后两点,介绍与新IP交互的过程,开发驱动程序,最后从多个IP块构建更复杂的系统。 所有代码和框图都可以在[https://github.com/PeterOgden/overlay_tutorial]能找到。 要使这些示例工作,请将覆盖目录的内容复制到PYNQ-Z1板上的主目录中。

    开发单一IP

    对于第一个例子,我们将使用一个简单的设计,其中包含一个IP。 此IP是使用HLS开发的,将两个32位整数进行相加。 加速器的完整代码是:
    void add(int a, int b, int& c) {
    #pragma HLS INTERFACE ap_ctrl_none port=return
    #pragma HLS INTERFACE s_axilite port=a
    #pragma HLS INTERFACE s_axilite port=b
    #pragma HLS INTERFACE s_axilite port=c

    c = a + b;
    

    }

    使用仅由HLS IP组成的框图和所需的胶连逻辑将其连接到ZYNQ7 IP
    简单的框图如下:
    在这里插入图片描述

    要首先与IP交互,我们需要加载包含IP的overlay。
    In [1]: from pynq import Overlay
    overlay = Overlay(’/home/xilinx/tutorial_1.bit’)

    创建overlay将自动下载它。 我们现在可以使用问号来找出overlay中的内容。
    In [2]: overlay?

    所有条目都可以通过带有指定驱动程序的overlay类上的属性访问。 访问它的scalar_add属性将为IP创建驱动程序 - 因为目前没有添加IP核的驱动程序将使用DefaultIP驱动程序,因此我们可以与IP核进行交互。
    In [3]: add_ip = overlay.scalar_add
    add_ip?

    读取HLS生成的源代码告诉我们使用我们需要的核心来写两个参数来偏移0x10和0x18并从0x20读回结果。
    In [4]: add_ip.write(0x10, 4)
    add_ip.write(0x18, 5)
    add_ip.read(0x20)
    Out[4]: 9

    创建驱动程序

    虽然UnknownIP驱动程序对于确定IP正常运行非常有用,但它并不是最容易使用的API,无法向overlay的最终用户公开。 理想情况下,我们希望创建一个特定的IP的驱动程序,公开单个添加函数来调用加速器。 通过继承UnknownIP并添加由驱动程序应绑定到的IP类型组成的bindto类属性来创建自定义驱动程序。 该类的构造函数应该采用单个描述参数并将其传递给超类__init__。 描述是一个字典,包含地址映射以及连接到IP的任何中断和GPIO引脚。
    In [5]:
    from pynq import DefaultIP
    class AddDriver(DefaultIP):
    def init(self, description):
    super().init(description=description)
    bindto = [‘xilinx.com:hls:add:1.0’]
    def add(self, a, b):
    self.write(0x10, a)
    self.write(0x18, b)
    return self.read(0x20)

    现在,如果我们重新加载overlay并再次查询帮助,我们可以看到我们的新驱动程序绑定到IP。
    In [6]: overlay = Overlay(’/home/xilinx/tutorial_1.bit’)
    overlay?

    我们可以像以前一样访问,除了现在我们创建了带有add函数的自定义驱动程序,而不是DefaultIP
    In [7]: overlay.scalar_add.add(15,20)
    Out[7]: 35

    重用IP

    假设我们或其他人开发了一个新的overlay,并希望重用现有的IP。 只要他们导入包含驱动程序类的python文件,就会自动创建驱动程序。 作为一个例子,考虑下一个设计,其中包括scalar_add IP的重命名版本。
    如下框图:
    在这里插入图片描述

    使用新overlay上的问号表示驱动程序仍然受约束。
    In [8]:
    overlay = Overlay(’/home/xilinx/tutorial_2.bit’)
    overlay?

    IP层次结构
    上面的框图还包含如下所示的层次结构:
    在这里插入图片描述

    通过常量和DMA引擎包含多个数字流的自定义IP,用于传输数据。 由于涉及流并且我们需要正确处理DMA引擎的TLAST,因此HLS代码与其他编译指示和类型相比,稍微复杂一些,但完整代码仍然相对较短。

    typedef ap_axiu<32,1,1,1> stream_type;

    void mult_constant(stream_type* in_data, stream_type* out_data, ap_int<32> constant) {
    #pragma HLS INTERFACE s_axilite register port=constant
    #pragma HLS INTERFACE ap_ctrl_none port=return
    #pragma HLS INTERFACE axis port=in_data
    #pragma HLS INTERFACE axis port=out_data
    out_data->data = in_data->data * constant;
    out_data->dest = in_data->dest;
    out_data->id = in_data->id;
    out_data->keep = in_data->keep;
    out_data->last = in_data->last;
    out_data->strb = in_data->strb;
    out_data->user = in_data->user;

    }

    查看HLS生成的文档,我们再次发现要设置常量,我们需要将寄存器设置为偏移量0x10,这样我们就可以为此编写一个简单的驱动程序
    In [9]:
    class ConstantMultiplyDriver(DefaultIP):
    def init(self, description):
    super().init(description=description)
    bindto = [‘Xilinx:hls:mult_constant:1.0’]
    @property
    def constant(self):
    return self.read(0x10)
    @constant.setter
    def constant(self, value):
    self.write(0x10, value)

    DMA引擎驱动程序已经包含在PYNQ驱动程序中,因此除了确保导入模块之外,没有什么特别需要。 重新加载叠加层将确保我们新编写的驱动程序可供使用。
    In [10]:
    import pynq.lib.dma

    overlay = Overlay(’/home/xilinx/tutorial_2.bit’)

    dma = overlay.const_multiply.multiply_dma
    multiply = overlay.const_multiply.multiply

    DMA驱动程序传输使用xlnk驱动程序分配的numpy数组。 让我们通过将5个数字乘以3来测试系统。
    In [11]:
    from pynq import Xlnk
    import numpy as np

    xlnk = Xlnk()
    in_buffer = xlnk.cma_array(shape=(5,), dtype=np.uint32)
    out_buffer = xlnk.cma_array(shape=(5,), dtype=np.uint32)

    for i in range(5):
    in_buffer[i] = i

    multiply.constant = 3
    dma.sendchannel.transfer(in_buffer)
    dma.recvchannel.transfer(out_buffer)
    dma.sendchannel.wait()
    dma.recvchannel.wait()

    out_buffer

    Out[11]:
    ContiguousArray([ 0, 3, 6, 9, 12], dtype=uint32)

    虽然这是使用IP的一种方式,但它仍然不是用户友好的。 最好将整个层次结构视为单个实体,并编写隐藏实现细节的驱动程序。 overlay类允许针对层次结构和IP编写驱动程序,但细节略有不同。

    层次结构驱动程序是pynq.DefaultHierarchy的子类,与DefaultIP类似,有一个构造函数,它接受层次结构的描述。 要确定驱动程序是否应绑定到特定层次结构,该类还应包含静态检查层次结构方法,该方法采用层次结构的描述,如果驱动程序绑定则返回True,否则返回False。 与DefaultIP类似,任何满足子类DefaultHierarchy要求并具有checkhierarchy方法的类都将自动注册。

    对于我们的常量乘法层次结构,这看起来像:
    In [12]:
    from pynq import DefaultHierarchy

    class StreamMultiplyDriver(DefaultHierarchy):
    def init(self, description):
    super().init(description)
    def stream_multiply(self, stream, constant):
    self.multiply.constant = constant
    with xlnk.cma_array(shape=(len(stream),),
    dtype=np.uint32) as in_buffer,
    xlnk.cma_array(shape=(len(stream),),
    dtype=np.uint32) as out_buffer:
    for i, v, in enumerate(stream):
    in_buffer[i] = v
    self.multiply_dma.sendchannel.transfer(in_buffer)
    self.multiply_dma.recvchannel.transfer(out_buffer)
    self.multiply_dma.sendchannel.wait()
    self.multiply_dma.recvchannel.wait()
    result = out_buffer.copy()
    return result
    @staticmethod
    def checkhierarchy(description):
    if ‘multiply_dma’ in description[‘ip’]
    and ‘multiply’ in description[‘ip’]:
    return True
    return False

    我们现在可以重新加载overlay并确保加载更高级别的驱动程序
    In [13]: overlay = Overlay(’/home/xilinx/tutorial_2.bit’)
    overlay?

    并使用它
    In [14]: overlay.const_multiply.stream_multiply([1,2,3,4,5], 5)
    Out[14]: ContiguousArray([ 5, 10, 15, 20, 25], dtype=uint32)

    overlay定制它

    虽然默认overlay对于许多用例来说已足够,但某些overlay需要更多自定义才能提供用户友好的API。 作为示例,默认AXI GPIO驱动程序将通道1和2公开为单独的属性,这意味着访问基础overlay中的LED需要以下方法
    In [15]: base = Overlay(‘base.bit’)
    base.leds_gpio.channel1[0].on()

    为了缓解这种情况,overlay开发人员可以为其overlay提供自定义类,以便以更加用户友好的方式公开子系统。 基础overlay包括自定义overlay类,它执行以下功能:使AXI GPIO设备更好地命名并限制范围/方向通过pmoda,pmodb和ardiuno名称访问IOP 创建一个特殊类来与RGB LED交互

    结果是可以访问LED,如:
    In [16]:
    from pynq.overlays.base import BaseOverlay

    base = BaseOverlay(‘base.bit’)
    base.leds[0].on()

    使用定义良好的类还允许提供自定义文档字符串,以帮助最终用户。
    In [17]: base?

    创建自定义overlay

    自定义覆盖类应从pynq.UnknownOverlay继承,获取比特流文件的完整路径和可能的其他关键字参数。 这些参数应该在__init__的开头传递给super().__ init __()来初始化Overlay的属性。 此示例旨在与我们的tutorial_2叠加层一起使用,并添加一个函数以更轻松地调用乘法函数
    In [18]:
    class TestOverlay(Overlay):
    def init(self, bitfile, **kwargs):
    super().init(bitfile, **kwargs)
    def multiply(self, stream, constant):
    return self.const_multiply.stream_multiply(stream, constant)

    为了测试我们的新overlay类,我们可以像以前一样构建它。
    In [19]: overlay = TestOverlay(’/home/xilinx/tutorial_2.bit’)
    overlay.multiply([2,3,4,5,6], 4)
    Out[19]: ContiguousArray([ 8, 12, 16, 20, 24], dtype=uint32)

    包含的驱动程序
    pynq库包含许多驱动程序,作为pynq.lib包的一部分。 这些包括
    AXI GPIO
    AXI DMA(仅限简单模式)
    AXI VDMA
    AXI中断控制器(内部使用)
    Pynq-Z1音频IP
    Pynq-Z1 HDMI IP
    颜色转换IP
    像素格式转换
    HDMI输入和输出前端
    Pynq Microblaze程序加载

    展开全文
  • 华为内部面试题库---(5)

    千次阅读 2013-05-20 10:57:34
    1、分时操作系统与实时操作系统最本质的区别是:  A  处理逻辑的正确性  B 得出结果的时间的确定性   C 关注系统吞吐率,平均响应时间 ...分时操作系统:同时允许多用户通过终端,以交互方式使用计算机

    1、分时操作系统与实时操作系统最本质的区别是:
     A   处理逻辑的正确性
     B  
    得出结果的时间的确定性 
     C  
    关注系统吞吐率,平均响应时间

     D  
    其他

    答案:B

    试题解析:出处:http://www.360doc.com/content/11/0321/16/507289_103227092.shtml

    分时操作系统:同时允许多个用户通过终端,以交互方式使用计算机,共享主机资源,时间片轮询为多个用户访问服务,关注系统的总体吞吐率和平均响应时间。
    实时操作系统:外部事件产生时,能够快速响应,控制实时任务协调一致运行的操作系统,根据时间约束的严格性,分为软实时操作系统和硬实时操作系统。

     

    2.软实时操作系统与硬实时操作系统的区别是:
     A  用户交互性
     B  
    操作独立性
     C   执行任务的期限,不允许时延
     D   其他

    答案:C
    试题解析:出处: http://www.ibm.com/developerworks/cn/linux/l-lrt/part1/

       软实时操作系统:系统负荷较重时,允许发生时延的情况,但同时不会对系统造成较大的危害,系统不会整体崩溃。
        应用场景:视频点播系统,电话会议系统
    硬实时操作系统:必须在指定的期限内完成实时任务,不允许时延,如果发生时延会造成灾难性的后果。
        应用场景:卫星控制系统,机床控制系统

     

    3.影响实时操作系统的硬件因素是:
     A   cache line  miss
     B   TLB  miss
     C  
    缺页异常
     D  
    关中断延时与关抢占延时

    答案:ABC
    试题解析:出处:
    http://www.ibm.com/developerworks/cn/linux/l-lrt/part1/

    cache miss
       CPU 内置cache访问miss,导致实时程序执行时间较大

       Page cache(内存缓存从硬盘读取的数据)访问miss,导致实时程序访问时间较长

       Buffer cache (内存缓存即将写入硬盘的数据)访问miss,避免重复写入硬盘数据,导致实时程序频繁访I/O

    TLB  miss
       CPU访问数据,TLB直接从快表得到物理地址,TLB miss导致CPU访问两次内存导致时延(页表)

    缺页异常

       CPU通过页表寻找物理地址,如果页表不在物理内存中,导致缺页中断,影响实时程序访问时间

    关中断延时与关抢占延时是系统软件kernel方面在中断和调度方面对实时性的影响

     

    4.CPU接收同步中断,下面不是的:
     A  故障
     B  
    陷阱
     C   终止
     D   I/0中断

    答案:D
    试题解析:出处: linux内核设计与实现  第六章

       处理器对中断的处理,主要分为同步和异步。
        同步主要是指处理器执行相关指令的同时产生,称为异常,其分为故障、陷阱、中止
        1)故障:程序正常工作下,出现软件执行过程中的异常,进入异常处理程序后在不失连贯性的情况下重新开始,纠正后返回到引起故障的原来地址,CS、EIP保存了引起故障的入口地址和偏移量。
    实例:缺页异常处理函数
        2)陷阱:同步异常,是执行一条指令的结果。是在用户程序和内核之间提供系统调用接口,陷阱返回当前指令的下一条指令。
    实例:单步调试程序
        3)中止:由不可恢复的未知错误造成的结果,CS、EIP不能正常保留异常指令发生的地址。
    实例:处理程序返回到内核中的abort例程
    异步主要是来自外部硬件产生的中断和软件产生的中断。

     

    5.标准Linux内核对中断处理流程不正确的是:
     A  处理器只接受外部中断信号,首先CPU执行完当前指令 
     B   保留CPU其状态信息,进行压栈操作

     C   内核转向中断处理,执行相关中断处理程序

     D   中断处理执行完后,进行出栈操作,返回被打断程序继续执行

    答案:A
    试题解析:出处:  linux内核设计与实现  第六章

       标准Linux内核不光只是相应外部硬件中断,同时可以响应内部异常。在中断不允许抢占状态下,内核响应外部硬件中断的流程主要如下;  
        1) 外部硬件设备通过向中断控制器(IOAPIC/PIC)的中断输入引脚请求中断,中断控制器接收到中断后,向处理器芯片上(INTR、NMI)两个中断引脚输入中断请求;

        2)  INTR引脚接收外部硬件I/O中断请求,从系统总线上读取中断控制器提供的中断向量号,INTR引脚接收外部硬件的可屏蔽中断;
        3)处理器响应其中断处理之前,先保留其CPU状态信息,进行相关压栈操作;
        4)CPU通过其IDTR找到中断向量表在内存中地址,找到中断向量对应的中断处理函数的入口地址;
        5)找到中断处理函数(即相应硬件设备的中断处理函数),开始执行;
        6)执行完后,进行出栈操作,返回被打断程序继续执行。

    展开全文
  • 分时系统,是多个用户以交互方式使用计算机的系统。 批处理系统是允许多个用户将多个作业交给计算机集中处理的系统。 感觉这两类系统都是一个意思,就是很多人可以用它。那为啥起两个名字呢?
  • 方式存储数据对象 使用文件 Neither this documentation nor any part of it may be copied or reproduced in any form or by any means or translated into another language, without the prior consent of...
  • 设计多用户系统 3-9 设计易于部署及维护的系统 3-9 4 章 设置FactoryTalk Directory 4-1 关于FactoryTalk Directory 4-1 关于FactoryTalk Directory故障 4-2 设置FactoryTalk Directory 4-3 步骤总结 4-3 指定单机...
  • 操作系统概论

    2018-12-06 20:27:25
    允许多用户以交互方式使用计算机的操作系统称为();允许多个用户将多个作业提交给计算机集中处理的操作系统称为();计算机系统能及时处理过程、控制数据并做出响应的操作系统称为(): 分时操作系统;批处理...
    1. 操作系统的三个基本类型是:
      批处理操作系统、分时操作系统和实时操作系统。
    2. 批处理操作系统的主要缺点是:
      缺少交互性
    3. 允许多个用户以交互方式使用计算机的操作系统称为();允许多个用户将多个作业提交给计算机集中处理的操作系统称为();计算机系统能及时处理过程、控制数据并做出响应的操作系统称为():
      分时操作系统;批处理操作系统;实时操作系统。
    4. 现代操作系统的两个最基本的特征是:
      并发和共享。
    5. 从用户的观点出发,操作系统是()
      用户与计算机之间的接口。
    6. 实时系统应具有两个基本特征:
      及时性和高可靠性。
    7. 操作系统的特征是:
      并发性、共享性、虚拟性和异步性
    8. 操作系统的五大管理功能是:
      处理机管理、存储器管理、设备管理、文件管理、作业管理
    展开全文
  • 操作系统概述

    2018-12-08 23:04:14
    3.允许多用户以交互方式使用计算机的操作系统称为();允许多个用户将多个作业提交给计算机集中处理的操作系统称为();计算机系统能及时处理过程、控制数据并做出响应的操作系统称为(): 分时操作系统;...
  • PAGE PAGE 1 操作系统练习题 第一章 引言 (一)单项选择题 1操作系统是计算机系统的一种?B )A应用软件?...D使用方便并高效工作 3允许多用户以交互方式使用计算机的操作系统是? A) A分时操作系统? ?B批处
  • 允许用户整合来自不同平台/格式的几何物体,方便快速地创建各种场景。允许的平台/格式包括: Rhino, IGES, STEP, Solidwords, SketchUp, 3DXML, FBX, 3DS, OBJ, U3D, 和 3D PDF。这个特性能够极大的帮助开发者互动...
  • * 在文件中查找允许以“;”号间隔的文件夹名称 * 增加工具组数量到 20 个 * 在 #PREFIX 和 #SUFFIX 声明中允许字符串值 *“设置重复行标记”命令 (“编辑 - >“其它”) *“监视日志文件”命令 (“文件”) * -pi ...
  • 概念:在一台主机上连接了多个配有显示器和键盘的终端并由此所组成的系统,该系统允许多用户同时通过自己的终端,以交互方式使用计算机,共享主机中的资源。 人—机交互 共享主机  3.要解决的关键问题:如何使...
  • 多媒体教室

    2013-06-14 08:10:31
    如果您需要在两个组播不通的网段间使用多媒体网络教室,就必须在 Windows NT 作为网关的机器上安装路由器软件,安装方法如下: 1. 使网关的两块网卡分别对应不同的网段,并将各网段的学生机设置网关为相应网段的...
  • -刷新方式:单页面页面局部更改或刷新,页面整页刷新 -url模式:单页面 a.com/#/pageone 页面 a.com/pageone.html -用户体验:单页面页面切换快,用户体验良好,页面加载缓慢,流畅度不够,用户体验较差 -...
  • 第三章

    2021-01-03 23:24:59
    分时系统是指,在一台主机上连接了多个配有显示器和键盘的终端并由此所组成的系统,该系统允许多用户同时通过自己的终端,以交互方式使用计算机,共享主机中的资源。 分时系统实现中的关键问题 系统首先必须能提供...
  • CTSS使得一台大型主机可以连续多个带有显示器和键盘的终端,同时允许多用户通过主机的终端以交互方式使用计算机,共享主机中的资源。 分时操作系统让使用者在某一段时间内轮流循环使用计算机的资源,由于CPU在多个...
  • 分时系统的详细解释

    千次阅读 2013-11-25 17:39:01
    分时操作系统是指在一台主机上连接多个带有显示器和键盘的终端,同时允许多个用户通过主机的终端,以交互方式使用计算机,共享主机中的资源。分时操作系统是一个多用户交互式操作系统。 看了这个后,觉得理解起来...
  • 分时系统

    2011-11-08 11:31:08
    分时操作系统是指在一台主机上连接多个带有显示器和键盘的终端,同时允许多个用户通过主机的终端,以交互方式使用计算机,共享主机中的资源。分时操作系统是一个多用户交互式操作系统。分时操作系统,主要分为三类:...

空空如也

空空如也

1 2 3 4 5 ... 18
收藏数 352
精华内容 140
关键字:

允许多用户以交互方式使用