自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(54)
  • 资源 (6)
  • 收藏
  • 关注

原创 c++uml关系总结(关联,聚合,组合,依赖。。。)

摘抄1:http://blog.csdn.net/lgstudyvc/article/details/9206529组合和聚合区别(不能脱离整体 能脱离整体)组合:(表示两个对象之间是整体和部分的强关系,部分的生命周期不能超越整体。如人和脑袋)比如A类中包含B类的一个引用b,当A类的一个对象消亡时,b这个引用所指向的对象也同时消亡(没有任何一个引用指向它,成了垃圾对象)

2015-07-11 19:20:35 1611

转载 C++类中数据成员为类类型时,定义为对象还是定义为指针?

C++类中数据成员为类类型时,定义为对象还是定义为指针?http://www.cppblog.com/aurain/archive/2012/11/18/195327.htmlC++中,ClassTest objTest;就已经构造了对象,分配了空间;而在C#,Java中ClassTest objTest;只是声明,并没有分配空间。在C++中,ClassTest objTe

2015-07-11 10:47:33 2891

原创 linux相关线程函数

pthread_detach( )用途:pthread_t用于声明线程ID。  sizeof (pthread_t) =4;   linux线程执行和windows不同,pthread有两种状态joinable状态和unjoinable状态 一个线程默认的状态是joinable,如果线程是joinable状态,当线程函数自己返回退出时或pthread_exit时

2015-07-07 15:49:50 720

原创 linux内核态与用户态。。。

关于特权级别下面引用一部分资料:=======================================================================特权级显然是非常有效的管理和控制程序执行的手段,因此在硬件上对特权级做了很多支持,就x86架构的CPU来说一共有0~3四个特权级,0级最高,3级最低,硬件上在执行每条指令时都会对指令所具有的特权级做相应的检查,相关

2015-07-06 14:48:24 667

转载 Linux物理内存管理概述

在内核态申请内存比在用户态申请内存要更为直接,它没有采用用户态那种延迟分配内存技术。内核认为一旦有内核函数申请内存,那么就必须立刻满足该申请内存的请求,并且这个请求一定是正确合理的。相反,对于用户态申请内存的请求,内核总是尽量延后分配物理内存,用户进程总是先获得一个虚拟内存区的使用权,最终通过缺页异常获得一块真正的物理内存。1.物理内存的内核映射IA32架构中内核虚拟地址空间只有1GB

2015-07-06 13:15:28 1081

转载 Linux用户空间与内核空间

Linux 操作系统和驱动程序运行在内核空间,应用程序运行在用户空间,两者不能简单地使用指针传递数据,因为Linux使用的虚拟内存机制,用户空间的数据可能被换出,当内核空间使用用户空间指针时,对应的数据可能不在内存中。Linux内核地址映射模型x86 CPU采用了段页式地址映射模型。进程代码中的地址为逻辑地址,经过段页式地址映射后,才真正访问物理内存

2015-07-06 13:13:25 383

转载 protobuf博客截取

博客1地址1、下载地址:https://code.google.com/p/protobuf/downloads/list安装 ./configure && make && make install 2、试执行 protoc 命令,如果提示链接库错误,则执行 ldconfig 3、编译 .proto 文件成 C++ 头文件和源文件prot

2015-03-19 10:54:39 508

原创 极好的linux内核文章收藏

1.http://blog.csdn.net/bullbat/article/details/7166140

2014-11-11 16:54:18 499

转载 linux内核学习

在学习Linux内核代码的过程中,定会参考很多书籍以及网路资源,但是并不是所有的书籍和资源都能够帮助你前进,或者说是能够将你引导向正确而高效的道路。 在学习的一些阶段可能会需要不同的书,比如在第一个阶段,一些基本的书籍都是可以参考的。这个阶段的书籍非常多,比如《鸟哥的linux私房菜》,它介绍了Linux系统的基本概念和使用。《高级Bash脚本编程指南》可以说是学习Shell的利器,翔实的

2014-11-03 19:57:07 598

转载 automake

关于automake的安装,在centos平台下可以使用yum -y install automake开始之前,演示项目共有三个文件(hello.c,math.h,math.c,在hello.c中引用了math.h)1. 运行 autoscan , 自动创建两个文件: autoscan.log configure.scan2. 修改configure.scan的文件名为config

2014-10-30 16:12:23 606

转载 linux字符设备文件的打开操作

