长大之后的一次偶然的机会,我看到了一本书叫《算法图解》。这本书上竟然提到了小时候我玩的“猜数字”游戏,我才了解到,这个游戏不是最终猜到这个数字就算赢,而是又快又准确地猜到数字,那才是高手!...(PS:评论区留言,第一个猜对的小伙伴,我们将有礼品相送~)——以上内容截选自《算法图解》 有些算法学习者可能有过这样的经历,学习算法初期看了几本大块头的经典算法巨著,但是看过就忘,对二分查找、大 O...上面提到的《算法图解》这本书就像小说一样有趣。比如“猜数字”游戏,通过这个例子,大家可以轻松掌握理解二分查找的概念,算法也不再枯燥乏味难懂了。...感谢图灵教育的大力赞助,赠送我五本《算法图解》。 送书方法:关注我的视频号,并在下面文章留言区说说,你眼中的算法。留言位于第1/2/8/21/34楼分别获得一本书。包邮。截止这周日晚23点。...关注视频号,并在文下留言 第1/2/8/21/34楼留言中书一本 详情点击“阅读原文”☟
本文是图解 AI 算法系列教程的第二篇,今天的主角是 Transformer。 Transformer 可以做很多有趣而又有意义的事情。 比如我写过的《用自己训练的AI玩王者荣耀是什么体验?》。
本文基于 Linux-2.6.26 版本 什么是进程调度 一般来说,在操作系统中会运行多个进程(几个到几千个不等),但一台计算机的 CPU 资源是有限的,如 8 核的 CPU 只能同时运行 8 个进程。...为了解决这个问题,Linux 实现了 组调度 这个功能。那么什么是 组调度 呢? 组调度 的实质是:调度时候不再以进程作为调度实体,而是以 进程组 作为调度实体。...如下图所示: cgroup 相关的知识点可以参考文章:《cgroup介绍》 和 《cgroup实现原理》 在 Linux 系统启动时,会创建一个根进程组 init_task_group。...在分析之前,为了对 完全公平调度算法 有个大体了解,建议先看看这篇文章:《Linux完全公平调度算法 》。 1. 进程组 在 Linux 内核中,使用 task_group 结构表示一个进程组。...Linux 调度的时候,就是从上而下(从根进程组开始)地筛选出最优的进程进行运行。 2.
每当我们操作文本编辑器的时候,要快速让文本编辑器处于运行状态,在我们没有操作文本编辑器的时候,应该尽量让视频剪辑器运行 这就是进程调度解决的问题,这也是衡量一个操作系统的优秀与否的一个重要指标 本篇文章讲解Linux...很明显,这一部分需要具体的调度算法来实现,Linux将调度算法的实现抽象成调度类 在滴答定时器的中断处理中,通过调度类去实现相应的计算,然后判断current进程是否需要被抢占,如果需要被抢占,那么就在...current进程设置需要重新调度的标志,如下图所示: 实时上,Linux内核的调度类不仅仅只有一个,因为内核同时实现了多种调度算法,但是我们这里强调总体框架,暂不讨论这里细节问题 到此,进程切换的第一步设置
想一想,进程调度其实是一个非常复杂的问题,想使用一种算法来实现良好的进程调度是不可能的,Linux内核实现了好几种调度算法。...SCHED_FIFO 1 #define SCHED_RR 2 #define SCHED_BATCH 3 #define SCHED_IDLE 5 #define SCHED_DEADLINE 6 Linux
最好具备一些Linux编程的基础,比如,如何打开一个文件;如何读写一个文件;如何关闭一个文件等等。 什么是Page Cache? Page Cache到底是属于内核还是属于用户?...怎么观察Page Cache 在Linux上直接查看Page Cache的方式: /proc/meminfo free /proc/vmstat 命令 内容其实是一致的。
6 、图解快速搭建Linux集群 6.1 集群概念 根据百度的解释: 集群是一组相互独立的、通过高速网络互联的计算机,它们构成了一个组,并以单一系统的模式加以管理。
之前我写过有关 Linux 文件系统源码分析的文章,但从源码角度分析文件系统略显枯燥(对新手不友好),所以这次主要通过图文的方式来讲解 Linux 文件系统的原理,而不用陷入源代码的深渊之中。...在 Linux 内核中,每个数据块定义为 4KB 的大小,所以一个 128GB 的硬盘可以分为 33554432 个数据块,内核就是以数据块的编号来对硬盘进行读写操作的。...为了让用户在使用上更方便和直观,Linux 内核抽象出两个概念来管理硬盘中的数据:文件(File) 和 目录(Directory)。 文件:用于保存数据。...四、总结 本文通过 MINIX 这种简单的文件系统来介绍怎么设计一个文件系统,虽然 Linux 系统有多种文件系统,但其基本思想都是怎么有效地管理硬盘的数据。
如下图所示: 但由于 Linux 内核有个名为 内存页反向映射 的功能,所以内存整理就变得简单起来。 接下来,我们将会分析内存碎片整理的原理与实现。...注:本文使用的是 Linux-2.6.36 版本的内存 1. 内存碎片整理时机 当要申请多个地址联系的内存页时,如果申请失败,将会进行内存碎片整理。
概述 本文主要阐述内核(linux-3.12)的文件系统预读设计和实现。
这一年 里我看了很多书,细细数下,大概15本左右,其中包含了两个方面,一个是Android,另一个就是Linux。当然,在学习之初,遇到了不少瓶颈,在这 里,还要感谢师兄师姐的指导。...写这篇文章的目的有两个: 1.分享自己的学习经验 2.记录下我的学习历程 既然谈到了学习,那一定需要从看书说起,下面我就罗列下我看过的关于Linux学习的书 1....这本书正是讲解这种语言的,但是内容不是很简单,需要知道一些简单的命令和参 数是做什么的,所以,读这本书之前最好还是看看第一本书吧。...《Linux系统编程》 ? 首先说,这本书不是很好找,是一本比较老的书,但是内容却是非常好,也是学习Linux编程不可多得的一本好书。...从这本书的名字就能看出来,这本书所讲的内容是“系统编程”,所以,这里涉及的内容是系统调用,是我们的用户进程需要内核的帮助完成我们想要实现的 功能, 这本书我也是从头看到尾,由于书并不是很厚,所以没有花太久的时间
如图获取到安装包地址:https://nodejs.org/dist/v13.11.0/node-v13.11.0-linux-x64.tar.xz 2....安装Node 下载 wget https://nodejs.org/dist/v13.11.0/node-v13.11.0-linux-x64.tar.xz 解压 tar -xvf node-v13.11.0...-linux-x64.tar.xz 进目录 cd node-v13.11.0-linux-x64/bin 测试是否安装成功 ....加软链 添加 node,npm软链 ln -s /www/node-v13.11.0-linux-x64/bin/node /usr/local/bin/node ln -s /www/node-v13.11.0...-linux-x64/bin/npm /usr/local/bin/npm 测试 cd ~ node -v ?
本文使用 Linux-2.6.23 内核作为分析对象。 1. 环形缓冲区(Ring Buffer) 在内核中,管道 使用了环形缓冲区来存储数据。...如下图所示: 在 Linux 内核中,使用了 16 个内存页作为环形缓冲区,所以这个环形缓冲区的大小为 64KB(16 * 4KB)。...管道对象 在 Linux 内核中,管道使用 pipe_inode_info 对象来进行管理。
作者:icoder.long 编辑:良许Linux 链接: https://blog.csdn.net/xulong_08/article/details/81463054 Linux是目前应用最广泛的服务器操作系统...linux不仅可以长时间的运行我们编写的程序代码,还可以安装在各种计算机硬件设备中,如手机、路由器等,Android程序最底层就是运行在linux系统上的。 一、linux的目录结构 ?...)系统管理员安装临时文件系统的安装点 boot 存放用于系统引导时使用的各种文件 tmp (temporary)用于存放各种临时文件 var (variable)用于存放运行时需要改变数据的文件 二、linux...2.4 文件权限操作 linux文件权限的描述格式解读 ?...三、linux系统常用快捷键及符号命令 ? 四、vim编辑器 vi / vim是Linux上最常用的文本编辑器而且功能非常强大。只有命令,没有菜单,下图表示vi命令的各种模式的切换图。 ?
那么,当可用内存不足时,Linux 内核是怎么处理的呢? 本文将会介绍,当可用内存不足时,Linux 内核的处理方式。...本文使用 Linux-2.6.23 版本内核。 swap 这个单词是 交换 的意思,顾名思义就是把某些进程所占用的内存交换(写入)到硬盘,然后把内存释放给操作系统,这样操作系统就有更多可用的内存。...为了解决这个问题,Linux 内核引入了 LRU内存淘汰算法,用过 Memcached 或者 Redis 的同学应该都了解过 LRU算法。...在 Linux 内核中,每个 内存区(zone) 都会维护着一个 active_list 和一个 inactive_list。...LRU算法状态流转 我们最后以一张状态流转图来描述 LRU 算法的过程: 三、总结 本文主要介绍了 Linux 内核内存回收过程中使用的 LRU 算法的原理,在下一篇文章中,我们将会介绍 Linux
linux下彻底卸载mysql 图解教程 http://blog.itblood.com/completely-uninstall-the-mysql-under-linux-graphic-tutorials.html
一张图解决你所有Linux命令:
文章目录 写在前面 Redis概述 Windows安装 Linux安装 写在前面 ---- ? Redis概述 ---- Redis是什么?...session服务器 分布式锁 消息队列(发布订阅系统) 计时器、计数器(浏览量) 排行榜、点赞、签到等应用 Windows安装 ---- 首先官方是不推荐Windows部署的,是由微软维护,所以版本会落后Linux...至此Redis就部署成功了,还是Windows简单(小声bb ) Linux安装 ---- (也可以宝塔一键傻瓜安装 ) 到官网下载最新版本 ? 用Xftp上传文件(/opt目录下) ?
社区版下载. image.png 下载完成后,打开FTP工具,登录进去后,将安装包上传到/root 目录下 (进入应该默认就是这个目录) image.png 解压安装包 tar zxvf mongodb-linux-x86..._64-amazon-4.2.7.tgz image.png 将解压的文件移动到 /usr/local 目录下并重命名为mongodb mv mongodb-linux-x86_64-amazon-4.2.7
领取专属 10元无门槛券
手把手带您无忧上云