内核 模式
linux 内核源码
linux官网:https://www.kernel.org/ 1、第一列为版本描述:主线、稳定版、长期支持版;第二列为内核版本号;第三列为最后更新时间; 2、tarball:完整的代码;pgp:验证签名;patch:基于上一个版本的补丁(一般商用的系统不会频繁的编译内核,所以可以打补丁上去方便) ......
Resctrl内核实现(一)CPU状态
Resctrl内核实现(一)CPU状态 resctrl是rdt机制的一个用户态接口,通过对rdt技术进行封装,提供了一套资源分配和监控机制的接口,方便用户进行使用。本文从resctrl的资源分配和监控的角度对内核源码实现进行了分析,参考的kernel版本为4.19.287。 Resctrl下的CPU ......
Resctrl内核实现(三)GROUP的创建
前言 在(一)我们已经清楚了Resctrl中RMID和CLOSID的切换规则是怎样的。 在(二)中对内核中的CLOSID和RMID的分配、释放过程进行了详细解读。 在后续的章节将会对Resctrl文件系统中重要的文件操作触发的内核行为进行解读。本章将对Resctrl中的建组操作进行分析。 rdt g ......
Resctrl内核实现(六)监控事件的记录
Resctrl内核实现(六)监控事件的记录 RDT出了提供资源的分配能力外,还提供了对llc和内存带宽等资源的监控能力,用于系统的争抢检测进行性能优化,在resctrl文件系统中监控的数据放在mon_data目录下。 监控事件的记录 内核代码主要在/arch/x86/kernel/cpu/intel ......
Resctrl内核实现(四)schemata和cpus
前言 在Resctrl中可编程的文件主要有两个,schemata指定资源分配策略,cpus则为cpu绑定default_closid和default_rmid。 修改cpus文件 cpus文件按照所处目录的类型不同有两种操作,当所处目录类型为CTRL-MON group时会调用cpus_ctrl_w ......
Resctrl内核实现(五)在group之间迁移task
Resctrl内核实现(五)在group之间迁移task task的写入会导致task绑定的CLOSID和RMID改变,本文对Resctrl中task的迁移过程进行了分析。 在CTRL-MON group、MON group之间移动task 对tasks的写操作会触发rdtgroup_move_ta ......
工厂方法模式
在阎宏博士的《JAVA与模式》一书中开头是这样描述工厂方法模式的: 工厂方法模式是类的创建模式,又叫做虚拟构造子(Virtual Constructor)模式或者多态性工厂(Polymorphic Factory)模式。 工厂方法模式的用意是定义一个创建产品对象的工厂接口,将实际创建工作推迟到子类中 ......
php 设计模式
1.单例模式 单例模式顾名思义,就是只有一个实例。作为对象的创建模式, 单例模式确保某一个类只有一个实例,而且自行实例化并向整个系统提供这个实例。 单例模式的要点有三个: 一是某个类只能有一个实例; 二是它必须自行创建这个实例; 三是它必须自行向整个系统提供这个实例。 为什么要使用PHP单例模式 1 ......
【RocketMQ】Dledger模式下的日志复制
RocketMQ在开启Dledger时,使用DLedgerCommitLog,其他情况使用的是CommitLog来管理消息的存储。在Dledger模式下,消息写入时Leader节点还需要将消息转发给Follower节点,有过半的节点响应成功,消息才算写入成功。 Leader消息写入 Dledger下 ......
单例模式
一.什么是单例模式保证某个类在程序中只存在一份实例,而不会创建多个实例,这样就会提高效率。 在单利模式中一般只提供一个getInstance()方法来获取实例对象,不提供setInstance()方法,目的是为了避免再实例化出其他实例对象。 其中单例模式中有两种模式一种是饿汉模式,一种是懒汉模式。 ......
代理设计模式
代理设计模式 定义 为目标对象创建代理对象以提供一种代理机制,让目标对象能控制目标对象的访问,可以在不改变目标对象的情况下为目标对象添加额外的功能。 代理模式分类 静态代理模式 在程序编译器就确定了被代理对象 动态代理模式 在程序运行期才能确定被代理对象(运用反射机制动态地为目标类创建代理类) 代理 ......
中介者模式
中介者模式 中介者模式(Mediator Pattern)是用来降低多个对象和类之间的通信复杂性。这种模式提供了一个中介类,该类通常处理不同类之间的通信,并支持松耦合,使代码易于维护。中介者模式属于行为型模式。 介绍 意图:用一个中介对象来封装一系列的对象交互,中介者使各对象不需要显式地相互引用,从 ......
外观模式
外观模式 外观模式(Facade Pattern)隐藏系统的复杂性,并向客户端提供了一个客户端可以访问系统的接口。这种类型的设计模式属于结构型模式,它向现有的系统添加一个接口,来隐藏系统的复杂性。 这种模式涉及到一个单一的类,该类提供了客户端请求的简化方法和对现有系统类方法的委托调用。 介绍 意图: ......
单例模式
单例模式 单例模式(Singleton Pattern)是 Java 中最简单的设计模式之一。这种类型的设计模式属于创建型模式,它提供了一种创建对象的最佳方式。 这种模式涉及到一个单一的类,该类负责创建自己的对象,同时确保只有单个对象被创建。这个类提供了一种访问其唯一的对象的方式,可以直接访问,不需 ......
前端设计模式:工厂模式(Factory)
工厂是干什么的?工厂是生产标准规格的商品的地方,建好工厂,投入原料(参数),产出特定规格的产品。so,工厂模式就是把对象的创建 —— new() 封装起来,在工厂里实现对象的创建(商品的生产)。这样做的好处是用来解耦,解耦对象的消费(使用)和创建(实现),面向抽象编程 ......
适配器模式
适配器模式的优缺点 优点:1. 兼容性:适配器模式能够使不兼容的接口协同工作,提供了一种兼容性解决方案。2. 重用性:通过适配器,可以重用已有的类,而无需修改源代码。3. 灵活性:适配器模式可以在不影响现有代码的情况下引入新的类,从而增加系统的灵活性。4. 解耦性:适配器模式将客户端与目标类解耦,客 ......
SQLServer数据库三种恢复模式:简单恢复模式、完整恢复模式和大容量日志恢复模式介绍
SQL Server数据库三种恢复模式:简单恢复模式、完整恢复模式和大容量日志恢复模式介绍 1.Simple 简单恢复模式, Simple模式的旧称叫”Checkpoint with truncate log“,其实这个名字更形象,在Simple模式下,SQL Server会在每次checkpoin ......
PostgreSQL 的模式匹配与正则表达式
一、PostgreSQL 实现模式匹配的方法 LIKE SIMILAR TO POSIX 风格的正则表达式 模式匹配函数 substring 二、LIKE 操作符 只有在匹配整个字符串时返回真 符号描述 % 任意0个或任意个字符 _ 任意一个字符 \% % \_ _ postgres=# selec ......
appium+python单例模式
Python类的单例模式实现。如果类DriverConfigure的实例不存在,那么就创建一个新的实例。这个新的实例会加载一个配置文件,并使用这个配置文件来初始化webdriver的远程驱动。 # driver_configure.py # coding:utf-8 __author__ = 'ma ......
工厂模式
工厂模式顾名思义,工厂就是用来统一创建产品的。我们的工厂根据产品是具体产品还是工厂可以分为简单工厂模式和工厂方法模式,根据抽象程度可以分为工厂方法模式和抽象工厂模式。工厂模式的核心本质是: 实例化对象不使用new,用工厂方法替代 将选择实现类,创建对象统一管理和控制。从而将调用者跟我们的实现类解耦。 ......
Linux 内核 --- 为什么在中断里不能 sleep
明确问题 首先,让我们明确一下问题。 对于这个问题,稍微准确一点的问法是:为什么在 Linux 的中断里,不能 sleep? 但是这个问法仍然不准确。 中断 (interrupt) 和中断服务程序 (interrupt service routine, ISR,或者是 interrupt handl ......
设计模式之工厂模式
工厂模式是一种创建型设计模式,它提供了一个用于创建对象的接口,但允许子类决定实例化哪个类。工厂方法让一个类的实例化延迟到其子类。这种类型的设计模式属于创建型模式,它提供了一种创建对象的最佳方式。 在软件开发中,对象的创建和使用是常见的操作。然而,对象的创建过程常常会涉及到复杂的逻辑和多变的需求。为了 ......
pig4cloud框架系列三:密码模式换取token(登录认证)
1,通过apiFox或者postMan模拟调用接口,使用密码模式获取token 2,首先代码会先来到ProviderManager类的authenticate方法,也就是登录认证的入口 3,先到AuthenticationProvider接口,然后到AbstractUserDetailsAuthen ......
Spring中Bean的六大行为模式
一、singleton:单例模式(默认) singleton是Bean在Spring中默认的行为,这个默认的行为模式就是说一个类只有一个Bean对象,所有的用户都使用的同一个对象,如果有一个用户对这个对象进行了修改,那么所有的结果都会发生改变。 如:这样一个User类: package com.de ......
FreeRTOS在Cortex-M系列内核中遇到的关于系统滴答中断的问题
众所周知,在Cortex-M内核中,系统节拍由Systick时钟提供,当配置好系统滴答时钟后,每次时钟中断就会触发中断处理函数 xPortSysTickHandler(), void xPortSysTickHandler( void ) { /* The SysTick runs at the l ......
FreeRTOS在Cortex-M系列内核中遇到的关于系统滴答中断的问题
众所周知,在Cortex-M内核中,系统节拍由Systick时钟提供,当配置好系统滴答时钟后,每次时钟中断就会触发中断处理函数 xPortSysTickHandler(), void xPortSysTickHandler( void ) { /* The SysTick runs at the l ......
观察者模式
观察者模式 案例引入 要求 气象站案例要求 1.气象站,可以将每天测量到的湿度,温度,气压等气象信息以公告的形式发布出去(发布到自己的网站或者第三方平台)。 2.需要设计开发新的api,便于其他第三方也能接入气象站的数据。 3.提供温度,气压,湿度的接口。 4.策略的数据更新后,实时的通知第三方。 ......
Flutter/Dart第10天:Dart高级特性Pattern模式的全部类型(共15种)
Pattern模式是Dart 3.0发布的3个高级特性之一,在第09天我们学习了模式的概览和用法,对模式的强大之处有了基本的认识,今天我们来看看Dart中的全部模式类型,总共有15种,它们包括逻辑或、逻辑与、关系、值转换、空检测、空断言、常量、变量、标识符、括号、List列表、Map映射、Recor... ......
go语言ent教程:开启debug调试模式
背景:ent模式是没有开启debug模式的 开启ent的调试模式有2种方法: 一、通过配置选项开启 client, err := ent.Open("mysql", "root:dev@123456@tcp(localhost:3306)/test?parseTime=True", ent.Debu ......
软件设计模式系列之二十五——访问者模式
访问者模式(Visitor Pattern)是一种强大的行为型设计模式,它允许你在不改变被访问对象的类的前提下,定义新的操作和行为。本文将详细介绍访问者模式,包括其定义、举例说明、结构、实现步骤、Java代码实现、典型应用场景、优缺点、类似模式以及最后的小结。 ......