2.7  字符设备文件的打开操作(1)作为例子,这里假定前面对应于/dev/demodev设备节点的驱动程序在自己的代码里实现了如下的struct file_operations对象fops:static struct file_operations fops = {      .open = demoopen,      .read = demoread,      .write = d

2014-09-22 21:46:31 1130

转载 回调函数理解

回调函数http://blog.csdn.net/callmeback/article/details/4242260 在看LWIP时,见到用回调函数,再看某老外公司OPC源代码时,见到用回调函数。看我国内某些代码(我公司软件等)时没用到。于是,我对回调函数产生了很大的好奇。以前,我写VC程序时用到过回调函数,但是没有用C语言来使用。最近,看到国外大量的经典代码中广

2014-09-12 17:35:58 616 1

转载 同步IO,异步IO

有两种类型的文件IO同步:同步文件IO和异步文件IO。异步文件IO也就是重叠IO。在同步文件IO中,线程启动一个IO操作然后就立即进入等待状态,直到IO操作完成后才醒来继续执行。而异步文件IO方式中,线程发送一个IO请求到内核,然后继续处理其他的事情,内核完成IO请求后,将会通知线程IO操作完成了。如果IO请求需要大量时间执行的话,异步文件IO方式可以显著提高效率,因为在线程等待的这段时间

2014-09-12 16:50:38 584

转载 多线程问题

1.一个进程应该有自己独立的进程空间。应当说每个进程各自拥有其独立的地址空间.都是虚地址,在32位机上都是0-4G2. 而创建了多线程,各个线程要求有自己独立的栈,这些独立的栈是怎么分布的呢?栈应当是一个动态地概念,只有在线程开始执行后,才为其分配栈资源.具体的分布是无法确定的.我觉得这就像调用函数一样,当调用函数时,进程通过调整栈基址指针寄存器和栈顶指针寄存器,为函数

2014-09-10 15:22:30 601

转载 设备模型之kobject,kset及其关系

设备驱动基础0:设备模型之kobject,kset及其关系Linux2.6以后的设备驱动,都是在设备模型的基础上构建的,因此,要编写linux下的设备驱动程序,不论是usb设备,pci设备等,都需要了解设备模型。设备模型的基础结构体主要是kobject,kset这两个结构体:struct kobject {   char      * k_name;  

2014-08-29 10:07:08 613

转载 linux 等待队列

Linux内核的等待队列是以双循环链表为基础数据结构,与进程调度机制紧密结合,能够用于实现核心的异步事件通知机制。在这个链表中,有两种数据结构:等待队列头(wait_queue_head_t)和等待队列项(wait_queue_t)。等待队列头和等待队列项中都包含一个list_head类型的域作为"连接件"。它通过一个双链表和把等待tast的头,和等待的进程列表链接起来。从上图可以清晰看到

2014-08-25 10:51:11 455

转载 FUSE FS的实现(fuse_operations接口的抽象)

http://blog.chinaunix.net/uid-20196318-id-28822.html

2014-08-13 11:19:51 1031

转载 先装ubuntu12.04再装win7,grub被覆盖,无法启动linux的解决办法

使用EasyBCD完美实现Windows7与Linux双系统在Linux横行的时代,不玩Linux简直对不起它的流行,但又不能不用Windows,还要干活,还要工作啊,最重要的是:还要娱乐啊!!废话不多说,直接进入主题!1、下载EasyBCD,这个软件可以实现自由MBR引导的功能,我们就是使用它的这个功能来实现Window

2014-07-06 21:51:46 1931

转载 ubuntu 和win7双系统安装后win7无法启动解决办法

安装完成后,grub的引导界面有win7选项,但是选择后根本没有反应,就返回grub的引导界面。一个解决办法是修改grub的配置文件:/boot/grub/grub.cfg。将下面win7引导项修改一行,问题顺利解决:### BEGIN /etc/grub.d/30_os-prober ###menuentry "Windows 7 (loader) (on /dev/sda1)"

2014-07-06 13:50:39 1015 1

转载 fuse整理

FUSE的工作原理如图所示。假设基于FUSE的用户态文件系统hello挂载在/tmp/fuse目录下。当应用层程序要访问/tmp/fuse下的文件时,通过glibc中的函数进行系统调用,处理这些系统调用的VFS中的函数会调用FUSE在内核中的文件系统;内核中的FUSE文件系统将用户的请求,发送给用户态文件系统hello;用户态文件系统收到请求后,进行处理,将结果返回给内核中的FUSE文件系统;最后

2014-07-03 17:06:52 862

原创 ssh,scp

1.ssh对方主机名是191

2014-07-01 16:40:22 613

转载 Linux netstat命令详解

简介Netstat 命令用于显示各种网络相关信息,如网络连接,路由表,接口状态 (Interface Statistics),masquerade 连接,多播成员 (Multicast Memberships) 等等。输出信息含义执行netstat后,其输出结果为Active Internet connections (w/o servers)Proto Recv-Q S

2014-07-01 11:38:21 482

转载 关于epoll中event.data联合体的疑问解决方法

http://www.myexception.cn/c/225579.html关于epoll中event.data联合体的疑问typedef union epoll_data{  void *ptr;  int fd;  uint32_t u32;  uint64_t u64;} epoll_data_t; struct epoll_event

2014-03-30 13:27:58 2952 1

原创 unix中readn()与readline 的作用,,write,,read,,readn

read(int fd,void *buf,size_t  n),write(int fd,void *buf,size_t  n).是系统自己实现的库函数。。readn(int fd,void *buf,size_t  n),writen(int fd,void *buf,size_t  n).readline();是自己实现的函数为什么要实现readn,writen,r

2014-03-21 21:32:56 1889

转载 使用事件驱动模型实现高效稳定的网络服务器程序

http://www.ibm.com/developerworks/cn/linux/l-cn-edntwk/几种网络服务器模型的介绍与比较围绕如何构建一个高效稳定的网络服务器程序,本文从一个最简单的服务器模型开始,依次介绍了使用多线程的服务器模型、使用非阻塞接口的服务器模型、利用select()接口实现的基于事件驱动的服务器模型,和使用libev事件驱动库的服务器模型。通过比

2014-03-21 17:42:12 722

转载 初识Twisted:事件驱动编程

http://www.dannysite.com/blog/141/最近在学习Twisted,在此归纳一些重要的概念和理念。事件驱动编程(Event-Driven Programming)Twisted是一个基于事件驱动的网络引擎。在这种编程模式中,程序流程是由外部事件决定的。它的特性表现在一个事件循环以及采用回调来触发事件的相关动作。将此与其它两种常见模型进行比较

2014-03-19 20:04:34 939

转载 多进程调试

实际上,GDB 没有对多进程程序调试提供直接支持。例如,使用GDB调试某个进程,如果该进程fork了子进程,GDB会继续调试该进程,子进程会不受干扰地运行下去。如果你事先在子进程代码里设定了断点,子进程会收到SIGTRAP信号并终止。那么该如何调试子进程呢?其实我们可以利用GDB的特点或者其他一些辅助手段来达到目的。此外,GDB 也在较新内核上加入一些多进程调试支持。本文介绍的方法能让你把断点

2014-03-05 22:23:25 775

原创 unix环境高级编程

1.函数返回状态:exit与return返回状态是进程的结束的一种表识:返回是0时,表示进程成功退出;否则表示进程退出出错。。)exit用于在程序运行的过程中随时结束程序,其参数是返回给OS的。)return是语言级别的,它表示了调用堆栈的返回;return是返回函数值并退出函数,通常0为正常退出,非0为非正常退出,请注意,如果是在主

