最新文章
-
计算机网络面试问题笔记
计算机网络面试问题笔记 网络模型 TCP/IP 模型? 从上到下分为四层: 应用层:直接为用户提供的各种服务,定义了应用进程间的通信规则,如 HTTP、FTP 等 传输层:为应用层实体提供端到端、通用的通信功能,保证了数据包的顺序传送及数据的完整性。协议包括 TCP、UDP 等。 网络层:解决主机到
-
操作系统面试问题笔记
操作系统面试问题笔记 内核态和用户态 为什么要区分内核态和用户态? 用户不应当直接执行受限操作,如 I/O 请求。内核态只能由操作系统执行,可以执行特权操作。用户程序必须通过系统调用来执行这些特权操作,os 执行前会判断进程是否有权限执行相应的指令。 什么时候会陷入内核态? 系统调用 trap 、中
-
Linux 内存管理笔记
Linux 内存管理笔记 地址 虚拟地址 内存是比较宝贵的资源。为了充分利用和管理系统内存资源,linux 采用虚拟内存管理技术,让每个进程都有 4G (32位)的互不干涉的虚拟空间。进程初始化分配和操作都基于虚拟地址,只有当进程需要实际访问内存资源的时候才会建立虚拟地址和物理地址的映射,调入物理内
-
Golang GMP 并发模型笔记
Golang GMP 并发模型笔记 以前看过,但是居然没有记笔记,遂补 背景 线程与协程首先有所区别。一般语义中,线程是: 操作系统的最小调度单元 创建销毁和调度由内核完成,在此期间需要切换内核态 而一般语义中的协程是: 又称为用户级线程 与线程的映射关系是 M : 1 创建销毁和调度在用户态完成
-
预写日志 Write Ahead Log 笔记
预写日志 Write Ahead Log 笔记 概念 预写日志 WAL 是数据库系统和分布式系统元数据同步中采用的一种手段,主要用于确保数据操作的原子性和持久性。 数据库系统使用 WAL 时,所有的修改在提交之前都要先写入 log 文件中,这样如果机器在执行某些操作的时候断电了,我们还可以检查 lo
-
kubernetes 核心内容梳理
kubernetes 核心内容梳理 正向梳理下 k8s 的比较重要的基础内容 背景 k8s 的时代背景:物理机 -> 虚拟机 -> 容器 物理机缺点: 部署慢 成本高 资源浪费 扩展和迁移成本高 虚拟机优点: 易部署 资源池 资源隔离 易扩展 虚拟机缺点:每台虚拟机都要安装操作系统,占用资源 容器优
-
k8s 调度器的调度流程和算法笔记
k8s 调度器的调度流程和算法笔记 调度总体设计 k8s 作为一个容器编排引擎,对容器编排和调度是其核心功能。k8s 中用于调度的核心组件是 kube-scheduler。 kube-scheduler 主要分为几大组件: Policy:调度策略,目前支持配置文件、命令行参数、ConfigMap 去
-
etcd 分布式 k-v 存储与 raft 应用 上
etcd 分布式 k-v 存储与 raft 应用 上 一起读,@CD ( 简介 etcd 是 go 语言实现的 分布式 k-v 存储,通过 raft 协议维护一致性,对外提供强一致性和高可用性。强一致性意味着超过最终一致性的可靠性,它可以有效应对各种类型的网络问题和机器故障问题,常用于提供高可靠要求
-
Golang 设计模式:观察者模式
Golang 设计模式:观察者模式 理论 观察者模式也是一种经典的设计模式,主要适用于多对一的订阅/发布场景。 什么是多对一的订阅/发布场景: 有多名观察者,观察一个被观察事物 定义了一对多的依赖关系,当一个对象状态发生改变,其依赖者会收到通知并自动更新 这种模式的存在主要是为了降低观察者和目标之间
-
Golang 设计模式:工厂模式
Golang 设计模式:工厂模式 背景 工厂模式也是一种经典的设计模式。特别的,对于 golang 来说,因为没有针对类的构造方法去定义一个统一的规范,如果每次创建一个类的实例时,都需要在业务代码里去执行一遍初始化的细节,就可能导致业务方法与组件类产生非常高的耦合度。如果组件类的定义有改变,那么业务
0 0 2024-02-24 21:06 2024-02