• 2025-01-08MIT6.S081
    MIT6.S081笔记-14.0文件系统一、初见我们每天无时无刻都在接触文件系统,但是我们不知道文件系统什么原理,他是怎么实现的,就像亲密的朋友,一些东西总是觉得是自然而然的,没有剖析他的底层。文件系统的特点:文件目录的层级结构随意更改文件名持久化文件系统背后机制:文件系统
  • 2024-12-11一种解决问题的方法
    今天,朋友说他的redmine服务器崩了。俺就想起了一段往事。很多很多年前,俺负责测试。当时公司自己开发了一个OnlineHelpDesk系统,用于保存测试到的bug、开放文档等。产品的每个版本发布,必须要bug清零后才可以发布。所以,产品要发布一定要经过俺准许。有一次,有个产品俺们测试出bug
  • 2024-12-11MySQL一些运维命令
    1、数据库连接数数据库查看连接数的方法如下: 使用命令行查看SHOWPROCESSLIST命令:。这个命令会列出所有正在运行的线程,包括用户连接、内部线程等信息。例如,它会显示每个连接的Id(线程ID)、User(用户)、Host(来源主机)、db(连接的数据库)、Command(执行的命令类型,如Sleep、Query等)
  • 2024-12-07jdbc(3)
    1.抽象一个dao的父类。根据我们之前操作数据库表时,封装了很多的dao类,这些dao类他们具有很多相同的代码。如果我们反复写这些重复的代码相对比较麻烦。我们学过继承,是否可以把这些dao类的公共代码抽取到父类中,然后子类继承该父类。publicclassBaseDao{protectedPre
  • 2024-12-03【恐怖の算法】 扫描线
    【恐怖の算法】扫描线引入扫描线一般运用在图形上面,它和它的字面意思十分相似,就是一条线在整个图上扫来扫去,它一般被用来解决图形面积,周长,以及二维数点等问题。二维矩形面积并问题在二维坐标系上,给出多个矩形的左下以及右上坐标,求出所有矩形构成的图形的面积。过程根据图片
  • 2024-12-02蒙特-霍尔悖论其实一句话就能解释清楚!!!
    蒙蒂-霍尔问题蒙蒂-霍尔问题是一个著名的概率谜题,它发生在一个游戏节目。假设你正在参加一个游戏节目,节目中有三扇门:一扇门后面有一辆汽车(奖品),另外两扇门后面有山羊。你选择了一扇门(比方说1号门),但没有打开。主持人蒙特-霍尔(MontyHall)知道每扇门后面有什么,他打开了另一扇门
  • 2024-12-02数据库优化方案
    数据库优化方案1.对查询进行优化,要尽量避免全表扫描,首先应考虑在where及orderby涉及的列上建立索引。2.应尽量避免在where子句中对字段进行null值判断,否则将导致引擎放弃使用索引而进行全表扫描,如:selectidfromtwherenumisnull最好不要给数据库留NULL,尽可能的
  • 2024-11-28jvm-44-jvm 内存性能分析工具 Eclipse Memory Analyzer Tool (MAT) / 内存分析器 (MAT)
    拓展阅读JVMFULLGC生产问题I-多线程通用实现JVMFULLGC生产问题II-如何定位内存泄露?线程通用实现JVMFULLGC生产问题III-多线程执行队列的封装实现,进一步抽象jvm-44-jvm内存性能分析工具EclipseMemoryAnalyzerTool(MAT)/内存分析器(MAT)jvm-45-jvmdump
  • 2024-11-27selenium cookie 登录 转载 from:https://www.cnblogs.com/CYHISTW/p/11685846.html
    seleniumcookie登录 前言爬虫方向的小伙伴们都知道网页爬虫经常遇到的问题就是登录账户,有些简单的网站我们可以简单的sendkey来输入账户密码就可以登录,但是有很多网站需要验证码之类的就不太好用了,这时候就体现到了cookie登录的优点了,前段时间网上搜了搜,发现没有什么完整
  • 2024-11-26泵/阀门行业的6款主流ERP/MES/PLM软件和部署顺序
    泵/阀门企业数字化转型中的工业软件选择在泵阀企业数字化转型的过程中,PLM、ERP、MES系统扮演着至关重要的角色。PLM(产品生命周期管理)主要负责管理产品从设计到退市的全生命周期数据,对于非标设计需求频繁的泵阀企业来说,PLM能够确保设计数据的准确性和一致性,减少重复工作,提高
  • 2024-06-04MIT6.S081 Lab1
    写在开头6.S081/2021/Fall当刚开始做这个实验的时候,我好像又陷入了一个误区,在实现Sleep的时候,我想了解Sleep到底是怎么完成运行的,浪费了一些时间,也没搞懂。浪费了一段时间之后,我突然意识到:我并不熟悉MakeFile。不熟悉MakeFile,我不可能去理解这个xv6是怎么运行的。并且我的目
  • 2024-04-24MIT6.S081 Lab Traps
    本实验主要是关于如何使用陷阱实现系统调用的。RISC-Vassembly(easy)这个部分主要是回答一些问题。首先我们按照实验的指示,运行下面的命令得到一份容易读懂的汇编和C结合的代码,位于user/call.asm。makefs.imgQuestion1Whichregisterscontainargumentstofuncti
  • 2024-04-24MIT6.S081 Lab lazy page allocation
    本次实验是有关内存页懒分配的。所谓内存页懒分配,在本实验中,指的是在用户进程使用sbrk()系统调用来增加内存中堆的空间时,我们不直接在物理内存中分配相应的页,而是只是记录了分配到了哪些用户地址,在用户页面表中这些地址默认标记为无效。当进程首次尝试使用任何给定页面的懒惰分
  • 2024-04-24MIT6.S081 Lab syscall
    这一个实验的主要内容就是给xv6添加两个系统调用:trace和sysinfo。Usinggdb(easy)这个部分我就不做了……M1的MacbookAir上的gdb太难安装了,所以暂时用不了gdb调试……Systemcalltracing(moderate)Inthisassignmentyouwilladdasystemcalltracingfe
  • 2024-04-24MIT6.S081 Lab Page Tables
    实验开始前的折腾突然发现2023版的和2020版的实验内容其实还不一样……因为我正在看的视频以及参考资料都是基于2020版的课程,因此我还是决定将之前的实验都迁移到2020版的xv6-lab-2020来。在自己的MacbookAir上折腾了好久……还是没能成功。因此还是用上了我在阿
  • 2024-04-23MIT6.S081 - Lab2: system calls
    Lab2:systemcalls预备知识执行一次系统调用的流程:USERMODEstep1:系统调用声明user/user.h:系统调用函数(如intfork(void))step2:ecall进入内核态user/usys.S(该文件由user/usys.pl生成,后续添加函数可以在这里添加):执行如下命令.globalforkfork:lia7,SYS_f
  • 2024-04-20MIT6.S081 - Lecture3: OS Organization and System Calls
    为什么要使用操作系统使用操作系统的主要原因是为了实现CPU多进程分时复用以及内存隔离如果没有操作系统,应用程序会直接与硬件进行交互,这时应用程序会直接使用CPU,比如假设只有一个CPU核,一个应用程序在这个CPU核上运行,但是同时其他程序也需要运行,因为没有操作系统来帮助
  • 2024-04-16MIT6.S081 - Lab1: Xv6 and Unix utilities
    Part1:sleep实验要求与提示可以参考user/echo.c,user/grep.c和user/rm.c文件如果用户忘记传递参数,sleep应该打印一条错误消息命令行参数传递时为字符串,可以使用atoi函数将字符串转为数字使用系统调用sleep,有关实现sleep系统调用的内核代码参考kernel/sysproc.c(
  • 2024-04-15MIT6.S081 - Lecture1: Introduction and Examples
    课程简介课程目标理解操作系统的设计和实现通过XV6操作系统动手实验,可以扩展或改进操作系统操作系统的目标Abstraction:对硬件进行抽象Multiplex:在多个应用程序之间共用硬件资源Isolation:隔离性,程序出现故障时,不同程序之间不能相互干扰Sharing:实现共享,如数据交互或协
  • 2023-09-12xv6 进程切换中的锁:MIT6.s081/6.828 lectrue12:Coordination 以及 Lab6 Thread 心得
    引言这节课和上一节xv6进程切换是一个完整的的进程切换专题,上一节主要讨论进程切换过程中的细节,而这一节主要讨论进程切换过程中锁的使用,所以本节的两大关键词就是"Coordination"(协调)和"lostwakeup"Coordination就是有关出让CPU,直到等待的事件发生再恢复执行。人们发明了很
  • 2023-08-23MIT6.s081/6.828 lectrue07:Page faults 以及 Lab5 心得
    本篇博客主要是复习MIT6.s081/6.828lectrue07:Pagefaults以及记录Lab5:COWfork的心得值得一提的是,2020年之前的版本第5个lab是lazyalloction,但是到了2020年之后就换成了难度稍高一点的COWfork,有兴趣的小伙伴可以把lazyalloction也一起做一做~毕竟这些lab
  • 2023-08-20MIT6.s081/6.828 lectrue5/6:System call entry/exit 以及 Lab4 心得
    这篇博客主要复习lecture05:GDBcallingconentions和lecture06:Systemcallentry/exit的内容,外加Lab4:traps的心得前置知识这里的前置知识是指lecture05:GDBcallingconentions的内容,是由TA来上的,是作为lecture06的前置知识,主要讲解了以下三点内容:指令集架构的概念