![](https://img-blog.csdnimg.cn/20190828105328663.jpg?x-oss-process=image/resize,m_fixed,h_224,w_224)
Linux
文章平均质量分 91
擒贼先擒王
这个作者很懒,什么都没留下…
展开
-
Linux 系统调用 Ptrace 详解
From:https://blog.csdn.net/u012417380/article/details/60470075一、系统调用操作系统提供一系列系统调用函数来为应用程序提供服务。关于系统调用的详细相关知识,可以查看<<程序员的自我修养》第十二章。对于x86操作系统来说,用中断命令“int 0x80”来进行系统调用,系统调用前,需要将系统调用号放入到%EAX寄存器中,将系统的参数依次放入到寄存器%ebx、%ecx、%edx以及%esi和%edi中。...转载 2020-06-19 00:34:10 · 1593 阅读 · 0 评论 -
编译和使用APUE的源码
apue(Advanced Programming in the UNIX Environment)被誉为UNIX编程“圣经”。在第1版出版后的十几年中,UNIX行业已经有了巨大的变化,特别是影响UNIX编程接口的有关标准变化很大。第二版在保持了前一版风格的基础上,根据最新的标准对内容进行了修订和增补,反映了最新的技术发展。书中除了介绍UNIX文件和目录、标准I/O库、系统数据文件和信息、进程环境、进程控制、进程关系、信号、线程、线程控制、守护进程、各种I/O、进程间通信、网络IPC、伪终端等方面的内容,还转载 2017-10-09 17:25:49 · 2764 阅读 · 0 评论 -
socket的长连接、短连接、半包、粘包与分包
长连接是客户和服务器建立连接后不断开,持续用这个连接通信,持续过程中一般需要连接侦测,客户探测服务,或者服务心跳告知客户,应用层的保活机制。 短连接是通信一次后就关闭连接。长短连接是一种通信约定,需要双方一起遵守。比如在长连接时,两端都不close,客户端/服务端协议保活;短连接时两端都要主动或被动close,以完成四路释放。转载 2018-01-02 21:47:43 · 8785 阅读 · 0 评论 -
浅谈基于TCP和UDP的协议设计
通信协议:就是通信时所遵守的规则,只有双方按照这个规则“说话”,对方才能理解或为之服务。转载 2018-01-04 16:00:30 · 3994 阅读 · 0 评论 -
Linux 文件 IO
IO文件操作时最常用的也最基本的内容。linux文件系统是由两层结构构建:第一层是虚拟文件系统(VFS),第二层是各种不同的具体文件系统。VFS是吧、把各种具体的文件系统的公共部分抽取出来,形成一个抽象层,是系统内核的一部分。它位于用户程序和具体的文件系统中间。它对用户程序提供了标准的文件系统的调用接口,对具体的文件系统,它通过一系列的对不同文件系统公用的函数指针来实际调用具体的文件系统函数,完成实际的各有的操作。任何使用文件系统的程序必须经过这层接口来使用它。通过这种方式,VFS就对用于屏蔽了底层文件系统原创 2017-12-02 19:01:20 · 500 阅读 · 0 评论 -
Linux 动态库和静态库
Linux 下 程序从源文件到编译成可执行文件流程。库从本质上来说是一种可执行代码的二进制格式,可以被载入内存中执行。库分静态库和动态库两种。静态库:这类库的名字一般是 libxxx.a,xxx为库的名字。利用静态函数库编译成的文件比较大,因为整个函数库的所有数据都会被整合进目标代码中,他的优点就显而易见了,即编译后的执行程序不需要外部的函数库支持,因为所有使用的函数都已经被编译进去了。当然这也会成为他的缺点,因为如果静态函数库改变了,那么你的程序必须重新编译。动态库:这类库的名字一般是libxxx.M转载 2017-09-07 16:14:56 · 1086 阅读 · 0 评论 -
网络 IPC 套接字socket
1. 套接字描述符man socket:NAME socket - create an endpoint for communicationSYNOPSIS #include /* See NOTES */ #include int socket(int domain, int type, int转载 2017-12-25 10:11:24 · 843 阅读 · 0 评论 -
Linux系统编程——I/O多路复用select、poll、epoll
Linux系统编程——I/O多路复用select、poll、epoll转载 2017-12-15 16:55:22 · 3160 阅读 · 2 评论 -
Makefile详解 --- 从入门到精通 (make、cmake、gmake、scons、ninja)
什么是makefile?或许很多Winodws的程序员都不知道这个东西,因为那些Windows的IDE都为你做了这个工作,但我觉得要作一个好的和professional的程序员,makefile还是要懂。这就好像现在有这么多的HTML的编辑器,但如果你想成为一个专业人士,你还是要了解HTML的标识的含义。特别在Unix下的软件编译,你就不能不自己写makefile了,会不会写makefile,从一个侧面说明了一个人是否具备完成大型工程的能力。因为,makefile关系到了整个工程的编译规则。原创 2016-06-08 09:22:45 · 41629 阅读 · 3 评论 -
Alpine Linux 使用简介
From:https://www.aliyun.com/jiaocheng/137717.htmlAlpine Linux、CoreOS、RancherOS、Red Hat 原子项目、 VMware光子操作系统比较https://blog.csdn.net/hxpjava1/article/details/78482987Alpine Linux配置使用技巧:https://www.ali...转载 2018-06-24 23:17:03 · 10753 阅读 · 1 评论 -
Linux 输入输出重定向 2>/dev/null和>/dev/null 2>&1和2>&1>/dev/nul
From:https://www.cnblogs.com/520playboy/p/6275022.html2>/dev/null和>/dev/null 2>&1和2>&1>/dev/null:https://blog.csdn.net/zhongqi2513/article/details/78613768连接远程机器执行 she...转载 2018-07-26 10:56:53 · 16455 阅读 · 3 评论 -
Linux 进程
Linux 进程解析1. 进程控制块(PCB)在Linux中task_struct结构体即是PCB。PCB是进程的唯一标识,PCB由链表实现(为了动态插入和删除)。进程创建时,为该进程生成一个PCB;进程终止时,回收PCB。PCB包含信息:1、进程状态(state);2、进程标转载 2017-11-06 15:37:11 · 544 阅读 · 0 评论 -
Linux 线程
1. 线程概念2. 线程原语(函数)3. 线程终止方式4. 线程属性5. NPTL(POSIX Thread Library)转载 2017-11-06 14:09:17 · 672 阅读 · 0 评论 -
Linux 进程间通信(IPC):pipe(管道)、信号、共享内存,内存映射、信号量、Socket(套接字)
Linux 进程间通信(IPC):pipe(管道)、信号、共享内存,内存映射、信号量、Socket(套接字)原创 2017-11-09 14:17:11 · 2171 阅读 · 0 评论 -
csplit 分割文件
csplit 按行分割,split 按大小分割。csplit命令是split的一个变体,split只能够根据文件大小或行数来分割,但csplit能够根据文件本身特点来分割文件。csplit命令用于将一个大文件分割成小的碎片,并且将分割后的每个碎片保存成一个文件。碎片文件的命名类似“xx00”,“xx01”。语法csplit [-kqsz][-b][-f][-n][--help]转载 2016-12-03 14:36:36 · 1442 阅读 · 0 评论 -
Linux 磁盘管理
Linux 磁盘管理,分区的创建、删除、挂载。转载 2017-09-21 15:50:58 · 520 阅读 · 0 评论 -
ELF格式文件符号表全解析及readelf命令使用方法
ELF格式文件符号表全解析及readelf命令使用方法转载 2017-10-18 10:56:35 · 7689 阅读 · 1 评论 -
Linux文件空洞与稀疏文件
From:http://www.topjishu.com/8277.htmlLinux_File_Hole_And_Sparse_Files1、Linux文件空洞与稀疏文件2、文件系统数据存储3、文件系统调试文件空洞在UNIX文件操作中,文件位移量可以大于文件的当前长度在这种情况下,对该文件的下一次写将延长该文转载 2017-10-10 11:03:30 · 2435 阅读 · 0 评论 -
linux 文件系统详解
From:http://soysauce93.blog.51cto.com/7589461/1715655鸟哥 Linux 磁盘与文件系统管理:http://linux.vbird.org/linux_basic/0230filesystem.php一、硬盘物理结构及相关概念硬盘内部视角实物图硬盘内部视角逻辑图扇区、磁道、柱面图转载 2017-10-13 10:59:39 · 6158 阅读 · 1 评论 -
Linux-进程、进程组、作业、会话、控制终端详解
From:http://www.cnblogs.com/JohnABC/p/4079669.htmlLinux进程优先级的处理--Linux进程的管理与调度(二十二):http://blog.csdn.net/gatieme/article/details/51719208进程 、进程组、会话、控制终端之间的关系:http://blog.csdn.net/yh1548503342/ar转载 2017-10-27 15:28:19 · 1741 阅读 · 0 评论 -
深入理解程序从编译到运行
From:http://blog.chinaunix.net/uid-22327815-id-3540305.html从Hello World说程序运行机制:http://www.sohu.com/a/132798003_505868C/C++中如何在main()函数之前执行一条语句?:https://www.zhihu.com/question/26031933(深入理解计算机系统...转载 2017-10-17 10:47:18 · 23230 阅读 · 8 评论 -
Linux异步之信号(signal)机制分析
From:http://www.cnblogs.com/hoys/archive/2012/08/19/2646377.html【摘要】本文分析了Linux内核对于信号的实现机制和应用层的相关处理。首先介绍了软中断信号的本质及信号的两种不同分类方法尤其是不可靠信号的原理。接着分析了内核对于信号的处理流程包括信号的触发/注册/执行及注销等。最后介绍了应用层的相关处理,主要包括信号处理函数转载 2017-10-25 10:43:23 · 6987 阅读 · 0 评论 -
linux 内核与用户空间通信之netlink使用方法
Linux中的进程间通信机制源自于Unix平台上的进程通信机制。Unix的两大分支AT&T Unix和BSD Unix在进程通信实现机制上的各有所不同,前者形成了运行在单个计算机上的System V IPC,后者则实现了基于socket的进程间通信机制。同时Linux也遵循IEEE制定的Posix IPC标准,在三者的基础之上实现了以下几种主要的IPC机制:管道(Pipe)及命名管道(Named转载 2016-07-05 10:12:41 · 2291 阅读 · 0 评论