【少儿禁】马建《亮出你的舌苔或空空荡荡》

重磅!各种迹象证明中国经济进入大萧条

去泰国看了一场“成人秀”,画面尴尬到让人窒息.....

危险的大东北

清明时节一声吼:“加班?加个锤子!”

自由微信安卓APP发布,立即下载! | 提交文章网址

低并发编程

真是看不懂现在这些技术了

本文吐槽下现在层出不穷的新技术,如果你不太想听我说这些,可以拉到最下方参与下投票哈,看看最近的疫情情况~------现在的技术层出不穷,尤其是互联网技术和数码产品的技术迭代。而且还有个非常有趣的现象,越是能引起大众讨论的问题,可能真正的答案是唯一的,但大众的讨论却明显两级分化。比如很久之前的,鸿蒙是不是安卓套壳。再比如最近的,小米迷你主机是不是
2022年12月15日

装机

我是个装机小白。对于装机小白的教学视频,可以称得上是保姆级的视频有两个。一个是我经常看的,远古时代装机猿,可谓是装机界的段子手。他播放量最高的视频就是这个保姆级装机教程。不过可以肯定的是,虽然教程也真的是很保姆级和良心,但让这个视频火的原因是其搞笑程度。来看这个视频的估计大部分是来听相声的,一个多小时的视频看下来我一直在笑就没停过。就像看张雪峰视频的人绝大部分不是考研的一样,都是来听相声的...但回过头来说这个教程也算是相当良心的,老猿用特别
2022年12月13日

我跟 ChatGPT 吵起来了

"如果您有任何疑问,请随时问我",当然又换了几个字。我是否可以理解成,它大度地接受了我的道歉,同时坚持了自己的原则,同时又尊重我对它的要求,没有原封不动说重复的话,点个赞!当然,ChatGPT
2022年12月12日

又写了个操作系统,终于圆梦了

本来开头应该是介绍一下底层和内功的重要性,但相信对于低并发编程的读者就无需多言啦。这些修内功的课程,市面上少有人做,做相关课程的人,大多缺实战经验,所以课程偏理论,大家学起来总感觉软绵绵的不得劲…写操作系统这个事,我也经常想做,但一是没时间,二是没能力,网上找相关的视频或者书籍也是很少。熟悉我的读者朋友肯定读到我不少写了个开头又很快放弃的专栏,说来惭愧呀。还好子牙老师把这块空白补上了,我看了子牙老师手写操作系统课程的列表,还是非常全面的,尤其是网络部分的实现,不论是你学习
2022年12月7日

八零八六

位体系结构。------再往后就是五花八门的,让人听不懂的技术了,我也只能挑一些见过的名词给大家截图说一说。不过其实闲着的时候翻翻这些手册的历史,你会发现原来好多常见的技术名词,在非常早期的
2022年12月5日

我太生气了,程序员赚的那点钱算个毛啊!

