E-COM-NET
首页
在线工具
Layui镜像站
SUI文档
联系我们
推荐频道
Java
PHP
C++
C
C#
Python
Ruby
go语言
Scala
Servlet
Vue
MySQL
NoSQL
Redis
CSS
Oracle
SQL Server
DB2
HBase
Http
HTML5
Spring
Ajax
Jquery
JavaScript
Json
XML
NodeJs
mybatis
Hibernate
算法
设计模式
shell
数据结构
大数据
JS
消息中间件
正则表达式
Tomcat
SQL
Nginx
Shiro
Maven
Linux
Linux系统编程内核编程
FUSE(Filesystem in userspace)(用户空间文件系统),user-space框架简单介绍
创建文件系统需要了解
内核编程
和内核技术(例如vfs)方面的知识。调试则需要C和C++方面的专业技能。但是其他开发人员需要熟练地操作文件系统以添加个性化特性(例如添加历史
hiphopmattshi
·
2020-08-09 21:52
读书笔记
学习linux/unix编程方法的建议,学习Linux的四个步骤
学习Linux的四个步骤假设你是计算机科班出身,计算机系的基本课程如数据结构、操作系统、体系结构、编译原理、计算机网络你全修过我想大概可以分为4个阶段,水平从低到高从安装使用=>linux常用命令=>
linux
guoqin863
·
2020-08-09 21:32
linux系统编程
之管道(二):管道读写规则
一,管道读写规则当没有数据可读时O_NONBLOCKdisable:read调用阻塞,即进程暂停执行,一直等到有数据来到为止。O_NONBLOCKenable:read调用返回-1,errno值为EAGAIN。当管道满的时候O_NONBLOCKdisable:write调用阻塞,直到有进程读走数据O_NONBLOCKenable:调用返回-1,errno值为EAGAIN如果所有管道写端对应的文件描
weixin_34185512
·
2020-08-09 00:41
视频教程-
Linux系统编程
第2期:文件IO编程实战-嵌入式
Linux系统编程
第2期:文件IO编程实战6年嵌入式开发经验,在多家半导体公司从事芯片测试、验证、Linux驱动开发都工作。熟悉芯片设计流程、熟悉产品平台方案开发流程。
weixin_31659531
·
2020-08-09 00:20
Linux系统编程
---线程同步---条件变量
1.条件变量介绍条件变量时线程同步的另一种方式。条件变量个多个线程提供了一个会合的场所。条件变量和互斥量一起使用,允许线程以无竞争的方式等待特定条件的发生。2.条件变量作用互斥量和条件变量联合避免了条件竞争。条件竞争:一个线程预备等待一个条件变量,当它在真正进入等待之前,另一个线程恰好触发了该条件。个人理解:线程A测试条件不满足,进而在释放锁和进入阻塞之间,其他线程触发了条件,而线程A却未知。举例
5hello_linux5
·
2020-08-08 22:31
Linux系统编程
Linux系统编程
:mmap使用技巧
简介本文将介绍了mmap的基本概念,并重点介绍mmap使用中常遇到的问题。mmap是什么mmap函数把一个文件或一个Poxis共享内存区对象映射到调用进程的地址空间,以使用普通文件提供内存映射I/O,或使用特殊文件以提供匿名内存映射,或使用shm_open以提供无亲缘关系进程间的Posix共享内存区。使用内存映射文件所得到的奇妙特性是,所有的I/O都在内核的掩盖下完成,只需编写存取内存映射区中各个
Bob Liu
·
2020-08-08 22:52
Linux应用
C/C++
Linux系统编程
——线程池
线程池基本原理在传统服务器结构中,常是有一个总的监听线程监听有没有新的用户连接服务器,每当有一个新的用户进入,服务器就开启一个新的线程用户处理这个用户的数据包。这个线程只服务于这个用户,当用户与服务器端关闭连接以后,服务器端销毁这个线程。(关于并发服务器更多详情,请看《并发服务器》)。然而频繁地开辟与销毁线程极大地占用了系统的资源,而且在大量用户的情况下,系统为了开辟和销毁线程将浪费大量的时间和资
Mike江
·
2020-08-08 21:55
【Linux环境编程】
Linux环境编程
Linux系统编程
——多任务的同步与互斥
现代操作系统基本都是多任务操作系统,即同时有大量可调度实体在运行。在多任务操作系统中,同时运行的多个任务可能:都需要访问/使用同一种资源多个任务之间有依赖关系,某个任务的运行依赖于另一个任务这两种情形是多任务编程中遇到的最基本的问题,也是多任务编程中的核心问题,同步和互斥就是用于解决这两个问题的。互斥:是指散步在不同任务之间的若干程序片断,当某个任务运行其中一个程序片段时,其它任务就不能运行它们之
Mike江
·
2020-08-08 21:55
【Linux环境编程】
Linux环境编程
Linux系统编程
——进程间通信概述
进程是一个独立的资源分配单元,不同进程(这里所说的进程通常指的是用户进程)之间的资源是独立的,没有关联,不能在一个进程中直接访问另一个进程的资源(例如打开的文件描述符)。但是,进程不是孤立的,不同的进程需要进行信息的交互和状态的传递等,因此需要进程间通信(IPC:InterProcessesCommunication)。进程间通信的目的:数据传输:一个进程需要将它的数据发送给另一个进程。通知事件:
Mike江
·
2020-08-08 21:54
【Linux环境编程】
Linux环境编程
Linux
多任务编程
系统编程
进程间通信概述
Linux系统编程
——I/O多路复用select、poll、epoll的区别使用(转)
I/O多路复用技术是为了解决进程或线程阻塞到某个I/O系统调用而出现的技术,使进程不阻塞于某个特定的I/O系统调用。select(),poll(),epoll()都是I/O多路复用的机制。I/O多路复用通过一种机制,可以监视多个描述符,一旦某个描述符就绪(一般是读就绪或者写就绪,就是这个文件描述符进行读写操作之前),能够通知程序进行相应的读写操作。但select(),poll(),epoll()本
sunshine008
·
2020-08-08 21:47
linux
c
网络
【
linux系统编程
学习笔记】第五节:进程通信方式之IPC通信机制1(消息队列)
“我希望那个世界的自己,可以是一名旅行家,周游世界,记录世界各地的风景。”IhopeIcanbeatraveler,travelingaroundtheworldandrecordingtheworldwidescenery.进程通信方式之IPC通信机制(消息队列)System-VIPC通信机制程序构架流程:IPC对象的key相关APIkey_tftok(constchar*pathname,in
浣熊会咬人
·
2020-08-08 20:59
Linux
系统编程
Linux高并发网络编程开发——libevent
10-
Linux系统编程
-第15天(libevent)一、学习目标二、代码分析》分析程序(epoll_loop.c):1/*2*epoll基于非阻塞I/O事件驱动3*/4#include5#include6
AllisWell_WP
·
2020-08-08 18:11
Linux系统编程
——文件I/O操作
一非缓冲文件操作针对于小规模文件的读写,或者是实时设备,例如调制解调器、连接于串口的工业设备。执行非缓冲文件操作后,应用程序将立即获取或传送数据。3个操作系统预先分配的文件标识符0:标准输入,即通过终端输入1:标准输出,即通过终端输出2:标准错误,系统中存放错误信息的堆栈1.使用read()读取文件read()函数用于从文件中将信息读取到指定的内存区域中。一般形式为:read(文件标识符,内存块指
无夜之凛冬
·
2020-08-08 18:21
Linux系统编程
Linux系统编程
——I/O多路复用select、poll、epoll的区别
1.概述I/O多路复用技术是为了解决进程或线程阻塞到某个I/O系统调用而出现的技术,使进程不阻塞于某个特定的I/O系统调用。select(),poll(),epoll()都是I/O多路复用的机制。I/O多路复用通过一种机制,可以监视多个描述符,一旦某个描述符就绪(一般是读就绪或者写就绪,就是这个文件描述符进行读写操作之前),能够通知程序进行相应的读写操作。但select(),poll(),epol
Simon_Crystin
·
2020-08-08 13:05
Linux
linux系统编程
之文件与I/O(二):文件的读取写入
一、read系统调用一旦有了与一个打开文件描述相关连的文件描述符,只要该文件是用O_RDONLY或O_RDWR标志打开的,就可以用read()系统调用从该文件中读取字节函数原型:ssize_tread(intfd,void*buf,size_tcount);参数:fd:想要读的文件的文件描述符buf:指向内存块的指针,从文件中读取来的字节放到这个内存块中count:从该文件复制到buf中的字节个数
s1mba
·
2020-08-08 13:33
linux环境系统编程
linux系统编程
之文件与I/O(三):目录的操作
一、目录的访问功能说明:打开一个目录原型:DIR*opendir(char*pathname);返回值:打开成功,返回一个目录指针打开失败,则返回NULL功能说明:访问指定目录中下一个连接的细节原型:structdirent*readdir(DIR*dirptr);返回值:返回一个指向dirent结构的指针,它包含指定目录中下一个连接的细节;没有更多连接时,返回NULL功能说明:关闭一个已经打开的
Sandeldeng
·
2020-08-08 13:23
Linux环境系统编
Linux系统编程
——系统调用之 I/O 操作(文件操作)
文件描述符在Linux的世界里,一切设备皆文件。我们可以系统调用中I/O的函数(I:input,输入;O:output,输出),对文件进行相应的操作(open()、close()、write()、read()等)。打开现存文件或新建文件时,系统(内核)会返回一个文件描述符,文件描述符用来指定已打开的文件。这个文件描述符相当于这个已打开文件的标号,文件描述符是非负整数,是文件的标识,操作这个文件描述
Mike江
·
2020-08-08 11:24
【Linux环境编程】
Linux环境编程
Linux系统编程
——I/O多路复用select、poll、epoll
参考:https://segmentfault.com/a/1190000003063859Linux下的I/O复用与epoll详解:https://www.cnblogs.com/lojunren/p/3856290.html彻底学会epoll系列:http://blog.chinaunix.net/uid/28541347/sid-193117-list-1.htmLinux下I/O多路复用系
十瓣月亮
·
2020-08-08 11:55
网络
Linux高并发网络编程开发——epoll-udp
10-
Linux系统编程
-第13天(epoll-udp)目录:一、学习目标二、复习1、通过gdb定位段错误的位置2、TCP状态转换复习三、epoll1、epoll相关的函数介绍和工作流程2、epoll模型伪代码
AllisWell_WP
·
2020-08-08 11:35
Linux高并发网络编程开发——10-
Linux系统编程
-第10天(网络编程基础-socket)
10-
Linux系统编程
-第10天(网络编程基础-socket)一、Linux网络编程阶段二、网络基础1、网络开发两种设计模式》协议的概念什么是协议?
AllisWell_WP
·
2020-08-08 11:04
OPENWRT串口收发测试详解
最近刚刚开始接触Linux
内核编程
,第一项就是串口编程,结果卡在这里了,卡了好久,后来发现问题其实挺简单的,只是没有想到,现在把代码放在下面,代码内有详细的注释,就不多做说明了,而我当时出问题的地方我也做了特殊说明
飘飘花吹雪
·
2020-08-08 11:20
嵌入式Linux开发
一文搞懂Linux系统开发
C语言基础shell脚本学会使用Makefile常规
Linux系统编程
知识都有什么?哪些常用?哪些不常用?
风声笔记
·
2020-08-08 08:00
diff与patch的使用
在
Linux系统编程
中,经常会用到diff与patch生成补丁与打补丁,原来对这方面不了解,也就觉得难,做过之后发现并没有什么。
fensnote
·
2020-08-07 22:33
linux系统编程
--信号
信号信号的概念信号的产生信号的处理方式标准信号的不可靠性信号集阻塞信号集未决信号集信号与系统调用被中断的系统调用信号处理方式的更改1、signal函数2、带参数的信号处理函数2.1sigaction函数2.2structsigaction结构2.3sa_sigaction成员2.4发送信号时如何携带参数信号的概念什么是信号?信号其实是编号从1-64的一组数,用SIG开头的宏表示。信号是一个软中断,
高高-在下
·
2020-08-07 21:37
Linux
内核编程
(持续整理)
如何给模块传一个数组性参数#includestaticintarr_var[10];staticintnum=0;module_param_array(arr_var,int,&num,0644);//最后一个数字是访问权限/proc编程创建entry:structproc_dir_entry*entry=proc_create("name",0444,NULL,&file_ops);其中pare
AngelaDaddy-
·
2020-08-07 20:08
linux
linux
Linux系统编程
——线程安全
线程同步互斥量(互斥锁)保护共享资源的原子访问。访问共享资源的代码段称为临界区。互斥量的死锁线程已将目标互斥量锁定,再次进行加锁会造成两种后果:1、线程死锁,默认情况下线程会发生死锁。2、加锁调用失败,返回EDEADLK错误另一种死锁:线程A:pthread_mutex_lock(&mutex1);//阻塞pthread_mutex_lock(&mutex2);//阻塞线程B:pthread_mu
_忘语_
·
2020-08-07 16:22
Linux系统编程
linux系统编程
之信号(八):三种时间结构及定时器setitimer()详解
一,三种时间结构time_t://secondsstructtimeval{longtv_sec;/*seconds*/longtv_usec;/*microseconds*/};structtimespec{time_ttv_sec;/*seconds*/longtv_nsec;/*nanoseconds*/};二,setitimer()现在的系统中很多程序不再使用alarm调用,而是使用set
weixin_33739646
·
2020-08-05 14:03
关于get_ds, set_fs, get_fs函数的使用
在linux
内核编程
时,进行系统调用(如文件操作)时如果要访问用户空间的参数,可以用set_fs,get_ds等函数实现访问。
jiahehao
·
2020-08-05 13:36
Linux
linux定时器总结
1参考资料Øhttp://www.ibm.com/developerworks/cn/linux/1307_liuming_linuxtime1/Ø《
linux系统编程
》第“10.9定时器”章节2概要要在
许振坪
·
2020-08-05 12:33
Linux
Linux系统编程
——进程间通信(一)
Linux系统主要的进程间通信机制如下:无名管道(Pipe)及命名管道(Namedpipe):无名管道可用于具有父子关系进程间的通信;命名管道用于无父子关系的进程之间的通信。无父子关系的进程可将信息发送到某个命名管道中,通过管道名读取信息信号(Signal):进程间的高级通信方式,用于通知其他进程有何种事件发生。此外,进程可以向自身发送信号,还可获得Linux内核发出的信号。报文(Message)
无夜之凛冬
·
2020-08-04 16:48
Linux系统编程
玩转开发板--入门驱动hello模块测试篇
一.前言学习
内核编程
的最简单的方式也许就是写个内核模块:一段可以动态加载进内核的代码。
PipiAvenger
·
2020-08-04 12:00
玩转FL2440开发板
linux系统编程
-文件编程
一、系统调用对文件进行访问创建文件intcreat(constchar*filename,mode_tmode)filename:要创建的文件名(包含路径,默认为当前路径)mode:创建模式常见创建模式:S_IRUSR可读S_IWUSR可写S_IXUSR可执行S_IRWXU可读可写可执行voidcreat_file(char*filename){if(creat(filename,0755)#in
咸亨苦行僧
·
2020-08-04 06:01
linux应用编程
linux
linux 源码学习计划
2.
内核编程
和用户空间编程相比有哪些不同之处?3.自己编译一下内核,你编译成功了么?如果不成功,有什么问题?使用你新编译的内核,能顺利启动么?有什么问题?
tianruxishui
·
2020-08-04 01:26
Linux
Embedded
《Linux
内核编程
》第一章:Linux内核模块间通信
======================================================================================================================================一、Linux内核模块间通信有几种?1.符号导出(1).符号导出函数EXPORT_SYMBOL():导出函数标签内定义的函数对全部内
雷古拉斯
·
2020-08-04 01:21
arm-Linux学习
Linux下undefined reference to ‘pthread_create’问题解决接触了
Linux系统编程
中的线程编程模块,可gcc sample.c(习惯把书上的sample代码写
接触了
Linux系统编程
中的线程编程模块,可gccsample.c(习惯把书上的sample代码写进sample.c文件中)出现“undefinedreferenceto‘pthread_create’
天夏123
·
2020-08-03 21:35
linux select详解
select原理
Linux系统编程
——与内核和C库直接对话select能轮询一个管道端口(文件,网络),若有数据select例子#include#include#include#includeconstintTIMEOUT
naruto2011sasuke
·
2020-08-03 20:32
C++网络编程
linux系统编程
手册 定时器和休眠
一、间隔定时器1.setitimersettitimer创建一个间隔式定时器,这种定时器会在未来某个时间到期,并于此后(可选择地)每隔一段时间到期一次intsetitimer(intwhich,conststructitimerval*new_value,structitimerval*old_value);参数which:1.ITIMER_REAL创建真实倒计时定时器。到期产生SIGALARM信
kc专栏
·
2020-08-03 18:07
unix
&
linux书籍
Linux系统编程
——环境列表
本节详细介绍一下很唬人的“环境列表”,在初学计算机知识的时候,我们对环境列表会感到非常陌生,有时候我们在安装各中应用软件时,有时也需要配置一下环境变量,那到底环境变量都存了些什么东西呢,今天就一一解开这些谜团什么是环境变量:每一个进程都有与其相关的称之为环境列表的字符串数组,也可以简称为环境,其中每个字符串都以名称=值形式定义,因此环境是“名称-值”的成对集合,可存储任何信息,所以也把列表中的名称
瑜胜
·
2020-08-03 17:05
Linux
Linux系统编程
--pread()和pwrite()函数
pread()和pwrite()函数,最大的好处是它们不会改变文件当前的偏移量,对pread()和pwrite()函数而言,fd所指代的文件必须是可定为的(即允许对文件描述符执行了lseek());多线程应用为这些系统调用提供了用武之地。使用pread()和pwrite()系统调用能够避免进程间出现竞争状态#includessize_tpread(intfd,void*buf,size_tcoun
瑜胜
·
2020-08-03 17:34
Linux系统编程
——1.通用的I/0模型
我们都知道在Linux系统中,“一切皆文件”,所以对于文件的i/o的一系列操作也可以用于诸如管道,终端等所有的文件类型1.概述文件描述符:简单介绍一下文件描述符,文件描述符表示的是进程打开的所有类型的文件,是一个非负整数。针对每一个进程,文件描述符都是自成一套,在程序开始运行之前,我们的父进程shell就已经帮我们打开了三个我们经常用到的文件描述符,标准输入(stdin)STDIN_FILENO,
瑜胜
·
2020-08-03 17:02
Linux学习计划
2.
内核编程
和用户空间编程相比有哪些不同之处?3.自己编译一下内核,你编译成功了么?如果不成功,有什么问题?使用你新编译的内核,能顺利启动么?有什么问题?
Flavia_day
·
2020-08-03 12:27
Linux
基础Day10(内存结构)
全局变量和局部变量静态、声明、函数static修饰的变量只能在一个文件中使用声明作用域和声明周期内存四区模型代码区:程序指令数据区:(静态区全局区)(
Linux系统编程
会将数据区拆开讲解)(1)初始化数据
Dfish_
·
2020-08-03 12:54
《Linux
内核编程
》第八章:模块魔术字
本文基于mstar801平台Linux2.6.35.11内核版本。1.kernel2.6.35.11/include/linux/vermagic.h&&kernel2.6.35.11/include/generated/utsrelease.h&&kernel2.6.35.11/include/config/kernel.release2.modinfo*.ko3.去掉魔术字所带svn信息.co
雷古拉斯
·
2020-08-03 11:25
arm-Linux学习
linux系统编程
之getsockopt/setsockopt 函数
最近看别人写的代码很多函数不知道啊,在研究分布式消息队列beanstalkd,遇到了很多东西。尤其是网络连接方面。代码是这样的。setsockopt(fd,SOL_SOCKET,SO_REUSEADDR,&flags,sizeofflags);setsockopt(fd,SOL_SOCKET,SO_KEEPALIVE,&flags,sizeofflags);setsockopt(fd,SOL_SO
wintree
·
2020-08-03 06:59
unix
环境高级编程
unix/linux学习篇
C/C++学习
linux
内核编程
之并发控制
版权声明:转载请保留出处:blog.csdn.net/gentleliu。邮箱:shallnew*163.com】只要并发的多个执行单元存在对共享资源的访问,竞态就可能发生。在Linux内核中,主要的竞态发生于如下几种情况1.多CPU共享资源,如存储器。2.内核支持抢占调度,一个进程在内核执行时被另外一个高优先级进行打断。3.中断可以打断正在执行的进程,如果中断处理程序访问进程正在访问的资源,则竞
shallnet
·
2020-08-03 00:01
linux
内核编程系列
内核
并发
异步
linux系统编程
之基础必备(五):Linux进程地址空间和虚拟内存
一、虚拟内存先来看一张图(来自《Linux内核完全剖析》),如下:分段机制:即分成代码段,数据段,堆栈段。每个内存段都与一个特权级相关联,即0~3,0具有最高特权级(内核),3则是最低特权级(用户),每当程序试图访问(权限又分为可读、可写和可执行)一个段时,当前特权级CPL就会与段的特权级进行比较,以确定是否有权限访问。每个特权级都有自己的程序栈,当程序从一个特权级切换到另一个特权级上执行时,堆栈
s1mba
·
2020-08-02 22:44
linux环境系统编程
Linux系统编程
(无名信号量)
信号量概述信号量广泛用于进程或线程间的同步和互斥,信号量本质上是一个非负的整数计数器,它被用来控制对公共资源的访问。编程时可根据操作信号量值的结果判断是否对公共资源具有访问的权限,当信号量值大于0时,则可以访问,否则将阻塞。PV原语是对信号量的操作,一次P操作使信号量减1,一次V操作使信号量加1。信号量主要用于进程或线程间的同步和互斥这两种典型情况。信号量用于互斥:信号量用于同步:在POSIX标准
小麦大大
·
2020-08-01 14:44
linux网络与系统编程
内核编程
基础(1)
驱动对象,设备对象,IRP之间的关系?类似于程序,窗口,消息三者之间的关系;每个驱动程序只有一个驱动对象(程序实例句柄),一个驱动对象对应若干个(大于等于1个)设备对象(窗口),每个设备对象可以处理不同的IRP(I/O请求包,I/ORequestPackage)IRP栈:IRP其实本质上是由IRP头部和IRP栈组成,一般所说的IRP只是"I/O请求包"IRP的头部,在IRP数据结构的后面还有一个I
bluewind1230
·
2020-07-31 20:41
C++11中多线程库
、Linux线程API线程是在操作系统层面支持的,所以多线程的学习建议还是先找一本
linux系统编程
类的书,了解linux提供线程的API,了解使用线程设计程序的基本操纵。
不知道取什么呀
·
2020-07-31 16:00
基本概念 - -
Linux系统编程
手册
基本概念(Fundamentalconcepts)2.1内核(TheKernel)操作系统(operatingsystem)通常有2种不同含义:1.指完整的软件包。这包括管理计算机资源的核心软件和所有附带的标准软件工具,如。。。。//consistingof...and.....翻译为“,这包括....以及/和......2.狭义地(Morenarrowly)指核心软件,它(that)管理和分配计
学海无涯书山有路
·
2020-07-31 10:55
读书笔记
上一页
15
16
17
18
19
20
21
22
下一页
按字母分类:
A
B
C
D
E
F
G
H
I
J
K
L
M
N
O
P
Q
R
S
T
U
V
W
X
Y
Z
其他