摘要:
Core Idea: 对于 GC 主要有两种方式,reference count 和 mark and sweep。这片文章主要讨论了如何高效的进行 mark and sweep 过程。 Mark and sweep 思想是先遍历所有的 chunk,然后对于 GC 之后不再需要的 chunk 进行标 阅读全文
摘要:
本书主要讨论三个问题:可靠性(Reliability),可扩展性(Scalability),可维护性(Maintainability)。 可靠性:系统在处于困境状态下,仍然可以正常工作 可扩展性:系统面对数据量、复杂性上升之后的进一步拓展 可维护性:许多不同的人在不同时间段对于系统可以高效进行维护。 阅读全文
摘要:
一般情况下,挖矿病毒都是自动扫描+自动挂马生成的,并不会是有专人进行攻击,所以也比较好清除,注意清除之后需要 check 有无后门。 最重要几点(也可能是被hack的原因):禁止 ROOT 用户登陆,ROOT 不能使用弱密码,FRP 需要配置,不能使用默认选项。 挖矿进程占用的 CPU 资源比较大, 阅读全文
摘要:
Go 语言的针对错误处理机制,提供了三个关键字 defer,panic 和 recover。同传统的 语句不同,defer 的出现,不需要层层进行 的嵌套。 defer 语句的作用是保证 defer 内的语句在最后执行,哪怕程序运行错误,defer 语句还是会执行后然后结束程序。类似于程序运行完之后 阅读全文
摘要:
接口是 CS 中非常重要的一个概念,可以让我们把系统进行划分,不同层次之间可以做到互不相通。上层的模块和下层的模块之间只依赖一个接口,做到互不侵犯。 Go 接口是隐式的接口,对于某个类而言,其不用显示的声明实现了某个接口,只要实现了接口声明的方法,那么就默认这个类实现了这个接口。 Go 里面判断接口 阅读全文
摘要:
主要讨论的是单核 CPU 的情况下,进行调度的一些算法和思路。讨论都是基于单核 CPU 的条件下进行。 在内存中,无论对于用户而言有多少个进程,但在 CPU 运行的时候,总是只有只执行一个进程。进程调度的方式有很多,传统的算法有 FIFO,SJF(shortest job first),多级队列反馈 阅读全文
摘要:
一般的操作系统如果想要 spwan 一个进程,一般会经过几个步骤,先在新的地址空间中创建进程,然后读入可执行文件,最后开始执行这个可执行文件。Linux 下,这几个阶段分别由两个函数独立完成,fork() 负责创建一个子进程。exec() 则负责读入可执行文件并开始运行。 fork() 的作用就进行 阅读全文
摘要:
先放几个讲 GDB 调试的演讲,外国的技术演讲都非常的干活,直接上代码,现场教学那种。都是在 CppCon 这个技术会议上的演讲内容,唯一不足的就是可能对听力有点考验 233333 https://www.youtube.com/watch?v=V1t6faOKjuQ https://www.you 阅读全文
摘要:
本文不是想具体的探讨 lambda 演算相关的问题。 思路来源:吃饭的路上突然讨论到了 lambda 演算和 Python 中的 lambda expression,我也突然懵逼 Python 中的 lambda expression 是不是 lambda 演算中的相关概念。 先给出结论:Pytho 阅读全文
摘要:
这周不要脸的和老板一起去了 ChinaSys,可以说整个中国搞系统最nb的一批人的学术交流了。一圈报告听下来, 有几点心得,不多,可能也没有那么深刻。 系统领域的开源框架并不多 搞系统和搞AI,搞算法不同,搞系统不仅需要一个好的 Idea,更看重能否实现出来。之前在接触 AI 时,常常说别人的数据同 阅读全文