2014-02-21 18:01:41 532

转载 UNIX环境高级编程---标准I/O库(一)【原】

UNIX环境高级编程---标准I/O库在前面《UNIX环境高级编程----文件描述符浅析》一文中所讲的I/O函数都是针对文件描述符。而对于标准I/O库,它们的操作都是围绕流来进行的。当用标准I/O库打开或创建一个文件时,我们已经使一个流与文件相结合。一、流和FILE对象当打开一个流时,标准I/O函数fopen返回一个指向FILE对象的指针。该对象通常是一个结构,它包含了I/O库为管理该

2014-02-21 17:43:02 667

转载 安装主线内核,配置并构造内核树

http://blog.sina.com.cn/s/blog_6444798b0100q9k2.html背景:操作系统:ubuntu10.04   本文是参考了网上多篇帖子而写的算不上什么原创。唯一值得欣慰的只不过在本机上实现罢了。因为毕竟失败了几次。也因为本人是初学驱动编程很多简单的问题在我来说是相当的困难的。望有识之士不要笑话。最后,希望本文能给刚学驱动而还没开头的人提

2014-01-10 17:32:09 1362

转载 linux设备驱动makefile入门解析

http://blog.csdn.net/shanzhizi/article/details/8626474以下内容仅作参考,能力有限,如有错误还请纠正。对于一个普通的linux设备驱动模块,以下是一个经典的makefile代码,使用下面这个makefile可以完成大部分驱动的编译,使用时只需要修改一下要编译生成的驱动名称即可。只需修改obj-m的值。ifneq

