![](https://img-blog.csdnimg.cn/20201014180756930.png?x-oss-process=image/resize,m_fixed,h_64,w_64)
linux编程
wangxuan_1992
这个作者很懒,什么都没留下…
展开
-
伙伴算法
算法作用 它要解决的问题是频繁地请求和释放不同大小的一组连续页框,必然导致在已分配页框的块内分散了许多小块的空闲页面,由此带来的问题是,即使有足够的空闲页框可以满足请求,但要分配一个大块的连续页框可能无法满足请求。 伙伴算法(Buddy system)把所有的空闲页框分为11个块链表,每块链表中分布包含特定的连续页框地址空间,比如第0个块链表包含大小为2^0个连续的页框,第...转载 2019-10-16 14:54:25 · 985 阅读 · 0 评论 -
linux文件I/O编程
一、系统调用所谓的系统的调用时操作系统提供给用户程序调用的一组“特殊”接口,用户可以同个接口获得系统提供的服务。例如用户通过系统调用可以实现创建进程、进程的管理、soket网络通信。linux用户程序是不能直接访问系统内核提供的服务的。这样做是为了保护系统内核的数据不被修改,保证了系统的安全性。用户空间和内核空间是分离的,通常情况下用户程序不允许访问内核数据和内核的函数。二、用户编程接转载 2014-07-18 15:41:36 · 881 阅读 · 0 评论 -
全缓冲与行缓冲
一、在linux系统中,标准的I/O提供了三种类型的缓冲。1、全缓冲:在这种情况下,在填满I/O缓冲区后再进行实际的I/O操作。对于驻留在磁盘上的文件通常由标准I/O库实施全缓冲。调用fflush函数冲洗一个流。冲洗意味着将缓冲区的内容写到磁盘上。2、行缓冲:在这种情况下,当在输入和输出遇到换行符时,标准I/O执行I/O操作。允许我们一次输出一个字符。涉及一个终端时,通常使用行缓冲。对转载 2014-07-18 15:37:17 · 1087 阅读 · 0 评论 -
malloc的实现
malloc()是C语言中动态存储管理的一组标准库函数之一。其作用是在内存的动态存储区中分配一个长度为size的连续空间。其参数是一个无符号整形数,返回值是一个指向所分配的连续存储域的起始地址的指针。 动态内存分配就是指在程序执行的过程中动态地分配或者回收存储空间的分配内存的方法。动态内存分配不像数组等静态内存分配方法那样需要预先分配存储空间,而是由系统根据程序的需要即时分配,且分配转载 2014-11-02 17:41:14 · 438 阅读 · 0 评论 -
Linux 下socket变编程
1 什么是Socket?socket起源于Unix,而Unix/Linux基本哲学之一就是“一切皆文件”,都可以用“打开open –> 读写write/read –> 关闭close”模式来操作。我的理解就是Socket就是该模式的一个实现,socket即是一种特殊的文件,一些socket函数就是对其进行的操作(读/写IO、打开、关闭),这些函数我们在后面进行介绍。1.1 socket原创 2014-11-26 16:12:44 · 554 阅读 · 0 评论 -
linux 网络编程相关结构体
原博客地址:http://www.cnblogs.com/hanxi/archive/2011/05/26/2059307.html[Linux网络编程学习笔记]套接字地址结构好久没有看那Linux网络编程这本书了,今天看到了重点部分—TCP套接字。下面先来看看套接字的地址结构Linux系统的套接字可以支持多种协议,每种不同的协议都是用不同的地址结构。在转载 2015-01-10 10:50:55 · 655 阅读 · 0 评论 -
TCP/IP数据包详解
原作者博客:http://blog.csdn.net/prsniper/article/details/6762145[关键词] TCP IP 数据包 结构 详解 网络 协议一般来说,网络编程我们只需要调用一些封装好的函数或者组件就能完成大部分的工作,但是一些特殊的情况下,就需要深入的理解网络数据包的结构,以及协议分析。如:网络监控,故障排查等……转载 2015-01-09 20:52:32 · 656 阅读 · 0 评论 -
epoll详解
在linux的网络编程中,很长的时间都在使用select来做事件触发。在linux新的内核中,有了一种替换它的机制,就是epoll。相比于select,epoll最大的好处在于它不会随着监听fd数目的增长而降低效率。因为在内核中的select实现中,它是采用轮询来处理的,轮询的fd数目越多,自然耗时越多。并且,在linux/posix_types.h头文件有这样的声明:#define __转载 2015-06-15 19:38:08 · 376 阅读 · 0 评论 -
xargs命令
原作者地址:https://www.cnblogs.com/chyingp/p/linux-command-xargs.html感谢原作者Linux基础:xargs命令简介xargs可以将输入内容(通常通过命令行管道传递),转成后续命令的参数,通常用途有:命令组合:尤其是一些命令不支持管道输入,比如ls。 避免参数过长:xargs可以通过-nx来将参数分组,避免参数过长。使...转载 2018-10-19 12:08:26 · 252 阅读 · 0 评论