今天跟大家正儿八经聊个身边事,希望所有人都能看完并且重视起来。周末参加了一场聚餐,跟很多许久未见的朋友们叙叙旧聊聊近况。刚开始大家还是像以前一样有说有笑,插科打诨,调侃自己“自从做了程序员,每天不是在加班就是在加班的路上。”突然有个朋友提到老许,大家都瞬间沉默了。老许是和我们很要好的一个朋友,之前带领着一个小技术团队,平时工作强度大压力也大,熬夜加班是常事,再加上不注意饮食,泡面饼干之类的乱吃,后来查到胃癌晚期,32岁就去世了。还有年迈父母未能尽孝,房贷压力陡然落在收入不高的妻子身上,压得喘不过气来。面对身边好友一下子就没了的现实,到现在仍然难以置信……我们无法想象他们最亲近的人有多么难受,也无法体会他们多么心如刀绞。经常会在朋友圈里看到一些众筹链接,朋友的朋友或者朋友的亲人,实话说看多了确实也会麻木。前几天看到一个读者在为自己的母亲众筹,我知道给个200块钱解决不了什么,只能希望更多人帮到他。经历亲人朋友的离去,一次次提醒我们很脆弱,我们的生活更脆弱。之前看到一个帖子:中产家庭和贫穷家庭的差距有多大?其中一个获得最高点赞的答案是:隔着一场大病而已。这句话或许道出了很多人的心声,无奈却很真实。大部分人的收入,根本无法承受一场大病带来的经济损失,不管是自己还是父母。拿最常见的癌症来说,治疗包括检查、住院、手术、化疗等多项加起来就高达几十万。医疗科学的发展,尤其是越来越多新型抗癌药的出现,大大提高了患者的生活质量,有效延长了患者寿命。但这治病太贵了,一片抗癌药上千,一个月药费好几万。在这样的花销下,有几个家庭能不喊穷呢?可能有部分人自豪的说我有医保,我不怕!针对这些人我忍不住点破真相:你们太年轻了。在大病面前,你会发现医保是完全不够的。药品分为甲乙丙三类,其中甲类药100%报销,乙类药部分报销,丙类药一点不报销。像进口抗癌药、靶向药、新特效药都属于丙类药,只能自费。医疗纪录片《人间世2》中33岁的复旦大学博士闫宏薇,被诊断为晚期三阴性乳腺癌,最凶险的那种。靶向药,几乎成了最后的救命稻草。她跑到香港买帕博西尼,一盒30000块,21粒,平均一粒1400块。命是活生生的温热,需要冰冷冷的钱。很多人和我一样现在是家庭收入的主要来源,那么风险全集中在自己身上。说实话,这样的案例很能代表在读这篇文章的人群。不敢想,要是这种不幸发生在自己身上,我能怎么办?是动用自己的存款吗?存款够不够?是动用房产吗?动了以后一家老小住哪里?父母能帮得上忙吗?要不要动用他们辛苦一辈子攒下的养老钱?还是动用自己的人脉,找亲戚朋友借?借的话,能借到多少?......我们谁都可能遇到病魔,而是否能承受住精神肉体的折磨和经济上带来的绝望,是每个人都要去思考的问题。管理学中有一个著名的“木桶定律”,一只木桶能盛多少水,并不取决于最长的那块木板,而是取决于最短的那块木板。真正决定家庭财富水平的,不是你当前积累的财富,而是面对风险时你能守住的财富。抵御风险的能力越强,受挫回血的时间越短,续航时间才越长。所以一直以来,我都劝大家一定要尽早给自己、父母和孩子都做好托底保障。万一疾病突至,你不必时刻注意银行卡上的数字;不必眼睁睁地看着亲人四处求人;不必失去苦苦打拼才拥有的财富;不必看着家人受苦受累却无能为力。但很多人真打算买保险时,却发现到处都是陷阱,后台经常有小伙伴向我抱怨买错买贵了保险,等到生病理赔时才发现。对此我深有同感。市面上的保险五花八门,作为门外汉,我们很难判断辨别出其中的陷阱,如果有专业人员帮忙分析,那该多好啊!专业可信赖的水星高端保障规划平台,今天郑重推荐给大家。他们真的很不一样,没有一上来给我推销热门产品,更没有喋喋不休的骚扰。而是站在我的角度量身定制最适合的家庭保障方案,比传统机构节约40%-60%费用。极端风险下如何维持家人原有生活?家人看病怎么做到不花一分钱?大病造成的收入损失如何弥补?等等,全都做到有理有据,清清楚楚。此外,他们通过分析我的财务状况,为我量身定制了从工作、结婚、生子到退休的一揽子保障规划方案,尽力让我的人生每个阶段都能无忧无虑。更惊喜的是,规划师还能提供家庭资产配置组合建议,选择不同类的产品进行搭配,收获相对稳定的资产回报率。这一套流程下来,不仅给我搭建了充足的保障体系,保护了我的现有资产,还能帮助实现家庭财富的科学有效增长。亲身体验之后,我感觉服务确实不错,我再推荐给身边的朋友,他们体验后也都说好,真的解决了很多后顾之忧。为了让更多朋友尽快构建好保障体系和资产配置体系,和平台沟通争取后,今天送出50个专属名额给大家体验一次!作为行业内领先的一站式智能保障规划服务,他们平时咨询都要提前预约且收费很高,机会难得!真心希望每位朋友都能去体验一下,相信体验后对家庭保障和财富增值的认知会更上一层楼!名额很快就会没有,速速领取了,闪客第3次送福利,限50个名额,手慢无!报名方式如下:低并发编程12月读者福利🎁扫一扫领取即可免费获得价值699元专属1V1家庭保障方案3份+家庭资产增值服务▼长按识别二维码即可领闪客福利名额,前50名专享另外,这次成功报名成功的朋友,闪客还给大家争取到了2份额外超值福利!①
2022年12月1日

