arm-linux

http://armboard.taobao.com/

  博客园 :: 首页 :: 博问 :: 闪存 :: 新随笔 :: 联系 :: 订阅 订阅 :: 管理 ::

随笔分类 -  Linux

上一页 1 2

摘要:1.什么是 Initrdinitrd 的英文含义是 boot loader initialized RAM disk,就是由 boot loader 初始化的内存盘。在 linux内核启动前, boot loader 会将存储介质中的 initrd 文件加载到内存,内核启动时会在访问真正的根文件系统前先访问该内存中的 initrd 文件系统。在 boot loader 配置了 initrd 的情况下,内核启动被分成了两个阶段,第一阶段先执行 initrd 文件系统中的"某个文件",完成加载驱动模块等任务,第二阶段才会执行真正的根文件系统中的 /sbin/init 进程。这里 阅读全文
posted @ 2011-03-30 12:30 arm-linux 阅读(744) 评论(0) 推荐(0) 编辑

摘要:摘要:对于Linux用户来说,Ramdisk并不陌生,可是为什么需要它呢?本文对Ramdisk在内核启动过程中的作用,以及它的内部机制进行深入介绍。标题 initrd 和 initramfs在内核中的处理临时的根目录rootfs的挂载initrd的解压缩老式的initrd的处理cpio格式的initrd的处理initrd实例分析在早期的Linux系统中,一般就只有软盘或者硬盘被用来作为Linux的根文件系统,因此很容易把这些设备的驱动程序集成到内核中。但是现在根文件系统可能保存在各种存储设备上,包括SCSI, SATA, U盘等等。因此把这些设备驱动程序全部编译到内核中显得不太方便。在Linu 阅读全文
posted @ 2011-03-30 11:36 arm-linux 阅读(5632) 评论(0) 推荐(0) 编辑

摘要:对分布式系统中的进程标识”一文的疑问 刚才看到陈硕先生的一篇blog:“分布式系统中的进程标识”,地址:http://www.cnblogs.com/Solstice/archive/2011/03/29/1998412.html 我不同意该文的观点,因此在这里抛砖引玉,提出一个构建一个分布式系统的简单方案。 文中说:“正确做法:以四元组ip:port:start_time:pid作为分布式系统中进程的gpid,其中start_time是64-bit整数,表示进程的启动时刻。” 第一个问题:没有port的进程怎么命名? 文中这样回答:“根... 阅读全文
posted @ 2011-03-29 16:20 arm-linux 阅读(1103) 评论(0) 推荐(0) 编辑

摘要:安装pydev插件 pydev 是 Eclipse的一个插件,是最好的Python开发工具,还支持django。 更新网址:http://pydev.org/updates pydev需要安装Python。如果需要使用django,还需要安装django。 测试Python是否安装完成:命令行下键入python。如果进入交互环境,那么就表示Python已经安装成功了。 测试django是否安装完成:在python交互环境下,键入import django 如果没有报错,那么Django安装完成。键入help(django)可以查看django的各个API的具体含义和使用方法。D... 阅读全文
posted @ 2011-03-14 12:33 arm-linux 阅读(417) 评论(0) 推荐(0) 编辑

