发布于:2016-08-09
前言 服务器端编程经常需要构造高性能的IO模型,我们常常见到同步(Sync)/异步(Async),阻塞(Block)/非阻塞(Unblock)这4中IO模型,那么这四种模型具体如何定义,有何区别?本文将介绍相关的内容。 一些基本概念 用户空间与内核空间 现在操作系统都是采用虚拟存储器,那么对32位操作系统而言,它的寻址空间(虚拟存储空间)为4G(2的32次方)。操作系统的核心是内核,独立于普通的应用程序,可以访问受保护的内存空间,也有访问底层硬件设备的所有权限。为了保证用户进程不能直接操作内核(kernel),保证内核的安全,操心系统将虚拟空间划分为两部分,一部分为内核空间,一部分为用户空间。 …...