python 协程 协程是单线程下的并发,又称微线程,纤程。英文名Coroutine。协程是一种用户态的轻量级线程,即协程是由用户程序自己控制调度的。而python的线程属于内核级别的,即由操作系统控制调度(如单线程遇到io或执行时间过长就会被迫交出cpu执行权限,切换其他线程运行),在单线程内开启 ...
分类:
编程语言 时间:
2019-01-11 20:42:35
阅读次数:
182
对于有公网IP的生产环境VPS,仅仅开放需要的端口,即采用ACL来控制IP和端口(Access Control List). 这里可以使用Linux防火墙netfilter的用户态工具 ...
分类:
系统相关 时间:
2019-01-06 22:02:21
阅读次数:
249
比较蛋疼的一个改造过程,简单记录一下。 场景:用户态使用sendmsg发包,tcp报文,由于内核实现过程中存在一次kernel_read,也就是存在将pagecache中的内容拷贝一次的问题。 为了减少这次拷贝,简单地将这个对pagecache的拷贝过程使用分散聚集io方式来进行map,map的数据 ...
分类:
其他好文 时间:
2019-01-02 15:48:53
阅读次数:
246
LVS是工作在四层的高性能负载均衡服务器,由于工作在TCP/IP层并不涉及到用户态,摆脱了套接字65535数量的限制,所以性能十分强悍,当然优秀的背后少不了我们国人章文嵩的付出,感谢开源如此优秀的作品。LVS是工作在内核netfilter的INPUT链路上的一组ipvs框架,他的使用有点类似于配置netfilter实现防火墙过滤需要借助iptables这组工具,当然LVS也是如此,只提供了接口,如
分类:
其他好文 时间:
2018-12-29 17:08:59
阅读次数:
262
一、 操作系统: 一个协调,管理和控制计算机硬件资源的和软件资源的控制程序。操作系统为与计算机硬件和应用软件之间,本质也是一个软件。 操作系统由操作系统的内核(运行与内核态,管理硬件资源)以及系统调用(运行与用户态,为程序员写的应用程序提供系统调用接口)两部分组成。 操作系统功能:1、隐藏了丑陋的硬 ...
分类:
系统相关 时间:
2018-12-28 19:19:30
阅读次数:
243
1、简述计算机操作系统中的“中断”的作用? 2、简述计算机内存中的“内核态”和“用户态”; 3、进程间通信方式有哪些? 4、简述你对管道、队列的理解; 5、请列举你知道的进程间通信方式; 6、什么是同步I/O,什么是异步I/O? 7、请问multiprocessing模块中的Value、Array类 ...
分类:
其他好文 时间:
2018-12-27 03:27:24
阅读次数:
147
内核分配给进程的虚拟地址空间由以下内存区组成: 程序的可执行代码 程序的初始化数据 程序的未初始化数据 初始程序栈(即用户态栈) 所需共享库的可执行代码和数据 堆(由程序动态申请的内存) 内核和MMU(内存控制单元)协同定位虚拟地址空间在 内存中的实际物理位置 进程描述符(process descr ...
分类:
系统相关 时间:
2018-12-22 01:16:18
阅读次数:
138
1)概念:CPU的工作状态;对资源和指令使用权限的概述; 2)态的分类:核态(能够访问所有资源和执行所有的指令;管理程序/os内核);用户态(仅能访问部分资源,其他资源受限;管理应用程序);管态(介于核态和用户态之间); 3)态的转化 a)用户态向核态转化 用户请求OS提供服务;发生中断;用户进程产 ...
分类:
其他好文 时间:
2018-12-20 14:29:18
阅读次数:
182
协程的优点: 协程是进程和线程的升级版,进程和线程都面临着内核态和用户态的切换问题而耗费许多切换时间, 而协程就是用户自己控制切换的时机,不再需要陷入系统的内核态。协程的执行效率非常高。因为子程序切换不是线程切换,而是由程序自身控制。因此,没有线程切换的开销,和多线程相比,线程数量越多,相同数量的协 ...
分类:
编程语言 时间:
2018-12-18 19:43:03
阅读次数:
197