摘要:<!-- @page { margin: 2cm } P { margin-bottom: 0.21cm } --> Linux内核代码风格 By LinusTorvalds <!-- @page { margin: 2cm } H1 { margin-top: 0.6cm; margin-b... 阅读全文
posted @ 2011-03-08 10:27 arm-linux 阅读(734) 评论(0) 推荐(0) 编辑

摘要:Unix编程哲学: 1,模块原则:使用简洁的接口拼合简单的部件。2,清晰原则:清晰胜于机巧。3,组合原则:设计时考虑拼接组合。4,分离原则:策略同机制分离,接口同实现引擎分离。5,简洁原则:设计要简洁,复杂度能低则低。6,吝啬原则:除非确无它法,不要编写庞大的程序。7,透明性原则:设计要可见,以便审查和调试。8,健壮原则:健壮源于透明与简洁。9,表示原则:把知识叠入数据以求逻辑质朴而健壮。10,通俗原则:接口设计避免标新立异。11,缄默原则:如果一个程序没什么好说的,就沉默。12,补救原则:出现异常时,马上退出并给出足够的错误信息。13,经济原则:宁花机器一分,不花程序员一秒。14,生成原.. 阅读全文
posted @ 2011-03-02 23:06 arm-linux 阅读(599) 评论(0) 推荐(0) 编辑

摘要:1,Visual Studio中报这个错误:Project : error PRJ0002 : Error result 31 returned from 'C:/Program Files/Microsoft SDKs/Windows/v6.0A/bin/mt.exe'.如下方法解决:Properties -> Configuration Properties -> Linker -> Manifest File, set Generate Manifest to No.2,Visual Studio编译成功,运行时报这个错误:没有找到MSVCR90.dll 阅读全文
posted @ 2011-02-17 10:57 arm-linux 阅读(663) 评论(0) 推荐(0) 编辑

摘要:<!-- @page { margin: 2cm } P { margin-bottom: 0.21cm } H1 { margin-bottom: 0.21cm } H1.western { font-family: "DejaVu Sans", sans-serif; font-size: 16pt } H1.cjk { font-family: "DejaVu Sans"; font-size: 16pt; font-style: normal; font-weight: bold } H1.ctl { font-family: " 阅读全文
posted @ 2011-02-10 13:53 arm-linux 阅读(679) 评论(0) 推荐(0) 编辑

摘要:<!--@page { margin: 2cm }P { margin-bottom: 0.21cm }H1 { margin-bottom: 0.21cm }H1.western { font-family: "DejaVu Sans", sans-serif; font-size: 16pt }H1.cjk { font-family: "DejaVu Sans"; font-size: 16pt; font-style: normal; font-weight: bold }H1.ctl { font-family: "Lohit 阅读全文
posted @ 2011-02-06 18:46 arm-linux 阅读(5538) 评论(0) 推荐(0) 编辑

摘要:在学习 Linux 的过程中,安装 Linux 是每一个初学者的第一个门槛。 在这个过程中间,最大的困惑莫过于给硬盘进行分区。 虽然,现在各种发行版本的 Linux 已经提供了友好的图形交互界面,但是很多的人还是感觉无从下手。这其中的原因主要是不清楚 Linux 的分区规定,以及它下面最有效的分区工具― Fdisk 的使用方法。 下面从这两个方面入手,来讲解这个困扰大家的问题。 Linux 的分区规定 1. 设备管理 在 Linux 中,每一个硬件设备都映射到一个系统的文件,对于硬盘、光驱等 IDE 或 SCSI 设备也不例外。 Linux 把各种 IDE 设备分配了一个由 hd... 阅读全文
posted @ 2010-12-15 08:59 arm-linux 阅读(923) 评论(0) 推荐(0) 编辑

摘要:孔令春 posted @ 2009年10月15日 20:57 in 内功修行 with tags pselect poll , 418 阅读 2、pselect函数 pselect函数是由POSIX发明的,如今许多Unix变种都支持它。?123456#include <sys/select.h> #include <signal.h> #include <time.h> int pselect(int maxfdp1, fd_set *readset, fd_set *writeset, fd_set *exceptset, const struct tim 阅读全文
posted @ 2010-12-06 14:50 arm-linux 阅读(1510) 评论(0) 推荐(0) 编辑

摘要:poll函数用于监测多个等待事件,若事件未发生,进程睡眠,放弃CPU控制权,若监测的任何一个事件发生,poll将唤醒睡眠的进程,并判断是什么等待事件发生,执行相应的操作。poll函数退出后,struct pollfd变量的所有值被清零,需要重新设置。 示例是使用poll函数来监测按键的输入----------------------------------------------------------------------------------------------------------驱动代码:#include <linux/config.h>#include < 阅读全文
posted @ 2010-12-06 09:23 arm-linux 阅读(2878) 评论(0) 推荐(0) 编辑

摘要:一、 引言众所周知,Linux 桌面系统与 MAC 或 Windows 相比有许多不如人意的地方,为了改善这种状况,开源社区提出用户态需要内核提供一些机制,以便用户态能够及时地得知内核或底层硬件设备发生了什么,从而能够更好地管理设备,给用户提供更好的服务,如 hotplug、udev 和 inotify 就是这种需求催生的。Hotplug 是一种内核向用户态应用通报关于热插拔设备一些事件发生的机制,桌面系统能够利用它对设备进行有效的管理,udev 动态地维护 /dev 下的设备文件,inotify 是一种文件系统的变化通知机制,如文件增加、删除等事件可以立刻让用户态得知,该机制是著名的桌面搜索 阅读全文
posted @ 2010-12-02 19:09 arm-linux 阅读(636) 评论(0) 推荐(0) 编辑

摘要:在编写ioctl代码之前,需要选择对应不同命令的编号。为了防止对错误的设备使用正确的命令,命令号应该在系统范围内唯一,这种错误匹配并不是不会发生,程序可能发现自己正在试图对FIFO和audio等这类非串行设备输入流修改波特率,如果每一个ioctl命令都是唯一的,应用程序进行这种操作时就会得到一个EINVAL错误,而不是无意间成功地完成了意想不到的操作。要按Linux内核的约定方法为驱动程序选择ioctl编号,应该首先看看include/asm/ioctl.h和Doucumention/ioctl-number.txt这两个文件。头文件定义了要使用的位字段:类型(幻数)、序数、传送方向以及参数大 阅读全文
posted @ 2010-12-01 18:05 arm-linux 阅读(410) 评论(0) 推荐(0) 编辑

摘要:一、定义:struct device_driver结构体被定义在/include/linux/device.h,原型是: 124struct device_driver { 125 const char * name; 126 struct bus_type * bus; 127 128 struct kobject kobj; 129 struct klist klist_devices; 130 struct klist_node ... 阅读全文
posted @ 2010-09-20 10:37 arm-linux 阅读(3670) 评论(0) 推荐(0) 编辑

上一页 1 2