何为Linux: Linux,全称GNU/Linux,是一套免费使用和自由传播的类Unix操作系统,是一个基于POSIX的多用户、多任务、支持多线程和多CPU的操作系统。...使用者不仅可以直观地获取该操作系统的实现机制,而且可以根据自身的需要来修改完善Linux,使其最大化地适应用户的需要。 Linux不仅系统性能稳定,而且是开源软件。...其核心防火墙组件性能高效、配置简单,保证了系统的安全。在很多企业网络中,为了追求速度和安全,Linux不仅仅是被网络运维人员当作服务器使用,甚至当作网络防火墙,这是Linux的一大亮点。...常见的使用场景,瞅瞅你的安卓手机,安卓的内核就是基于Linux开发的 使用领域较广的有:云服务器,银行,政府系统后台服务等等 Linux在大家心里都是啥样子?...话说回来,让我下定决心要换Linux系统的根本原因是,开发环境。。。。。环境不兼容问题真的很头疼,一样的代码放本地机器就能跑起来,丢到服务器就炸,换了Linux这烦恼倒是也消失不见了
linux换源 萌新换源教程 QAQ首先我们要安装leafpad 为什么不选择vim,因为我们是萌新,leafpad更适合新手使用,leafpad实际是一个txt的本文编辑器,附上安装教程。
Deepfake 就是前一阵很火的换脸 App,从技术的角度而言,这是深度图像生成模型的一次非常成功的应用,这两年虽然涌现出了很多图像生成模型方面的论文,但大都是能算是 Demo,没有多少的实用价值,除非在特定领域...人脸识别问题 由于第一个环节是对人脸做预处理,算法必须首先能识别出人脸,然后才能处理它,而 dlib 中的人脸检测算法,必须是「全脸」,如果脸的角度比较偏就无法识别,也就无法「换脸」。
从广义上来说,操作系统包括:内核(进程管理、文件管理、内存管理和驱动管理);其它程序(函数库、shell程序等) 但是狭义上我们也可以认为操作系统内核就是操作系统; 理解了操作系统是什么,我们现在来看操作系统是干什么的...之前我们使用计算机,都是通过操作系统,来进行我们的一系列操作;就比如linux中的基本命令,这是shell外壳为我们包装好的指令,方便我们使用。...通过观察上图,我们可以发现系统调用接口、驱动程序这些我们之前听都没听过; 系统调用 通过这个名字,就感觉好高级,我们是不是不能随意的使用系统调用,准确来说是的; 系统调用其实就是函数,只不过是操作系统提供的函数...我们如果访问操作系统,就必须通过系统调用 这个理解起来应该很简单,操作系统不想我们之间去访问它,所以提供了系统调用;我们可以通过系统调用来访问操作系统。...那操作系统如何提供对应的服务呢? 就是系统调用 系统调用其实就是函数,函数要有参数和返回值吧,用户就可以通过这些参数和返回值来实现用户和操作系统之间的数据交互。
在Linux操作系统中,运行态并不一定是占有CPU资源的进程,处于CPU的运行队列runqueue中的进程都是处于运行态。...Linux中的进程状态 上述进程概念运行、阻塞、挂起那都是系统的概念,那在Linux中我们进程状态是什么呢? 在Linux中,进程状态其实就是task_struct中的一个整数。...,我们操作系统此时因为内存资源极度不足,然后将此类进程杀死导致数据丢失; 操作系统不想要数据丢失,为了避免将这类进程杀死,Linux就设置了状态D,此状态的进程处于深度休眠状态;操作系统无法杀死处于D...很显然是不能的,我们这种结构是不能实现的 而我们Linux是可以的,在Linux中它并没有像我们之前那样将前驱节点指针prve和后置节点指针next直接存放在task_struct中,而是将其包装起来:...Linux中的进程状态:R、S、D、T、t、x、Z等。 后台进程。 一个task_struct在多个队列的原理。
说简单一点就是:PCB + 代码和数据(在linux操作系统中,PCB就是task_struct结构体) 描述 - PCB PCB,博主在计算机操作系统这门课程中学习到过PCB,在学校中老师讲述的PCB...PCB是操作系统中对进程控制块的统称,linux下PCB是task_struct。 那我们老是说PCB是描述进程的属性,那到底有哪些属性呢? 标识符:描述进程的唯一标识符,区别其他进程。...说了这么多,我们在linux操作系统下,能不能查看进程呢? 当然是可以的; 查看进程信息 1....在linux操作系统中,我们所有的进程信息都存放在/proc这个系统文件夹中 一眼看去眼花缭乱的,没关系,我们接着往下看,在有一定了解之后再回来看; 2....在Linux系统中,bash是最常用的命令行解释器(shell); 还记得在学习Linux系统中的权限时,提到过shell,它是用户与操作系统之间的接口,负责将我们的指令翻译成内核理解的指令。
1、点击[命令行窗口] 2、点击[配色方案] 3、点击[编辑] 4、点击[背景] 5、点击[确定] 6、点击[确定] 7、点击[选项卡] 8、点击...
Linux系统启动流程大概总结下来是这么一个过程: POST-->BootLoader(MBR)-->Kernel(硬件探测、加载驱动、挂载根文件系统、/sbin/init)-->init(/etc/inittab...,因为这时候内核还没有启动所以也不存在什么文件系统,而是直接访问硬盘的第1个硬盘第1个分区(MBR里面存在分区表)的来找到内核文件 [x] 这时候又有个问题 GRUB是怎么识别分区表中这些分区的文件系统的...,来识别文件系统,不加载就无法识别文件系统,进而就找不到boot目录,由于GRUB是无法识别LVM,所以你不能把/boot分区设置为LVM,所以必须要把/boot单独分区 [x] 第2个阶段 这里面才是正在的开始寻找内核的过程...ext3.ko内核模块,驱动了硬盘,然后挂载了真正的根文件系统,那么此时虚拟的根文件系统是否还有作用,它还可以挂载/proc文件系统等操作。...第4步 init进程首先会读取/etc/inittab文件,根据inittab文件中的内容依次执行 设定系统运行的默认级别(id:3:initdefault:) 执行系统初始化脚本文件(si::sysinit
内存 二、 Linux 内存地址空间 三、 Linux 内存分配算法 四、 内存使用场景 五、 内存使用那些坑 ---- Linux 内存是后台开发人员,需要深入了解的计算机资源。...本文主要介绍Linux 内存组织结构和页面布局,内存碎片产生原因和优化算法,Linux 内核几种内存管理的方法,内存使用场景以及内存使用的那些坑。...一、走进Linux 内存 1、内存是什么?...项目地址:https://github.com/YunaiV/ruoyi-vue-pro 二、 Linux 内存地址空间 1、Linux 内存地址空间 Linux 内存管理全貌 2、内存地址——用户态...它们是通过页表映射的 当它们移动到新的位置,页表项也会相应的更新 6、slab 算法——基本原理 基本概念 Linux 所使用的 slab 分配器的基础是 Jeff Bonwick 为 SunOS 操作系统首次引入的一种算法
【Linux干货教程】Ubuntu Linux 换源详细教程 前言 Hello大家好,我是洲洲,今天给大家介绍一篇干货教程。 主题是如何进行Ubuntu Linux换源。...换源的步骤如下: 第一步:备份源列表 sudo cp /etc/apt/sources.list /etc/apt/sources.list.bak 第二步:命令行打开source.list文件 sudo...gedit /etc/apt/sources.list 第三步:修改source.list文件,更改源 这里我用的是阿里源,大家也可以自己把文章拉到最后换一下清华源啥的,我用阿里比较多。...换源成功! 【注意】更新过程中可能会有询问是否下载包的提示,输入y,按回车即可。 【注意!注意!注意】更新时一定要把Linux的网络连接检查是否已经连接上网络。
但是,电脑用久了,终究会变慢,尤其是在Windows系统功能越来愈多,越来越大的情况下,我们还是需要换电脑! 不过,你的旧电脑怎么办? 卖掉?它的价格分分钟还不如废铁。 扔掉?又不太舍得。...相比Windows,旧电脑安装轻量级Linux 发行版会更加合适,因为运行足够快,操作足够流畅,功能也能满足基本需求!...而轻量级Linux 发行版也有很多选择,下面大白菜就介绍其中一款:Bodhi Linux系统,小巧强悍,运行更流畅!...Bodhi Linux是基于Ubuntu的轻量级发行版,研发者志在提供最小的基本系统,因此选择搭载了Moksha的窗口管理器(基于 Enlightenment),让使用者可以自行选择需要的软件。...比如配置型应用程序和系统设置面板,都进行了界面处理,避免了Enlightenment原来过于繁复的选项,让人更加专注于桌面本身。
历史文章里边有写过两篇关于Windows下的pip换源系列,方法行之有效,还没有来得及换源的小伙伴们,得抓紧时间上车了。...换源系列文章可以看这里:手把手教你进行pip换源,让你的Python库下载嗖嗖的、手把手教你进行pip换源,让你的Python库下载嗖嗖的(系列二)。今天,咱们就把Linux下的pip换源解决一下。.../2 Linux以及Python版本概述/ 由于Linux衍生的系统兄弟版本比较多,有Ubuntu,CentOS,Red Hat等,每个衍生版本安装Python的方式也不太相同,甚至一个系统的不同版本安装.../5 效果展示/ 换源前: 下载速度是16kb/s,如下图所示: ? 换源后: 下载速度是起步都是500+k/s,最高都到4.4m/s,是不是很Nice! ?.../6 小结/ 本文主要内容是针对Linux系统下进行Python的pip换源操作,换源之后下载库的速度较换源前要快很多,方法简单且行之有效,欢迎大家积极尝试。
Linux系统下PyCharm的安装 1. 什么是PyCharm 2. 什么是IDE 3. PyCharm的安装 4. PyCharm的使用 5. pycharm的一些快捷键 6....PyCharm的安装 步骤一:查看真机当前登录的用户是谁,安装的时候shell的用户和登录系统的用户要保持一致,否则中文输入法不能使用,因为su – 用户,切换用户的时候不切换图形界面 步骤二:从网上获取一个...platform=linux&code=PCC 步骤三:进行解压并且执行安装脚本进行安装 tar zxf pycharm-community-2019.2.1.tar.gz cd pycharm-community
在单CPU的系统在,程序是并发执行的;也就是说在一段时间呢,进程是轮番执行的; 这也是说一个进程在运行时不会一直占用CPU直到运行结束,而是运行一段时间(时间片)然后切换下一个进程运行; 所以,对于一个死循环的进程执行的时候...在Linux中,这些信息存放到了task_struct中的成员Tss中。...我们现在来看,linux中运行队列的整体结构: 一眼望去,眼花缭乱的,为何如此复杂?...进程饥饿 进程饥饿(Process Starvation) 是指某个进程因长期无法获得所需的系统资源(如CPU时间、I/O资源等)而无法执行的现象。...到这里,本篇文章大致内容就结束了,感谢各位支持 简单总结: 进程切换:进程是如何切换的,切换时上下文信息存储到哪里 进程调度:linux中的调度算符:O(1)调度算法实现的思路。
前言 我们现在了解了进程是什么,进程状态表示什么 ,我们现在继续来了解进程的属性 —— 进程优先级 进程执行者 在了解进程优先级之前,先来思考一个问题:在我们进行文件访问操作时,操作系统是如何直到我们是谁...我们知道指令它其实就是进程,所以我们进行文件访问操作,本质上就是进程进行访问,那操作系统是如何知道进程它是谁呢?...那在Linux中,我们如何查看进程的优先级呢? 查看进程优先级 在上述中提到了ps -l,我们可以通过ps -l指令来查看进程的优先级: 但是,在Linux中优先级是如何表示的呢?...当nice值为负数时,该进程的优先级值就会变小,优先级就变高,更快的被执行 在Linux下,我们调整优先级就是调整nice值。 nice的取值范围是[-20 , 19]。...可以看到这两个函数都是系统调用,这里就不过多描述了; 在后续内容中遇到了再详细讲解。 这里,普通用户只能修改一次进程的优先级!!!
/bin/bash Linux 下写入文件的操作可以配合 echo 命令完成,值得注意的是,写入文件的操作有两种方式,分别是 > 和 >>,它们的区别如下: - >> 将内容写入文件,覆盖原有内容 -...为需要写入内容 # 为写入目标文件名 echo >> echo >> shell 文件备份操作 要修改系统的配置文件...这里的脚本需要配合 sudo 使用 cp /etc/apt/sources.list /etc/apt/sources.list.bak shell 脚本完成 apt 更新操作 我们的目标是想在新服务器或者工作站安装系统完成后...,能自动完成替换更新源以及执行一次系统软件、包升级,那么就需要使用 shell 完成 apt 更新的操作,具体代码如下: #!
另外还有实现川普和尼古拉脸相换: 当然这只是DeepFake的冰山一角,Deepfake当初火起来的原因可以说是广大拥有宅男心态的程序员们一起奋斗的结果。...相关研究 其实有关深度学习的换脸相关的研究已经很普及了,有基于GAN的也有基于Glow的,但本质上都是生成模型,只是换了一种实现方式,而这个DeepFake呢,使用的是机器学习中的自编码器,拥有与神经网络类似的结构...最早之前,实现人脸互换是通过分别分析两者人脸的相似信息来实现换脸,也就是通过特征点匹配来提取一张脸中例如眉毛、眼睛等特征信息然后匹配到另一张人脸上。...而在最近发展的深度学习技术中,我们可以通过深度神经网络提取输入图像的深层信息,从而读取出其中隐含的深层特征来实现一些新奇的任务,比如风格迁移(style transfer)就是通过读取训练好的模型提取图像中的深层信息来实现风格互换...关于更多自编码器的知识:理解深度学习:与神经网络相似的网络-自编码器(上) 网络构架 那么应该如何通过自编码器实现我们的换脸技术呢?
Python源码编译安装,以及pip换源教程。...python系列文章:https://blog.zeruns.tech/category/Python/编译安装Python1.依赖环境安装如果是centos系统就将下面命令的apt换成yum如果是用root...如果 在 make 过程中出现 error ,你就要记下错误代码(注意不仅仅是最后一行),然后你可以向开发者提交 bugreport(一般在 INSTALL 里有提交地址),或者你的系统少了一些依赖库等...make 是 Linux 开发套件里面自动化编译的一个控制程序,他通过借助 Makefile 里面编写的编译规范进行自动化的调用 gcc 、ld 以及运行某些需要的程序进行编译的程序。...一般情况下,他所使用的 Makefile 控制代码,由 configure 这个设置脚本根据给定的参数和系统环境生成。
在Linux系统中,系统管理员和开发人员常常需要监控系统的性能和资源使用情况。其中,top命令是一个十分强大的工具,它可以实时监视系统的运行状态,提供了丰富的信息,帮助用户及时发现问题并进行调整。...top命令是一个用于实时查看系统中进程和系统资源使用情况的命令行工具。通过top命令,用户可以轻松了解系统中各个进程的运行状态、CPU和内存的使用情况等。 2. 如何使用top命令?...3. top命令的界面介绍 第一行:系统负载信息 在top界面的第一行,会显示系统的负载信息,包括当前时间、系统运行时间、登录用户数、系统负载(1分钟、5分钟、15分钟平均负载)、系统中正在运行、等待和停止的进程数...通过本文的介绍,相信你已经对Linux系统中的top命令有了全面的了解。top命令作为系统管理和性能调优的利器,能够帮助用户快速定位和解决系统性能问题,是Linux系统管理者和开发人员必备的工具之一。
在上篇文章 《深入理解 Linux 物理内存分配全链路实现》 中,笔者为大家详细介绍了 Linux 内存分配在内核中的整个链路实现: image.png 但是当内核执行到 get_page_from_freelist...很长时间以来,物理内存碎片一直是 Linux 操作系统的弱点,所以内核在 2.6.24 版本中引入了以下方式来避免内存碎片。...伙伴系统的内存分配原理 在 《深入理解 Linux 物理内存分配全链路实现》 一文中的第二小节 " 2....但真正进入伙伴系统之前,内核还是做了很多铺垫工作,为了给大家解释清楚这些内容,我们还是需要重新回到上篇文章 《深入理解 Linux 物理内存分配全链路实现》 “5....在 Linux 内核中,系统会经常请求和释放单个页面。如果针对每个 CPU,都为其预先分配一个用于缓存单个内存页面的高速缓存页列表,用于满足本地 CPU 发出的单页内存请求,就能提升系统的性能。