logo
publist
写文章

简介

该用户还未填写简介

擅长的技术栈

可提供的服务

暂无可提供的服务

Linux内核——cli()和sti()——标志寄存器的中断标志

cli()和sti()有点类似于汇编指令中的CLI和STL,当某个任务在执行的过程中不想被中断,则可以在任务的开始出执行cli(),在任务的结束处执行sti(),恢复中断的执行。       个人理解,CLI/STI和cli()/sti()工作的机制是相同的,都是对标志寄存器中的中断标志进行操作。一般在汇编指令中,CLI 和STL往往是成对出现的;但是cli()和sti()不一定是成对出现

struct iphdr IP头部与tcphdr tcp头部与linux中的struct IP IP头部

struct iphdr IP头部 sk_buff->iphdr/usr/src/linux-2.6.19/include/linux/ip.hstruct iphdr {#if defined(__LITTLE_ENDIAN_BITFIELD)    __u8    ihl:4,            version:4;#elif

linux和windows下用setsockopt设置SO_SNDTIMEO,SO_RCVTIMEO的参数的一点区别

UDP的socket在某些情况:如对方关闭时,本地可能sendto不出去数据,然后recvfrom就会被阻塞,这时就需要设置这两个参数的值提高程序质量。linux:    struct timeval timeout={3,0};//3s    int ret=setsockopt(sock_fd,SOL_SOCKET,SO_SNDTIMEO,&timeo

在linux shell中使用ftp命令来实现自动登陆、上传与下载

前段时间有个需求,需要利用crontab定时往某个FTP上传文件,原以为linux中带的ftp命令只支持交互式的操作,没法在命令行下使用,所以后来打算利用PHP中提供的ftp命令来做,但是很不幸的发现ftp模块不是PHP的标准模块,还需要自己编译,比较麻烦,后来本着试试看的态度去网上搜了一把,结果发现还真是可以在shell下来利用ftp命令。首先我们来看ftp的两个参数-n     Res

#linux
openwrt编译openswan——以及交叉编译环境配置

直接编译openwrt SDK没问题然后添加openswan模块,编译出现如下错误:/root/openwrt/kzl/openwrt/build_dir/target-mipsel_24kec+dsp_uClibc-0.9.33.2/linux-ramips_mt7620a/openswan-2.6.41/include/secrets.h:20:41: fatal error: gmp

Linux下取得UUID

参考:http://www.bolenot.ru/library/cmd/blcmdl3_uuid_generate_random.htmchar *psz_buf = malloc( 64 );    if ( !psz_buf )        return NULL;uuid_t uu;uuid_generate_random( uu );uuid_unparse

交叉编译器简介以及ARM交叉编译器arm-linux-gcc

(一)交叉编译器简介   在一种计算机环境中运行的编译程序,能编译出在另外一种环境下运行的代码,这个编译过程就叫交叉编译.简单地说,就是在一个平台上生成另一个平台上的可执行代码.(二)体系结构与操作系统(1)常见的体系结构有ARM结构、x86结构等.(2)常见的操作系统有linux,windows等.(3)同一个体系结构可以运行不同操作系统,如x86上可以运行Linux

uclinux 与 linux的区别

第一篇这两天看公司的一个产品 用的是arm7 系统用的uclinux 发现程序的内存管理方面有些看不懂,还有程序几乎用的全是线程。查过资料后才恍然明白,原来没有mmu 所以uclinux对多进程的支持非常有限。不过这是比较老的版本。新版本已经支持了!?--------------------------------------------------------------

自定义类型命名中_s,_t后缀的解释

在阅读linux内核的过程中,经常会碰到自定义类型,如:typedef struct aa_s{...};起初看时有点不明白_s和_t的区别,直到前几天才恍然大悟。按照我的理解:_s后缀应该是表示struct(一个结构体)的意思。_t后缀应该是表示一个type(一个类型)。下面举个例子:struct record_s{    int a;    int b;};

使用Crash工具分析 Linux dump文件

前言Linux 内核(以下简称内核)是一个不与特定进程相关的功能集合,内核的代码很难轻易的在调试器中执行和跟踪。开发者认为,内核如果发生了错误,就不应该继续运 行。因此内核发生错误时,它的行为通常被设定为系统崩溃,机器重启。基于动态存储器的电气特性,机器重启后,上次错误发生时的现场会遭到破坏,这使得查找 内核的错误变得异常困难。内核社区和一些商业公司为此开发了很多种调试技术和工具,

    共 45 条
  • 1
  • 2
  • 3
  • 4
  • 5
  • 请选择