问题1:什么叫协程? 协程(Coroutine)是线程的更小切分,又称为“微线程”,是一种用户态的轻量级线程。线程是系统级别的它们由操作系统调度;协程则是程序级别的由程序员根据需要自己调度。 问题2:协程与线程的区别? 1)线程之间需要上下文切换成本相对协程来说是比较高的,尤其在开启线程较多时,但协 ...
分类:
编程语言 时间:
2020-03-28 23:15:31
阅读次数:
89
copy from:https://yq.aliyun.com/articles/559628 本文主要阐述,内核态,怎么样启动到用户态的; 代码在start_kernel函数运行的最后到了rest_init()函数中 1:rest_init()函数分析 (1)rest_init中调用kernel_ ...
分类:
其他好文 时间:
2020-03-28 18:09:19
阅读次数:
67
[TOC] 任务一:基于winpcap的网络嗅探工具的实现 1 实践原理介绍 Windows用户态中的winpcap与Unix中的libpcap库相兼容,使用winpcap库实现网络嗅探工具的原理与Unix下使用libpcap非常的类似,具体的实现技术如下图: 根据上面的技术图可知嗅探器的实现 基本 ...
分类:
其他好文 时间:
2020-03-28 09:17:18
阅读次数:
119
转自: 用户态文件系统框架fuse https://zhuanlan.zhihu.com/p/59354174 libfuse hello_world 分析 https://yq.aliyun.com/articles/425979 ...
分类:
其他好文 时间:
2020-03-25 19:51:47
阅读次数:
101
锁优化 自旋锁和自适应锁: 互斥同步对性能最大的影响是阻塞的实现,挂起线程和恢复线程的操作都需要从用户态转到核心态中去完成。这些操作给操作系统的并发性能带来了很大的压力。同时,在 很多应用上,共享数据的锁定状态只会持续很短的一段时间,为了这段时间去挂起和恢复线程并不值得。如果物理机器上有一个以上的处 ...
分类:
其他好文 时间:
2020-03-23 18:55:17
阅读次数:
107
1、什么是操作系统1.1 定义 用户角度上(对上):为应用程序提供服务,是一个控制程序,能够管理应用程序,如:限制不同应用占用不同资源;为应用程序提供不同服务,如:IO服务、声卡网卡服务;内部程序角度(对下):资源管理,管理外设、分配资源1.2 功能操作系统将CPU进程,磁盘文件,内存地址空间,通过... ...
分类:
其他好文 时间:
2020-03-18 23:32:21
阅读次数:
109
一,粘包问题详情 1,只有TCP有粘包现象,UDP永远不会粘包 你的程序实际上无权直接操作网卡的,你操作网卡都是通过操作系统给用户程序暴露出来的接口,那每次你的程序要给远程发数据时,其实是先把数据从用户态copy到内核态,这样的操作是耗资源和时间的,频繁的在内核态和用户态之前交换数据势必会导致发送效 ...
分类:
其他好文 时间:
2020-03-09 16:17:18
阅读次数:
47
Golang 协程介绍 1. 用户态和内核态 内核态:cpu可以访问内存的所有数据,包括外围设备,例如硬盘,网卡,cpu也可以将自己从一个程序切换到另一个程序。 用户态:只能受限的访问内存,且不允许访问外围设备,占用cpu的能力被剥夺,cpu资源可以被其他程序获取。 1.1 为什么要有用户态和内核态 ...
分类:
其他好文 时间:
2020-03-08 13:54:43
阅读次数:
204
一、CPU 1、指令集的分类:指令集分为复杂指令集和精简指令集。 2、x86-64的CPU: x86即CPU的型号,CPU一次能从存储设备里面取的指令数,比如现在常用的为64,即代表64个bits(高低电频)。 具有向下兼容性,即不超过CPU一次取指数的程序皆可运行(如64位的CPU可运行64位的程 ...
分类:
其他好文 时间:
2020-03-03 14:30:50
阅读次数:
62
内存为什么称之为主存? 因为CUP在内存中取程序的,软件运行起来后,产生所有的数据会优先储存于内存。 X86-64是什么意思 X86为型号,64位能取64个指令。 内核态于用户态切换 简单就是需要运行程序,用户态运行不了程序,需要切换能运行程序内核态来运行。 代表cpu的两种工作状态 1、内核态:运 ...
分类:
编程语言 时间:
2020-03-03 10:29:00
阅读次数:
74