内核 模式

通过IOCTL 进行内核态与用户态交互

#include <linux/init.h> #include <linux/printk.h> #include <linux/module.h> #include <linux/miscdevice.h> #include <linux/fs.h> #include <asm/uaccess. ......
内核 用户 IOCTL

FlashDuty Changelog 2023-09-07 | 新增深色模式与主题配置

FlashDuty:一站式告警响应平台,前往此地址免费体验! FlashDuty 现在已经全面支持了深色模式,这为您提供了更柔和的光线和舒适的界面外观。并且,您可以根据自己的喜好和使用环境动态切换深色和浅色模式与主题,提高使用体验的个性化和灵活性。 深色模式效果预览 为了确保在深色模式下能够呈现出更 ......
深色 FlashDuty Changelog 模式 主题

Linux----内核运行

内核运行的过程 启动阶段: 当计算机启动时,通常从硬盘、固态硬盘或其他存储设备中加载引导加载程序(Boot Loader)的第一部分。这个引导加载程序负责加载操作系统内核。 加载内核: 引导加载程序会从存储设备中加载操作系统内核的镜像文件,通常是一个称为vmlinuxz或bzImage的文件。这个内 ......
内核 Linux

在 .NET 中使用策略模式优化业务逻辑

随着业务逻辑的复杂度增加,我们经常需要处理一系列相似但具有不同细节的操作。在这种情况下,策略模式可以帮助我们优化代码结构,提高可扩展性和可维护性。本文将介绍如何在 .NET 应用程序中实现策略模式。 场景 假设我们有一个电商系统,系统需要根据不同的会员等级计算折扣。会员分为普通会员、银卡会员和金卡会 ......
逻辑 策略 模式 业务 NET

Uboot到底如何启动内核

原文:https://blog.51cto.com/weidongshan/6611537 1.uboot启动内核的代码缩减如下: Uboot 1.16/lib_arm/board.c中start_armboot()函数调用/common/main.c中main_loop()函数,在main_loo ......
内核 Uboot

Linux内核Makefile系统文件详解

Makefile Linux内核的Makefile系统非常复杂,因为内核包含了许多不同的配置选项、架构和模块。以下是Linux内核Makefile系统中一些重要的文件和目录,以及它的作用。 顶层Makefile(Makefile) 顶层Makefile是整个内核编译过程的入口点 它包含了全局选置选项 ......
内核 Makefile 文件 系统 Linux

实模式和保护模式

读源码时应该注意的事项 在第一遍阅读源码时,已弄懂整体流程为主,至于具体的实现细节先简单的理清处过一遍,不用过于纠结。 当梳理清楚全部的框架逻辑后,第二遍再深入的学习研究各个模块的实现,此时应该解决第一遍中的疑惑。 第三遍可以跳出代码的实现,来看Linux的设计思路、编程艺术和演进之路。 实模式 x ......
模式

设计模式-享元模式

享元模式 模式定义 运用共享技术有效的支持大量颗粒度的对象 模式动机 如果一个应用使用了大量的对象,而大量的对象造成了很大的存储开销时就应该考虑使用 当对象的大多数状态为外部状态,如果删除对象的外部状态,那么可以用相对较少的共享内存对象取代很多组对象,此时可以考虑使用享元模式。 UML 类图 优缺点 ......
模式 设计模式

软件设计模式系列之十四——代理模式

代理模式是一种结构型设计模式,它允许一个对象(代理)充当另一个对象的接口,以控制对该对象的访问。代理模式通常用于控制对真实对象的访问,以实现一些额外的功能,例如延迟加载、权限控制、日志记录等。这种模式属于结构型设计模式,因为它关注对象之间的组合,以形成更大的结构。 ......
模式 设计模式 软件

工厂方法模式

工厂方法模式 总体代码 //MySpider.h #pragmaMySpider.h once #include <memory> using namespace std; class MySpider { public: virtual void Crawl() = 0; }; class MyS ......
工厂 模式 方法

单例模式(正式)

