博客专栏  >  运维   >  Programming int the Linux environment

Programming int the Linux environment

UNIX环境高级编程、UNIX网络编程的实例总结和一些linux环境下的小项目。 主要涉及文件 I/O; 进程; 信号; 线程{线程创建, 线程控制}; 高级I/O; 进程间通信{ System V IPC, Posix IPC}; Socket

关注
20 已关注
63篇博文
  • 基于protobuf service使用rpc入门教程

    protobuf简介什么是protobufProtocol Buffers (ProtocolBuffer/ protobuf )是Google公司开发的一种数据描述语言,类似于XML能够将结构化数据...

    2017-05-24 21:38
    3558
  • Muduo 网络库源码分析 之 关键技术点总结

    最近又把muduo网络库仔细研究了一遍,收获良多。本文将对muduo中的设计思想以及关键的技术细节进行总结和分析,当然由于篇幅的原因这里更多的是对关键技术的简略提及,具体细节还需要读者自己去查找学习资...

    2017-04-28 18:41
    976
  • 从wireshark中学网络分析(二)

    在上一篇文章中提到了TCP的延迟确认,延迟确认并不一定能提高性能,在某些场景下,开启延迟确认甚至会严重降低网络传输性能。(一)下面列出几个开启延迟确认降低网络性能的场景:场景一:想象这样一个场景,服务...

    2017-03-02 17:34
    1273
  • 从wireshark中学网络分析(一)

    网络是很抽象的,但是在wireshark里面却又是相对直观的。这里我们列举了5个问题来进一步直观地学习TCP协议,并且从中了解分析网络性能的一般方法。 问题一:关于子网掩码和网关服务器A和B的网络配置...

    2017-02-26 17:34
    2883
  • 搭建基于openvswitch vxlan协议的多主机KVM虚拟机连接环境

    背景通过在物理机上启动多个KVM的方式可以用来模拟需要使用大量物理机的环境,并进行服务功能的一些验证。同一物理机上的KVM之间是可以进行通信的,但是不同物理机之间的KVM通信就需要使用openvswi...

    2016-12-04 18:43
    2063
  • CPU 负载观察和性能监测

    CPU负载和利用率CPU 的负载和利用率是两个不同的概念,但是他们都可以在top命令中查看。CPU利用率显示的是程序在运行期间实时占用的CPU百分比,而CPU负载显示的是一段时间内正在使用和等待使用C...

    2016-09-28 22:55
    2502
  • python: 知乎大规模(34k)用户爬虫

    前些天学习python,完成了python练习册的大部分习题:https://github.com/Show-Me-the-Code/python(我的github上有习题代码,欢迎自取)。之后看到@...

    2016-05-06 14:51
    7551
  • Linux 下多线程排序的实现

    对于计算密集型的任务,如果能采用合理的多线程处理,能够大大的提升计算效率。这篇博文实现了多线程排序,同时讲解了一些需要注意的问题。 首先,说一下总体的思路:将元素分成n段,使用快速排序多个线程并行处理...

    2016-04-01 15:57
    3591
  • sed && awk工具 及一些常用的shell脚本

    (一)sed sed是一个精简的、非交互式的流式编辑器,它在命令行中输入编辑命令和指定文件名,然后在屏幕上查看输出。 逐行读取文件内容存储在临时缓冲区中,称为“模式空间”(pattern spac...

    2016-03-21 23:16
    3158
  • Shell 编程基础 --语法快速入门

    简单的说shell就是一个包含若干行Shell或者Linux命令的文件。对于一次编写,多次使用的大量命令,就可以使用单独的文件保存下来,以便日后使用。通常shell脚本以.sh为后缀,第一行一定要指明...

    2016-03-21 22:05
    2145
  • Linux下简单线程池的实现

    线程池的技术背景    在面向对象编程中,创建和销毁对象是很费时间的,因为创建一个对象要获取内存资源或者其它更多资源。在Java中更是如此,虚拟机将试图跟踪每一个对象,以便能够在对象销毁后进行垃...

    2016-03-09 15:23
    3290
  • gdb常用调试命令以及多线程堆栈的查看

    GDB是GNU开源组织发布的一个强大的UNIX下的程序调试工具。或许,各位比较喜欢那种图形界面方式的,像VC、BCB等IDE的调试,但如果你是在UNIX平台下做软件,你会发现GDB这个调试工具有比VC...

    2016-03-03 23:32
    14671
  • 面向对象编程风格 & 基于对象编程(boost::bind/function)

    “Muduo是一个现代的 C++ 网络库。现代和古代的API区别在于两方面。一个是事件回调,另外一个是资源管理。一般的网络库设计API的方式是定义一个接口(抽象基类),包含几种网络事件对应的处理函数。...

    2016-02-15 21:47
    2574
  • 浅谈网络I/O多路复用模型 select & poll & epoll

    我们首先需要知道select,poll,epoll都是IO多路复用的机制。I/O多路复用就通过一种机制,可以监视多个描述符,一旦某个描述符就绪(一般是读就绪或者写就绪),能够通知程序进行相应的读写操作...

    2016-02-14 16:24
    2943
  • 大并发服务器架构 && 大型网站架构演变

    服务器的三条要求: 高性能:对于大量请求,及时快速的响应 高可用:7*24 不间断,出现故障自动转移,这叫fail over(故障转移) 伸缩性:使用跨机器的通信(TCP) 另外任何网络系统结构都可以...

    2016-01-30 13:59
    3184
  • Linux下FTP服务器的实现(仿vsftpd)

    继上一篇博文实现Linux下的shell后,我们进一步利用网络编程和系统编程的知识实现Linux下的FTP服务器。我们以vsftpd为原型并实现了其大部分的功能。由于篇幅和时间的关系,这里不再一一赘述...

    2016-01-24 22:09
    5196
  • 哈希表之开地址法解决冲突

    在上一篇博文中,我们讲述了使用链地址法解决冲突的方法。这里我们介绍另一种方式:开地址法解决冲突。 基本思想:当关键码key的哈希地址H0 = hash(key)出现冲突时,以H0为基础,产生另一个...

    2016-01-23 13:20
    2407
  • 哈希查找之链地址法解决冲突(代码封装实现)

    链地址法的基本思想是:将所有哈希地址为i 的元素构成一个称为同义词链的链表,并将链表的头指针存在哈希表的第i个单元中,因而查找、插入和删除主要在同义词链中进行。  该散列方法首先对关键码集合用某...

    2016-01-15 22:28
    3158
  • Linux多线程实践(六)使用Posix条件变量解决生产者消费者问题

    前面的一片文章我们已经讲过使用信号量解决生产者消费者问题,那么什么情况下我们需要引入条件变量呢? 这里借用  http://www.cnblogs.com/ngnetboy/p/3521547.ht...

    2016-01-15 18:03
    2326
  • Linux下具有基本功能的shell的具体代码实现(详细)

    在前几个月对Linux的学习过程中,一直在与shell进行交互,感觉shell充满了神秘感。偶然看到一篇文章讲解了shell的实现,感觉也不是很难的样子,于是自己也开始开发自己的minishell,顺...

    2015-11-15 22:24
    6344
img博客搬家
img撰写博客
img发布 Chat
img专家申请
img意见反馈
img返回顶部