有些人真就应该被割韭菜

今天文章戾气会有些重,请谨慎阅读。前天发了个广告,每次发广告评论区有骂的很正常,不过这次我还真就想说一说。评论区有说营销号的,有说天天发广告不写技术文章的。没记错的话,我已经将近四个月没发广告了,这四个月,把操作系统的
2022年11月30日

一个关于 Java 的堆内存的小探索

支持容器化的版本获取的物理内存就是容器的物理内存,这句就不完全正确,实际上时获取宿主机和容器的物理内存然后取个较小值。再比如新版本的获取容器物理内存时,不再是读取一个固定的路径,而是通过读取
2022年11月29日

有些技术原理你完全看不懂

体系结构进行优化,效率很高。这句话你背面试八股文的时候一定听过,而且你可能觉得挺高大上的,但如果你看过源码之后再理解这句话,就觉得它很可笑。用纯软件的方式模拟执行的字节码解释器,就是用一个
2022年11月25日

为什么 JVM 叫做基于栈的 RISC 虚拟机

是基于栈来实现的,但具体再底层的实现是基于什么的,是不影响字节码是基于栈实现这个事实。------这时候我想搞怪一下,假如我把最终写入机器的这个机器码值给改了,那岂不是虚拟机就崩溃了?我把刚刚那里的
2022年11月23日

java -version 的秘密

https://github.com/Tencent/TencentKona-8/blob/master/common/autoconf/spec.gmk.in...#
2022年6月22日

我为 Netty 贡献源码

修复掉。下面就让我们一起带着怀疑,审视,欣赏,崇敬,敬畏的态度来一起品读世界顶级程序员编写出的代码。由衷的感谢他们在这一领域做出的贡献。本文概要.png在笔者前边关于
2022年6月20日

一个新进程的诞生(七)透过 fork 来看进程的内存规划

-------本系列的开篇词看这,开篇词本系列的番外故事看这,让我们一起来写本书?本系列全局视角最后,本系列完全免费,希望大家能多多传播给同样喜欢的人,同时给我的
2022年3月10日

一个新进程的诞生(六)fork 中进程基本信息的复制

数组里的空闲位置处,这个东东的具体字段赋值的大部分都是复制原来进程的。接下来将是进程页表和段表的复制,这将会决定进程之间的内存规划问题,很是精彩,也是
2022年3月3日

一个新进程的诞生(五)通过 fork 看一次系统调用

的第三大部分,讲述了操作系统第一个进程从无到有的诞生过程,这一部分你将看到内核态与用户态的转换、进程调度的上帝视角、系统调用的全链路、fork
2022年2月28日

让我们一起来写本书?

形成书稿的过程,希望有读者朋友们可以参与进来,提出你们的意见和建议,我有时候考虑不周的地方,可以和大家一块形成很好的互补。也就是标题中所说的,让我们一起来写本书。你能从中获得什么呢1.
2022年2月27日

一个新进程的诞生(四)从一次定时器滴答来看进程调度

的第三大部分,讲述了操作系统第一个进程从无到有的诞生过程,这一部分你将看到内核态与用户态的转换、进程调度的上帝视角、系统调用的全链路、fork
2022年2月24日

一个新进程的诞生(三)如果让你来设计进程调度

