Linux 基础理论
文章平均质量分 68
fanwenjieok
这个作者很懒,什么都没留下…
展开
-
linux应用程序中的Singal
头文件 #include 功 能:设置某一信号的对应动作 函数原型 :void (*signal(int signum,void(* handler)(int)))(int); 或者:typedef void(*sig_t) ( int ); sig_t signal(int signum,sig_t handler); 参数说明: 第一个参数sign原创 2014-07-17 18:04:59 · 652 阅读 · 0 评论 -
三种内存地址:逻辑地址,线性地址,和物理地址
逻辑地址: 包含在机器语言指令中用来指定一个操作数或一条指令的地址。这种寻址方式在80X86著名的分段结构中表现得尤为具体,它促使MS-DOS或Windows程序员把程序分成若干段。每一个逻辑地址都是有一个段和偏移量组成,偏移量指明了从段开始的地方到时间地址之间的距离线性地址:(虚拟地址) 是一个32位无符号整数,可以用来表示高达4GB的地址,也就是高达4294967296个内存单转载 2014-10-14 21:09:45 · 3944 阅读 · 0 评论 -
网络文件系统与 Linux
网络文件系统与 Linux 网络文件系统(NFS)从 1984 年问世以来持续演变,并已成为分布式文件系统的基础。当前,NFS(通过 pNFS 扩展)通过网络对分布的文件提供可扩展的访问。探索分布式文件系背后的理念,特别是,最近 NFS 文件进展。转载 2014-10-12 19:33:26 · 708 阅读 · 0 评论 -
linux中mmap系统调用原理分析与实现
1、mmap系统调用(功能) void* mmap ( void * addr , size_t len , int prot , int flags ,int fd , off_t offset ) 内存映射函数mmap, 负责把文件内容映射到进程的虚拟内存空间, 通过对这段内存的读取和修改,来实现对文件的读取和修改,而不需要再调用read,write等操作。转载 2014-10-06 08:57:57 · 486 阅读 · 0 评论 -
STDIN_FILENO的作用及与stdin 的区别
STDIN_FILENO的作用及与stdin 的区别1.STDIN_FILENO的作用STDIN_FILENO属于系统API接口库,其声明为 int 型,是一个打开文件句柄,对应的函数主要包括 open/read/write/close 等系统级调用。操作系统一级提供的文件API都是以文件描述符来表示文件。STDIN_FILENO就是标准输入设备(一般是键盘)的文件描述符。2.转载 2014-08-19 17:48:17 · 388 阅读 · 0 评论 -
根文件系统的构建与分析(二)
我们依旧记得系统启动流程:硬件上电--》bootloader--》Linux内核--》挂载根文件系统--》应用程序上一篇,我们建好了根文件系统的目录。这篇的任务是利用交叉编译工具链,构建动态库 qt应用程序依赖一些动态库文件才能运行,如qt库,c库。因为应用程序本身需要使用C库的库函数,因此还必需制作for ARM的C库,并将其放置于/lib目录。还记得交叉编译工具链的3个组成转载 2014-08-27 15:21:33 · 499 阅读 · 0 评论 -
根文件系统的构建与分析(一)之流程分析
此系列,我想从初学者的角度来体验怎样构建根文件系统,显然,我也是个初学者。根文件系统第一个进程init到启动用户应用程序的过程:qt应用程序也做了,u-boot、内核也移植了,那启动内核后,怎样才能运行qt应用程序呢?内核启动后,操作系统做了些什么? U-Boot 目的 ――→ 启动内核 | ↓ 内核 目的 ―转载 2014-08-27 15:01:09 · 533 阅读 · 0 评论 -
work queue and wait queue 傻傻分得清楚!
work queue and wait queue 傻傻分得清楚!原创 2014-08-12 15:51:52 · 2612 阅读 · 0 评论 -
Linux驱动基本理论之——poll机制图解
Linux驱动基本理论之——poll机制图解 poll(轮询)操作在应用程序中用于同时阻塞在多个文件上,当其中任何一个文件有应用程序所等待的事件(可读、可写、出错等)时,poll返回相应的掩码通知应用程序,使得应用程序知道应该对哪个文件做何种操作。按照我的理解,poll的本质可以这样解释:休眠等待多个指定文件中的任何一个发生特定的事件,并将被该文件唤醒;醒来后轮询所有相关文件(通过再次调转载 2014-08-23 12:06:44 · 1177 阅读 · 0 评论 -
linux platform机制的好处
从Linux2.6起,引入了一套新的驱动管理和注册机制:Platform_device和Platform_driver。Linux中大部分的设备驱动,都可以使用这套机制,设备用platform_device表示,驱动用platform_driver进行注册。 Linux platform driver机制和传统的device_driver机制相比,一个十分明显的优势在于platfo转载 2014-08-23 15:42:44 · 553 阅读 · 0 评论 -
线程与进程
线程与进程 线程是进程的一部分,进程是程序的一部分。线程是CPU进行调度和分派的基本单位,进程是操作系统进行资源分配的基本单位。线程控制表为TCB,进程控制表为PCB,其中PCB含有更多的信息。从逻辑角度来看,多线程的意义在于一个应用程序中,有多个执行部分可以同时执行。但操作系统并没有将多个线程看做多个独立的应用,来实现进程的调度和管理以及转载 2014-08-23 19:17:55 · 404 阅读 · 0 评论 -
嵌入式系统 Boot Loader 技术内幕
1. 引言在专用的嵌入式板子运行 GNU/Linux 系统已经变得越来越流行。一个嵌入式 Linux 系统从软件的角度看通常可以分为四个层次:1. 引导加载程序。包括固化在固件(firmware)中的 boot 代码(可选),和 Boot Loader 两大部分。2. Linux 内核。特定于嵌入式板子的定制内核以及内核的启动参数。3. 文件系统。包括根文件系统转载 2014-08-23 11:12:53 · 522 阅读 · 0 评论 -
Linux内核中获取时间函数do_gettimeofday
内核代码能一直获取一个当前时间的表示, 通过查看 jifies 的值. 常常地, 这个值只代表从最后一次启动以来的时间, 这个事实对驱动来说无关, 因为它的生命周期受限于系统的 uptime. 如所示, 驱动可以使用 jiffies 的当前值来计算事件之间的时间间隔(例如, 在输入驱动中从单击中区分双击或者计算超时). 简单地讲, 查看 jiffies 几乎一直是足够的, 当你需要测量时间间隔.转载 2014-08-21 16:14:51 · 23930 阅读 · 1 评论 -
copy_from_user与copy_to_user分析
copy_from_user与copy_to_user分析 在学习Linux内核驱动的时候,一开始就会碰到copy_from_user和copy_to_user这两个常用的函数。这两个函数在内核使用的非常频繁,负责将数据从用户空间拷贝到内核空间以及将数据从内核空间拷贝到用户空间。在4年半前初学Linux内核驱动程序的时候,我只是知道这个怎么用,并没有很深入的分析这两个函数。这次研究内核模转载 2014-08-20 10:44:20 · 1887 阅读 · 0 评论 -
linux内核的调度机制
linux内核的调度机制linux内核的调度机制抢占式内核与非抢占式内核linux抢占式内核与实时系统的关系一个好的系统的进程调度机制,要兼顾三种不同的应用的需求:1交互式应用。这种应用,着重于系统的响应速度,当系统中有大量的进程共存时(多用户),要保证每个用户都有可以接受的响应速度,而不感到明显的延迟。当延迟超过150毫秒时,使用者会明显地感觉到。2.转载 2014-08-20 10:55:46 · 2404 阅读 · 0 评论 -
linux中的mmap与unmap
linux中mmap的void *mmap(void *start,size_t length,int prot,int flags,int fd,off_t offsize); 具体参数含义start : 指向欲映射的内存起始地址,通常设为 NULL,代表让系统自动选定地址,映射成功后返回该地址。length: 代表将文件中多大的部分映射到内存。prot : 映射区域原创 2014-08-01 01:08:24 · 5610 阅读 · 0 评论 -
Linux多点触控
为了使用功能强大的多点触控设备,一种方案是上报用户层所需的详细的手指触摸数据。这个文档所描述的多点触控协议可以让内核驱动程序向用户层上报任意多指的数据信息。 使用说明 任何一个手指的触控数据都是打包成 ABS event 包按顺序发送,只有 ABS_MT event包能作为多点触控数据被识别,调用 input_mt_sync()函数可以产生一个 SYN_MT_REPORT event转载 2014-08-19 16:16:35 · 1646 阅读 · 0 评论 -
操作系统知识点总结
1、进程是并发过程中程序的执行过程2、进程的特征:结构特征动态性并发性独立性异步性3、临界区指在每个进程中访问临界资源的那段代码4,现在操作系统中申请资源的基本单位是进程,在CPU得到执行的基本单位是线程,进程是由程序段、数据段、PCB组成的5,对临界资源应采取互斥访问方式来实现共享6,P.V操作是一种低级进程通信原语7,对于记录性信号量,在执行一次原创 2014-08-21 22:54:29 · 603 阅读 · 0 评论