当需要严格控制一个类在全局只有唯一一个实例,并且可以随时调用它的时候,就可以使用单例模式。 单例模式可以以实例化时间分为懒汉式和饿汉式、以C实现方式分为C++98的实现以及C++11的实现。 懒汉式 c++11 class Singleton { public: static Singleton* ......
模式

04步:编译Linux内核镜像

原文:https://www.zhaixue.cc/qemu/qemu-build_kernel.html Linux内核源码可以从官网下载(www.kernel.org),也可以从国内的镜像服务器下载,下载速度更快。国内镜像下载地址: https://mirrors.tuna.tsinghua.e ......
内核 镜像 Linux

设计模式概述

为什么需要设计模式 促进代码重用,应对需求和系统的变化 面向对象设计模式 面向对象的三大机制:封装、继承和多态 代码隔离:对新增的代码采取新增类的方式实现,对类的继承不需要修改甚至可能不需要重新编译原有的类。 在一个基本的爬虫类中,都会有一个不变的流程,也就是发送请求,匹配数据,写入文件。这三个步骤 ......
设计模式 模式

Linux内核裁剪移植

目录前奏内核移植步骤制作可引导的Linux ISO文件对新机器配置网络 前奏 rambo@debian:~$ cat /etc/issue Debian GNU/Linux 12 \n \l rambo@debian:~$ free -h total used free shared buff/ca ......
内核 Linux

建造者模式

建造者模式 动机 将一个复杂对象的创建过程及其表示分离,同一个创建过程可以创建不同的表示 当需要创建一个包含多个部分或配置选项的复杂对象,并且需要将构建过程与表示分离时,建造者模式很有用 帮助你灵活地构建不同配置的对象,同时保持构建过程的清晰性和可维护性 经典Builder模式 以一个构建 comp ......
模式

工厂模式(正式)

抽象工厂模式及示例 模式的动机 提供一种接口,用于创建一系列相关或相互依赖的对象 抽象工厂模式通过引入抽象工厂接口,允许客户端代码通过工厂接口创建产品,而不需要关心具体的产品类; 使得客户端代码可以与特定产品的具体类解耦,实现了抽象和实现的分离 模式的实现 抽象的工厂和抽象的类,扩展的整体风格 抽象 ......
工厂 模式

crash —— 获取内核地址布局、页大小、以及栈布局

crash> mach MACHINE TYPE: x86_64 MEMORY SIZE: 766.5 GB CPUS: 96 PROCESSOR SPEED: 2200 Mhz HZ: 250 PAGE SIZE: 4096 KERNEL VIRTUAL BASE: ffff88800000000 ......
布局 内核 大小 地址 crash

代理模式

工作场景:让用户根据接口查询系统各资源占用率 优化用户性能 传统代码: 传统代码 //main.cpp #include <iostream> #include "ServerInfoGetter.h" #include <chrono> #include <thread> int main() { ......
模式

crash —— 内核符号和地址直接相互转换

通过sym可以将内核地址转换成内核符号,或者将内核符号转换成内核地址。 根据地址转换为符号 函数地址 crash> sym ffffffff8166f300 ffffffff8166f300 (T) blk_update_request+16 /home/pengdl/x86_64/linux-6. ......
内核 符号 地址 crash

crash —— 获取所有内核符号

查看所有的内核符号以及地址 crash> sym -l 0 (D) __per_cpu_start 0 (D) irq_stack_union 4000 (D) cpu_debug_store 5000 (D) cpu_tss_rw 8000 (D) gdt_page 9000 (d) except ......
内核 符号 crash

Redis搭建哨兵模式架构

使用Docker安装 因为配置太复杂,所以这里我们使用 docker compose 来一键部署 不使用内部网络搭建 编写redis主从docker-compose.yml version: '3' services: master: image: redis container_name: red ......
哨兵 架构 模式 Redis

工厂模式

工作场景:编写一个给用户发送短信的程序 传统写法 #include <stdio.h> #include <string> enum NotifMessageType { WUDI, FEITIAN }; class NotifMessage { public: int sendMessage(lo ......
工厂 模式

rabbitmq集群搭建-镜像模式

rabbitmq简介 RabbitMQ 采用 Erlang 语言开发,Erlang 语言由 Ericson 设计,Erlang 在分布式编程和故障恢复方面表现出色,电信领域被广泛使用。 Broker: 接收和分发消息的应用,RabbitMQ Server 就是Message Broker,一个Bro ......
集群 rabbitmq 镜像 模式

浏览器内核和js引擎

浏览器内核是什么? 简而言之,浏览器内核就是把我们编写的代码转换为页面的中控件。虽然现在大家谈起浏览器内核时,多指代渲染引擎(Rendering engine 或 layout engineer)。但其实浏览器内核包括了两部分,渲染引擎和JS引擎,只是后来JS引擎用的越来越多所以就单独的把JS引擎拿 ......
内核 浏览器 引擎

crash —— 查看内核配置

在编译内核时如果配置了CONFIG_IKCONFIG,那么内核配置文件会被内嵌到内核中,那么可以通过crash工具将其输出出来。 crash> sys config # # Automatically generated file; DO NOT EDIT. # Linux/x86 4.18.0 K ......
内核 crash

软件设计模式系列之十三——享元模式

享元模式(Flyweight Pattern)是一种结构型设计模式,它旨在减少内存占用或计算开销,通过共享大量细粒度对象来提高系统的性能。这种模式适用于存在大量相似对象实例,但它们的状态可以外部化(extrinsic),并且可以在多个对象之间共享的情况。 ......
模式 设计模式 软件

生产环境跑火车模式发版问题

生产环境跑火车模式回头看问题讨论会议 会议时间:2023-07-12 15:00-16:15 会议地点:小会议室 会议参加人员:刘建成、张长远、谢志飞、李彦、郭红雷 会议主题:生产环境跑火车模式下发布的问题讨论 议题:针对运维总结的问题进行讨论; 给出解决方案和解决时间。 会议结论: 序号 发版问题 ......
火车 模式 环境 问题

关于一些《软件设计模式》的一些基础笔记

![](https://img2023.cnblogs.com/blog/2808014/202309/2808014-20230923135511509-1063314289.jpg) ![](https://img2023.cnblogs.com/blog/2808014/202309/2808... ......
设计模式 模式 基础 笔记 软件

观察者模式在事件驱动中的运用

title: 观察者模式在事件驱动中的运用 categories: - Java tags: - 设计模式 abbrlink: 53cb85e5 date: 2023-03-02 15:06:28 在面对一些较为复杂的业务时,合理的使用事件驱动设计,能够帮助我们对主业务逻辑和分支业务逻辑进行解耦,更 ......
观察者 模式 事件

设计模式之单例模式

单例模式简介 单例模式是一种设计模式,用于确保一个类只有一个实例,并提供全局访问点以获取该实例。它是一种创建型模式,通常用于需要严格控制某个类的实例数量的情况。单例模式确保一个类在整个应用程序生命周期中只有一个实例,因此可以节省系统资源,同时提供了一个集中的访问点,以便在需要时获取该实例。 以下是单 ......
模式 设计模式