好了,今天我们完全由自己从零到有设计出了进程调度的大体流程,以及它需要的数据结构。我们知道了进程调度的开始,要从一次定时器滴答来触发,通过时钟中断处理函数走到进程调度函数,然后去进程的结构
2022年2月17日

一个新进程的诞生(二)从内核态到用户态

的值就变成了它,而当前处理器特权级,也就变成了用户态特权级。除了改变特权级之外除了改变了特权级之外,还做了什么事情呢?刚刚我们关注段寄存器,只关注了特权级的部分,我们再详细看看。刚刚说了
2022年2月14日

一个新进程的诞生(一)先整体看一下

大战前期的初始化工作当然,没读过的也问题不大,我都会在文章里做说明,如果你觉得有困惑,就去我告诉你的相应章节回顾就好了,放宽心。话不多说,我们开始今天的内容吧!-------
2022年2月10日

延迟满足

延迟满足大家都懂什么意思,我也知道,但从来没真正切身体验到它的刺激。不过最近这几天我稍稍有点感觉了,因为尝到了些实实在在的甜头,所以拿出来给大家分享下。两个月前决定在公众号上,持续更新写一个大型操作系统源码的系列文章,现在已经更新到第
2022年1月29日

第二部分完结撒花!大战前期的初始化工作

其实我是蛮喜欢这个过程的,比如我看电影,其实我对高潮部分并不是很感兴趣,我就喜欢看一场大战或者一场阴谋前各部门的准备工作,看着它们为了后面一个完美的计划,所做的前期筹备,是一种享受,你懂的!
2022年1月27日

第20回 | 硬盘初始化 hd_init

里设置的一堆0x20timer_interrupt0x21keyboard_interrupt0x2Ehd_interrupt0x80system_call其中
2022年1月27日

第19回 | 操作系统就是用这两个面试常考的结构管理的缓冲区

地址如下(文末阅读原文可直接跳转)https://github.com/sunym1993/flash-linux0.11-talk-------
2022年1月20日

我居然会认为权威书籍写错了...

项页表!还是少了俩!我又怀疑是不是因为触发了写时复制,页表项被改到了别的位置?但我怎么看源码,都没看到复制页表的那段代码之后,有什么操作可以导致写时复制。于是乎,我这时竟然产生了,所有
2022年1月18日

第18回 | 大名鼎鼎的进程调度就是从这里开始的

找到些感觉没,有没有越来越发现,操作系统有点靠中断驱动的意思,各个模块不断初始化各种中断处理函数,并且开启指定的外设开关,让操作系统自己慢慢“活”了起来,逐渐通过中断忙碌于各种事情中,无法自拔。
2022年1月17日

十年光阴如梭

到了另外一个部门。做起了搜狗网址导航、搜狗手机助手、搜狗浏览器等业务。我也是从那个时间点,开始带团队的,也是从那以后慢慢开始从个人贡献者到带团队集体输出的角色的转变。在搜狗工作的这
2022年1月14日

第17回 | 原来操作系统获取时间的方式也这么 low

很熟悉。公众号更新系列文章不易,阅读量越来越低,希望大家多多传播,不方便的话点个小小的赞我也会很开心,谢谢大家咯。另外,本系列完全免费,希望大家能多多传播给同样喜欢的人,同时给我的
2022年1月13日

第16回 | 按下键盘后为什么屏幕上就会有输出

并且,我们也能接受键盘中断,根据键盘码中断处理程序就可以得知哪个键按下了。有了这俩功能,那我们想干嘛还不是为所欲为?好,接下来我们看看代码是怎么处理的,很简单。一切的起点,就是第四步的
2022年1月10日

读取硬盘前的准备工作有哪些?

读取硬盘数据到内存中,是操作系统的一个基础功能。读取硬盘需要有块设备驱动程序,而以文件的方式来读取则还有要再上面包一层文件系统。把读出来的数据放到内存,就涉及到内存中缓冲区的管理。上面说的每一件事,都是一个十分庞大的体系,我们今天的文章一个都不展开讲,哈哈。我们就讲讲,读取块设备与内存缓冲区之间的桥梁,块设备请求项的初始化工作。我们以
2022年1月6日

