并发安全&锁&原子操作&CAS&MESI
很长时间以来,对于锁&原子操作这些概念术语总是理解的很模糊,知其然不知所以然。
想尽量的理清它们在通常意义上在大家口中所指的含义,以后沟通或者看相关的文章都可以节省一些成本。
基于这些搜罗了一些这方面的博客和文章,加上自己的理解,基于 Golang 对于其中的一些基础概念和关系的总结。
一图胜千言:
Continue reading 并发安全&锁&原子操作&CAS&MESI正是修行时
很长时间以来,对于锁&原子操作这些概念术语总是理解的很模糊,知其然不知所以然。
想尽量的理清它们在通常意义上在大家口中所指的含义,以后沟通或者看相关的文章都可以节省一些成本。
基于这些搜罗了一些这方面的博客和文章,加上自己的理解,基于 Golang 对于其中的一些基础概念和关系的总结。
一图胜千言:
Continue reading 并发安全&锁&原子操作&CAS&MESI现在操作系统都是采用虚拟存储器,那么对32位操作系统而言,它的寻址空间(虚拟存储空间)为4G(2的32次方)。
操作系统的核心是内核,独立于普通的应用程序,可以访问受保护的内存空间,也有访问底层硬件设备的所有权限。
为了保证用户进程不能直接操作内核(kernel),保证内核的安全,操心系统将虚拟空间划分为两部分,一部分为内核空间,一部分为用户空间。
针对linux操作系统而言,将最高的1G字节(从虚拟地址0xC0000000到0xFFFFFFFF),供内核使用,称为内核空间,而将较低的3G字节(从虚拟地址0x00000000到0xBFFFFFFF),供各个进程使用,称为用户空间。
Continue reading Linux 下关于: select、poll、epollAn asynchronous I/O operation does not cause the requesting process to be blocked;
两者的区别就在于synchronous IO做”IO operation”的时候会将process阻塞。
按照这个定义,之前所述的blocking IO,non-blocking IO,IO multiplexing都属于synchronous IO。
Continue reading 关于IO :同步、异步、阻塞、非阻塞