[置顶] 最后一篇blog

...
阅读(5426) 评论(20)

My contribution to linux kernel

I'm a Linux Kernel Developer working for Intel OTC in Beijing, China. My contribution to linux kernel  https://git.kernel.org/cgit/linux/kernel/git/torvalds/linux.git/log/?qt=author&q=Wanpeng+Li ...
阅读(1221) 评论(0)

linux 与 虚拟机共享数据

VirtualBox中实现与主机文件的共享来源: 编辑: 时间:2009-07-28VirtualBox是一款开源的虚拟机软件,可以在Linux/Mac和Windows主机中运行。支持在虚拟机中安装全系列Windows操作系统(如Win2000、XP、Vista、Windosw 7)。在VirtualBox虚拟机中安装操作系统并不复杂,如同在真实电脑中一样。对于多数新手来说,使用VirtualBox最大的麻烦就是共享相关问题,今天我们就来解决虚拟XP系统与真实...
阅读(1200) 评论(0)

Ubuntu下的多线程下载工具:MultiGet;并与 Firefox 建立关联

介绍个下载工具——MultiGet。没什么可以罗嗦的,库里面就有。大概功能相当于FlashGet。特点是可以单独为每个下载进程设置不同的代 理。安装见图:完整界面:系统设置:代理设置:先 把一堆代理设置好。每次下载的时候,(如果有必要)可以选其中一个作为这个进程的代理。到此安装完毕。然后设置 Firefox的下载关联。首先给Firefox安装FlashGot扩展:下 面配置FlashGot;点击 FlashGot 的 Preference。然后 在常规标签的下载管理器那里点击新增:输入下载管理器名...
阅读(4604) 评论(0)

ubuntu下arm-linux-gcc的安装

下载arm-linux-gcc,并解压,把里面的arm文件夹整个cp到/usr/local/ (在其中解压缩文件cross-2.95.3-tar.bz2, 这个不作也可以) 然后是注册环境 一般是修改profile 对于ubuntu中profile是调用/etc/bash.bashrc来运行的 我是在/etc/bash.bashrc后加上 if [ -d /usr/local/arm ] ; then PATH=/usr/local/arm/2.95.3/bin:"${PATH}" fi ...
阅读(2031) 评论(0)

BusyBox 简化嵌入式 Linux 系统

2006 年 9 月 11 日BusyBox 是很多标准 Linux® 工具的一个单个可执行实现。BusyBox 包含了一些简单的工具,例如 cat 和 echo,还包含了一些更大、更复杂的工具,例如 grep、find、mount 以及 telnet(不过它的选项比传统的版本要少);有些人将 BusyBox 称为 Linux 工具里的瑞士军刀。本文将探索 BusyBox 的目标,它是如何工作的,以及为什么它对于内存有限的环境来说是如此重要。BusyBox 的诞生BusyBox 最初是由 B...
阅读(1083) 评论(0)

ubuntu9.10下构建tftp服务

1、安装tftp的server和client,还有xinetd代码:sudo apt- get install tftp tftpd  前者是客户端,后者是服务程序。   只这样是不行的,因为tftp是要inetd来控制的,而ubuntu或debian类的系统,默认是没有安装inetd的,安装一下:代码:sudo apt- get install netkit- inetd运行这条命令...
阅读(1097) 评论(0)

Nmap使用方法

[Ping扫描(Ping Sweeping)] [端口扫描(Port Scanning)] [隐蔽扫描(Stealth Scanning)] [UDP扫描(UDP Scanning)] [操作系统识别(OS Fingerprinting)] [Ident扫描(Ident Scanning)] [选项(Options)] [小结] 简介: 最近媒体报道了许多关于入侵网络的新闻,使人们总以为入侵者只需通过简单工具就可获得电脑的访问权限.但实际上,事情并不是想象中的这么简单.黑...
阅读(1225) 评论(0)

SIGHUP信号与控制终端

SIGHUP信号与控制终端UNIX中进程组织结构为 session (会 话) 包含一个前台进程组及一个或多个后台进程组,一个进程组包含多个进程。一个session可能 会有一个session首进程,而一个session首进程可能会有一个控制终端。一个进程组可能会有一个进程组首进程。进程组首进程的进程ID与该进程 组ID相等。这儿是可能会有,在一定情况之下是没有的。与终端交互的进程是前台进程,否则便是后台进程。  SIGHUP会在以下3种情况下被发送给相应的进程:  1、终端关闭时,该信号被发送到s...
阅读(1320) 评论(0)

linux 线程总结