你的键盘是什么时候生效的?

当你的计算机刚刚启动时,你按下键盘是不生效的,但是过了一段时间后,再按下键盘就有效果了。那我们今天就来刨根问底一下,到底过了多久之后,按下键盘才有效果呢?当然首先你得知道,按下键盘后会触发中断,CPU
2021年12月30日

操作系统就用一张大表管理内存?

那接下来自然有两个问题,每个元素表示占用和未占用,这个表示的范围是多大?初始化时哪些地方是占用的,哪些地方又是未占用的?还是一张图就看明白了,我们仍然假设内存总共只有
2021年12月27日

坚持不下去了...

都说在公众号写系列文章会很惨,我一开始不信邪,也标榜自己不在乎阅读量,就是要把这个难啃的骨头拿下!但是到目前为止已经出了十几篇篇系列文章了。开篇词第一部分
2021年12月24日

第12回 | 管理内存前先划分出三个边界值

地址如下(文末阅读原文可直接跳转)https://github.com/sunym1993/flash-linux0.11-talk-------
2021年12月23日

第11回 | 整个操作系统就 20 几行代码

地址如下(文末阅读原文可直接跳转)https://github.com/sunym1993/flash-linux0.11-talk-------
2021年12月20日

第一部分完结 进入内核前的苦力活

语言虽然很底层了,但也有其不擅长的事情,就交给第一部分的汇编语言来做,所以我称第一部分为进入内核前的苦力活。接下来,也就是从第二部分开始,我将会讲述
2021年12月16日

第十回 | 进入 main 函数前的最后一跃!

-------书接上回,上回书咱们说到,我们终于把这些杂七杂八的,idt、gdt、页表都设置好了,并且也开启了保护模式,相当于所有苦力活都做好铺垫了,之后我们就要准备进入
2021年12月13日

第九回 | Intel 内存管理两板斧:分段与分页

虚拟地址:如果没有开启分页机制,那么线性地址就和物理地址是一一对应的,可以理解为相等。如果开启了分页机制,那么线性地址将被视为虚拟地址,这个虚拟地址将会通过分页机制的转换,最终转换成物理地址。
2021年12月9日

第八回 | 烦死了又要重新设置一遍 idt 和 gdt

如果你本文的内容完全不能理解,那就记住最后这张图就好了,本文代码就是完成了这个图中所示的一个指向转换而已,并且给所有中断设置了一个默认的中断处理程序
2021年12月6日

第七回 | 六行代码就进入了保护模式

接下来的一段代码,你完全完全不用看,但为了防止你一直记挂在心上,我给你截出来说道说道,这样以后我说完全不用看的代码时,你就真的可以放宽心完全不看了。
2021年12月2日

第六回 | 先解决段寄存器的历史包袱问题

根据刚刚的段描述符格式。可以看出目前全局描述符表有三个段描述符,第一个为空,第二个是代码段描述符(type=code),第三个是数据段描述符(type=data),第二个和第三个段描述符的段基址都是
2021年11月29日

第五回 | 进入保护模式前的最后一次折腾内存

位的保护模式,这是一项大工程!也是我认为的这趟操作系统源码旅程中,第一个颇为精彩的地方,大家做好准备!后面的世界越来越精彩,欲知后事如何,且听下回分解。-------
2021年11月25日

第四回 | 把自己在硬盘里的其他部分也放到内存来

0x9FF00,保证栈向下发展不会轻易撞见代码的位置。简单说,就是设置了如何访问数据的数据段,如何访问代码的代码段,以及如何访问栈的栈顶指针,也即初步做了一次内存规划,从
2021年11月22日

你管这破玩意叫操作系统源码 | 第三回 做好最最基础的准备工作

手册上要求的,老老实实把这三类段寄存器的值设置好,达到了初步规划内存的目的。读到这里,我希望你此时已经稍稍有些,操作系统原来就是这个破玩意,的感觉。同时也可以看出,Intel
2021年11月18日

