#协程,又称为微线程,是一种用户态的轻量级线程 #!usr/bin/env python# -*- coding:utf-8 -*-__author__ = "Samson"#greenlet是协程"手动挡切换"from greenlet import greenletdef test1(): pr ...
分类:
编程语言 时间:
2018-02-01 23:11:45
阅读次数:
187
unix体系架构 内核态(内核)内核从本质上看是一种软件——控制计算机的硬件资源,并提供上层应用程序运行的环境 用户态(用户空间)上层应用程序的活动空间,依托内核提供的资源,包括CPU资源、存储资源、I/O资源等为了使上层应用能够访问到这些资源,内核必须为上层应用提供访问的接口:即系统调用。 系统调 ...
分类:
其他好文 时间:
2018-01-31 14:23:31
阅读次数:
125
一、现代操作系统的权限分离: 现代操作系统一般都至少分为内核态和用户态。一般应用程序通常运行于用户态,而当应用程序调用系统调用时候会执行内核代码,此时会处于内核态。一般的,应用程序是不能随便进入内核态的而是需要向OS申请,因为内核态拥有更高的权限。所以当程序运行的时候,其实是有两个栈的,一个位于用户 ...
分类:
系统相关 时间:
2018-01-30 12:33:11
阅读次数:
229
进程上下文与中断上下文的理解(感觉加个“进程由用户态切换到内核态时”反而不对,比较了下,感觉着讲的是错的) 又看了一些文章,首先CS(context switch)只会在内核态进行。而发生系统调用是会进入内核态,上下文已经发生变化了,即使回到用户态,未发生进程切换,也算是上下文切换。所以进程的上下文 ...
分类:
系统相关 时间:
2018-01-26 11:08:58
阅读次数:
340
操作系统性能监测服务端程序除了应用本身性能外,依赖与服务器本身的性能,今天学习了如何监测服务器性能。包括:CPU、内存、网络IO和磁盘使用率。今天先看看如何监测CPU。CPU监测CPU使用率vmstat命令oot@SSP001:[/root]vmstatprocs-----------memory-------------swap-------io------system-------cpu---
分类:
其他好文 时间:
2018-01-23 18:17:16
阅读次数:
209
本文是一篇翻译,翻译自https://software.intel.com/en us/blogs/2015/06/12/user space networking fuels nfv performance,文章有点老了,15年写的,但是文章总结了一些用户态的协议栈,很有学习参考的意义。 如今,作 ...
分类:
其他好文 时间:
2018-01-21 19:18:23
阅读次数:
231
在应用程序中,很多时候都会调用到系统调用来完成一些操作,可是系统调用是在内核态下才能调用,用户态下的应用程序是无法直接调用到的,那么操作系统是怎么处理这一过程的呢? 本文的环境是基于Linux 0.11,没有查证现代操作系统是否有所变化,不过基本思路应该差不多。 过程: 先来看一张图,有个大概的理解 ...
分类:
系统相关 时间:
2018-01-20 00:58:27
阅读次数:
180
@@@文章内容参照老男孩教育 Alex金角大王,武Sir银角大王@@@ 一、协程 线程和进程的操作是由程序触发系统接口,最后的执行者是系统;协程的操作则是程序员 协程,又称微线程,纤程。英文名Coroutine。一句说明什么是线程:协程是一种用户态的轻量级线程 协程存在的意义:对于多线程应用,CPU ...
分类:
编程语言 时间:
2018-01-15 14:46:19
阅读次数:
170
单步:Flags寄存器中的标志位,CPU每执行一条指令后会检查IF位值。如为1则产生调试异常。 断点:使用INT 3替代目标指令头,执行时候则产生调试异常切换到调试器,而后返回时恢复 分支踪迹存储:记录最后一次JMP的地址,LastBranchRecording 系统中对对应的中断向量表,当中断产生 ...
分类:
其他好文 时间:
2018-01-08 01:13:22
阅读次数:
206
一:java多线程互斥,和java多线程引入偏向锁和轻量级锁的原因? >synchronized的重量级别的锁,就是在线程运行到该代码块的时候,让程序的运行级别从用户态切换到内核态,把所有的线程挂起,让cpu通过操作系统指令,去调度多线程之间,谁执行代码块,谁进入阻塞状态。这样会频繁出现程序运行状态 ...
分类:
编程语言 时间:
2018-01-06 23:16:31
阅读次数:
270