自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

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

转载 linux 下的常见信号

在linux下有很多信号,按可靠性分为可靠信号和非可靠信号,按时间分为实时信号和非实时信号,linux进程也有三种方式来处理收到的信号:(1)忽略信号,即对信号不做任何处理,其中,有两个信号不能忽略:SIGKILL及SIGSTOP;(2)捕捉信号。定义信号处理函数,当信号发生时,执行相应的处理函数;(3)执行缺省操作,Linux对每种信号都规定了默认操作。Linux进程对实时信号的缺省反应是进程终止。但是对于高性能服务器编程来说,这是致命的缺陷,对于这类服务器需要保证在收到各种信号后仍.

2020-07-18 17:28:22 210

转载 Linux-workqueue讲解

转自:https://www.cnblogs.com/vedic/p/11069249.html============= 参考=============代码:linux-3.10.65/kernel/workqueue.c===============================1. workqueue 是什么?  workqueue是对内核线程封装的用于处理各种工作项的一种处理方法, 由于处理对象是用链表拼接一个个工作项, 依次取出来处理, 然后从链表删除,就像一个队列排好...

2020-07-17 10:33:37 583

转载 module_param 模块参数

转自:http://blog.sina.com.cn/s/blog_af9acfc601019nwg.html 模块参数引导模块时,可以向它传递参数。要使用模块参数加载模块,这样写:insmod module.ko [param1=value param2=value ...] 为了使用这些参数的值,要在模块中声明变量来保存它们,并在所有函数之外的某个地方使用宏MODULE_P...

2019-02-18 10:02:55 3054

转载 linux内核sysfs详解

转自:https://blog.csdn.net/skyflying2012/article/details/11783847"sysfs is a ram-based filesystem initially based on ramfs. It provides a meansto export kernel data structures, their attributes, and ...

2018-12-25 18:13:54 750 1

转载 linux下动态链接库(.so)的显式调用和隐式调用

转自:https://blog.csdn.net/lc_910927/article/details/42393121进入主题前,先看看两点预备知识。一、显式调用和隐式调用的区别        我们知道,动态库相比静态库的区别是:静态库是编译时就加载到可执行文件中的,而动态库是在程序运行时完成加载的,所以使用动态库的程序的体积要比使用静态库程序的体积小,并且使用动态库的程序在运行时必须...

2018-11-02 17:25:00 640

转载 linux之dup和dup2函数解析

链接:https://blog.csdn.net/fulinus/article/details/9669177

2018-10-29 09:32:52 133

转载 linux下的常见信号总结

转自:https://www.cnblogs.com/gaorong/p/6430905.html在linux下有很多信号,按可靠性分为可靠信号和非可靠信号,按时间分为实时信号和非实时信号,linux进程也有三种方式来处理收到的信号:(1)忽略信号,即对信号不做任何处理,其中,有两个信号不能忽略:SIGKILL及SIGSTOP;(2)捕捉信号。定义信号处理函数,当信号发生时,执行相应的...

2018-10-29 08:58:43 200

转载 Linux内核中的jiffies及其作用介绍及jiffies等相关函数详解

转自:https://www.aliyun.com/jiaocheng/1388801.html在LINUX的时钟中断中涉及至二个全局变量一个是xtime,它是timeval数据结构变量,另一个则是jiffies,首先看timeval结构struct timeval{    time_t tv_sec; /***second***/    susecond_t tv_usec;/***...

2018-10-26 11:21:07 701

转载 Linux内核空间内存申请函数kmalloc、kzalloc、vmalloc的区别

转自:http://www.th7.cn/system/lin/201606/167750.shtml我们都知道在用户空间动态申请内存用的函数是 malloc(),这个函数在各种操作系统上的使用是一致的,对应的用户空间内存释放函数是 free()。注意:动态申请的内存使用完后必须要释放,否则会造成内存泄漏,如果内存泄漏发生在内核空间,则会造成系统崩溃。  那么,在内核空间中如何申请内存呢?一...

2018-10-22 10:02:47 113

转载 ioctl的实现

转自:http://blog.chinaunix.net/uid-25014876-id-59419.html 一、ioctl的简介:虽然在文件操作结构体”struct file_operations”中有很多对应的设备操作函数,但是有些命令是实在找不到对应的操作函数。如CD-ROM的驱动,想要一个弹出光驱的操作,这种操作并不是所有的字符设备都需要的,所以文件操作结构体也不会有对应的函...

2018-10-19 10:35:54 247

转载 C语言特殊用法

