自定义博客皮肤VIP专享

*博客头图:

格式为PNG、JPG,宽度*高度大于1920*100像素,不超过2MB,主视觉建议放在右侧,请参照线上博客头图

请上传大于1920*100像素的图片!

博客底图:

图片格式为PNG、JPG,不超过1MB,可上下左右平铺至整个背景

栏目图:

图片格式为PNG、JPG,图片宽度*高度为300*38像素,不超过0.5MB

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(21)
  • 收藏
  • 关注

原创 内核版本与发行版本(CentOS & Ubuntu)的对应关系

内核版本和发行版本(CentOS & Ubuntu)的对应关系

2022-10-19 23:25:29 6939 1

原创 字节偏移引起的读写错误

​   今天又被一个同事叫查问题,他从网络上接收一个结构体数据,然后根据偏移获取值,但是总是获取不对,由于涉及结构体嵌套,一直怀疑是发送方问题,查了好久最后发现是解析的时候计算偏移出了问题,这样的类似问题在我印象中不止一次了,上次也时一个同事遇到了类似问题。所以今天我有必要记录一下,加深映像,希望下次遇到能够快速发现问题;在这不方便贴出原问题代码,下面给出另外一个实例,问题都是一样的。// TestStructOffiset.cpp : 定义控制台应用程序的入口点。//#inclu

2020-12-10 23:10:41 1401 1

原创 Ubuntu 代号引发的“崩溃”

写这篇文章主要是因为在前几天,因为向来不关心ubuntu代号的我而引发的一次“崩溃”(人崩溃),正如我们所知Ubuntu 每半年都会更新一个版本,每两年都会发布一个TLS(长期支持版本),具体每个版本以及代号我就不一一介绍了,网上资料一大堆。下面仅列举最近的三个长期版本:版本号代号发布时间16.04Xenial Xerus(好客的非洲地鼠)2016年4月(TLS)18.04Bionio Beaver (仿生海狸)2018年4月(TLS)20.04Focal ..

2020-05-29 23:07:08 5468 1

原创 Linux 启动过程

前言:  Linux是一种自由和开放源代码的类UNIX操作系统。该操作系统的内核由林纳斯·托瓦兹在1991年10月5日首次发布。在加上用户空间的应用程序之后,成为Linux操作系统。Linux是自由软件和开放源代码软件发展中最著名的例子。  Linux有许多常见的发行版本,如CentOS,Ubuntu,SUSE,Redhat ,NSDL等。像Ubuntu 每年的4月和10月都会出一个新的发...

2020-04-23 22:45:21 295

原创 Windows的启动过程

Windows 启动过程大致可以分为下面几个步骤:1、预引导2、引导3、载入内核4、初始化内核5、登录补充说明:载入内核阶段:是读取HKEY_LOCAL_MACHINE/System注册表键,然后根据载入的Select键的内容判断接下来需要载入哪个Control Set注册表键,而这些键会决定随后系统将载入哪些设备驱动或者启动哪些服务,这里实际是寻找Start键的数值是“1...

2020-03-27 21:43:35 3525 1

原创 如何在新一批成员中脱颖而出

每年都有一大波毕业生涌入社会,涌入各行各业,在那里寻找梦想、渴望实现梦想,干一番大事业;你的梦想是什么?A:我的梦想是将来有一天成为科学家 ------- 这个不要看了,本文对你帮助不大;B: 我的梦想是将来有一天娶个漂亮媳妇生个娃 ------- 这个不要看了,意义不大,可以考虑其它渠道;C : 我的梦想是将来找一份工作混口饭吃就可以了 ------- 这个不要看了,珍惜时间刷刷朋...

2020-03-03 23:08:01 259

原创 Windows下dump文件的生成

Windows下Dump文件分为两大类,内核模式Dump和用户模式Dump。内核模式Dump是操作系统创建的崩溃转储,最经典的就是系统蓝屏,这时候会自动创建内核模式的Dump。用户模式Dump进一步可以分为Full Dump和Minidump。Full Dump包含了某个进程完整的地址空间数据,以及许多用于调试的信息,而Minidump则有许多类型,根据需要可以包含不同的信息,有的可能只包含某...

