write的奥秘

在Linux下我们在使用设备的时候,都会用到write这个函数,通过这个函数我们可以象使用文件那样向设备传送数据。可是为什么用户使用write函数就可以把数据写到设备里面 去,这个过程到底是怎么实现的呢? 这个奥秘就在于设备驱动程序的write实现中,这里我结合一些源代码来解释如何使得一个简简...

2015-04-15 13:50:59

阅读数:478

评论数:0

ARM Linux从Bootloader、kernel到filesystem启动流程

ARM Linux启动流程大致为:bootloader ---->kernel---->root filesystem。bootloader 是一上电就拿到cpu 的控制权的,而bootloader实现了硬件的初始化。bootloader俨然就成了Power on 之后”第一个吃螃蟹”...

2016-03-03 13:36:00

阅读数:779

评论数:0

文件结构体struct file(Linux 2.6.23内核) (转)

struct file结构体定义在/linux/include/linux/fs.h(Linux 2.6.11内核)中,其原型是: struct file {         /*          * fu_list becomes invalid after file_free is c...

2016-01-13 18:04:48

阅读数:581

评论数:0

系统调用、POSIX、C库、系统命令和内核函数

第5章 系统调用 大部分介绍Linux内核的书籍都没有仔细说明系统调用,这应该算是一个失误。内核发展到现在,我们实际需要的系统调用现在已经十分完美,从这个意义上来说,再耗费宝贵的时间去研究系统调用的实现是毫无意义的事情。 然而,对于希望能够对内核有更深理解的我们来说,仔细研究少量系统调用仍是十...

2016-01-12 23:32:42

阅读数:889

评论数:0

linux系统调用和库函数调用的区别

Linux下对文件操作有两种方式:系统调用(system call)和库函数调用(Library functions)。可以参考《Linux程序设计》(英文原版为《Beginning Linux Programming》,作者是Neil Matthew和Richard Stones)第三章: Wo...

2016-01-12 23:30:54

阅读数:329

评论数:0

Windows 下用 SourceInsight 与 Linux 协作编码利用Samba的共享

习惯了用SourceInsight 读写代码,在Linux下一时没找到类似的工具,vi的操作也不熟,偶尔看看或小改动代码还行,项目一大就感觉就力不从心了;所以还是准备采用Windows下进行代码的阅读和编写,Linux 下编译运行。下文是该环境的安装和配置过程,记录备忘。 环境说明:   ...

2015-10-28 20:43:49

阅读数:2454

评论数:0

How do I install and use fonts in Linux?

If you are a graphic artist, writer, designer, or desktop publisher, then you are likely to need specific fonts installed on your computer. For Linux...

2015-09-13 16:51:09

阅读数:456

评论数:0

简述configure、pkg-config、pkg_config_path三者的关系

一、什么是configure   源码安装过程中大多会用到configure这个程序,一般的configure都是一个script,执行时可以传入必要参数告知配置项目。   configure程序它会根据传入的配置项目检查程序编译时所依赖的环境以及对程序编译安装进行配置,最终生成编译所...

2015-09-10 16:06:01

阅读数:244

评论数:0

Linux 环境变量PATH设置

首先是设置全局环境变量,对所有用户都会生效: etc/profile: 此文件为系统的每个用户设置环境信息。当用户登录时,该文件被执行一次,并从 /etc/profile.d 目录的配置文件中搜集shell 的设置。一般用于设置所有用户使用的全局变量。/etc /environment : ...

2015-07-10 16:14:48

阅读数:302

评论数:0

Ubuntu中root用户和user用户的相互切换

Ubuntu是最近很流行的一款Linux系统,因为Ubuntu默认是不启动root用户,现在介绍如何进入root的方法。 (1)从user用户切换到root用户 不管是用图形模式登录Ubuntu,还是命令行模式登录,我们会发现缺省的用户是user 但是当我们需要执行一些具有root权...

2015-07-06 17:39:25

阅读数:432

评论数:0

Virtualbox中的Ubuntu虚拟机,安装增强功能时出错:未能加载

今天自由草在使用Virtualbox中的Ubuntu虚拟机,打算作为微丫头本地测试,结果屏幕分辨率比较低,不方便使用,就想安装增强功能来实现更改分辨率,但是在安装时出错:未能加载虚拟光驱 VBoxsGuestAdditions.iso到虚拟电脑 经过折腾,最后通过互联网找到了解决...

2015-07-06 15:50:32

阅读数:2532

评论数:0

/dev/console,/dev/tty和/dev/null

/dev/console 这个设备代表的是系统控制台,错误信息和诊断信息通常会被发送到这个设备。 每个UNIX系统都会有一个指定的终端或显示屏用来接收控制台信息。 1 /dev/tty 如果一个进程有控制终端的话,那么/dev/tty就是这个控制终端的别名。 ...

2015-07-03 15:52:56

阅读数:614

评论数:0

Linux中tty、pty、pts的概念区别

基本概念: 1> tty(终端设备的统称): tty一词源于Teletypes,或者teletypewriters,原来指的是电传打字机,是通过串行线用打印机键盘通过阅读和发送信息的东西,后来这东西被键盘与显示器取代,所以现在叫终端比较合适。 终端是一种字符型设备,它有多种类型,通...

2015-06-30 17:43:17

阅读数:533

评论数:0

Linux移植添加norflash MTD分区

开发板上只有Nor Flash,所以为了实现层次文件系统,需要为Linux2.6.20增加Nor Flash MTD驱动支持。其实工作量并不大,因为已经有现成的程序可供参考。     MTD的驱动程序都集中在drivers/mtd里面。我们需要做的,仅仅是在drivers/mtd/maps下增加...

2015-06-25 17:51:14

阅读数:1373

评论数:0

Flash设备驱动

在linux系统中,提供了MTD(内存技术设备)系统来建立Flash针对linux的统一,抽象接口,MTD将文件系统与底层的Flash存取器进行了隔离,使得Flash驱动工程师无需关心Flash作为字符设备和块设备与Linux内核接口(由MTD层完成) 在引入MTD后,Linux系统中Flash...

2015-06-25 00:04:04

阅读数:509

评论数:0

【驱动】MTD子系统分析

MTD介绍   MTD,Memory Technology Device即内存技术设备   字符设备和块设备的区别在于前者只能被顺序读写,后者可以随机访问;同时,两者读写数据的基本单元不同。   字符设备,以字节为基本单位,在Linux中,字符设备实现的比较简单,不需要缓冲区即可直接...

2015-06-24 23:49:29

阅读数:390

评论数:0

linux下定时器的使用--timer_create等系列

程序1:采用新线程派驻的通知方式 #include #include #include #include #include #include #define CLOCKID CLOCK_REALTIME void timer_thread(union sigval v) { p...

2015-05-14 11:41:13

阅读数:858

评论数:0

POSIX定时器:timer_settime()

最强大的定时器接口来自POSIX时钟系列,其创建、初始化以及删除一个定时器的行动被分为三个不同的函数:timer_create()(创建定时器)、timer_settime()(初始化定时器)以及timer_delete(销毁它)。 创建一个定时器 int timer_create(clocki...

2015-04-27 11:15:38

阅读数:1541

评论数:0

linux驱动程序ioctl函数用法

一、 什么是ioctl     ioctl是设备驱动程序中对设备的I/O通道进行管理的函数。所谓对I/O通道进行管理,就是对设备的一些特性进行控制,例如串口的传输波特率、马达的转速等等。它的调用个数如下: int ioctl(int fd, ind cmd, …);     其中fd是用户程序...

2015-04-14 17:58:27

阅读数:3536

评论数:3

Linux(centos)系统各个目录的作用详解 推荐

文件系统的类型  LINUX有四种基本文件系统类型:普通文件、目录文件、连接文件和特殊文件,可用file命令来识别。  普通文件:如文本文件、C语言元代码、SHELL脚本、二进制的可执行文件等,可用cat、less、more、vi、emacs来察看内容,用mv来改名。  目录文件...

2015-03-19 15:09:03

阅读数:331

评论数:0

提示
确定要删除当前文章?
取消 删除
关闭
关闭