GCC rules 你能想象使用封闭源代码的私有编译器编译自由软件吗?你怎么知道编译器在你的可执行文件中加入了什么?可能会加入各种后门和木马。Ken Thompson是一个著名的黑客,他编写了一个编...
最近,计算机嵌入式产业研究显示Linux系统是大多数嵌入式开发项目的首选操作系统。起初,Linux只是一种简单的解决方案,为爱好者提供了一个免费且功能强大的开发平台。但是现在它已逐步成为一个成熟、...
对于编写makefile 简单的我还应付得了,可是这一次作业,接口函数多了一点,所以实在不知道怎么编写了。向各位高手求助了,谢谢! 文件结构如下: gui.c include/assert.h inc...
本文介绍了Linux的C开发环境的构成和安装,使读者对Linux的C开发环境能有初步的了解。 你了解Linux吗?相信现在越来越多的人会说“是”的。那么你了解到何种程度呢?不可否认,目前...
1. 前言 本文简要介绍数据包在进入桥网卡后在Linux网络协议栈的处理流程,并描述netfilter的hook点的挂接处理情况,具体各部分的详细处理待后续文章中说明。 以下内核代码版本为2.6....
菜鸟想编一个检测硬盘容量,文件夹大小的程序。 希望高手给些提示和帮助,谢谢!...
在嵌入式系统领域,有不少GUI系统,如QNX Photon MicroGUI等,可是具体到嵌入式Linux领域又有哪些可供选择的GUI系统呢? 在嵌入式环境底下,GUI系统的整体构架跟PC...
驱动程序的使用可以按照两种方式编译,一种是静态编译进内核,另一种是编译成模块以供动态加载。由于uClinux不支持模块动态加载,而且嵌入式Linux不能够象桌面Linux那样灵活的使用insmod...
D-BUS 是一个大有前途的消息总线和活动系统,正开始深入地渗透到 Linux® 桌面之中。了解创建它的原因、它的用途以及发展前景。 D-BUS 本质上是 进程间通信(inter-...
程序代码及输出见图片, 我的问题是为什么父进程结束了,有个提示符,而子进程结束了却没有???...
今天在做一个驱动的时候要用到另一个驱动(I2C)提供的API,在内核初始化时碰到了一个依赖问题。我的驱动在I2C初始化之前就运行起来了,而这时I2C提供的API还处于不可用状态。查了很多资料,网上...
CPU在内核中运行时并不是处处不可抢占的,内核中存在一些空隙,在这时进行抢占是安全的,内核抢占补丁的基本原理就是将SMP可并行的代码段看成是可以进行内核抢占的区域。 Linux 2.4内核...
前言 在程序的执行过程中,因为遇到某种障碍而使 CPU 无法最终访问到相应的物理内存单元,即无法完成从虚拟地址到物理地址映射的时候,CPU 会产生一次缺页异常,从而进行相应的缺页异常处理。...
与Windows相比,Linux被认为具有更好的安全性和其他扩展性能。这些特性使得Linux在操作系统领域异军突起,得到越来越多的重视。随着Linux应用量的增加,其安全性也逐渐受到了公众甚或黑客...
1. 前言 以太头中除了6字节目的MAC地址、6字节源MAC地址外,还有两字节的以太帧类型值,如IPv4为0x0800,ARP为0x0806等,网卡驱动收到以太帧后通过接口函数netif_...
在对 Linux 内核版本稳定性的测试中,需要明确地声明并证明为什么版本是稳定的或者是不稳定的。 然而还没有被证明和证实当前现有的系统范围内的压力测试可以测试 Linux 内核整体上的稳定性。 本...
我要写串口的驱动,手上有《linux设备驱动程序》,没怎么看懂,大家帮帮忙!我些的框架如下: #include #include #include #include #include ...
1 引言 随着计算机应用的日益普及,用户对计算机的处理能力的需求也在成指数级增长。为了满足用户的需求,处理器生产厂商也采用了诸如超流水,分支预测,超标量,乱序执行,缓存等技术提高处理器的性...
简介: 在这篇文章里, 我们将看到各种不同的后门技术,特别是Linux的可装载内核模块(LKM)。 我们将会发现LKM后门比传统的后门程序更加复杂,更加强大,更不易于被发现。知道这些之后,我们可以...
使用Linux Kernel Module的一般目的就是扩展系统的功能,或者给某些特殊的设备提供驱动等等。其实利用Linux内核模块我们还可以做一些比较“黑客”的事情,例如用来拦截系统调用,然后自...
要想在Linux下进行C语言编程,首先得搭建好一个编程环境。这里分别说明一下几个必需的几个软件包。 如果你对Linux下软件安装方法还不清楚,请参考文章“Linux下软件安装方法总结”http://z...
1.若当前目录下,只包含文件而无子目录,则我使用如下命令 find . -type d -ctime +40 -exec rm -rf {} \; find . -type f -ctime +40 ...
对,你的眼睛并没有出现问题,Windows Vista已经发布,Linux的开发者估计也急了,所以抛出了一个比以往更大的绣球---Linux Kernel的核心开发员表示,愿意为所有的公司提供驱动开发...
摘要 在Linux中会遇到由于文件系统损坏,需要人工修复而导致系统无法正常启动的现象。本文采用Linux初始化内存盘(INITRD)技术,并把内存的一部分作为Linux的根目录,每次启动把...
引言 在最近的24个月中,由于供应商组织面临经济状况不景气,加上Intel IXP 和 IBM Power NP,Raza,Cavium, Xilinx等公司的网络处理器(多核处理器)的出...
Linux的最大的好处之一就是它的源码公开。同时,公开的核心源码也吸引着无数的电脑爱好者和程序员;他们把解读和分析Linux的核心源码作为自己的最大兴趣,把修改Linux源码和改造Linux系统作...
下载源代码 Linux内核总是不断发展的,最新的内核Kernel2.6.0对USB2.0予以正式的支持,以及内核模块文件后缀最显著的一个变化由*.o到*.ko等等,我们可以从www.ker...
看了Linux代码,感觉其对内核内存的保护做得不是很好,还有感觉大家有些地方理解不对(主要是 Linux的代码看起来的样子和实际的样子不太一样),所以谈谈我对Linux系统内核空间的保护和用户空间...
1 引 言 在以计算机技术、通讯技术相结合的信息时代的快速发展和互联网广泛应用的形势下,3C(Computer,Communication,Consumer)合一的趋势已经形成,其结果必然...
摘 要:本文结合源代码着重分析了Linux进程调度的依据、策略和调度程序schedule()。 1 前言 处理机(CPU)是整个计算机系统的核心资源,在多进程的操作系统中,进程数往往...
摘要:动态链接库技术实现和设计程序常用的技术,在Windows和Linux系统中都有动态库的概念,采用动态库可以有效的减少程序大小,节省空间,提高效率,增加程序的可扩展性,便于模块化管理。但不同操...
GNU C 允许声明函数、变量和类型的特殊属性,以便手工的代码优化和更仔细的代码检查。要指定一个声明的属性,在声明后写 __attribute__ (( ATTRIBUTE )) 其中 ...
一款linux手机,在flash里的地址分配: bootloader: 8000-20000 kernel: 40000-100000 根文件系统(cram...
传统编译内核模块的方法繁琐而费时,本文将告诉我们一种快速编译所需要内核模块的新方法。当你安装完Linux系统,并且已经启动,恭喜你!如果你的硬盘上还安装了WinNT/2000系统,你试图去访问另一...
Linux的产生与发展,更多的应用与服务器,那么对于Linux的各个管理机制要非常清楚,一个完整的Linux系统主要有存储管理,内存管理,文件系统和进程管理等几方面组成,贴出一些以前学习过的一个很...
著者: Peter Norvig 翻译: Dai Yuwen 为何人人都这么着急? 信步走进任何一家书店,你会看到名为《如何在7天内学会Java》的书,还有各种各样类似的书:在几天内或几小时内学会V...
1.两个数比较大小 引用:#define min( x,y) ({ \ typeof( x) _x = ( x); \ typeof( y) _y = ( y); \ (void) (&_x ...
内核在启动时可以传递一个字符串命令行,来控制内核启动的过程,例如: 引用:"console=ttyS2,115200 mem=64M@0xA0000000" 这里指定了控制台是串口2,波特率是1152...
传统编译内核模块的方法繁琐而费时,本文将告诉我们一种快速编译所需要内核模块的新方法。 当你安装完Linux系统,并且已经启动,恭喜你!如果你的硬盘上还安装了WinNT/2000系统,你试图...
通过分析Java线程堆解决Java应用程序中存在问题的技术。我们可以使用线程堆来分析诸如应用程序挂起,响应时间长以及程序崩溃等情况。在详细介绍分析线程堆的技术之前,我们先来简要地看看线程堆本身。 ...