大战前的初始化工作[linux源码趣读] 引入在上一回中,跳转到操作系统的骨架代码main.c中的main方法了, 数一数看,总共也就 20 几行代码。但这的确是操作系统启动流程的全部秘密了 1234567891011121314151617181920212223242526272829303132333435363738void main(void) { // 一些参数的取值和计算。包括根设备 ROOT_DEV,之前在 2023-07-01 计算机基础 > 操作系统 > linux源码趣读 #操作系统 #linux
进入内核前的苦力活[linux源码趣读] 总体 加载代码 pc指针初始指向0xFFFF0(ROM) 代表BIOS的地址 加载硬盘第一扇区代码(bootsetct)到0x7c00 复制到0x90000 跳转到go代码,设置好cs ds ss sp 把全部os代码搬入内存(setup.s 2~5; head.s 240扇区),至此bootsect.s使命完成 setup.s 使用int 指令初始化光标、内存、显卡、磁盘等信息放到boot 2023-06-23 计算机基础 > 操作系统 > linux源码趣读 #操作系统 #linux
simple-db simple-dbcode:Goinggoinggoing/simple-db-hw-2021 (github.com) 基于java语言,实现一个简易事务支持的关系型数据库 难度:lab4 = lab5 > lab6 >>>>>> lab3 > lab2 > lab1 lab1 实现基本的数据结构tuple, page 2023-06-20 项目 #java项目 #数据库
设计模式 SOLID 单一职责原则(Single Responsibility Principle,SRP):一个类只负责单一的功能,避免一个类承担过多的职责,从而提高代码的可维护性。 开放封闭原则(Open Closed Principle,OCP):软件实体应该对扩展开放,对修改关闭,也就是说,应该通过增加代码而不是修改代码来扩展软件功能,从而提高代码的可维护性和扩展性。 里氏替换原则(Liskov S 2023-06-15 系统架构 #开发 #设计模式
java并发 效率提升: 异步,防止阻塞IO 充分发挥多核CPU Java 线程线程创建 重写thread的run方法 创建runnable 抽象出来任务 FutureTask 带返回值 线程间通信 核心Thread是创建一个线程,其中run方法或者Runnable只是代表具体的任务。如果main线程中调用Runnable.run该任务就是main执行的 extends Thread 并重写run方法, 2023-06-12 java #java #并发
算法基础 0.特殊leetcode 10^7^ 1234567891011121314151617181920n<=12 n!n<=30 2^n dfs+剪枝100~300 n^3 floyd10^3 n^2 dp dij 二分 10^4 n*根号n 块状链表10^5~ 2023-05-26 算法 #算法
图网络入门 https://distill.pub/2021/gnn-intro/ 图的矩阵表示 邻接矩阵 邻接表:稀疏性 聚合操作:实现层间的信息传递 层内:池化 层间:GCN邻域聚合、考虑邻接节点的权重(attention) 先采样再聚合 什么数据会用图表示 图数据有什么特点区别,构建一个GNN,提供一个GNN playground 图表示顶点、边、全局 用向量来表示。内部有信息,通过 2023-05-26 DL > GNN #GNN
动手学深度学习NLP https://zh-v2.d2l.ai/chapter_convolutional-modern/googlenet.html 课程安排 - 动手学深度学习课程 (d2l.ai) Base时序模型当前数据与之前数据相关 音乐、语言、文本 与前面所有有关: 对过去的数据建模,然后预测自己:自回归模型 A:马可夫模型:当前数据只与最近数据相关;用函数前4个值作为特征,预测下一个值,2层MLP nn 2023-05-23 DL > 动手学深度学习 #NLP
操作系统 - jyy 有什么不懂的直接问gpt 什么是程序 00 01 10 00 01 10 源代码角度同时我们也可以用C语言实现 状态:内存中的所有东西,全部栈帧 使用栈模拟递归 二进制角度 状态:内存 + 寄存器 初始状态: 迁移:一条01指令 任何的程序都需要退出,也就是结束。因此需要特别的指令 syscall 把现在的状态交给操作系统 程序 = 普通计算 + syscall 实现与操 2023-05-14 计算机基础 > 408 #计算机基础
穿越计算机的迷雾 bit入门如何用电来表达一个数字: 1v为1 、2v为2… 但难以计算到底是几v 开关,0代表无 1代表有。二进制 如何对二进制实现加法 对于每一位 两个输入一个进位 一个输出一个进位 多位串联起来 低位的进位传递给高位 电与磁电能生磁,通过电流通断规律控制衔铁臂上下运动画出莫尔斯电报 距离太远?继电器实现不同回路的继电 磁生电,线圈切割磁感线产生电流:话筒 声波-> 2023-05-12 读书 #计算机体系结构