Linux内核态抢占机制分析

本文首先介绍非抢占式内核(Non-Preemptive Kernel)和可抢占式内核(Preemptive Kernel)的区别。接着分析Linux下有两种抢占:用户态抢占(User Preemption)、内核态抢占(Kernel Preemption)。然后分析了在内核态下:如何判断能否抢占内核(什么是可抢占的条件);何时触发重新调度(何时设置可抢占条件);抢占发生的时机(何时检查可抢占的条件);什么时候不能抢占内核。最后分析了2.6kernel中如何支持抢占内核。

阅读全文

CentOS+Postfix+Dovecot+Postfixadmin+Roundcube邮件服务器配置POP3+IMAP+SMTP

之前一直使用Postfix+Courier+Sasl+Extmail 邮件服务器方案,并配置了MailDrop 做邮件转发和Mailman邮件列表,在两年多时间里,运行良好。可是现生产环境使用Nginx 越来越多,为了一个Webmail 单独配置Apache+Perl 资源开销大,Courier+Sasl 配置也相对比较繁琐,抽了两天时间,结合网上一些实例,对邮件服务器做了一些改进。

阅读全文

linux下yum命令是什么意思 原理和使用方法详解

yum(全称为 Yellow dog Updater, Modified)是一个在Fedora和RedHat以及SUSE中的Shell前端软件包管理器。基於RPM包管理,能够从指定的服务器自动下载RPM包并且安装,可以自动处理依赖性关系,并且一次安装所有依赖的软体包,无须繁琐地一次次下载、安装。yum提供了查找、安装、删除某一个、一组甚至全部软件包的命令,而且命令简洁而又好记。

阅读全文

Python源码理解 "+="和 "xx = xx + xx"的区别

+=实际上是干嘛了: 它应该能算是一个加强版的+, 因为它比+多了一个写回本身的功能.不过是否能够写回本身, 还是得看对象自身是否支持, 也就是说是否具备Py_NotImplemented标识, 是否支持sq_inplace_concat, 如果具备, 才能实现, 否则, 也就是和 + 效果一样而已。

阅读全文