logo
publist
写文章

简介

该用户还未填写简介

擅长的技术栈

可提供的服务

暂无可提供的服务

开源的虚拟机监视器和仿真器:QEMU(Quick EMUlator)与VirtualBox、VMware Workstation的比较

通过QEMU的用户模式,您可以在主机操作系统上运行不同架构的应用程序,无需真实的目标硬件,极大的节省了开发成本,提升了开发效率。需要注意的是,虽然 VMware Workstation 支持多种 CPU 架构的模拟,但在模拟性能和兼容性方面可能会有一定差异,特别是对于需要较高计算资源的场景。总的来说,Windows VirtualBox 是一个功能丰富、易于使用的虚拟化软件,适用于个人用户、开发者

文章图片
#开源
Linux虚拟化KVM-Qemu分析(五)之内存虚拟化

Linux虚拟化KVM-Qemu分析(二)之ARMv8虚拟化》非虚拟化下的内存的访问CPU访问物理内存前,需要先建立页表映射(虚拟地址到物理地址的映射),最终通过查表的方式来完成访问。在ARMv8中,内核页表基地址存放在TTBR1_EL1中,用户空间页表基地址存放在TTBR0_EL0中;虚拟化下的内存访问虚拟化情况下,内存的访问会分为两个StageHypervisor通过Stage 2来控制虚拟机

文章图片
#linux#服务器#java
PCIE SRIOV虚拟化技术

硬件架构的核心是PF(全功能)和VF(轻量级功能),其中VF的BAR空间如同桥梁,将系统内存与虚拟设备连接起来。在Linux环境中,PF的配置涉及SR-IOV控制开关和VF的数量设定,drivers/pci/iov.c是实现这一切的关键接口。是这样的:在创建虚拟机时,QEMU搭建起GVA(guest虚拟地址)到GPA(全局虚拟地址)再到HPA(主机物理地址)的桥梁。当虚拟设备驱动在虚拟机中执行操作

安装VMware15.5+安装win10虚拟机操作系统

14.接下来设置三个安全问题,这里就不截图了,根据自己实际情况设置,问题的答案需要你记住的但是也不能太过于真实,或者可以换种方式表达,最好是只有你自己能懂的,因为还是需要考虑一下安全问题。(5)分配完成之后需要将每个分区进行格式化,最后再点击【驱动器0分区2】,选择这个分区作为系统盘,点击【下一步】继续安装,然后可能需要等待一段时间,这段时间你可以找点别的事做。11.这里看个人需求,需要就添加,不

#windows
Linux内存管理 —— DMA和一致性缓存(dma_alloc_coherent(),dma_map_sg())

还有一个接口dma_cache_sync(),可以手动去做cache同步,上面说dma_alloc_coherent()分配的是uncached内存,但有时给DMA用的内存是其他模块已经分配好的,例如协议栈发包时,最终要把skb的地址和长度交给DMA,除了将skb地址转换为物理地址外,还要将CPU cache写回(因为cache里可能是新的,内存里是旧的)。DMA需要的内存由内核去申请,内核可能需

文章图片
#linux#缓存
概述 - Linux内存管理(一)

内存管理是从单板上电运行uboot启动引导linux并完成文件系统挂载(文件系统管理Nandflash)过程前两个环节都需要完成的重要工作,并且随着程序推进的内存管理也逐渐完善起来。如果一步到位直接编写一个非常完整的内存管理系统,这个过程是相当麻烦且低效的。u-boot做为启动引导程序,其核心功能就是引导内核镜像,所以其内存管理功能并不用像Linux内核中的内存管理一样功能齐全。u-boot中没有

文章图片
Linux系统日志 - logrotate与syslog

syslogd专门记录非内核的其他设备所产生的日志,当系统的控制权由系统交给init的时候,日志信息的记录由syslogd负责记录。Logrotate是一个日志文件管理工具,用来把旧的日志文件删除,并创建新的日志文件,即日志的转储。syslog工具由一个守护程序组成,接受访问系统的日志信息并且根据/etc/syslog.conf配置文件中的指令处理日志信息。指向信息的指针,一般为程序名,ident

文章图片
#linux
判断文件或文件夹(目录)是否存在 C/C++ win/linux通用

2. 在使用access()所在.cpp第一条语句位置加上 #define _CRT_NONSTDC_NO_WARNINGS,重新编译即可,原理和2一样。2. 项目-属性-C/C+±预处理器中加入“_CRT_NONSTDC_NO_WARNINGS”,保存后重新编译项目即可。函数原型:int _access(const char* _Filename, int _AccessMode);一、wind

#c++#c语言
进程调度时机 - 进程管理(二十一)

上一章学习了调度的方式,分为主调度器和周期性调度器,明白了进程切换分为自愿(voluntary)和强制(involuntary)两种。自愿切换: 是指任务由于等待某种资源,将state改为非running状态后,主动调用schedule让出CPU任务因为等待 IO 操作完成或者其它资源而阻塞。任务显式地调用 schedule 前,把任务运行态设置成 TASK_UNINTERRUPTIBLE。保证任

文章图片
Linux内存管理 - 页框分配器2 watermark/compaction/reclaim

在内核初始化完成后,内存管理的责任由伙伴系统承担。前面一章主要学习了伙伴系统的软件算法实现原理伙伴系统原理,本章正式开始Linux下伙伴系统的学习,本章主要是原理性的梳理一些流程,其主要包括linux对于伙伴系统的设计思路内存碎片的问题和分配器如何处理碎片伙伴系统的分配器API1. 设计思路前面章节中学习了伙伴系统原理,我们重新梳理伙伴系统的核心思路:内核将系统的空闲页面分成11个块链表,每个块链

文章图片
    共 46 条
  • 1
  • 2
  • 3
  • 4
  • 5
  • 请选择