自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

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

原创 C++ vector简介

简介vector是C++中的一个容器,它是一个能够存放任意类型的动态数组,能够增加和压缩数据。基本操作首先包含头文件:#include <vector> 定义vector对象:vector<int> vec 尾部插入一个对象:vec.push_back(elem) 删除尾部的一个对象:vec.pop_back()

2016-08-15 17:23:05 639

原创 Linux内核之内存管理

一、页page内核把物理页作为内存管理的基本单元。内存管理单元(MMU)通常以页为单位进行处理。从虚拟内存的角度看,页就是最小单位。 32位体系结构支持4KB的页,而64位的体系结构支持8KB的页。 内核用struct page结构来表示系统中的每个物理页。二、区zone由于硬件的限制,内核就把所有的页划分成不同的区(zone),Linux主要有四种分区:ZONE_DMA–该区包含的页能用来执

2016-08-10 19:33:00 616

原创 Linux内核之数据结构--映射

前言Linux内核实现了一下常用的内建数据结构,主要有:   链表   队列   映射   二叉树 映射也称为关联数组,就是每个唯一的id对应一个自定义的数据结构指针。感觉关于映射的知识比较复杂,没有深入理解,这里就记录一下一些常用的操作API。

2016-07-29 10:46:23 1204

原创 孤儿进程与僵尸进程

早就了解孤儿进程与僵尸进程,但仅仅是停留在一知半解的程度,总结一下。概念  首先我们知道在Linux中,进程都是由父进程创建的,一般情况下子进程退出后需要父进程来清理子进程退出后留下的“垃圾”,父进程是调用wait()或waitpid()系统调用获得的子进程的终止状态。

2016-07-28 20:25:26 1035

原创 Linux内核之数据结构--队列

前言Linux内核实现了以下常用的内建数据结构,主要有:   链表   队列   映射   二叉树 今天详细学习一下队列的知识,内核中的队列是以字节形式保存数据的,所以获取数据的时候,需要知道数据的大小。Linux内核通用队列实现称为kfifo。kfifo提供了两个主要操作:enqueue(入队列)和dequeue(出队列)。kfifo对象维护两个偏移量:入口偏移和出口偏移。、

2016-07-28 16:52:05 3583 1

原创 Linux内核之数据结构--链表

前言Linux内核实现了一下常用的内建数据结构,主要有:链表队列映射二叉树今天详细学习一下链表的知识,链表是一种存放和操作可变数量元素(常称为节点)的数据结构。Linux内核的标准链表就是采用环形双向链表形式实现的。链表数据结构传统的链表是将数据存放在链表节点中;而Linux内核的方式与众不同,它的链表节点只有两个指针(prev和next),链表节点保存在用户数据结构中。 链表代码在头文

2016-07-28 11:18:07 506

原创 Linux内核之进程调度

一些概念  调度程序负责决定哪个进程投入运行,何时运行及运行多长时间。进程调度程序就是在可运行态进程之间分配有限的处理器时间资源的内核子系统。 多任务系统可分为两类:非抢占式多任务和抢占式多任务。Linux提供了抢占式多任务。 I/O消耗型进程就是大部分时间用来提交I/O请求或者是等待I/O请求。 处理器消耗型进程就是把时间大多用在代码执行上。 调度策略通常就是在两个矛盾的目标中间寻求平衡:

2016-07-25 16:30:17 2863

原创 Linux内核之进程管理

进程:进程就是处于执行期的程序以及它包含的资源总和。 线程是进程中的活动对象,每个线程拥有一个独立的程序计数器、进程栈和一组进程寄存器。 内核调度的是线程,而不是进程。进程描述符:  内核的进程描述符为task_struct结构体,定义在<linux/sched.h>,进程描述符包含了一个进程的所有信息。包括:进程标识符、进程当前状态、栈地址空间、内存地址空间、文件系统、打开的文件、信号量等。

2016-07-22 21:12:25 3013

原创 Linux内核入门简介

往大了说,几乎所有互联网都是运行在Linux服务器上的;往小了说,嵌入式系统很大一部分也都是Linux内核的。可以说,Linux内核无处不在,Linux内核是一个最普遍最复杂的开源项目之一,Linux内核之大,代码量之多,在我感觉就像是一个原始森林,要想精通实在是不容易,但是,不求精通,但求理解内核的工作原理,工作机制,了解一下Linux内核架构也是好的。内核是操作系统的一部分,是介于应用程序和底层