2014-01-10 17:24:59 643

转载 APUE----关于O_SYNC等的区别

陶方在《innodb_flush_method带来的性能影响》中从实验角度比较了fdatasync,O_DSYNC和O_DIRECT在性能上的差异。本文将试图从Linux/Unix"文件I/O"(unbuffered I/O)的角度来解释innodb_flush_method是如何影响MySQL的I/O。【附录1】innodb_flush_log_at_trx_commit参数确定日志文件何时

2014-01-04 17:38:15 2566

原创 配置vim

https://github.com/ma6174/vim

2014-01-03 17:48:06 502

原创 ubuntu光标一直闪动的解决方法

进 设置->显示 会看到一个 未知显示器->禁用->应用 就好了。

2014-01-03 15:52:43 4136

转载 使用Shell脚本对Linux系统和进程资源进行监控

发表于2012-06-26 08:58|5759次阅读| 来源IBM开发者社区|1 条评论| 作者于东海,宋波,池辰ShellLinux脚本摘要:Shell语言对于接触Linux的人来说都比较熟悉,它是系统的用户界面,提供了用户与内核进行交互操作的一种接口。本文我们以Bash做为实例总结了使用Shell对系统和进程资源进行监控的一些内容,希望对您能有帮助。Shell语言对于

2013-12-18 18:48:45 728

转载 ubuntu10.10构建内核树

驱动程序和用户程序可不一样,它是作为一个模块连接到内核模块来运行的,运行在内核空间里面。所以要运行我们自己构造的模块,需要自己的系统已经配置好内核树,然后把目标模块和内核树连接起来运行!可以查看一下自己的电脑有没有配置内核树,可以到 /lib/modules/2.6.35-22-generic目录下面,看看有没有build这个文件夹,如果有,说明你已经有内核树了,如果没有,就自己构建内核树

2013-11-21 10:43:28 795

转载 ubuntu 彻底删除wine 及 残留的快捷方式

wine很恶心的一个地方就是,你卸载了wine,但是你安装过的wine程序快捷方式还残留在你的主菜单里边,太蛋疼了,现在教你怎么彻底删掉wine:1.卸载wine主程序,在终端里输入:sudo apt-get remove --purgewine2.然后删除wine的目录文件:rm -r ~/.wine3.卸载残留不用的软件包:sudo apt-get auto

2013-11-21 08:09:02 1970 1

原创 一个好的linux源码下载地址

http://download.chinaunix.net/download/0007000/6156.shtml

2013-11-20 16:58:45 919

转载 如何成为一个Linux内核开发者

本文将教你如何成为一个Linux内核开发者以及学会如何和Linux内核社区一起工作。它不包含任何有关内核编程的技术细节,但是会帮你在这方面指明方向。AD:2013云计算架构师峰会课程资料下载你想成知道如何成为一个Linux内核开发者么?或者你的老板告诉你,“去为这个设备写一个Linux驱动。“这篇文档的目的,就是通过描述你需要经历的过程和提示你如何和社区一起工作,来教给你为达到这些目的

2013-11-20 16:41:51 2086

转载 Socket编程笔记

http://www.cnblogs.com/stg609/archive/2008/11/15/1333889.html       看到这个题目,是不是很眼熟?在博客园里搜下,保证会发现关于这个东东的文章实在是太多了~~~真得是没有写得必要,而且我也有点懒得去琢磨字句。(看到这,肯定得来个转折的了,不然就看不到下文了,不是吗)但是,为了自己下一篇要写的文章做参考,还是有必要先补充一

2013-10-11 20:36:18 671

java 与 soap

学习soap的好书,很好很清爽。学习soap的好书,很好很清爽。学习soap的好书,很好很清爽。

2015-01-07

unix环境高级编程(第二版清晰)

unix环境高级编程(第二版清晰) 全面的版本

2013-10-02

unix环境高级编程

unix环境高级编程,清晰,全面,中文版

2013-10-02

winrar 64位破解版

反正好用就是了,,不信下载一下

2013-09-04

PDF] 从0 开始移植UCOS II 到野火stm32 开发板

PDF] 从0 开始移植UCOS II 到野火stm32 开发板 貌似比较不错哦 还没仔细看

2013-08-01

ucosii V2.90源码

ucosii V2 90源码 最新的

2013-08-01

空空如也

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

TA关注的人

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