零拷贝

什么是零拷贝 零拷贝主要的任务就是避免CPU将数据从一块存储拷贝到另外一块存储,主要就是利用各种零拷贝技术,避免让CPU做大量的数据拷贝任务,减少不必要的拷贝,或者让别的组件来做这一类简单的数据传输任务,让CPU解脱出来专注于别的任务。这样就可以让系统资源的利用更加有效。 操作系统的零拷贝 非零拷贝的拷贝过程: 零拷贝的拷贝过程: 如何减少数据拷贝的次数呢?一个很明显的着力点就是减少数据在内核空间 … 继续阅读

awk命令

最近上服务器看东西,看到有几个shell脚本都有awk命令,对这个命令不是很熟悉,于是整理了一下这个命令的用法。 Linux awk 命令 AWK 是一种处理文本文件的语言,是一个强大的文本分析工具。 之所以叫 AWK 是因为其取了三位创始人 Alfred Aho,Peter Weinberger, 和 Brian Kernighan 的 Family Name 的首字符。 语法 1.命令行方式 … 继续阅读

IO多路复用(multiplexing)

IO多路复用(multiplexing) I/O模型 目前Linux系统中提供了5种IO处理模型: 1. 阻塞IO 传统的IO模型。 2. 非阻塞IO 默认创建的socket都是阻塞的,非阻塞IO要求socket被设置为NONBLOCK。注意这里所说的NIO并非Java的NIO(New IO)库 3. IO多路复用: 即经典的Reactor设计模式,有时也称为异步阻塞IO,Java中的Select … 继续阅读

内核态和用户态

虽然以前学操作系统的时候,经常听到内核态和用户态,但是其实因为并不熟悉,这两个概念,于是花了点时间了解和整理了这部分东西。 系统调用将Linux整个体系分为用户态和内核态(或者说内核空间和用户空间)。 用户态和内核态 内核态 那内核态到底是什么呢?其实从本质上说就是我们所说的内核,它是一种特殊的软件程序,特殊在哪儿呢?控制计算机的硬件资源,例如协调CPU资源,分配内存资源,并且提供稳定的环境供应用 … 继续阅读

crontab命令以及定时任务表达式

整理了一下crontab的定时表达式 crontab命令 Linux crontab是用来定期执行程序的命令。 当安装完成操作系统之后,默认便会启动此任务调度命令。 crond 命令每分锺会定期检查是否有要执行的工作,如果有要执行的工作便会自动执行该工作。 语法 crontab [ -u user ] file 或 crontab [ -u user ] { -l | -r | -e } 参数说明 … 继续阅读