hongweipeng 发布的文章

深度剖析凭什么python中整型不会溢出


前言

本次分析基于 CPython 解释器,python3.x版本

在python2时代,整型有 int 类型和 long 长整型,长整型不存在溢出问题,即可以存放任意大小的整数。在python3后,统一使用了长整型。这也是吸引科研人员的一部分了,适合大数据运算,不会溢出,也不会有其他语言那样还分短整型,整型,长整型...因此python就降低其他行业的学习门槛了。

那么,不溢出的整型实现上是否可行呢?


用libvirt为虚拟机创建快照


快照的类型

kvm环境下 qcow2 的镜像支持快照,有几种类型的快照:

  • 磁盘快照:磁盘的内容(vm关联的所有磁盘)都会在给定的时间点保存,并且可以恢复到该状态。如果是正在运行的vm,磁盘快照很可能只是崩溃的(它表示突然停电时的磁盘状态)。磁盘快照可以可以放在内部也可以放在外部。
    • 按快照信息保存可以分为:内置快照和外置快照;
    • 按照vm状态可以分为:关机状态快照和运行状态快照;
    • 按磁盘数量可以分为:单盘和多盘;多盘情况具有原子性,即所有盘的快照点相同,并且创建快照时,要么都快照成功,要么都快照失败。
  • 内存状态:仅保存内存的状态以及vm正在使用的其他资源。如果在获取和恢复vm状态快照之间磁盘未被修改,则guest虚拟机将恢复一致状态;但如果在此期间磁盘被外部修改,则很可能导致数据损坏;
  • 系统检查点:所有磁盘的磁盘快照和vm内存状态的组合,可用于恢复客户机从停止位置恢复类似于休眠的状态。