一、用户态和内核态 内核态和用户态是操作系统的两种运行级别,用于区分不同程序的不同权利。 内核态就是拥有资源多的状态,或者说访问资源多的状态,也称为特权态。相对来说,用户态就是非特权态,访问的而资源将受到限制。如果一个程序运行在特权态,该程序就可以访问计算机的任何资源,它的资源访问权限不受限制。如果 ...
分类:
其他好文 时间:
2019-08-28 11:29:27
阅读次数:
86
系统调用原理 操作系统通过系统调用为运行于其上的进程提供服务。 当用户态进程发起一个系统调用, CPU 将切换到 内核态 并开始执行一个 内核函数 。 内核函数负责响应应用程序的要求,例如操作文件、进行网络通讯或者申请内存资源等。 举一个最简单的例子,应用进程需要输出一行文字,需要调用 write ...
分类:
其他好文 时间:
2019-08-27 00:26:12
阅读次数:
136
一、对于休眠(suspend)的简单介绍 在Linux中,休眠主要分三个主要的步骤: 1) 冻结用户态进程和内核态任务 2) 调用注册的设备的suspend的回调函数, 顺序是按照注册顺序 3) 休眠核心设备和使CPU进入休眠态, 冻结进程是内核把进程列表中所有的进程的状态都设置为停止,并且保存下所 ...
分类:
系统相关 时间:
2019-08-24 20:43:23
阅读次数:
116
CPU使用率 是单位时间内CPU使用情况的统计,以百分比方式展示。 参数解析 如下: %user(us),代表用户态 CPU 时间。不包括下面的 nice 时间,但包括了 guest 时间。 %nice(ni),代表低优先级用户态 CPU 时间,也 ...
分类:
系统相关 时间:
2019-08-20 21:57:11
阅读次数:
97
CPU性能指标 (1)CPU使用率 :1) 用户态CPU使用率(包括用户态 user 和低优先级用户态 nice)、2) 系统CPU使用率、3) 等待 I/O 的CPU使用率、4) 软中断和硬中断的CPU使用率、5) 虚拟机占用的CPU使用率。 & ...
分类:
系统相关 时间:
2019-08-20 21:50:01
阅读次数:
104
一、inittab文件背景 (1)init进程的作用 使用uboot下载Linux内核时,环境变量bootargs决定了kernel向根文件系统传递的参数,这些参数包括 bootargs=noinitrd root=/dev/mtdblock2 init=/linuxrc console=ttySA ...
分类:
其他好文 时间:
2019-08-17 14:36:34
阅读次数:
78
一、协程介绍 协程:是单线程下的并发,又称微线程,纤程。英文名Coroutine。一句话说明什么是线程:协程是一种用户态的轻量级线程,即协程是由用户程序自己控制调度的 需要强调: 二、协程优缺点及特点 对比操作系统控制线程的切换,用户在单线程内控制协程的切换 优点如下: 缺点如下: 总结协程特点: ...
分类:
其他好文 时间:
2019-08-16 00:25:46
阅读次数:
123
一 协程 协程,又称微线程,纤程。英文名Coroutine。一句话说明什么是线程:协程是一种用户态的轻量级线程。 协程拥有自己的寄存器上下文和栈。协程调度切换时,将寄存器上下文和栈保存到其他地方,在切回来的时候,恢复先前保存的寄存器上下文和栈。因此: 协程能保留上一次调用时的状态(即所有局部状态的一 ...
分类:
编程语言 时间:
2019-07-30 17:25:01
阅读次数:
111
并发与并行并发:同一时间段内执行多个任务。并行:同一时刻执行多个任务。Go语言的并发通过goroutine实现。goroutine类似于线程,属于用户态的线程,我们可以根据需要创建成千上万个goroutine并发工作。goroutine是由go语言的运行调度完成的,而线程是由操作系统调度完成的。Go语言还提供了channel在多个goroutine间进行通信。goroutine和channel是g
分类:
其他好文 时间:
2019-07-26 01:49:14
阅读次数:
71
用户态和内核态的区别,具体的切换方式: ①https://blog.csdn.net/shanghx_123/article/details/83151064 ②https://blog.csdn.net/ddna/article/details/4941373 物理地址,逻辑地址,及地址转换过程( ...
分类:
其他好文 时间:
2019-07-17 18:20:25
阅读次数:
100