操作系统
文章平均质量分 91
柯南二号
一个喜欢探讨Java后端技术的小白
展开
-
同步消息和异步消息
同步消息和异步消息区别两者使用场景不一样,比如说A给B发送一封电子邮件,A是不需要知道B是否收到就可以了的,把自己的信息传达出去,这样的场景就是异步消息。因为在这个过程中A在乎的是把某件事情传达出去就可以,而不必在乎其他人的状态,比如张贴告示也是这样,不需要知道每个人都是否知道这则告示的内容,而是张贴出去让大家基本知晓就可以。如果在付款的时候,A已经付款了,这个时候如果没有收到支付成功的状态提示的话就会在想自己是否已经支付成功了呢?就会一直处于等待状态,直到系统反馈一个消息,要么是支付成功要么是支付失原创 2020-08-15 12:18:23 · 3870 阅读 · 0 评论 -
用户态和内核态 中断处理机制
操作系统一、操作系统基础知识1.1 用户态和内核态1.1.1 定义:什么是用户态和内核态?Kernel 运行在超级权限模式(Supervisor Mode)下,所以拥有很高的权限。按照权限管理的原则,多数应用程序应该运行在最小权限下。因此,很多操作系统,将内存分成了两个区域:内核空间(Kernal Space),这个空间只有内核程序可以访问;用户空间(User Space),这部分内存专门给应用程序使用。1.1.2 用户态和内核态用户空间中的代码被限制了只能使用一个局部的内存空原创 2021-01-15 22:57:54 · 9530 阅读 · 7 评论 -
Linux 的 top命令参数详解 PID USER PR NI VIRT RES SHR S %CPU %MEM TIME+ COMMAND
Linux 的 top命令详解这张图是真实的阿里云云服务器上,使用了top命令之后的信息。1.上半部分显示了整体系统负载情况1.1 top 第一行:从左到右依次为当前系统时间,系统运行的时间,系统在之前1min、5min和15min内cpu的平均负载值比如我这张图中15:35:44 ====> 当前系统时间是 15:35:44126 days, 14:29 ====> 系统运行时间为145天10小时45分钟(在此期间没有重启过)1 user ===> 当前有1个用户原创 2021-01-14 17:36:08 · 15257 阅读 · 0 评论 -
Linux如何杀掉僵尸进程
Linux如何杀掉僵尸进程1. 僵尸进程定义 僵尸进程是当子进程比父进程先结束,而父进程又没有回收子进程,释放子进程占用的资源,此时子进程将成为一个僵尸进程。如果父进程先退出 ,子进程被init接管,子进程退出后init会回收其占用的相关资源。2. 僵尸进程危害 由于子进程的结束和父进程的运行是一个异步过程,即父进程永远无法预测子进程 到底什么时候结束. 那么会不会因为父进程太忙来不及wait子进程,或者说不知道 子进程什么时候结束,而丢失子进程结束时的状态信息呢? 不会。因为UNⅨ提供了一原创 2021-01-14 16:47:27 · 7360 阅读 · 0 评论 -
Linux五种I/O模式 NIO BIO AIO IO多路复用 信号驱动 I/O
Linux五种I/O模式1. 同步阻塞 I/O(BIO)如上图所表现的那样,应用进程向内核发起 I/O 请求,发起调用的线程一直等待内核返回结果。一次完整的 I/O 请求称为BIO(Blocking IO,阻塞 I/O),所以 BIO 在实现异步操作时,只能使用多线程模型,一个请求对应一个线程。但是,线程的资源是有限且宝贵的,创建过多的线程会增加线程切换的开销。同步阻塞I/O,服务器实现模式为一个连接一个线程,即客户端有连接请求时服务器就需要启动一个线程进行处理,如果这个连接不做任何事情会造成不必要原创 2021-01-05 17:28:04 · 681 阅读 · 0 评论 -
Linux操作系统计算机的整个启动过程
计算机的整个启动过程分成四个阶段文章目录计算机的整个启动过程分成四个阶段一、第一阶段:BIOS1.1 硬件自检1.2 启动顺序二、第二阶段:主引导记录2.1 主引导记录的结构2.2 分区表三、第三阶段:硬盘启动3.1 情况A:卷引导记录3.2 情况B:扩展分区和逻辑分区3.3 情况C:启动管理器四、第四阶段:操作系统一、第一阶段:BIOS上个世纪70年代初,“只读内存”(read-only memory,缩写为ROM)发明,开机程序被刷入ROM芯片,计算机通电后,第一件事就是读取它。这块芯片里的程序原创 2020-12-30 23:10:54 · 408 阅读 · 0 评论 -
Linux内存管理
Linux内存主要用来存储系统和应用程序的指令,数据,缓存等1|0 内存映射1,内核给每个进程提供一个独立的虚拟机地址空间,并且这个地址空间是连续的2,虚拟地址空间内部又被分为内核空间和用户空间3,32位和64位系统的虚拟地址空间32 位系统的内核空间占用 1G,位于最高处,剩下的 3G 是用户空间。而 64 位系统的内核空间和用户空间都是 128T,分别占据整个内存空间的最高和最低处,剩下的中间部分是未定义的4,进程在用户态时,只能访问用户空间内存;只有进入内核态后,才可以访问内核空间内存5原创 2020-09-24 14:02:14 · 294 阅读 · 0 评论 -
操作系统调度算法
决策模式决策模式说明选择函数在执行的瞬间的处理方式,通常分为以下两类:非抢占:一旦进入运行状态,就不会终止直到运行结束。抢占:当前正在运行的进程可以被打断,并转移到就绪态。一个调度算法是否能抢占,对进程的顺序有着极大的影响。先来先服务FCFS先来先服务是最简单的策略,也成为先进先出FIFO。首先它是一个非抢占的。如字面的意思,它根据进程到达时间决定先运行哪一个进程。这里给出一个实际的例子。以表格的形式表现出在FIFO策略下各进程的情况。简单说就是依次执行完成,从时间轴上来看以表格的形式原创 2020-09-21 12:37:40 · 237 阅读 · 0 评论 -
进程间的通讯方式
进程间的通信方式通信方式总览每个进程的用户地址空间都是独立的,一般而言是不能互相访问的,但内核空间是每个进程都共享的,所以进程之间要通信必须通过内核。1、管道(匿名管道)如果你学过 Linux 命令,那你肯定很熟悉「|」这个竖线。$ ps auxf | grep mysql上面命令行里的「|」竖线就是一个管道,它的功能是将前一个命令(ps auxf)的输出,作为后一个命令(grep mysql)的输入,从这功能描述,可以看出管道传输数据是单向的,如果想相互通信,我们需要创建两个管道才行。原创 2020-08-26 09:42:17 · 365 阅读 · 0 评论