2016-07-21 16:31:27 2434

原创 Git教程(笔记)

看了廖雪峰写的教程,由浅入深,花了三天的时间学完了,做一下学习笔记吧Git简介Linus创建Linux之后为方便管理Linux代码,自己用C写了这个分布式版本控制系统。2008年的时候GitHub网站上线,为开源项目免费提供Git存储。集中式vs分布式: 集中式版本控制系统,版本库存放在中央服务器,每个人用的都是自己的电脑,用的时候先从服务器上获得新版本,工作完了再推送给中央服务器。缺点是必须联网

2016-07-20 18:29:01 3051

原创 Git的错误error: Failed connect to github.com:443;解决办法

最近在学习git的使用,在建立本地git库并申请了远程GitHub库,想要将本地库关联我的远程库。 就使用以下命令: git remote add origin https://github.com/Username/git.git 注:将Username更换为你自己的GitHub账户名 然后使用以下命令将本地的分支推送到远程: git push -u origin master 这时便

2016-07-19 12:57:07 85755 21

转载 ubuntu12.04安装中文输入法

在Ubuntu里一般也用不到中文,但是有时候给写好的程序写个注释还是得用中文的折腾了半天好不容易安装上了,参考了好多帖子,最后一个才成功,好东西分享一下http://www.cnblogs.com/zhcncn/p/4032321.html

2016-07-16 09:27:32 866

原创 sed命令详解

之前的博客讲Shell正则表达式的时候讲到过sed命令的使用,今天在leetcode上看见一道Bash编程题,知道用sed能实现,却不知道怎么做,看来还得详细的学一下,仅仅是知道有这么个东西远远不够。1、sed简介主要对数据进行选取、替换、删除、新增等,每次处理一行内容 。每次读取一行内容送往缓冲区,sed命令进行处理,处理完之后将缓冲区内容送往屏幕,然后处理下一行。实际上文件内容并没有改变,

2016-05-09 10:02:11 731

转载 DMA技术

5.1  DMA概述  DMA是指外部设备不通过CPU而直接与系统内存交换数据的接口技术。  要把外设的数据读入内存或把内存的数据传送到外设,一般都要通过CPU控制完成,如CPU程序查询或中断方式。利用中断进行数据传送,可以大大提高CPU的利用率。    但是采用中断传送有它的缺点,对于一个高速I/O设备,以及批量交换数据的情况,只能采用DMA方式,才能解决效率和速度问题。

2016-04-13 21:07:36 2509

原创 大端模式小端模式

做嵌入式开发怎么能不懂什么是大端模式小端模式大端模式Big-Endian:就是高位字节排放在内存的低地址端,低位字节排放在内存的高地址端。小端模式Little-Endian:就是低位字节排放在内存的低地址端,高位字节排放在内存的高地址端。看看例子才能明白16bit宽数0x1234,小端模式在内存中的存放方式:内存地址0x40000x4001存

2016-04-13 20:14:56 585

转载 一起来学Makefile、make

最近在做交叉编译,用到Makefile,总是出错/(ㄒoㄒ)/~~,就决定好好学习一下Makefile,发现了这篇好文章,通俗易懂,比书上写的好,贴过来跟大家分享。文章有个小地方有问题,大家看的时候注意一下:1、博主混淆了反斜线“\”、正斜线“/”换行符是“\”,文章中用错了。。。关于两者的区别推荐一篇好文章http://www.cnblogs.com/MuyouS

2016-03-28 10:45:37 474

原创 Linux网络命令-netstat、route、nslookup...

1、ifconfig命令查看或临时配置IP地址2、   ifdown [网卡名]     禁用网卡 ifup [网卡名]         启用网卡例:ifdown eth03、netstat 查看网络状态选项:-t:列出TCP协议的端口-u:列出UDP协议的端口-n:显示IP地址和端口号,而不显示域名和服务名-l:仅列出处于监听Listening状态的端口-

2016-03-24 09:09:53 1458

原创 Linux网络配置

1、linux配置IP方法①ifconfig命令临时配置IPifconfig   临时查看IP信息ifconfig eth0 192.168.1.103 netmask 255.255.255.0方法②红帽专有图形化工具-setup配置完成后,重启service network restart方法③网卡配置文件(1)/etc/sysconfig/network-sc

2016-03-24 08:27:45 367

原创 Linux网络基础-IP、子网掩码、端口号、DNS、网关