所有线程都有一个线程号,也就 是Thread ID。其类型为pthread_t。通过调用pthread_self()函数可以 获得自身的线程号 。下面说一下如何创建一个线程。通过创建线程,线程将会执行一 个线程函数 ,该线程格式必须按照下面来声明:       void * Thread_Function(void *)创建线程的函数如下:       int pthread_create(pthread_t *restrict thread,              const pthre...
阅读(1325) 评论(0)

ftok () 函数介绍

系统建立IPC通讯(如消息队列、共享内存时)必须指定一个ID值 。通常情况下,该id值通过ftok函数得到 。 ftok原型如下: key_t ftok( char * fname, int id ) 参数说明:                fname就时您指定的文档名                id是子序号。 返回值:                在一般的UNIX实现中,是将文档的索引节点号取出,前面加上子序号得到key_t的返回值。                如指定文档的索引...
阅读(1779) 评论(0)

线程的执行的无序性---生产消费者

源程序:#include #include #include #include #include #define BUFSIZE 4 #define NUMBER 8 int sum_of_number=0; sem_t write_res_number; sem_t read_res_number; struct recycle_buffer {     int buffer[BUFSIZE];     int head,tail;    }re_buf; pth...
阅读(1003) 评论(0)

一个Linux下C线程池的实现

什么时候需要创建线程池呢?简单的说,如果一个应用需要频繁的创建和销毁线程,而任务执行的时间又非常短,这样线程创建和销毁的带来的开销就不容忽 视,这时也是线程池该出场的机会了。如果线程创建和销毁时间相比任务执行时间可以忽略不计,则没有必要使用线程池了。    下面是Linux系统下用C语言创建的一个线程池。线程池会维护一个任务链表(每个CThread_worker结构就是一个任务)。    pool_init()函数预先创建好max_thread_num个线程,每个线程执thread_routine...
阅读(1237) 评论(0)

linux 线程 进程经典文章

进程是程 序在计算机上的一次执行活动。当你运行一个程序,你就启动了一个进程。显然,程序是 死的(静态的),进程是活的(动态的)。进程可以分为系统进程和用户进程。凡是用于完成操作系统的各种功能的进程就是系统进程,它们就是处于运行状态下的 操作系统本身;用户进程就是所有由你启动的进程。进程是操作系统进行资源分配的单位。 进程又被细化为线程,也就是一个进程下有多个能独立运行的更小的单位。 一.基础知识:线程和进程 按照教科书上...
阅读(1439) 评论(0)

linux c语言学习笔记之IPC-共享内存

内存共享分为两个步骤: 一.创建共享内存使用shmget函数 二.映射到共享内存,将这段共享内存映射到具体的进程空间去,使用shmat函数 系统调用:shmget(); 原型: int shmget(key_t key,int size, int shmflg); 返回值:如果成功返回共享内存段标识符 如果失败返回-1 系统调用:shmat(); 原型:int shmat(int shmid, char *shmaddr, int shmflag); 返回值:如果成功,返回到共享内存段连接...
阅读(1687) 评论(0)

linux c语言学习笔记之IPC-管道

普通的Linux shell 都允许重定向,而重定向使用的就是管道。例如:$ ls | pr | lpr把命令ls (列出目录中的文件)的输出通过管道连接到命令pr 的标准输入上进行分页。最后,命令pr 的标准输出通过管道连接到命令lpr 的标准输入上,从而在缺省打印机上打印出结果。进程感觉不到这种重定向,它们和平常一样地工作。正是shell 建立了进程之间的临时管道。管道是单向的、先进先出的、无结构的、固定大小的字节流,它把一个进程的标准输出和另一个进程的标准输入连接在一起。写进程在管道的...
阅读(1978) 评论(0)

linux c语言学习笔记之IPC-信号

在Linux系统中,以进程为单位分配和管理资源。由于保护的缘故,一个进程不能直接访问另一个进程的资源,也就是说,进程之间互相封闭。但在一个复杂的应用系统中,通常会使用多个相关的进程来共同完成一项任务,因此要求进程之间必须能够互相通信,从而来共享资源和信息。所以,一个操作系统内核必须提供进程间的通信机制(IPC)。 进程间通信有如下一些目的: 数据传输:一个进程需要将它的数据发送给另一个进程,发送的数据量在一个字节到几兆字节之间。 共享数据:多个进程想要操作共享数据,一个进程对共享数据的修改,别的进程应...
阅读(2079) 评论(1)

linux c语言学习笔记之文件IO

对于内核而言,所有打开文件都由文件描述符引用。文件描述符是一个非负整数。当打开一个现存文件或创建一个新文件时,内核向进程返回一个文件描述符。当读、写一个文件时,用o p e n或c r e a t返回的文件描述符标识该文件,将其作为参数传送给r e a d或w r i t e。 在P O S I X . 1应用程序中,整数0、1、2应被代换成符号常数 STDIN_FILENO、STDOUT_FILENO和STDERR_FILENO。O。这些常数都定义在头文件 中。 文件描述符的范围是0 ~ OPEN_M...
阅读(2535) 评论(0)

Ubuntu Linux下用ies4linux上淘宝/使用支付宝

在淘宝上购物,肯定要使用支付宝,但是支付宝网站上使用了基于IE的控件,因此无法在Linux下的Firefox中使用。通过使用 ies4linux,我们就可以在Linux下使用支付宝了。ies4linux的安装过程如下:1、首先要安装wine和cabextract,由于Ubuntu的源中已经设置好,所以只要执行以下命令就行: sudo apt-get install wine cabextract 2、下载ies4linux。 ...
阅读(1620) 评论(0)

错误处理和异常处理,你用哪一个

.简介     异常是由语言提供的运行时刻错误处理的一种方式。提到错误处理,即使不提到异常,你大概也已经有了丰富的经验,但是为了可以清楚的看到异常的好处,我们还 是不妨来回顾一下常用的以及不常用的错误处理方式。 1.1 常用的错误处理方式 返回值。我们常用函数的返回值来标志成功或者失 败,甚至是失败的原因。但是这种做法最大的问题是如果调用者不主动检查返回值也是可以被编译器接受的,你也奈何不了他:) 这在C++中还导致另外一个问题,就是重载函数不能只有不同的返回值,而有相同的参数表,因为如果...
阅读(1223) 评论(0)
38条 共2页1 2 下一页 尾页
    个人资料
    • 访问:476601次
    • 积分:5691
    • 等级:
    • 排名:千里之外
    • 原创:18篇
    • 转载:20篇
    • 译文:0篇
    • 评论:24条
    博客专栏
    最新评论