一、TCP/IP协议体系的认知 (1)分层。一部分处于用户态,一部分处于内核态。数据链路层,网络层,传输层封装于操作系统内核态。应用层存在于操作系统的用户空间,包括DNS,FTP,HTTPS,HTTP,工作中接触较多的是应用层的部分。但其它层的原理必须理解,面试考察。 (2)层与层之间下层对上层是透 ...
分类:
其他好文 时间:
2020-05-05 18:25:23
阅读次数:
136
Python协程&asyncio&异步编程 1.协程 协程是微线程,是一种用户态上下文切换技术,通过一个线程实现代码块相互切换执行 实现协程有这么几种方法: greenlet,早期的模块 yield 关键字 asyncio python3.4引入的 async、await关键字 python3.5 ...
分类:
编程语言 时间:
2020-05-03 12:26:34
阅读次数:
62
一、自旋锁与互斥锁 java中的锁整体分为两大类,基于synchronized关键字的互斥锁和基于CAS操作的自旋锁 synchronized:串行执行阻塞的、用户态内存态切换的重量级锁。(监视器锁本质又是依赖于底层的操作系统的Mutex Lock来实现的) CAS:非阻塞的自旋、线程上下文切换 异 ...
分类:
编程语言 时间:
2020-04-30 19:29:42
阅读次数:
101
一、什么是任务冻结 任务冻结是在系统休眠(hibernation)或者全系统睡眠(system-wide suspend)过程中用户态进程和部分内核线程的控制机制。 二、为什么需要进程冻结 1. 防止系统休眠或者睡眠后,文件系统损坏;如果没有冻结进程,在系统suspend过程中,还有进程在对文件系统 ...
分类:
系统相关 时间:
2020-04-29 23:32:02
阅读次数:
108
synchronzied是一个重量级锁 概念:什么叫重量级锁? 就是申请资源必须经过kernel(内核也叫操作系统),调用。 (里面涉及到了用户态(用户空间)和内核态(os)的交互) 轻量级锁:是不经过操作系统。 cas:乐观锁(compare and swap)比较与交换(可以翻看Atomic原子 ...
分类:
其他好文 时间:
2020-04-27 22:51:17
阅读次数:
170
Nginx请求处理流程 Nginx接受请求连接事件模块流程 ...
分类:
其他好文 时间:
2020-04-27 19:28:25
阅读次数:
47
进程的状态有:运行态,就绪台,阻塞态。如下图示: 注意区别就绪状态和等待状态:就绪状态是指进程仅缺少cpu,只要获得cpu资源就立即执行;而等待状态是指进程需要其他资源(除了cpu)或等待某一事件。 用户态和核心态的区别。 当一个任务(进程)执行系统调用而陷入内核代码中执行时,我们就称进程处于内核运 ...
分类:
系统相关 时间:
2020-04-22 16:24:08
阅读次数:
101
1. 什么是协程(进入上一次调用的状态) 1. 协程,又称微线程,纤程,协程是一种用户态的轻量级线程。 2. 线程的切换会保存到CPU的栈里,协程拥有自己的寄存器上下文和栈, 3. 协程调度切换时,将寄存器上下文和栈保存到其他地方,在切回来的时候,恢复先前保存的寄存器上下文和栈 4. 协程能保留上一 ...
分类:
其他好文 时间:
2020-04-09 09:14:13
阅读次数:
78
内核态:cpu可以访问内存的所有数据,包括外围设备,例如硬盘,网卡,cpu也可以将自己从一个程序切换到另一个程序。 用户态:只能受限的访问内存,且不允许访问外围设备,占用cpu的能力被剥夺,cpu资源可以被其他程序获取。 为什么要有用户态和内核态? 由于需要限制不同的程序之间的访问能力, 防止他们获 ...
分类:
其他好文 时间:
2020-04-07 13:01:21
阅读次数:
71
2020云原生7大趋势预测! 过去的几年,是云原生技术和理念得到广泛接受的几年。在这个快速发展的领域,预测未来显得尤其困难,但是我们又有着一些坚定的信念,相信以开放创新为支撑的云原生领域会持续重塑软件生命周期,带来不断的价值。 2019,在众多热门技术趋势中,云原生的关注度居高不下,很多开发者都对由 ...
分类:
其他好文 时间:
2020-04-02 15:56:50
阅读次数:
77