数据库系统
推荐网课:【【自用】数据库系统概论学习】 网课教材:数据库系统概述本校课程教材:Database System Concepts 6th Edition
考试相关SQL占比多一点,DMBS少一点
数据,数据库,数据库管理系统,数据库系统
数据:描述事物的符号记录
数据库:按照数据结构来组织、存储和管理数据的仓库
其中数据的三个特点:永久存储,有组织,可共享
数据库管理系统:数据库系统的核心,是一种操纵和管理数据库的软件
数据库系统:由数据库和数据库管理系统组成的集合数据库管理系统 DBMS
数据定义功能
数据组织、存储和管理功能
数据操纵功能
数据库的事务管理和运行管理
数据库的建立和维护功能数据库系统数据库系统一般由数据库、数据库管理系统(及其开发工具) 、应用系统、数据库管理员等组成。
GPTs:学习数据库理论知识是一个非常有益且丰富的过程,因为数据库是现代计算机系统中不可或缺的一部分。为了开始学习数据库理论,我们可以从几个关键的概念和步骤入手。我们将逐步深入每个概念,并使用类比来帮助理解。
第一步:理解基本概念
数据库(Database)数据库就像一个组织良好的数字化 ...
软件体系架构
作业四种风格解决N皇后问题1. 管道-过滤器风格
问题分解为多个子问题,每个子问题由一个过滤器解决
过滤器之间通过管道连接,每个过滤器处理一个子问题
适用于问题可以分解为多个独立子问题的场景
优点:易于理解、易于扩展
缺点:性能较差,过滤器之间的通信开销较大2. 调用-返回风格
3. 回溯法4. 黑板风格relating Structures to Each Other
【CMU 15-445】数据库系统
课程:【CMU 15-445】数据库系统课本:Database System Concepts, 7th Edition, by Silberschatz, Korth, and Sudarshan
Chapter 1
A database-management system (DBMS) consists of a collection of interrelated data and a collection of programs to access those data. The data describe one particular enterprise
ACID 是数据库管理系统(DBMS)中事务处理的四个关键属性的首字母缩写,分别代表原子性(Atomicity)、一致性(Consistency)、隔离性(Isolation)和持久性(Durability)。这些属性确保了数据库事务的可靠性和数据的完整性。原子性(Atomicity):原子性确保事务中的所有操作要么全部完成,要么全部不完成。换句话说,事务是不可分割的最小工作单元。如果事务中的任何一个操作失败,整个事务 ...
SIG-MAIN周会分享_0815
Netlink 协议和 uevent 机制的作用原理与设计实现解析
Mentioned issue:#653: sysfs 支持 uevent
主要工作目录:
kernel/src/driver/base/uevent
kernel/src/net/socket/netlink
uevent 机制
关联:设备驱动模型
uevent( user space event)是 内核与用户空间的一种基于netlink机制通信机制,主要用于设备驱动模型,常用于设备的热插拔。
uevent 是 kobject 的一部分,用于在 kobject 状态发生改变时,例如增加、移除等,通知用户空间程序。用户空间程序收到这样的事件后,会做相应的处理。
例如:U盘插入后,USB相关的驱动软件会动态创建用于表示该U盘的device结构(相应的也包括其中的kobject),并告知用户空间程序,为该U盘动态的创建/dev/目录下的设备节点;更进一步,可以通知其它的应用程序,将该U盘设备mount到系统中,从而动态的支持该设备。
Uevent 是通过 Netlink 套接字发送的一些特殊格式的字符串 ...
关于TLS证书
HTTPS、TLS/SSL的基本概念HTTPS(HyperText Transfer Protocol Secure)是HTTP协议的安全版。它通过加密来确保数据在客户端和服务器之间传输时不会被窃取或篡改。TLS/SSL是用于实现HTTPS的加密协议。SSL(Secure Sockets Layer)是最早的版本,后来被TLS(Transport Layer Security)取代,后者更安全和现代化。
证书与密钥的基本原理在HTTPS中,有两个核心概念:公钥加密和证书。
公钥加密:类比:想象你有一个密码箱,这个箱子有两把钥匙:公钥和私钥。公钥像是只负责锁上箱子的钥匙,任何人都可以得到一把公钥来锁上你的箱子,但只有你持有的那把私钥可以打开这个箱子。在HTTPS中,公钥用来加密数据,而私钥用来解密数据。
证书:类比:假设你去某个银行开设账户(比如申请一个公钥),银行会给你一个带有公章的证明文件,这证明你确实是你,并且你申请的账户(公钥)确实属于你。这个证明文件在HTTPS中就是证书。证书由证书颁发机构(CA,Certificate Authority)签发,它可以验证你的公钥确实属于你, ...
Sig-Main例会会议记录
Sig-Main例会会议记录第一次会议 0801blocklayerspeaker:谢润霖开发目的:
支持多类型磁盘设备共存
为 I/O 调度提供统一的接口核心数据结构:
对单个块 I/O 设备的抽象-bio
请求优化后,即将发往设备的请求-request
全局请求队列-request_queue
主要流程
进程通过系统调用发起I/0操作并阻塞
文件系统将进程谐求转换为bio,将其发送到全局请求队列中
向全局请求队列添加bio将会触发调度,调度程序将新增的bio转换为request,或者将其与队列中的reqeust合并
全局请求队列被定时器timeout触发,向硬件队列发送队列中的请求,然后将已发送的请求缓存在辅助队列中5. 硬件队列中的请求将被驱动程序拉取处理,并通过请求中的状态位储存处理的结果
值守线程定期轮询辅助队列,唤醒已完成请求对应的线程预期施工地点:kernel/src/driver/blockkernel/src/disk/ahci
kprobe 设计与实现 讨论speaker:陈林峰
内核追踪机制Linux存在众多 tracing tools,比如 ftrace ...
八股文
线程池线程池的工作机制线程池的工作机制通常包括以下几个步骤:
提交任务:当有新任务提交到线程池时,线程池会首先检查核心线程是否有空闲,如果有空闲核心线程,则直接交给核心线程执行。
等待队列:如果核心线程都在忙碌,线程池会将新任务放入等待队列中。
创建新线程:如果等待队列已满,且线程池中的线程数还没有达到最大线程数,线程池会创建新的线程来处理任务。
拒绝策略:如果线程池中的线程数已经达到最大线程数,并且等待队列也已满,线程池会根据预设的拒绝策略来处理新任务,例如抛出异常、丢弃任务或调用自定义的处理逻辑。常见问题
Q:线程池的核心线程数用完了之后为什么不是直接打到最大线程,而是先进入等待队列?
A:
资源管理:
创建和销毁线程是有开销的,频繁地创建和销毁线程会消耗系统资源。通过使用等待队列,可以减少线程的频繁创建和销毁,节省资源。
提高效率:
核心线程数是线程池在正常情况下保持的线程数量,这些线程通常是长期存活的。通过先将任务放入等待队列,可以充分利用现有的核心线程,提高线程的利用率。
避免过载:
如果任务直接创建新的线程,可能会导致系统在短时间内创建大量线程,增加系统负担 ...
LLM+ 应用开发学习经验记录
LLM+ 申论微调大模型数据准备
申论数据集,包括申论题目和申论答案申论题型申论大纲训练集准备格式:prompt + completion测试集准备mi-gpt