转自:http://blog.chinaunix.net/uid-26352685-id-3706744.html c语言特殊语法(一)结构体赋值 c语言特殊语法(二)调试 c语言特殊语法(三)字节对齐c语言特殊语法(四)位域c语言特殊语法(五) __attribute__机制介绍 c语言特殊语法(六)typeof的用法 typeof是获取变量的类型。具体使用看看下面的代码你就懂了。...

2018-10-18 14:59:55 609

转载 C语言typeof详解

转自:https://www.cnblogs.com/likewithyou/p/5836551.html前言:    typeof关键字是C语言中的一个新扩展,这个特性在linux内核中应用非常广泛。一,说明    typeof的参数可以是两种形式:表达式或类型。    1,表达式的的例子:        typeof(x[0](1)        这里假设x是一个函数指针数组,这...

2018-10-18 14:57:40 2920

转载 container of()函数简介

转自:https://blog.csdn.net/s2603898260/article/details/79371024 在linux 内核编程中,会经常见到一个宏函数container_of(ptr,type,member), 但是当你通过追踪源码时,像我们这样的一般人就会绝望了(这一堆都是什么呀? 函数还可以这样定义??? 怎么还有0呢???  哎,算了,还是放弃吧。。。)。 这就是...

2018-10-18 14:45:15 176

转载 Raid信息保存硬盘还是Raid卡上?

转自:http://blog.51cto.com/4017397/1077697    磁盘阵列卡拥有一个专门的处理器,如Intel的I960芯片,HPT370A/372 、Silicon Image SIL3112A等,还拥有专门的存贮器,用于高速缓冲数据。这样一来,服务器对磁盘的操作就直接通过磁盘阵列卡来进行处理,因此不需要大量的CPU及系统内存资源,不会降低磁盘子系统的性能。阵列卡专用的...

2018-10-08 15:39:19 7378

转载 宏杉科技针对传统RAID缺陷推CRAID 3.0

转自:http://storage.it168.com/a2015/0727/1749/000001749523.shtml【IT168 评论】作为一种成熟、可靠的硬盘系统数据保护标准,RAID技术自诞生以来一直作为存储系统的基础技术而存在。但是随着近年数据呈现爆炸式增长趋势,传统RAID逐渐暴露出越来越多的问题。  硬盘故障导致数据丢失时,RAID重构的进程会占用系统的资源,导致应用系统...

2018-09-26 10:56:43 850

转载 存储-磁盘阵列物理架构

转自:https://blog.csdn.net/haiross/article/details/38441739存储-RAID简介    RAID – Redundant Array of InexpensiveDisks将多块硬盘分组虚拟成一个单独的硬盘,使其得到更大的空间,更快的速度以及更高的实用性。如下图所示:  RAID的优势是:容量、可管理性、性能优势、可靠性等。...

2018-09-26 08:47:40 1567

转载 存储:lun与卷(LVM)

转自:http://blog.sina.com.cn/s/blog_45722cc001010d86.htmllun是指硬件层分出的逻辑盘,如raid卡可以将做好的400G的raid5再分成若干个逻辑盘,以便于使用,每一个逻辑盘对应一个lun号,OS层仍把这些逻辑盘看做是物理盘。(lun最早出自scsi,后来引申到所有硬件层划分的逻辑盘) 卷是软件层分成的逻辑分区,如LVM的逻辑卷LV...

2018-09-21 16:44:38 6241

转载 存储基本概念(lun,volume,HBA,DAS,NAS,SAN,iSCSI,IPSAN)

一篇讲述存储基本概念的不错的博文:https://blog.csdn.net/liukuan73/article/details/45506441

2018-09-20 14:21:27 2080

转载 SCSI/iSCSI及SAS、NAS、SAN的基本介绍

转自:http://blog.51cto.com/11107124/1884637 SCSI(Small Computer System Interface)小型计算机系统接口,一种用于计算机和智能设备之间(硬盘、软驱、光驱、打印机、扫描仪等)系统级接口的独立处理器标准。 SCSI是一种智能的通用接口标准。 SCSI是一种计算机系统接口的标准SCSI是一种I/O技术SCSI...

2018-09-20 10:11:48 15583

转载 图文并茂 RAID 技术全解 – RAID0、RAID1、RAID5、RAID100……

转自:http://www.hack520.com/169.html  RAID 技术相信大家都有接触过,尤其是服务器运维人员,RAID 概念很多,有时候会概念混淆。这篇文章为网络转载,写得相当不错,它对 RAID 技术的概念特征、基本原理、关键技术、各种等级和发展现状进行了全面的阐述,并为用户如何进行应用选择提供了基本原则,对于初学者应该有很大的帮助。一、RAID 概述  1988 ...

2018-09-19 09:25:16 425

转载 Linux系统中“动态库”和“静态库”那点事儿