你管这破玩意叫操作系统源码 | 第二回 自己给自己挪个地儿

源码的了解,更是自己探索问题和寻找答案的一个科学思考方式。所以每次本回扩展与延伸这里,希望你也能每天进步一点点,实践起来,再不济,也能多学几个英语单词不是?-------
2021年11月15日

你管这破玩意叫操作系统源码 | 第一回 最开始的两行代码

当然你完全可以说北京天安门、北京南锣鼓巷这样,每次都加上北京这个前缀。不过如果你事先和朋友说好,以下我说的地方都是北京市里的哈,之后你就不用每次都带着北京市这个词了,是不是很方便?
2021年11月11日

闪客新系列!你管这破玩意叫操作系统源码

很粗糙地了解一点操作系统知识,一知半解的,已经无法满足当下程序员的口味了。但要说深入剖析操作系统,又是大部分程序员都很惶恐的一件事。那如果是要读一遍操作系统源码,那简直跟要了命一样。
2021年11月8日

认认真真的聊聊中断

低并发编程战略上藐视技术,战术上重视技术本来想写内核如何接收一个网络包这个过程,但发现把整个过程捋顺了,还是很难的。推导整个过程的起点是中断,包括硬中断和软中断。而这个过程要是讲清楚吧,感觉在整个网络包接收原理的大流程中有点喧宾夺主。但要是一笔带过吧,那对于这块有困惑的人就很难受,一切的起点没整明白在心里总是个疙瘩。所以,单拎出来一个主题中断,给大家把这个问题搞明白了,之后讲内核收包时直接引过来就好了,不想看的直接过,想看的就可以有篇前置文章详细了解,美滋滋。另外,整个操作系统就是一个中断驱动的死循环,操作系统原理如果用一行代码解释,下面这样再合适不过了。while(true)
2021年8月19日

叮咚 | HTTPS 的分支和主干

或者双方都想一串数字,然后组合起来。这些都不重要,无论玩出多少花样,最终的目标都是,让双方协商出一个相同的秘钥,然后用它对称加密通信,就安全了。我想如果从这个简单的出发点讲
2021年8月6日

破玩意 | 用 HTTPS 传纸条

低并发编程战略上藐视技术,战术上重视技术我和小宇早恋了,上课的时候老说话。老师把我们的座位分得很远,我在第一排,她在最后一排,我们中间隔了很多人。但我们还是想通过传纸条的方式交流。我们中间的那些同学,虽然坏心思比较多,但好在可以保证将纸条传递到位,于是我们用传纸条的方式,一直秘密交流着感情。但好景不长,我们渐渐发现,中间这些同学特别不靠谱,出现了以下两种恶劣的行为:偷看纸条,把我们的小甜蜜作为他们饭后的谈资。篡改内容,让我们之间产生了好多误会。这还了得,我必须得想个办法才行!单钥匙锁于是我发明了一个盒子,并且给这个盒子配了一把锁和一把钥匙。这把锁与普通的锁不太一样,解锁需要钥匙,同时上锁也需要钥匙。我把这个钥匙复制了一份,给到小宇,这样我每次给她写完小纸条之后,都把纸条放在盒子里,用钥匙把它锁起来。小宇收到这个盒子后,用钥匙解锁,才能拿出里面的纸条。同时如果小宇想给我回纸条时,也需要把纸条放在盒子里,并且用钥匙加锁,再传给我。这样,由于中间的同学没有钥匙,就无法偷窥里面的内容了,也无法篡改里面的内容,问题完美解决。但好景又不长,由于之前我把钥匙给小宇时,也是通过同学传递过去的,有个同学当时就偷偷又复制了一份,因此拿到了一个钥匙。于是他每次收到我传给小宇的盒子的时候,就先用钥匙解锁,偷看内容,有的时候甚至还修改内容,放回盒子,然后再用钥匙锁起来。这还了得,我必须得再想个办法才行!双钥匙锁
2021年8月5日