我的 2022
时间流的实在是太快了,又是白劳的一年。也不忍回首,也不堪展望。站在年尾的节点,四处都是狼藉。
工作上没有大的建树,生活上没有啥起色。好像什么都不做,也应该是现在这样子。但今年实在太累了,在工作和生活上都投入了巨大的心血,也正因如此,越发感觉到徒劳。
时间流的实在是太快了,又是白劳的一年。也不忍回首,也不堪展望。站在年尾的节点,四处都是狼藉。
工作上没有大的建树,生活上没有啥起色。好像什么都不做,也应该是现在这样子。但今年实在太累了,在工作和生活上都投入了巨大的心血,也正因如此,越发感觉到徒劳。
在两个月前写《三年疫情五味杂陈》的时候,就是要放开了,所以当时想着写一篇,对疫情三年稍作记录,毕竟是一个时代的拐点。
那片文章过后半个月,就开始有放开的动作了,部分城市已经松动,我还给被隔离的小伙伴留言,说赶上了最后一波封控。
只是没想到,这个国家干啥都是一根筋。我以为这么大的人口,怎么也是省级别的逐步放开,没想到是全国一下子放开。赌气呢吧,一下子就放开了。
想起了一个老问题:浏览器按下回车的时候,后续流程是怎么变化的。
这个问题非常精妙,基本上把网络问题一次打包了。
对相关知识面了解越多的人,能说的内容也越多。越资深的人,能说的时间也越长。
我对网络也一直感兴趣,索性这次就做了大图,越做就盘子越大耗时越多,每个点都可以延伸一个举足轻重的行业。
浏览器按下回车键后,发生了太多太多事情,我文字理下图中写不下的重点,详细看下面大图。大图下载地址
update:2022.10.29 昨天听说开始有解封迹象了,今天我收到了运营商发出的 “奥密克戎感染后的身体事项” 的说明短信。能收到这样的短信,就是一叶落知天下秋,看样子是要逐步解封了,应该会在一两年内全部解封。不好的消息是:没有听说 ICU、医疗、特效药、病房有做准备,即使逐渐放开,这些必要的医疗准备工作也要提前半年到一年就要开展起来的。目前看是打算逐渐解封 + 硬扛,要带走不少老年人了。老年人得注意。
COVID-19,从 2019 年可能在 10 - 11 月初步感染人体,到 12 月底被媒体曝光,再到现在,已经 3 年了。
这三年发生了太多太多事情,刻骨铭心的不计其数。我开始以为以前也是有很多很多事情,只是我没有关注。后来想想,或许就是这几年,发生的重大事情比较多。因为疫情和国际局势,中华人民坎坷的这几年。
金字塔的每个层级每个人都受到了很大影响,所有影响最终都会归到生活和金钱,质量总归是下降了不少。
也有很多人说没有受到影响,甚至蒸蒸日上,有些是身不由己,有些是笃信不疑。差异也都能理解,毕竟各种原因,真的是各种原因,不想再去细究,意义不大。
简单回忆下三年疫情,因为不知道什么时候才会结束,就当作是对个人疫情的期中总结。
我应该是最早一批知道武汉有疫情的人,当时只知道有人被感染,还没联想到非典这些传染病。当时有些朦朦胧胧,也有些对未知的恐惧。当时也快过年了,还有不少同学的婚场。
再过了几天,听到疫情严重了不少。已经记不清是在李文亮之前还是之后了。
我和亲人说过年可能回不去了,这次病毒没有媒体报道的那么简单,感染会很严重。过年人流大,火车站这些场所风险比较大。亲人说就是非典一样吧,开车应该好些。最后我们开车回去,老家过了三天赶着高速封路前回到了居住地。我姥姥说这就是古代的 “瘟疫 / 人瘟” 吧,好久没有听到这个词了,但很赞同。
我大学同学的婚礼是过年前段时间。我之前已经答应了我和老婆都会到场了,但是婚礼前我还是和同学说了抱歉,我说肺炎(那是还不叫 covid 或者疫情,只叫做武汉肺炎)不简单,火车站有风险,到场计划得取消了。
之前写有提高效率的手艺和这些年我的软件清单两个推荐,一个用来提高文字编辑的效率,一个推荐了手机和电脑可以安装的一些高效率的软件。
这次推荐一些日常生活的避坑指北。生活还有几十年,掉坑在所难免,所以这篇推荐清单打算做长期更新。
曾经有位老师问过:在 Linux 的 Shell 中运行程序时,操作系统是怎样对程序进行处理的吗?
我当时回复是这样的:操作系统对 Shell 的执行,是靠 Shell 解释器完成的。在操作系统运行后,Shell 解释器本身就加载并运行了。其中如 pwd,cd 这些是内部命令,本质是函数调用,可以直接使用。ls 这些是外部命令,需要 fork 一个新进程执行当前命令。一个 Shell 脚本,有很多个这些内外部命令组成,通过 Shell 解释器逐行解释完毕后执行。Shell 解释器也是一个应用程序,本质是一个 C 程序,不过在该程序中,手动模拟了函数调用栈,和 JVM 有相似之处。所以 Shell 解释器,也有静态库 / 动态库 / 静态链接 / 动态链接这些,为 Shell 命令的执行保障护航。
现在看起来,当时的回复虽然没有大的问题,但还是不够。只是浅表的认知了 Shell 解释器的用途,但是对 Shell 并没有深刻的理解。
最近看到子 Shell (SubShell),发现 Shell 和进程之间的关系非常密切。可以从进程的角度来理解操作系统是怎么运行 Shell 的。
这篇文章的目的,是让你只关心 Shell 脚本的语法,而其他细节,都变成顺理成章。其实各个高级语言也都是这样,语言本身其实并不难,像工具一样使用而已。
一年前写了 “段页内存管理” 的部分章节,后面一直搁置在草稿箱中。最近发现内存相关的知识非常重要,最近几十年科技文明的巅峰,硬件侧就是 CPU,软件侧就围绕着操作系统对内存的控制了。就又整理补齐,形成内存分段分页较完整说明。
硬件 CPU 的不断革新,从 X86 和 ARM 架构的铺天盖地,到 RISC-V 新星崛起和 MIPS 的消退。还有各种流水线优化、APU-ZPU 的推成出新,以及 Apple M1 的展露头脚。虽然 CPU 本身短时间内看不到跨越式的提升,但 CPU 周边是玩出了花。
而已经趋于稳定的操作系统,最近好多年都没有啥惊世骇俗的壮举出现。依托着 CPU 侧的大腿,操作系统躺着进行升级。但换一个角度,也可以认为操作系统已经设计的足够完备,在商业化的时代,有需求就一定会有满足,或许对于当前操作系统来说,目前的设计应对有余。
操作系统的很多设计,都摆脱不了内存这尊大神。首先,操作系统本身和上层应用,就是放在内存里运行的。其次,操作系统的基石进程和线程,就贴着内存进行设计。多核心后的 L0-2 级缓存同步也是为内存定制,当然这个算 CPU 对内存的依赖。IO / 文件系统 / 网络也都离不开内存的影子。
内存本身的制作工艺门槛不高,有 N 多厂商做这个事情。但内存在科技长河中的位置,绝对举足轻重。整个计算机的发展史,内存表现不多,但是中流砥柱。
本文可以顺带解决如下几个问题:
推荐书:《汇编语言》- 王爽、《程序员的自我修养 - 链接装载与库》- 俞甲子
推荐网文:《深入浅出计算机组成原理》- 徐文浩、《操作系统实战》-LMOS、
一定要读的另一篇内存文章:锁 - 共享数据安全指↑
内存相关的知识非常重要,需要很大篇幅和示例图来阐述。在锁 - 共享数据安全指↑中文字数超过了 4W,本文的文字数也超过了 1W,均需要多张配图。重要性和难理解程度,都很高。
又一年中秋过去了,时间过的真快!中秋节的几天假,我是算着日子过的。准确来说,近几个月的节假日,我都是计算着过去了几个小时又过去了几天。我艰难的珍惜着时间,算计着时间的流逝,心里压力很大,劳累无穷。
因为有件事情需要落地,只有节假日这些非工作的时间才能够静下心来忙碌。最近又拖延症犯了,心里总想着那件没落地的事情,大山越压越重,就非常疲惫。
这次的中长期计划和预期差距较大,我也做了复盘,发现有很多需要注意的点值得记录。可以为大大小小的耗时耗力又重要的计划摆正方向。
健康 / 心情 / 拖延症 / 拥抱变化 / 分轻重 / 专心做好一件事 / 拆解计划 / 被计划推着前进
健康非常重要,感觉身体跟不上了,那锻炼的时间就是立刻马上,就不要管那些还没有完成的事项了。
因为身体非常重要,而锻炼事项通常耗时较短,这就是第一优先级。那些未完成的事项可能动不动就是几小时或者几天,相比来说可以拖一拖。
睡眠时间,一定要分配好。靠脑子吃饭的人,不要吝啬自己的睡眠时间。这里不是说不要熬夜晚睡,是要保障睡眠时间。
睡眠不足大脑不在状态,绝对非常耽误事。思考能力下降会带来各种问题,扣着点时间不值得。
时间,永远不会成为你的朋友。它会从前面拉着你,从后面推着你,有时候温文尔雅的放任你像个君子,有时候拿着皮鞭抽打下来像个魔鬼,最后把你拖到年老与色暮,拖到离别和死亡。在生命的最后一刻,有不甘,有妥协,但是时间何曾念及你是它的盟友或者朋友?
我最近几年,真的是怕了时间了。也不是贪生怕死之类的情绪,真遇到突发性的死亡谁都得尿下裤子。更多的是纯粹的对时间的恐惧。
时间它有时候像个女人一样慢慢推着我,有时候像个男人一样粗鲁的拉着我,它一直在逼着我做点什么。当我停下来单纯就在休息的时候,我就感觉到它在我面前盯着我,让我做点什么。
你还记得失恋后,你是怎么释怀的吗?即使当时多么的撕心裂肺。以及很严重的手术后,身体怎么恢复的吗?失恋和手术,都不会一两天好转,可就是不知道什么时候开始,就恢复了。
这些年,发生了很多意想不到的变化。比如之前上厕所一定要用蹲坑,现在也习惯马桶了。还有进屋穿鞋,之前我是想着以后有房子了,进屋也要穿鞋才不硌脚,现在是自觉的脱鞋进屋了。还有游戏,我几波起伏,从小学痛恨到中学迷恋到后来的无感,现在又给孩子买了 Switch。对游戏有很多次认知上的翻转。
总体下来,自以为的底线被不断翻篇。不知道这些年发生了什么,可就是实打实的变化着。变化的方向说不上好也说不上坏,谁知道过几年会不会再次变化呢。
最近我的职场上发生了很多事,想痛快的表达出来。鉴于时间真的不多,就算草草的一篇水文当作备忘吧。
大老板这两年换了几波,越高层的变动对我们这些底层的影响越小。这次换的是我大部门的老板,这影响就有些大了。最近这两天邮件时不时的在夜里 20 - 24 点之间收到月报提醒,原来只有小部门老板才发月报,现在是 team leader 也需要发了,有些团队看样子是全员发。我自然不反对月报这种总结的形式,我自身每周都有 2-3 次的日回顾。但是这种大部门内部上百人公晒的形式,就有些上纲上线的形式了。这已经变成了一种形式,虽然大家月报的内容没有变化,但性质发生了变化,更多的是一种对高层的委屈妥协。虽然变化总所难免,但很多不舒服的变化一起扑面而来,就让人心情很沉重了。
这都到年中了,公司的毕业还在继续,火还在继续烧。这两天轮到我这边了,团队内部做业务分工的调整,我被划到了另一个团队。后面我和老板说了自己的想法,老板也很尊重我,同意我横向保留现有的工作内容,过了两天说维持我的组织架构不做调整,我也避免了换岗。我接触了两天另外团队的老板,发现管理方式还是有些大的,PUA、高度卷都有发生。工作群里鼓励周末上线需求的同学说是战斗力、运营配置的资源文件要识别有没有 cdn 加速说这是基操等等。联系到最近上班不断提前,下班不断推迟,开始注重工时代码量,以及部门渲染出来的压抑气氛,这肯定有一场大风要吹来啊,只是会有人起,也会有人落。