首页
AI Coding
NEW
沸点
课程
直播
活动
AI刷题
APP
插件
搜索历史
清空
创作者中心
写文章
发沸点
写笔记
写代码
草稿箱
创作灵感
查看更多
会员
登录
注册
确定删除此收藏集吗
删除后此收藏集将被移除
取消
确定删除
确定删除此文章吗
删除后此文章将被从当前收藏集中移除
取消
确定删除
编辑收藏集
名称:
描述:
0
/100
公开
当其他人关注此收藏集后不可再更改为隐私
隐私
仅自己可见此收藏集
取消
确定
linux
订阅
qiaoba0728
更多收藏集
微信扫码分享
微信
新浪微博
QQ
6篇文章 · 0订阅
Golang解决TCP粘包拆包问题
最近在使用Golang编写Socket层,发现有时候接收端会一次读到多个数据包的问题。于是通过查阅资料,发现这个就是传说中的TCP粘包问题。下面通过编写代码来重现这个问题: 一种是正常的一个数据包输出。 一种是多个数据包“粘”在了一起,我们定义这种读到的包为粘包。 一种是一个数…
Linux 内核101:cache原理
相信你肯定对这一张图很熟悉了(如果还是第一次听说就请关掉此页面吧:))。越靠近 CPU,速度越快,但是容量小且价格昂贵。如何能够高效利用缓存(LEVEL 1),是操作系统中非常重要的一环。 上篇文章中,我们有讲到同一个 CPU 中的 core 之间会对 last-level c…
[译]从磁盘结构到B+树
本篇文章来自Youtube上的一个视频,觉得讲得相对不错。链接如下:https://www.youtube.com/watch?v=aZjYr87r1b8 简单来说:按照时钟方向分,disk由很多个sector组成,编号为0-N。按照从外到内分,disk又由多个track组成,…
linux内核设计与实现
一. linux内核简介 1. linux简介 2. 操作系统和内核简介 不能链接标准c函数库。c库太大了,会影响大小和效率。不过大部分常用的c函数在内核中都有实现 栈空间很小且固定。32为机器为8kb,64为16kb 二. 进程管理 1. 基本概念 unix系统的两大抽象对象…
为什么 Linux 需要虚拟内存 · Why's THE Design?
为什么这么设计(Why’s THE Design)是一系列关于计算机领域中程序设计决策的文章,我们在这个系列的每一篇文章中都会提出一个具体的问题并从不同的角度讨论这种设计的优缺点、对具体实现造成的影响。如果你有想要了解的问题,可以在文章下面留言。 操作系统中的 CPU 和主内存…
Part I - 操作系统调度(翻译)
多线程程序是如何正确的调度工作的,在这里作者给出了很多详细的例子一步步深入。 您的程序只是一系列需要一个接一个顺序执行的机器指令。为了实现这一点,操作系统使用了线程的概念。线程的任务是说明并顺序执行分配给它的指令集。执行一直持续到线程不再有指令可执行。这就是为什么我称线程为“执…