1、 IP地址32bit 00000000.00000000.00000000.00000000 分为4组,每组8bit 分类: A类 1.0.0.0~126.255.255.255 B类 128.0.0.0~191.255.255.255 C类 192.0.0.0~223.255.255.255 D类 首位224~239(D、E类不可用) E类 首位239~247 说明

2016-03-21 20:15:20 2299

原创 Linux网络基础-ISO/OSI七层模型、TCP/IP四层模型

1、ISO/OSI 七层模型ISO:国际标准化组织   OSI:开放系统互联模型1、应用层:用户接口2、表示层:数据的表现形式,特定功能的实现,如:加密3、会话层:对应用回话的管理、同步-------------4、传输层:TCP/UDP协议、端口号、传输前错误检测、流控5、网络层:提供IP地址、选路6、数据链路层:成帧、用MAC地址访问媒介、错误检测与修正

2016-03-19 19:16:29 599

原创 Shell基础(五):条件判断与流程控制

一、条件判断格式:test  [选项]  file    或者    [(空格)条件判断式(空格)]         注:不要忘记空格1、按文件类型进行判断选项:-d:判断文件是否存在,且是目录文件时为真-e:判断文件是否存在,存在时为真-f:判断文件是否为真,且为普通文件时为真-b:判断文件是否存在,且为块设备文件时为真-c:判断文件是否存在,且为字符设备时为真

2016-03-12 10:13:53 510

原创 Shell基础(四):正则表达式、cut、awk、sed命令

前言:正则表达式是描述字符排列和匹配模式的一种语法规则。主要用于字符串的模式分割、匹配、查找及替换。(主要为了模糊匹配)1、正则表达式与通配符区别①通配符(* ? [])用来匹配符合条件的文件名,是完全匹配。ls、find、cp这些命令不支持正则表达式,支持通配符匹配。②正则表达式用来匹配在文件中的字符串,是包含匹配。grep、awk、sed等命令支持正则表达式。2、基础正则表

2016-03-11 11:04:06 6138

原创 Shell基础(三):环境变量配置文件

