- 博客(8)
- 收藏
- 关注
原创 Linux下利用ioctl函数获取网卡信息
linux下的ioctl函数原型如下:#includeintioctl(int handle, int cmd, [int *argc, int argv])函数成功返回0,失败返回-1.其相关命令接口如下: 在这里我们需要用到的结构体#includestruct sockaddr_in {short sin_family; /* Address famil
2017-11-29 00:00:00 3515
原创 perror strerror使用方法
很多系统函数在错误返回时将错误原因记录在libc定义的全局变量errno中,每种错误原因对应一个错误码。errno在头文件errno.h中声明,是一个整型变量,所有错误码都是正整数。然后我们可以用perror或strerror函数将errno解释成字符串perror#includevoid perror(constchar *s);基于errno的当前值,在标准出错上产生一
2017-11-29 00:00:00 413
原创 Linux下Mysql源码安装及使用
Mysql的源码安装过程:假设已经有mysql-5.5.10.tar.gz以及cmake-2.8.4.tar.gz两个源文件(1)先安装cmake(mysql5.5以后是通过cmake来编译的)(2)创建mysql的安装目录及数据库存放目录(3)创建mysql用户及用户组(4)安装mysql参数说明:-DCMAKE_INSTALL_PREFIX=
2017-11-28 00:00:00 534
原创 Linux中yum和apt-get
(点击上方蓝字,快速关注)一般来说著名的linux系统基本上分两大类: 1.RedHat系列:Redhat、Centos、Fedora等 2.Debian系列:Debian、Ubuntu等 RedHat 系列1 常见的安装包格式 rpm包,安装rpm包的命令是“rpm -参数”2 包管理工具 yum3 支持tar包Debian系列1 常见
2017-11-27 00:00:00 546
原创 C++类型cast之static/dynamic/reinterpret/const
C 风格(C-style)强制转型如下: (T) expression // cast expression to be of type T 函数风格(Function-style)强制转型使用这样的语法: T(expression) // cast expression to be of type T 这两种形式之间没有本质上的不同,它纯粹就是一个把括号放在哪的问题。我把这两种形
2017-11-26 00:00:00 251
原创 linux内核分析——CFS(完全公平调度算法)
1.1 CFS原理cfs定义了一种新的模型,它给cfs_rq(cfs的run queue)中的每一个进程安排一个虚拟时钟,vruntime。如果一个进程得以执行,随着时间的增长(也就是一个个tick的到来),其vruntime将不断增大。没有得到执行的进程vruntime不变。而调度器总是选择vruntime跑得最慢的那个进程来执行。这就是所谓的“完全公平”。为了区别不同优先级的进程,
2017-11-25 00:00:00 375
原创 进程调度(进程优先级和nice值)
基本概念:进程优先级是一个数值,它通过动态的优先级和静态的优先级来决定进程被CPU处理的顺序。一个拥有更高进程优先级的进程拥有更大的机率得到处理器的处理。内核根据进程的行为和特性使用试探算法,动态地调整调高或调低动态优先级。一个用户进程可以通过使用进程的nice值间接改变静态优先级。一个拥有更高静态优先级的进程将会拥有更长的时间片(进程能在处理上运行多长时间)。Linux支
2017-11-24 00:00:00 1734 1
原创 视觉直观感受7种常用的排序算法
(点击上方蓝字,快速关注)1 快速排序介绍:快速排序是由东尼·霍尔所发展的一种排序算法。在平均状况下,排序 n个项目要Ο(n log n)次比较。在最坏状况下则需要Ο(n2)次比较,但这种状况并不常见。事实上,快速排序通常明显比其他Ο(n log n)算法更快,因为它的内部循环(inner loop)可以在大部分的架构上很有效率地被实现出来,且在大部分真实世界的数据,可以决定设
2017-11-23 00:00:00 346
空空如也
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人