操作系统
文章平均质量分 91
四五又十
这个作者很懒,什么都没留下…
展开
-
CPU使用率过高应该如何处理
CPU使用率如何计算的 CPU使用率是单位时间内CPU使用情况的统计,以百分比的方式展示,而其中有一个重要的点是单位时间,那么在CPU中时间是怎么计算的呢? Linux是一个多任务操作系统,将每个CPU时间划分为很短的时间片,然后通过调度器分配给各个任务使用,因此造成多任务同时运行的错觉,为了维护CPU时间,Linux通过事先定义的节拍率(内核中表示为HZ),触发时间中断,并且使用全局变量Jiffies记录开机以来的节拍数,每发生一次时间中断,Jiffies的值就加1。节拍率HZ是内核的可以配置的选项,可以原创 2021-12-01 14:08:02 · 5778 阅读 · 0 评论 -
通过实战理解CPU上下文切换
Linux是一个多任务的操作系统,可以支持远大于CPU数量的任务同时运行,但是我们都知道这其实是一个错觉,真正是系统在很短的时间内将CPU轮流分配给各个进程,给用户造成多任务同时运行的错觉。所以这就是有一个问题,在每次运行进程之前CPU都需要知道进程从哪里加载、从哪里运行,也就是说需要系统提前帮它设置好CPU寄存器和程序计数器 CPU上下文 CPU上下文其实是一些环境正是有这些环境的支撑,任务得以运行,而这些环境的硬件条件便是CPU寄存器和程序计数器。CPU寄存器是CPU内置的容量非常小但是速度极快的存储设原创 2021-11-30 15:30:02 · 2624 阅读 · 0 评论 -
top、uptime命令执行后的平均负载如何理解
怎么理解平均负载 每当系统变慢的时候,我们下意识的就会想到使用top或者uptime命令来查看系统当前运行的状态,其中一个非常重要的指标便是平均负载,例如下面的一组数据 $ uptime 10:35:11 up 9 min, 1 user, load average: 0.03, 0.14, 0.13 前几列数据很简单,当前时间,系统运行时间,正在登陆的用户数,而最后的便是平均负载,显示的是1分钟、5分钟、15分钟的平均负载 那么到底如何理解平均负载呢?用man命令查看uptime的一些帮助信息原创 2021-11-28 22:53:26 · 1114 阅读 · 0 评论 -
操作系统(2)--内存管理
一、内存管理简介 内存是计算机非常重要的资源,在通用的计算机存储结构里通常有cpu - 缓存 - 主存三层结构,而操作系统的内存管理主要负责的就是内存的分配与回收,因为Java依靠着虚拟机有着自动分配与回收,但是在C/C++中有着malloc分配函数和free内存释放函数。 另外在早期的内存管理是没有内存抽象的,也就是程序直接访问和操作的都是物理内存,这样导致任何程序都能访问内存,运行多个程序比较难,到后面有了地址抽象,而内存管理就需要将逻辑地址转为物理地址 二、常见的内存管理机制 常见的内存管理方式有连续原创 2021-03-28 17:50:29 · 140 阅读 · 0 评论 -
操作系统(1)--进程管理
一、什么是操作系统 操作系统是管理计算机软件与硬件资源的程序,是计算机的基石,操作系统本质上是运行在计算机上的软件程序,用于管理软件和硬件资源 操作系统屏蔽了硬件的复杂性,使得用户只需要关注软件层面,是用户与计算机硬件之间的接口 操作系统的内核是操作系统的核心部分,负责系统的内存管理、硬件管理、文件管理和应用程序管理 二、系统调用 在聊系统调用之前,必须要先说一说用户态和核心态,用户态和核心态之前的区别其实就是特权级别不一样 用户态:用户态运行的进程可以直接读取用户进程的数据,只能读取部分资源 核心态原创 2021-03-28 11:34:16 · 122 阅读 · 0 评论