1 概述 Makefile由五个部分组成: Makefile:根目录Makefile,它读取.config文件,并负责创建vmlinux(内核镜像)和modules(模块文件). .config:内核配置文件(一般由make menuconfig生成). arch/$(ARCH)/Makefile:目标处理器的Makefile. scripts/Makefile.*:所有kbuild Makefile的规则,它们包含了定义/规则等. kbuild Makefiles:每个子目录都有kbuild…
LINUX 和 WINDOWS 内核的区别 [声明:欢迎转载,转载请注明出自CU ACCESSORY http://linux.chinaunix.net/bbs/thread-1153868-1-1.html] 关于LINUX和WINDOWS的口水站已经很多了.本文企图从技术角度来比较下2个主流操作系统的异同.偏重于内核部分. 一.动机: 我最早是 WINDOWS 阵营的.在WINDOWS下写过2年多的驱动程序.后来由于学习需要,转投LINUX,一晃也快2年了.期间经历了很多曲折,也学到了很多…
转自:http://blog.csdn.net/tommy_wxie/article/details/7280463 版权声明:本文为博主原创文章,未经博主允许不得转载.   目录(?)[-] 概述 kbuild文件 1 obj-y和obj-m 11 obj-y生成built-ino 12 目标由多个源文件编译得到 13 调用子目录Makefile 2 lib-y和lib-m 3 编译选项变量 31 ccflags-yasflags-yldflags-y 32 subdir-ccflags-ys…
Linux源代码阅读——内核引导 转自:http://home.ustc.edu.cn/~boj/courses/linux_kernel/1_boot.html 目录 Linux 引导过程综述 BIOS POST 自举过程 Boot loader 主引导扇区结构 GRUB stage1 GRUB stage2 内核初始化:体系结构相关部分 内核映像结构 header.S 初始化与保护模式 自解压内核 startup_32 内核初始化:体系结构无关部分 核心数据结构初始化 设备初始化 1 Lin…
自己的一点总结,把知识重新编码~ 一.操作系统概述 在Richard Stevens的unix环境高级编程中这样定义“它控制计算机硬件资源,提供程序运行环境.一般而言我们称这种软件为内核(kernel),它相对较小,位于环境的中心”.总结下就是控制硬件,提供环境.程序员主要关心的是所谓的环境,主要说下提供什么环境. 操作系统都会想为它们运行的程序提供各种服务,执行新的程序,打开文件,读文件,分配存储空间,获得当前时间等(一般通过系统调用). 广义上,操作系统还有内核外的系统调用,基于系统调用的s…
转自:http://www.ibm.com/developerworks/cn/linux/l-rcu/ 一. 引言 众所周知,为了保护共享数据,需要一些同步机制,如自旋锁(spinlock),读写锁(rwlock),它们使用起来非常简单,而且是一种很有效的同步机制,在UNIX系统和Linux系统中得到了广泛的使用.但是随着计算机硬件的快速发展,获得这种锁的开销相对于CPU的速度在成倍地增加,原因很简单,CPU的速度与访问内存的速度差距越来越大,而这种锁使用了原子操作指令,它需要原子地访问内存,…
c语言: 基础篇 1.<写给大家看的C语言书(第2版)> 原书名: Absolute Beginner's Guide to C (2nd Edition) 原出版社: Sams 作者: (美)Greg Perry    [作译者介绍] 译者: 谢晓钢 刘艳娟 丛书名: 图灵程序设计丛书 C/C++系列 出版社:人民邮电出版社 ISBN:9787115216359上架时间:2009-12-10出版日期:2010 年1月开本:16开页码:308 说明:这本是入门最好的,最简单,最好懂 2.<…
  经过一个月的学习,目前对linux 下驱动程序的编写有了入门的认识,现在需要着手实践,编写相关的驱动程序. 因为飞控系统对实时性有一定的要求,所以先打算学习linux 2.6 内核的实时性与任务调度, 以及高优先级和常驻内核程序的编写, 给内核打实时补丁,敬请期待..... 阅读推荐: 1,Real-Time and Performance Improvements in the 2.6 Linux Kernel, 2,Linux 2.6 for Embedded Systems, 3,ht…
一.linux内核 1.查看linux内核版本 uname -r 2.下载对应的linux内核 https://www.kernel.org/pub/linux/kernel/ 将内核文件夹解压到/usr/src/ cd /usr/src/linux***(你的内核文件夹) #make menuconfig 这里会出现错误: HOSTCC scripts/basic/fixdep HOSTCC scripts/basic/docproc HOSTCC scripts/kconfig/conf.o…
Linux下查看内核.CPU.内存及各组件版本的命令和方法 Linux查看内核版本: uname -a                        more /etc/*release                         more /etc/RedHat-release                        more /proc/version 查看CPU信息:grep "model name" /proc/cpuinfo                     …