Linux编程
文章平均质量分 86
我是一只老鸟
这个作者很懒,什么都没留下…
展开
-
1.Linux内核启动过程概述 一个嵌入式 Linux 系统从软件角度看可以分为四个部分:引导加载程序(Bootloader),Linux 内核,文件系统,应用程序。其中 Bootloader
Linux内核启动过程和Bootloader(总述) - 木花猫 - 博客园 (cnblogs.com)1.Linux内核启动过程概述 一个嵌入式 Linux 系统从软件角度看可以分为四个部分:引导加载程序(Bootloader),Linux 内核,文件系统,应用程序。其中 Bootloader是系统启动或复位以后执行的第一段代码,它主要用来初始化处理器及外设,然后调用 Linux 内核。Linux 内核在完成系统的初始化之后需要挂载某个文件系统做为根文件系统(Root Filesystem)。...转载 2021-12-27 14:36:15 · 726 阅读 · 0 评论 -
关于Linux群组问题
使用者与群组与其他人文件拥有者初次接触Linux的朋友大概会觉得很怪异,怎么『Linux有这么多使用者, 还分什么群组,有什么用?』。这个『用户与群组』的功能可是相当健全而好用的一个安全防护呢!怎么说呢? 由于Linux是个多人多任务的系统,因此可能常常会有多人同时使用这部主机来进行工作的情况发生, 为了考虑每个人的隐私权以及每个人喜好的工作环境,因此,这个『文件拥有者』的转载 2018-01-06 17:26:42 · 1484 阅读 · 0 评论 -
Linux目录结构(简单版)
一、Linux目录结构你想知道为什么某些程序位于/bin下,或者/sbin,或者/usr/bin,或/usr/sbin目录下吗?例如,less命令位于/usr/bin目录下。为什么没在/bin中,或/sbin,或/usr/sbin目录中?所有这些目录之间有什么不同?在这篇文章中,让我们回顾一下Linux的文件系统结构,并理解各上层目录的含义。蓝色:表示目录青色:表示链接黑色:表转载 2017-11-20 10:08:27 · 299 阅读 · 0 评论 -
linux硬件设备操作函数(open举例)
open(/dev/ietctl, O_RDWR) 这是文件I/O的常用函数,open函数,open函数用来打开一个设备,他返回的是一个整型变量,如果这个值等于-1,说明打开文件出现错误,如果为大于0的值,那么这个值代表的就是文件描述符。一般的写法是if((fd=open("/dev/ttys0",O_RDWR | O_NOCTTY | O_NDELAY)perror("open");转载 2017-11-17 17:59:19 · 2359 阅读 · 0 评论 -
设备控制接口函数(ioctl 函数)
1、 什么是ioctlioctl是设备驱动程序中对设备的I/O通道进行管理的函数。所谓对I/O通道进行管理,就是对设备的一些特性进行控制,例如串口的传输波特率、马达的转速等等。大部分驱动需要 -- 除了读写设备的能力 -- 通过设备驱动进行各种硬件控制的能力. 大部分设备可进行超出简单的数据传输之外的操作; 用户空间必须常常能够请求, 例如, 设备锁上它的门,弹出它的介质, 报告错误信息,转载 2017-11-17 17:54:32 · 522 阅读 · 0 评论 -
Linux下精确控制时间的函数
Linux下精确控制时间的函数 在测试程序接口运行时间的时候,常用time,gettimeofday等函数,但是这些函数在程序执行的时候是耗费时间的,如果仅仅测试时间还行,但是如果程序中用到时间控制类的函数,如time, gettimeofday自身还会消耗不少时间,且增加程序执行的成本,这样得到的时间不精确。 针对这种情况,使用CPU心转载 2017-11-17 17:51:49 · 391 阅读 · 0 评论 -
IO与文件读写---同步/异步与阻塞/非阻塞的区别(转) _适用于TI dsp驱动
首先来解释同步和异步的概念,这两个概念与消息的通知机制有关.举个例子,比如我去银行办理业务,可能选择排队等候,也可能取一个小纸条上面有我的号码,等到排到我这一号时由柜台的人通知我轮到我去办理业务了.前者(排队等候)就是同步等待消息,而后者(等待别人通知)就是异步等待消息.在异步消息处理中,等待消息者(在这个例子中就是等待办理业务的人)往往注册一个回调机制,在所等待的事件被触发时由触转载 2017-05-09 18:11:34 · 1591 阅读 · 0 评论 -
UNIX一切皆文件!!
忘记从哪里听到这样一句话,UNIX一切皆文件。下面是我的理解,这句话真的UNIX最精髓的一句话!我在研究管道的时候,用到popen和pclose,这里popen返回值是FILE *fp,大多是理解成管道,可以跟子进程的标准输入输出重定向,如果这里把它看成是一个文件,那么无非就是对这个文件的写或读,无非这个文件限制成只读或只写,两者不能同时存在,所以我认为管道其实就是一个文件。那么如果吃透了po原创 2017-05-09 17:32:45 · 1706 阅读 · 1 评论 -
LINUX共享内存使用常见陷阱与分析
所谓共享内存就是使得多个进程可以访问同一块内存空间,是最快的可用IPC形 式。是针对其他通信机制运行效率较低而设计的。往往与其它通信机制,如信号量结合使用,来达到进程间的同步及互斥。其他进程能把同一段共享内存段“连接 到”他们自己的地址空间里去。所有进程都能访问共享内存中的地址。如果一个进程向这段共享内存写了数据,所做的改动会即时被有访问同一段共享内存的其他进 程看到。共享内存的使用大大降低了转载 2017-05-27 10:22:05 · 498 阅读 · 0 评论 -
大型网站架构之分布式消息队列
以下是消息队列以下的大纲,本文主要介绍消息队列概述,消息队列应用场景和消息中间件示例(电商,日志系统)。本次分享大纲消息队列概述消息队列应用场景消息中间件示例JMS消息服务常用消息队列参考(推荐)资料本次分享总结一、消息队列概述消息队列中间件是分布式系统中重要的组件,主要解决应用耦合,异步消息,流量削锋等问题。实现高性能,高可用,可伸缩和最终一致性架构。是大型分布式转载 2017-05-11 17:21:05 · 170 阅读 · 0 评论 -
printf如何工作
说起编程语言,C语言大家再熟悉不过。说起最简单的代码,Helloworld更是众所周知。一条简单的printf语句便可以完成这个简单的功能,可是printf背后到底做了什么事情呢?可能很多人不曾在意,也或许你比我还要好奇!那我们就聊聊printf背后的故事。一、printf的代码在哪里?显然,Helloworld的源代码需要经过编译器编译,操作系统的加载才能正确执行。而编译器包含预转载 2017-05-01 17:42:31 · 1837 阅读 · 0 评论 -
Linux中的文件描述符与打开文件之间的关系
1. 概述 在Linux系统中一切皆可以看成是文件,文件又可分为:普通文件、目录文件、链接文件和设备文件。文件描述符(file descriptor)是内核为了高效管理已被打开的文件所创建的索引,其是一个非负整数(通常是小整数),用于指代被打开的文件,所有执行I/O操作的系统调用都通过文件描述符。程序刚刚启动的时候,0是标准输入,1是标准输出,2是标准错误。如果此时去打开一个新的文件转载 2017-05-01 11:25:42 · 260 阅读 · 0 评论