转自:https://blog.csdn.net/u010977122/article/details/52958330#commentBox今天忙着编译库文件,中间遇到不少问题,看到这篇文章不错,就转载过来了,后面我会整理下今天的问题,从网上下载了一个开源库,如何进行编译,如何加载到我们的工程中。 今天我们主要来说说Linux系统下基于动态库(.so)和静态(.a)的程序那些猫腻。在...

2018-08-24 16:08:49 221

转载 内存操作函数memmove,memcpy,memset

转自:https://blog.csdn.net/peiyao456/article/details通过字符串的学习,我们知道字符串操作函数的操作对象是字符串,并且它的结束标志是结束符\0,当然这个说的是不受限制的字符串函数。然而当我们想要将一段内存的数据复制到另一块内存时,我们不能使用字符串操作函数,当然也不能一个一个复制,所以就引入了内存操作函数。memcpy函数原型:vo...

2018-08-12 21:12:18 215

转载 SVN使用教程总结

转自:https://www.cnblogs.com/0zcl/p/7309766.htmlSVN简介:为什么要使用SVN?  公司多人协同开发有需要,类似于GIT, 关于git可以看我之前的博客git的使用[转],也可以看网上的廖雪峰写的博客。Subversion是什么?  它是一个自由/开源的版本控制系统,一组文件存放在中心版本库,记录每一次文件和目录的修改,Subvers...

2018-08-10 12:53:44 136

转载 Linux进程分配内存的两种方式--brk() 和mmap()

转自:http://m.blog.csdn.net/article/details?id=39496057如何查看进程发生缺页中断的次数?         用ps -o majflt,minflt -C program命令查看。          majflt代表major fault,中文名叫大错误,minflt代表minor fault,中文名叫小错误。          这两...

2018-08-09 13:23:27 406

转载 linux内存管理--进程在内存中的分布

转自:https://blog.csdn.net/yusiguyuan/article/details/12041317一、进程与内存    所有进程(执行的程序)都必须占用一定数量的内存,它或是用来存放从磁盘载入的程序代码,或是存放取自用户输入的数据等等。不过进程对这些内存的管理方式因内存用途不一而不尽相同,有些内存是事先静态分配和统一回收的,而有些却是按需要动态分配和回收的。对任何一个...

2018-08-09 11:54:42 148

转载 内部碎片和外部碎片的区别

转自:一、在内存上(使用连续分配算法来管理分配内存时会产生)的外部碎片和内部碎片两个概念 这几天一直看操作系统,看到内存的连续分配时,对于外部碎片和内部碎片时甚是不解: 内存碎片分为:内部碎片和外部碎片【内部碎片】内部碎片就是已经被分配出去(能明确指出属于哪个进程)却不能被利用的内存空间;内部碎片是处于(操作系统分配的用于装载某一进程的内存)区域内部或页面内部的存储...

2018-08-09 10:48:15 11378

转载 linux内存管理--用户空间和内核空间

转自:https://blog.csdn.net/yusiguyuan/article/details/12045255#comments关于虚拟内存有三点需要注意:4G的进程地址空间被人为的分为两个部分--用户空间与内核空间。用户空间从0到3G(0xc0000000),内核空间占据3G到4G。用户进程通常情况下只能访问用户空间的虚拟地址,不能访问内核空间的虚拟地址。例外情况只有用户进程进...

2018-08-09 10:29:24 1526

转载 操作系统对内存管理

转自:https://blog.csdn.net/shanghairuoxiao/article/details/70256247为什么叫内存的抽象?如果看过设计模式的人可能会知道,设计模式中提到最多的概念之一就是抽象,纯虚的基类作为接口就是对各种派生类对象的抽象。调用接口的用户,并不知道内部如何实现,因此内部实现的方法可能也有多种。地址空间也可以这样理解,32位机上,创建进程时操作系统为...

2018-08-09 09:52:52 1238

转载 操作系统学习笔记:存储管理

转自:https://blog.csdn.net/enjolras/article/details/8868826类似进程线程是对CPU的抽象。存储管理,是操作系统对存储器(内存)的抽象。读书时对分页,分段,这些概念一知半解。很重要的原因是我没有去思考,为什么要有这些概念?它们是为了解决什么问题?技术的本质是分解问题,抽象问题,乃至解决问题。而分页,分段这些抽象,就是为了解决一些具体的...

2018-08-08 20:57:27 323

转载 从硬件出发,浅谈操作系统的段机制与页机制