2019-12-25 22:32:06 5859

转载 编译适用于ARM的linux内核并进行QEMU仿真 ( Compile Linux kernel 3.2 for ARM and emulate with QEMU)

译者序作为第一篇翻译文档,一方面对于翻译经验不足、措辞不当,另一方面对于linux我也是初学者,很多东西尚处于待学阶段,而翻译此文的动机就是我要学习如何跨平台进行文件系统的...

2019-12-09 23:37:48 558

原创 CentOS 7 搭建交叉编译环境(下)

上篇文章已经介绍了Linux交叉编译的基础概念、为什么需要引入交叉编译以及从GCC编译流程的四个步骤出发讲述了搭建交叉编译环境需要构建的一条交叉编译工具链主要有哪些构成的,此外还对当前使用较多的crosstool-ng工具进行了介绍和安装,本篇就具体采用crosstool-ng工具来制作 MIPS64 交叉编译环境(arm也同样适用,只是选择设置有些不一样)。在制作交叉编译工具链之前,我们...

2019-11-27 22:28:03 3166 1

原创 CentOS 7 搭建交叉编译环境(上)

前段时间由于工作上的需要,需要编译程序在MIPS架构的终端上运行,于是就学习了一下交叉编译相关的一些知识,并尝试自己搭建了交叉编译环境最终编译程序运行OK,现对该学习过程做个总结;什么是交叉编译本地编译:即在当前目标平台下编译出来的程序,并且可以运行在当前平台上;简单理解就是编译和运行环境是一致的。交叉编译:所谓的交叉(cross)是一个和本地编译相对应的概念,即在当前目标平台下编译出...

2019-11-20 23:11:39 5445

原创 内核版本与发行版本(CentOS & Ubuntu)的对应关系

     Linux已经存在近30年了,1991 年芬兰大学生Linus Torvalds 出于兴趣萌生了开发自由的UNIX操作系统的想法;1992年,第一个Linux发行版诞生了(当然肯定不是本文说的CentOS和Ubuntu)。首先我们需要清楚Linux内核和Linux发行版本不是一个概念。Linux内核 :是系统的心脏,是运行程序和管理像磁盘和打印机等硬件设备的核心程序,它提...

2019-10-21 22:52:48 31014 3

原创 Deb 包制作理论&实践篇

  前面两篇文章已经介绍了rpm 包的制作,本文将介绍另一种打包结构和方法,即deb打包;rpm包主要用于Redhat系列,如Fedora 和Centos等发行版本,而deb包主要用于debian系列,如Ubuntu等。deb包的结构deb包里面的结构:DEBIAN目录 和 软件具体安装目录(模拟 / 根目录)(如etc, usr, opt, tmp等)。在DEBIAN目录中至少有con...

2019-09-28 22:20:17 1499

原创 RPM 包制作实操进阶篇

上一篇《RPM包制作理论基础篇》我们从RPM包制作的原因、原理以及基本概念进行了理论性的介绍,也重点说到了制作rpm包的核心工作是编写或获取spec文件,也叙述性的阐述了当前获取spec的几种方式;而本篇将从具体如何制作RPM包进行介绍,下面我们就通过几个实操来详细讲解我们是如何获取这个核心spec文件以及又是如何通过它进行rpm包制作的。实操一: 通过模板获取spec文件本例我们就自...

2019-08-29 23:29:15 917 2

原创 RPM包制作理论基础篇

我将通过两篇博客来说明rpm包制作,分为《RPM包制作理论基础篇》和《RPM包制作实战进阶篇》;本篇将从学习RPM包制作目的、原理以及基本的命令进行讲解:准备工作rpm 包制作需要rpmbuild 命令工具,因此我们需要先安装好该工具包,但是在这里我们不直接安装rpm-build,而是通过安装rpmdevtools(该工具包依赖rpm-build 包)将rpm-build 自动给安装上;...

2019-08-28 23:40:04 1263

