avatar
文章
92
标签
44
分类
32

首页
时间轴
标签
分类
清单
  • 游戏
  • 电影
  • 访客
镜像
  • 国内镜像
  • 国外镜像
模型屋
友链
关于
Gallifrey的计算机学习日记
搜索
首页
时间轴
标签
分类
清单
  • 游戏
  • 电影
  • 访客
镜像
  • 国内镜像
  • 国外镜像
模型屋
友链
关于

Gallifrey的计算机学习日记

  • Android学习笔记12
  • Docker1
  • Flutter1
  • Go5
  • Hexo插件1
  • Java1
  • Java框架5
  • Kafka2
  • Kubernetes1
  • Linux7
  • Prometheus4
  • 依赖管理1
  • 微信小程序开发5
  • 操作系统5
  • 数据库6
  • 日常表1
  • 版本控制2
  • 算法17
  • 计算机常识5
  • 计算机网络3
  • 论文翻译1
  • 课设报告3
  • 软件体系架构3
Linux磁盘分区
发表于2023-08-03|Linux|Linux
前言本文是视频教程韩顺平 一周学会Linux部分章节的归纳总结,内容补充和错误纠正。 概念Linux的磁盘分区机制 Linux的磁盘分区机制是指将物理硬盘划分为多个逻辑部分的过程。每个分区都被视为独立的逻辑驱动器,并有自己的文件系统进行格式化和挂载。以下是Linux磁盘分区机制的核心概念: 主分区(Primary Partition):主分区是硬盘上最基本的分区类型,最多可以划分为4个主分区。每个主分区都可以被视为一个独立的逻辑驱动器。 扩展分区(Extended Partition):扩展分区是一种特殊类型的主分区,它可以容纳多个逻辑分区。只能有一个扩展分区存在,并且必须在4个主分区之中。 逻辑分区(Logical Partition):逻辑分区是在扩展分区内创建的分区。通过扩展分区,可以划分出多个逻辑分区来扩展硬盘上的分区数量。 文件系统(File System):每个分区都需要格式化为特定的文件系统以用于存储数据。常见的Linux文件系统包括ext4、XFS、Btrfs等。 挂载(Mounting):挂载是将一个分区与Linux文件系统中的目录进行关联的过程。挂载点是一 ...
Kubeadm安装K8s集群指南
发表于2023-07-24|Kubernetes|Kubernetes
需求最近给公司的一批测试环境的服务器升级k8s集群,下面是一些要求: k8s从v1.16.x版本升级到v1.27.4版本 运行时使用containerd:v1.6.20版本 网络插件停止以前的flannel,使用calico: v3.24.6版本 这批服务器机器不能连接外国网络 下面记录了主要的操作步骤,以备不时之需 [所有节点]关停旧版本节点的kubelet及其相关服务 关停服务 12345678910111213# 关停kubeletsystemctl stop kubeletsystemctl stop kube-proxy && systemctl disable kube-proxy# 关闭swapswapoff -a# 编辑注释掉swap开机启动vim /etc/fstab# 关停相关服务,下面的只有master节点需要关停systemctl stop etcd && systemctl disable etcdsystemctl stop kube-apiserver && systemctl disable kube ...
GMP模型的应用场景
发表于2023-07-12|Go|Go•GMP模型
场景1:G1创建G3P拥有G1,M1获取P后开始运行G1,G1使用go func()创建了G3,为了局部性,G3优先加入到P1(而不是P2)的本地队列。(被淘汰的旧版调度器没有本地队列,无法像现在一样维护局部性) 场景2:G1执行完毕G1执行完成后会执行goexit()函数退出,然后M上运行的goroutine切换为G0,G0负责调度时协程的切换,执行函数schedule()切换G。然后G0切换到G3,然后M开始运行G3,执行G3的excute()函数,这里实现了M的复用。 场景3:G2开辟过多的G假设每个P的本地队列只能存4个G。G2要创建了6个G,前4个G(G3,G4, G5,G6)已经加入p1的本地队列,p1本地队列满了。 G2在创建G7的时候,发现P1的本地队列已满,会将P1本地队列的前一半G取出,次序打乱,将G7和这一半G一同放入全局队列 现在G2再创建G8,队列已经不满了,就可以正常进入p1队列了 场景4:唤醒正在休眠的M在创建G时,运行的G会尝试唤醒其他空闲的P和M组合去执行。 如果G2成功唤醒一个M。这个M绑定了P2,运行G0,但P2的本地队列没有G,此时M ...
GMP模型的设计思想
发表于2023-07-09|Go|Go•GMP模型
前言通过上一期的文章,我们知道了Go调度器的由来及作用:Go调度器用于合理分配goroutine(go的协程)到内核级线程中运行,实现高并发 概念GMP模型是指Go调度器的内部模型结构,GMP三个字母是三个不同单词的简写: G: Goroutine, Go 语言中的协程。每个 G 代表一个要执行的协程,包含了该协程的栈空间、执行状态等信息。调度器通过管理和调度 G 来实现并发执行。 M:Machine,操作系统(内核级)线程(OS thread)。M 是调度器和协程的中间层,负责将协程(G)绑定到线程(M)上执行。Go 调度器会根据系统的负载情况动态创建和销毁 M,以适应并发需求。每个 M 拥有自己的调用栈和一些状态信息,包括指令指针、堆栈指针等。 Go调度器最多可以创建 10000 个M。 P: Processor,逻辑处理器。P 是调度器的实际执行者,负责执行 G。一个 P 在某个时刻只能执行一个 G,但可以执行多个 G。P 执行 G 的过程中,G 会占用 P 的上下文(上下文切换),直到执行完成或发生阻塞。一个 M 可以绑定到一个 P 上执行。 要注意的是:M是操作系统(内核 ...
调度器的由来和分析
发表于2023-07-05|Go|Go•GMP模型
前言我在看刘丹冰老师的视频教程Golang深入理解GPM模型时,发现《调度器的由来和分析》这章节有很多有同学在弹幕和评论区表示质疑和不解,所以我结合了一些操作系统的知识对这一章节进行的重构,创作了本文章。如果有出现纰漏,请及时指出。 用户态|内核态我们的操作系统有两种状态,用户态和内核态,我们可以简单把用户态和内核态理解为平民阶级和特权阶级。应用程序在用户态下执行时,只能访问受限的资源和执行受限的指令集。内核态下运行的代码则可以直接操作硬件设备、更改系统资源状态、执行特权指令等。这是为了保护系统,因为一些特权指令是很危险的,例如清空内存。如果我们不得不使用用户态下的特权指令时,可以通过系统调用切换状态。值得注意的是系统调用发生在用户态,对系统调用的相关处理需要在内核态下进行。 关于更多用户态和内核态的知识,大家可以自行查询相关资料,但是对于接下来课题的学习,大家只要记住一点就好了:用户态和内核态的切换是一种昂贵的操作,涉及到上下文切换、权限切换等开销。 进程|线程|协程进程、协程和线程是计算机中用于实现并发和并行的概念。它们表示了不同的执行单元和调度方式。 进程 进程是操作系统分 ...
Linux任务调度工具
发表于2023-07-01|Linux|Linux
前言本文是视频教程韩顺平 一周学会Linux部分章节的归纳总结,内容补充和错误纠正。 概述Linux中的任务调度是指在特定的时间或条件下执行预定的任务。crond和at都是Linux中用于任务调度的工具。crond可以周期性地执行任务,而at则可以在指定的时间点执行任务。它们都可以帮助用户在特定的时间或条件下自动执行预定的任务,提高工作效率。 crond简要介绍 crond是Linux系统中的一个守护进程,负责周期性地执行预定的任务。它根据预设的时间表(通常是crontab文件)来触发任务的执行。crontab文件包含了一系列的任务定义,每个任务定义包括了任务的执行时间、执行的命令或脚本等信息。crond会根据这些定义,按照设定的时间间隔周期性地执行任务。常见的时间间隔包括每分钟、每小时、每天、每周、每月等。 需要注意的是,at命令在某些系统上可能未预装(本人使用的Ubuntu 22.04未预装),可能需要通过包管理器安装。 基本语法 corntab [选项]:选项如下 选项 说明 -e 编辑corntab文件 -l 查询corntab定时任务调度 -r 递归删 ...
Linux权限管理
发表于2023-06-30|Linux|Linux
前言本文是视频教程韩顺平 一周学会Linux部分章节的归纳总结,内容补充和错误纠正。 概念组 Linux系统中的每个文件和目录都有一组权限,用于控制对它们的访问。这些权限分为三个类别: 所有者(Owner) 所属组(Group) 其他人(Others) 权限 每个类别都有读(Read)、写(Write)和执行(Execute)权限。权限可以使用符号表示法来表示,其中每个类别都有一个字母表示权限: r(读权限):表示可以读取文件内容或查看目录中的文件列表。 w(写权限):表示可以修改文件内容,或在目录中创建、删除和重命名文件。 x(执行权限):对于文件,表示可以执行文件作为可执行程序;对于目录,表示可以进入目录。 注意:如上面所说,如果你对一个文件拥有w权限,你可以修改这个文件,但是你并不能删除这个文件。删除这个文件的前提是你拥有文件所在目录的w权限 在Linux中权限有两种表示方法: 符号表示法 权限符号表示法的格式为:[所有者权限][所属组权限][其他人权限]。 例如,rw-r--r--表示所有者具有读写权限,所属组和其他人只有读权限,数字表示法表示为644 数字表示法 权限 ...
基于均方根(RMS)和过零率的语音/音乐判别器
发表于2023-06-29|论文翻译|回铃音分析•FreeSwitch
原文链接https://www.csd.uoc.gr/~tziritas/papers/07tmm01-panagiotakis-proof.pdf 摘要在过去的几年,我们对开发提取音视频媒体中信息的方法做出了很多重大努力,以便于在数据库中自动存储和检索这些信息。在这项工作中,我们处理音频的特征,这可能用于更大的音视频系统的一部分或者作为独立的系统,例如将音频记以数字信号形式存储在磁盘。我们的目标是先开发一个系统用于对单独的音频分段,然后将其分为两个主要分类之一:语音或者音乐。系统要求包括处理速度以及在实时环境中以尽量小延迟去执行操作。因为限制了两个类,需要提取的特征更少了,而且需要的计算都是直接计算。实验结果表明,在不牺牲性能的情况下,效率非常好。 分段基于平均信号幅度分布,而分类则利用与频率相关的附加特征。 分类算法可以与分段算法结合使用,在这种情况下,它可以验证或否定 音乐-语音或语音-音乐的转换,或者对于给定的音频片段独立地使用。基本特征是在20毫秒的时间间隔内计算的,从而可以将分段的边界精确到20毫秒的准确度。最小的分段长度为一秒。分割和分类算法在一个大型数据集上进行了基准测 ...
Linux常用命令
发表于2023-06-27|Linux|Linux
前言本文是视频教程韩顺平 一周学会Linux部分章节的归纳总结,内容补充和错误纠正。 概述Linux命令是一组用于在Linux操作系统上执行特定任务的命令。这些命令可以在终端窗口中使用,也可以通过脚本自动化执行。Linux命令可以用于管理文件和目录、安装和卸载软件、配置网络、查看系统状态等多种任务。在Linux中,命令通常由一个或多个单词组成,可以带有选项和参数,用于指定命令的行为和操作对象。Linux命令是Linux操作系统中的核心组件之一,掌握Linux命令可以帮助用户更好地管理和使用Linux系统。 下面整理了一些Linux系统中常用的命令,让我们一起看看吧 帮助命令基本介绍 man [命令|配置文件]:获取该命令或配置文件的帮助信息,例如查看ls命令的帮助信息可以输入man ls help [命令] :获取Shell内置命令的帮助信息,例如help cd查看cd命令信息 --help:一般所有的CLI程序都是命令和选项组成的,一般情况都有--help选项(有时候是-h),可以查看该命令及其选项将要说明 关机和重启基本介绍 shutdown -h now:立刻关机 shut ...
Linux的目录结构
发表于2023-06-26|Linux|Linux
前言本文是视频教程韩顺平 一周学会Linux部分章节的归纳总结,内容补充和错误纠正。 概述在Linux中,一切皆为文件。Linux系统会把硬件,网络,系统等各种东西映射成文件。 因此与Windows不同,Linux中的目录结构是有规范的,不同的目录承载着不同的功能。 具体的目录结构下表整理了Linux系统一些具体的目录结构,使用频率和说明 目录 使用频率 说明 /bin 【常用】如/usr/bin,/usr/local/bin Binary的简写,存放着最常用的程序(命令) /sbin 【常用】如/usr/sbin,/usr/local/sbin Super User Binary的简写,存放系统管理员使用的系统管理程序(命令) /home 【常用】如/home/UserName 在Linux中每一个普通用户都有一个自己的目录,一般以自己的用户名命名 /root 【常用】 系统管理员的目录,也称为超级权限者的用户目录 /lib 【不常用】 系统开机所需最基本的动态链接共享库,其作用类似于Windows里的DDL文件。几乎所有的应用程序都需要用到这些共享库 ...
12…10
avatar
Gallifrey
文章
92
标签
44
分类
32
Follow Me
公告
该站点还在修建中ing...
微博热搜
最新文章
Linux磁盘分区2023-08-03
Kubeadm安装K8s集群指南2023-07-24
GMP模型的应用场景2023-07-12
GMP模型的设计思想2023-07-09
调度器的由来和分析2023-07-05
分类
  • Android学习笔记12
    • Intent与BroadcastReceive1
    • UI编程基础3
    • UI进阶3
    • 实战练习5
  • Docker1
  • Flutter1
  • Go5
标签
DockerflutterdartGoGMP模型issuebutterfly魔改Java编程基础SpringSpringBootJava框架KafkaKubernetesLinuxPrometheusMaven微信小程序开发学习笔记操作系统githttpUNIXtimestamp正则表达式计算机网络网络协议虚拟机回铃音分析FreeSwitch课设报告QtC++SqLiteVueMySqlAndroidMySQL算法递归
归档
  • 八月 20231
  • 七月 20235
  • 六月 202313
  • 五月 20235
  • 四月 20239
  • 三月 20237
  • 二月 20235
  • 十二月 20222
网站资讯
文章数目 :
92
已运行时间 :
本站总字数 :
291.2k
本站访客数 :
本站总访问量 :
最后更新时间 :
Algolia