转自:https://www.jianshu.com/p/f4a909f3fd2e我们写一个程序,经过编译之后会变成一堆的指令。操作系统在执行这个程序的时候,也正是执行这堆指令。指令可以是 取数据的指令 或 取下一条被执行指令 的指令。但无论是什么指令,都会进行内存的访问和寻址。就像是我们必须找到东西放在哪里,我们才能去使用它。那操作系统怎样帮我们去寻址呢?答案是 内存寻址涉及到内存的...

2018-08-08 20:26:11 239

转载 C语言中Union类型的使用方法

转自:https://www.cnblogs.com/shirishiqi/p/5416935.html转自:http://blog.csdn.net/feimor/article/details/6858103使用C语言时,常常使用struct,对于union类型却几乎没有用过,只知道它是联合类型,各字段共享一块内存,实际应用中却不知道它的具体用途。今天读《编程卓越之道》中看到有对其...

2018-08-07 20:14:29 1746

转载 linux内存管理原理

转自:https://www.cnblogs.com/zhaoyl/p/3695517.html本文以32位机器为准,串讲一些内存管理的知识点。 1. 虚拟地址、物理地址、逻辑地址、线性地址 虚拟地址又叫线性地址。linux没有采用分段机制,所以逻辑地址和虚拟地址(线性地址)(在用户态,内核态逻辑地址专指下文说的线性偏移前的地址)是一个概念。物理地址自不必提。内核的虚拟地址和物理地...

2018-08-07 15:55:26 139

转载 WIFI基本知识整理

转自:https://blog.csdn.net/acs713/article/details/8740974这里对wifi的802.11协议中比较常见的知识做一个基本的总结和整理,便于后续的学习。因为无线网络中涉及术语很多,并且许多协议都是用英文描述,所以有些地方翻译出来会有歧义,这种情况就直接英文来描述了。 主要内容:一、基本概述二、实践基础三、一些原理四、补充...

2018-08-07 14:27:46 288

转载 Boost智能指针——shared_ptr

转自:https://blog.csdn.net/acs713/article/details/29175577boost::scoped_ptr虽然简单易用,但它不能共享所有权的特性却大大限制了其使用范围,而boost::shared_ptr可以解决这一局限。顾名思义,boost::shared_ptr是可以共享所有权的智能指针,首先让我们通过一个例子看看它的基本用法: #include...

2018-08-07 14:15:02 86

转载 (推荐)智能指针boost::weak_ptr 详解

转自:https://blog.csdn.net/acs713/article/details/29175231【1】boost::weak_ptr简介boost::weak_ptr属于boost库,定义在namespace boost中,包含头文件 #include<boost/weak_ptr.hpp>便可以使用。【2】boost::weak_ptr详解智能指针bo...

2018-08-07 14:09:34 119

转载 进程、线程独占与共享的内容

转自:https://www.cnblogs.com/tracylee/archive/2012/10/29/2744228.html           https://blog.csdn.net/yingzinanfei/article/details/55506625线程共享的内容包括: 进程 代码段 进程的公有数据(利用这些共享的数据,线程很容易的实现相互之间的通讯) 进...

2018-08-06 11:12:48 2911

转载 C++:构造函数和析构函数能否为虚函数

转自:https://blog.csdn.net/xhz1234/article/details/6510568C++:构造函数和析构函数能否为虚函数?简单回答是:构造函数不能为虚函数,而析构函数可以且常常是虚函数。(1) 构造函数不能为虚函数让我们来看看大牛C++之父 Bjarne Stroustrup 在《The C++ Programming Language》里是怎么说的:...

2018-08-04 14:54:53 3896

转载 构造函数与析构函数中不调用虚函数

转自:https://blog.csdn.net/linpengbin/article/details/51560276本文参考《effective C++》第九条款在C++中,提倡不能在构造函数和析构函数中调用虚函数。这是为什么呢?首先,我们先回顾一下C++虚函数的作用。 虚函数的引入是c++运行时多态的体现,通过调用虚函数可以在运行程序时实现动态绑定,体现了面向对象编程多态的思想。...

2018-08-04 14:49:01 306

转载 C/C++沉思-----多态时一定要将父类(基类)的析构函数定义为虚函数

转自:https://blog.csdn.net/qiurisuixiang/article/details/6926313 先来看一段代码:  //test.cpp #include <iostream> using namespace std;   class father { public: fa...

2018-08-04 14:31:37 416

转载 经典面试题之new和malloc的区别

转自:https://blog.csdn.net/nie19940803/article/details/76358673 new和malloc的区别是C/C++一道经典的面试题,我也遇到过几次,回答的都不是很好,今天特意整理了一下。0.       属性new/delete是C++关键字,需要编译器支持。malloc/free是库函数,需要头文件支持。1.       参数...

2018-08-04 14:05:33 115

空空如也

空空如也

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

TA关注的人

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