11 2016 档案

摘要:转自:http://www.lupaworld.com/forum.php?mod=viewthread&tid=61425 原名:内核与ramdisk到底是什么关系? 个人Notes: (1)有这个必要吗? --相当有!不然内核太大!不符“内核”原则。 (2)作用:“既要内核小,又要内核不带草”, 阅读全文
posted @ 2016-11-30 22:04 GreenHand# 阅读(7152) 评论(0) 推荐(1) 编辑
摘要:首先引用一句 wiki 上的定义来开篇: Mounting takes place before a computer can use any kind of storage device (such as a hard drive, CD-ROM, or network share). The u 阅读全文
posted @ 2016-11-30 19:45 GreenHand# 阅读(2894) 评论(0) 推荐(2) 编辑
摘要:在终端里边启动vim,终端的配色会影响vim的配色;vim的配色是叠加到终端的颜色上的,所以很多时候对vim的配色都和设想的不一样。 在线配色网址: http://bytefluent.com/devify/ ,配置完成后,可以下载配置文件。 1.先改终端的配色为Solarized 现在基本用 ub 阅读全文
posted @ 2016-11-24 16:04 GreenHand# 阅读(4051) 评论(0) 推荐(0) 编辑
摘要:一、Exynos4412 UART 的特性 Exynos4412 中UART,有4 个独立的通道,每个通道都可以工作于中断模式或DMA 模式,即 UART 可以发出中断或 DMA 请求以便在UART 、CPU 间传输数据。UART 由波特率发生器、发送器、接收器和控制逻辑组成。 使用系统时钟时,Ex 阅读全文
posted @ 2016-11-22 21:54 GreenHand# 阅读(930) 评论(1) 推荐(0) 编辑
摘要:PWM定时器 4412时钟为我们提供了PWM定时器,在4412中共有5个32位的定时器,这些定时器可发送中断信号给ARM子系统。另外,定时器0、1、2、3包含了脉冲宽度调制(PWM),并可驱动其拓展的I/O。PWM对定时器0有可选的dead-zone功能,以支持大电流设备。要注意的是定时器4是内置不 阅读全文
posted @ 2016-11-22 21:37 GreenHand# 阅读(1557) 评论(0) 推荐(0) 编辑
摘要:电路原理图: 如何点亮一个LED? 通过对原理图进行分析,我们能够发现给三极管的基极加上一个高点平时,三级管be结导通构成通路,此时二极管就点亮了。若要将LED熄灭只需取消高电平输出。 如何使三级管基极获得一个高电平? 控制三极管基极的其实是exynos4412的一个引脚(忽略具体是怎么连接的),因 阅读全文
posted @ 2016-11-22 21:00 GreenHand# 阅读(2711) 评论(0) 推荐(1) 编辑
摘要:ARM 汇编指令条件执行 在ARM模式下,任何一条数据处理指令可以选择是否根据操作的结果来更新CPSR寄存器中的ALU状态标志位。在数据处理指令中使用S后缀来实现该功能。 不要在CMP,CMN,TST或者TEQ指令中使用S后缀。这些比较指令总是会更新标志位。 在Thumb模式下,所有数据处理指令都更 阅读全文
posted @ 2016-11-16 23:01 GreenHand# 阅读(15640) 评论(0) 推荐(0) 编辑
摘要:程序状态寄存器(CPSR) Mode位[4:0]:处理器模式为 USER模式不能直接切换到特权模式,在特权模式下可以直接修改mode位[4:0]为10000,切换到USER模式。 T bit位[5]:处理器状态位 T = 0,J= 0处于ARM指令集状态 T = 1,J= 0处于Thumb指令集状态 阅读全文
posted @ 2016-11-16 09:18 GreenHand# 阅读(669) 评论(0) 推荐(0) 编辑
摘要:ARM汇编指令集 ARM汇编文件的组成 ARM汇编指令类型 数据处理指令 mov,add,adds,adc,sub,subs,sbc,rsb,mul,and,orr,eor,bic,cmp,tst,teq,lsl,lsr,asr,rorv 数据处理指令语法 数据传送指令 MOV 加法指令 ADD 数 阅读全文
posted @ 2016-11-15 16:57 GreenHand# 阅读(5154) 评论(0) 推荐(0) 编辑
摘要:在使用socket进行网络编程时,首先要选择一个合适的服务器模型是很重要的。在网络程序里,通常都是一个服务器服务多个客户机,为了处理多个客户机的请求,服务器端的程序有不同的处理方式。 目前最常用的服务器模型分为两大类,循环服务器模型和并发服务器模型 循环服务器模型 UDP循环服务器模型 UDP循环服 阅读全文
posted @ 2016-11-14 22:24 GreenHand# 阅读(2611) 评论(1) 推荐(1) 编辑
摘要:shmget函数原型 shmget(得到一个共享内存标识符或创建一个共享内存对象) 所需头文件 #include <sys/ipc.h> #include <sys/shm.h> 函数说明 得到一个共享内存标识符或创建一个共享内存对象并返回共享内存标识符 函数原型 int shmget(key_t 阅读全文
posted @ 2016-11-05 22:37 GreenHand# 阅读(1584) 评论(0) 推荐(0) 编辑
摘要:给出一个结构体成员的地址计算该结构体的起始地址,据说内核代码中有这样用的,但还没有看到。不过觉得这个题的解决方法还是有一定技巧的,就总结一下。下面是实现的代码。 其实整个程序中最关键的部分就是如何求出结构体中某个成员相对于结构体首地址的偏移量。这里的解决方法是:假设存在一个虚拟地址0,将该地址强制转 阅读全文
posted @ 2016-11-04 22:36 GreenHand# 阅读(3547) 评论(0) 推荐(0) 编辑
摘要:1、基本知识 poll的机制与select类似,与select在本质上没有多大差别,管理多个描述符也是进行轮询,根据描述符的状态进行处理,但是poll没有最大文件描述符数量的限制。poll和select同样存在一个缺点就是,包含大量文件描述符的数组被整体复制于用户态和内核的地址空间之间,而不论这些文 阅读全文
posted @ 2016-11-04 22:33 GreenHand# 阅读(439) 评论(0) 推荐(0) 编辑
摘要:epoll 是Linux内核中的一种可扩展IO事件处理机制,最早在 Linux 2.5.44内核中引入,可被用于代替POSIX select 和 poll 系统调用,并且在具有大量应用程序请求时能够获得较好的性能( 此时被监视的文件描述符数目非常大,与旧的 select 和 poll 系统调用完成操 阅读全文
posted @ 2016-11-04 22:00 GreenHand# 阅读(593) 评论(0) 推荐(0) 编辑
摘要:select(),poll(),epoll()的总结:http://www.cnblogs.com/Anker/p/3265058.html 在socket编程中,仅仅使用connect,accept、这些带有阻塞(block)的程序时,如果没有某个时间来满足条件,就会一直处于阻塞状态。可想而知在一 阅读全文
posted @ 2016-11-04 21:40 GreenHand# 阅读(595) 评论(0) 推荐(0) 编辑
摘要:在c中,为了解决一些频繁调用的小函数大量消耗栈空间或是叫栈内存的问题,特别的引入了inline修饰符,表示为内联函数。栈空间就是指放置程式的局部数据也就是函数内数据的内存空间,在系统下,栈空间是有限的,假如频繁大量的使用就会造成因栈空间不足所造成的程式出错的问题,函数的死循环递归调用的最终结果就是导 阅读全文
posted @ 2016-11-03 19:03 GreenHand# 阅读(6349) 评论(0) 推荐(0) 编辑
摘要:C 库函数 - fread() 描述 C 库函数 size_t fread(void *ptr, size_t size, size_t nmemb, FILE *stream) 从给定流 stream 读取数据到 ptr 所指向的数组中。 声明 下面是 fread() 函数的声明。 参数 ptr 阅读全文
posted @ 2016-11-02 22:00 GreenHand# 阅读(1722) 评论(0) 推荐(0) 编辑
摘要:打开/关闭/刷新流 1. fopen() 打开流 功能: 1)fopen()打开由 path指定的一个文件。 2)fdopen()获取一个先有的文件描述符,并使一个标准的I/O流与该描述相结合。此函数常用于由创建管道和网络通信函数小所返回的描述符。因为这些特殊类型的文件不能用标准I/O fopen函 阅读全文
posted @ 2016-11-02 21:13 GreenHand# 阅读(7309) 评论(0) 推荐(0) 编辑
摘要:标准I/O库 1. 标准I/O介绍 不仅是在UNIX系统中,很多操作系统上都实现了标准I/O库。 标准I/O库由ANSI C 标准说明 标准 I/O 库处理很多细节,例如带有缓冲分配、以优化长度执行的I/O等,这样使用户不用关心如何选择合适的块长度。 标准I/O在系统调用(文件I/O)的基础上构造, 阅读全文
posted @ 2016-11-02 20:12 GreenHand# 阅读(1504) 评论(0) 推荐(0) 编辑
摘要:目录操作 当目标是目录而不是文件的时候,ls -l的结果会显示目录下所有子条目的信息,怎么去遍历整个目录呢?答案马上揭晓! 1. 打开目录 功能:opendir()用来打开参数name指定的目录,并返回DIR *形态的目录流 需要包含的头文件:<sys/types.h>,<dirent.h> 函数原 阅读全文
posted @ 2016-11-02 19:23 GreenHand# 阅读(1505) 评论(0) 推荐(0) 编辑
摘要:stat 的使用 Linux有个命令,ls -l,效果如下: 这个命令能显示文件的类型、操作权限、硬链接数量、属主、所属组、大小、修改时间、文件名。它是怎么获得这些信息的呢,请看下面的讲解。 stat 的基本使用 stat:返回一个与此命 需要包含的头文件: <sys/types.h>,<sys/s 阅读全文
posted @ 2016-11-02 18:57 GreenHand# 阅读(12153) 评论(0) 推荐(0) 编辑
摘要:Lseek lseek()的作用是,设置文件内容的读写位置。 每个打开的文件都有一个“当前文件偏移量”,是一个非负整数,用以度量从文件开始处计算的字节数。通常,读写操作都是从当前文件偏移量处开始,并使偏移量增加所读或写的字节数。默认情况下,你打开一个文件(open),除非指定O_APPEND参数,不 阅读全文
posted @ 2016-11-02 17:17 GreenHand# 阅读(2468) 评论(0) 推荐(0) 编辑
摘要:read read()是一个系统调用函数。用来从一个文件中,读取指定长度的数据到 buf 中。 使用read()时需要包含的头文件: <unistd.h> 函数原型: ssize_t read(int fd, void *buf, size_t count); ssize_t是系统头文件中 type 阅读全文
posted @ 2016-11-02 16:35 GreenHand# 阅读(2015) 评论(0) 推荐(1) 编辑
摘要:Open open()是一个系统调用函数,用来打开或创建一个文件,通过不同的oflag选项实现不同功能。 使用时open()函数需要包含的头文件:<sys/types.h>,<sys/stat.h>,<fcntl.h> 函数原型: int open(const char *pathname, int 阅读全文
posted @ 2016-11-02 15:43 GreenHand# 阅读(16181) 评论(1) 推荐(1) 编辑
摘要:Linux文件 I/O 介绍 1. Linux系统调用 Linux系统调用(system call)是指操作系统提供给用户程序的一组“特殊接口”,用户程序可以通过这组“特殊”接口来获得操作系统提供的特殊服务。 为了更好的保护内核空间,将程序的运行空间分为内核空间和用户空间,他们运行在不同的级别上,在 阅读全文
posted @ 2016-11-02 15:32 GreenHand# 阅读(1345) 评论(0) 推荐(0) 编辑
摘要:线程基础 △ 由于进程的地址空间是私有的,因此在进行上下文切换时,系统开销比较大 △ 在同一个进程中创建的线程共享该进程的地址空间 △ 通常线程值得是共享相同地址空间的多个任务 △ 每个线程的私有这些私有资源:线程ID、PC(程序计数器)和相关寄存器、栈{局部变量,函数返回地址}、错误号、信号掩码和 阅读全文
posted @ 2016-11-01 21:45 GreenHand# 阅读(1972) 评论(0) 推荐(0) 编辑
摘要:进程编程常用函数 1 fork pitd_t fork(void); 创建一个新的子进程,其父进程为调用 fork() 函数的进程; 返回值:成功:子进程返回 0,父进程返回 子进程 PID;失败 返回 -1; *1>新创建的子进程PID,与父进程PID不同; *2>子进程 从 fork() 返回值 阅读全文
posted @ 2016-11-01 20:02 GreenHand# 阅读(377) 评论(0) 推荐(0) 编辑
摘要:在维护每个线程的私有数据的时候,我们可能会想到分配一个保存线程数据的数组,用线程的ID作为数组的索引来实现访问,但是有一个问题是系统生成的线程 ID不能保证是一个小而连续的整数,并且用数组实现的时候由于其他线程也可以访问其数组中的数据,这样会引起数据混乱。这时候我们可以借助线程的私有数据 来解决这个 阅读全文
posted @ 2016-11-01 19:41 GreenHand# 阅读(763) 评论(0) 推荐(0) 编辑

点击右上角即可分享
微信分享提示