原创 浅谈虚拟化技术分类认识

    虚拟化技术已经在信息化产业领域产生了深刻的影响,被认为是支持云计算发展炙手可热的关键技术。广义的虚拟化意味着将不存在的事物或现象“虚拟”成为存在的事物或现象的方法;侠义的虚拟化虚拟化技术专指一台物理机上可以跑多台虚拟机,共享内存、CPU、IO等硬件资源,虚拟机之间在逻辑上是相互隔离的。    虚拟化技术经过这些年的发展,已经成为一个庞大的技术家族,从其分类来看,也是众说纷纭。下面...

2019-08-07 23:38:47 3708

原创 spice、qemu-kvm以及libvirt源码编译安装与使用(下)

一、spice简介spice(独立计算环境简单协议)是红帽企业虚拟化桌面版的主要技术组件之一,具有自适应能力的远程提交协议,能够提供与物理桌面完全相同的最终用户体验。其包含三个组件。SPICE Driver :SPICE驱动器 存在于每个虚拟桌面内的组件;SPICE Device:SPICE设备 存在于红帽企业虚拟化Hypervisor内的组件;SPICE Client:SPICE客户端 ...

2019-07-21 22:56:29 2524

原创 spice、qemu-kvm以及libvirt源码编译安装与使用(中)

上一篇我们已经介绍了spice 和qemu的安装,在成功安装QEMU之后便可创建自己的虚拟机。具体步骤如下:1, 使用qemu-img创建虚拟机镜像,虚拟机镜像用来模拟虚拟机的硬盘,在启动虚拟机之前需要创建镜像文件。[root@localhost IMG]# qemu-img create -f qcow2 ubuntu.img 10GFormatting 'ubuntu.img', fmt...

2019-06-13 23:34:33 3215

原创 spice、qemu-kvm以及libvirt源码编译安装与使用(上)

本文将会介绍如何利用spice、qemu-kvm以及libvird源码编译并进行虚机的创建。相信大家平时搭建虚机用的可能比较多的是诸如使用VMware类的工具,这些工具也都基本能够满足我们的需求,但是要想从事虚拟化工作以及针对部分功能进行优化可能就无从下手了。那么今天就会带大家一起熟悉以下利用常见的qemu-kvm源码创建虚机的过程,源码的好处之一自然就是可以修改优化。下面进入正题。。。环境准备...

2019-05-15 22:46:09 5192 1

原创 realloc 引起的程序崩溃问题

  记录一下公司某产品在运行过程中产生的崩溃问题,通过调试 core文件,我们定位到是程序在调用realloc 时候出现了问题,这是一个保受争议的函数,首先来看一下程序中的那块代码段;`char * pData = NULL; // 实际定义在头文件并在类的构造函数中初始化,析构函数中释放int DisplayChannel::create_canvas(int width,int ...

2019-04-21 22:37:03 6723 2

原创 设计模式之工厂模式

设计模式之工厂模式​ 工厂模式共有三种方式,无论哪种方式目的都是为了更好封装与解耦,主要有简单工厂模式、工厂模式以及抽象工厂模式,平时的工作中我接触到的可能前两种方式比较多一些,下面就针对这三种模式做个简单的描述:1、简单工厂模式​ 工厂方法根据不同类型创建不同的类对象,如汽车厂商,根据不同输入参数生产出不同类型的汽车,如宝马、奔驰、大众等。 这个有一个抽象产品,即汽...

2019-04-10 22:13:45 116

原创 I/O多路复用技术之开博头篇

I/O技术浅谈I/O复用技术select、poll、epoll三种方式的比较I/O复用技术 I/O复用让一个进程能够处理多个请求,我们可以采用多线程去实现,让一个线程处理一路I/O请求,这样势必会造成线程的创建、切换、销毁等开销,尽管对于少数的I/O请求这种线程级开销很少,但是如果I/O 请求并发量比较大时,过多的线程将会是不小的开销。 我们可以通过(第一篇博客,先测试一下)select...

2018-10-19 15:41:12 196

空空如也

空空如也

TA创建的收藏夹 TA关注的收藏夹

TA关注的人

提示
确定要删除当前文章?
取消 删除