1、souce命令    修改配置文件后使之生效souce  配置文件或者    .配置文件如:souce  /etc/profile2、常用环境变量配置文件:/etc/profile/etc/profile.d/*.sh~/.bash_profile~/.bashrc/etc/bashrc上图为用户登录,配置文件生效的顺序,其中若为切换过来的用户,

2016-03-10 16:20:55 760

原创 Shell基础(二):Bash变量

前言:Bash变量主要分为4种:用户自定义变量、环境变量、位置变量、预定义变量。本文主要介绍这4种变量。正文:1、用户自定义变量只能作用于当前Shell,变量取值都是一个字符串DAY=Sunday                                  “=”左右两边不能有空格DAY=“today is Sunday”                   若含有空

2016-03-09 09:29:40 488

原创 Shell基础(一):入门基础

1、Shell是什么?Shell是一个命令行解释器,它为用户提供了一个向Linux内核发送请求以便运行程序的系统级程序。Shell还是一个功能强大的编程语言,易编写,易调试,灵活性强。Shell是解释执行的语言,能直接调用Linux系统命令。2、分类:Bourne Shell:sh、ksh、Bash、pshC          Shell:csh、tcsh3、echo命令

2016-03-08 08:55:00 996

原创 笔记:Linux常用命令(八)用户和用户组

1、/etc/group 存储所有用户组的信息2、/etc/gshadow 存储用户组的密码信息3、/etc/passwd 存储系统中所有用户信息

2016-03-07 10:37:37 393

原创 笔记:Linux常用命令(七)磁盘管理

1、df 查看磁盘分区使用情况,常用命令df -h选项:-h:最常用,以1024进制最适合的单位显示磁盘容量,K.M.G等-H:以1000进制最适合的单位显示磁盘容量-a:查看所有文件系统,如包括/proc-l:仅显示本地磁盘-T:显示磁盘分区类型-t:显示指定类型的文件系统   如:df -t ext3-x:不显示指定类型的文件系统2、du 统计磁盘上

2016-03-04 09:12:14 522

原创 笔记:Linux常用命令(六) cat命令

cat命令的作用:1、一次显示整个文件        cat file                //将文件内容显示在屏幕上2、建立一个新文件,从键盘输入保存到文件cat > newfile      //只能创建新文件,不能编辑已有文件,以Ctrl-D结束3、将几个文件合并为一个文件cat file1 file2 > file3  //将file1和file2合并到一

2016-03-03 16:41:36 581

原创 笔记:Linux常用命令(五)关机重启用户登录查看命令

1、关机命令:shutdown [选项] [时间]-h 关机-r  重启-c 取消前一个关机命令,如定时关机例:shutdown -h nowshutdown -r 15:302、其他关机命令:haltpoweroffinit 0注:均为不正常关机,不安全3、其他重启命令rebootinit 6补充:系统运

2016-03-03 11:27:02 533

原创 笔记:Linux常用命令(四)压缩解压缩命令

Linux常用的压缩文件的格式:.zip  .gz  .bz2  .tar.gz   .tar.bz2注:linux文件本身并没有所谓的后缀名,这些常用的文件格式后缀只是我们自己加上的,方便我们识别是什么格式。1、.zip格式压缩文件:zip file.zip file(源文件)压缩目录:zip -r dir.zip dir(源目录)解压缩unzip file.

2016-03-03 10:15:52 432

原创 笔记:Linux常用命令(三) 文件搜索命令

一、locate [文件名] 如:locate test 搜索test文件的位置 在后台数据库中按文件名搜索,搜索速度较快 locate搜索的后台数据库是/var/lib/mlocate,数据库是在每次开机时更新,手动更新数据库的命令是updatedb二、whereis命令、which命令 whereis 命令搜索命令,即搜索系统命令所在位置及其帮助文档 which 查看命令所在位

2016-03-02 09:35:36 438

原创 笔记:Linux常用命令(一)

1、ls –list列出当前目录的所有文件 -a all显示所有文件,包括.开头的隐藏文件 -l 显示详细的信息 -h 人性化的显示文件大小,已K、M为单位 -i 显示iNode节点号 -S 大写,按文件大小排序2、目录处理命令 mkdir -p 目录名 选项:-p为递归创建,如文件夹下的子文件夹。 rm -rf 目录 选项:-r删除目录及其子

2016-03-01 20:27:51 354

原创 笔记:Centos 6安装过程

安装前知识补充: 1、磁盘分区介绍 主 分 区:最多4个 扩展分区:只能有一个,主分区+扩展分区 ≤ 4个 逻辑分区 2、挂载 必须的分区: / (根分区) Swap分区 (交换分区,一般为内存的两倍) 推荐分区: /boot (启动分区,一般设为200M) /home (家目录) Centos安

2016-02-25 20:25:21 655

原创 Centos中设置静态IP地址的方法

想用SSH远程登录Centos,则必须知道Centos的IP地址,因此就需要设置一下静态IP地址。参考了http://www.cnblogs.com/coacaio/archive/2011/12/12/2284715.html的文章,进行了总结。1、设置静态IP地址,修改/etc/sysconfig/network-scripts/ifcfg-eth0的内容: DEVICE=eth0 #网卡

2016-02-25 19:53:20 10452

原创 Ubuntu sudo命令失灵的解决办法

天在用Ubuntu的时候不小心修改了/usr/lib中所有文件的权限,导致sudo命令失灵: sudo: /usr/lib/sudo/sudoers.so must be only be writable by owner sudo: fatal error, unable to load plugins 原因及解决办法: 主要原因就是修改了/usr/lib/

2016-02-24 21:05:36 6652 2

原创 笔记: linux常用命令(二) ln命令

当我们在不同的路径下用到相同的文件时,不需要在两个路径下都存放该文件以避免浪费空间,而可以用连接ln命令产生一个文件的连接。ln命令是用来为文件创建连接的,连接又分为硬连接(hard link)和软连接(symbolic link),软连接又称为符号连接,默认为硬连接。软连接只是在指定的位置上产生一个文件的镜像,不会占用磁盘空间。硬连接则会在指定位置产生一个跟源文件相同大小的文件。要注意的是不管

2016-02-24 20:28:27 479

原创 VMware中鼠标键盘偶尔失灵的原因

最近VMware的Ubuntu中,鼠标键盘总是奇怪的失灵,卸载、安装折腾了好长时间都没找到原因......近乎崩溃的边缘终于找到了罪魁祸首,竟然是Windows里开的金山词霸屏幕取词功能冲突造成的,关掉金山词霸完美解决,一天的时间就在纠结这个了

2015-12-23 21:25:12 4786

空空如也

空空如也

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

TA关注的人

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