Notes---Operating Systems: Three Easy Piece---Concurrency(UW-Madison CS 537)
这个 notes 主要用来记录有关 “Operating Systems: Three Easy Piece” 这本书第二大块的内容。就像书名写的,作者把 Operating system 的内容分为三大块,现在我们已经进行到了第二块:Concurrency。这一块的思想其实某种意义上是最重要的,因为 concurrency 的思想在非常多的地方都有用到,但是这一部分却是内容最少的,我还记得老师当时说的时候还挺惋惜的。 Chapter 26: Concurrency: An Introduction 关于 concurrency,第一个要介绍的概念就是 thread。之前我们说到的 program 其实都是 single-threaded program,但是现在我们就要转向 multi-threaded program。如果用一个非常浅显但是不准确的语言去描述 thread,其实就是同一个程序“同时”干好几个事情。从这个实现的功能上来讲,似乎跟多进程差不多,但有一些很底层上的区别,同时带来了很多根本上的不一样的 feature。 我们在切换 thread 的时候,也有...
Notes---Operating Systems: Three Easy Piece---Virtualization(UW-Madison CS 537)
UW-Madison 的 system 其实非常强,CS 537 是讲 operation system 的一节课,“Operating Systems: Three Easy Piece” 是这门课的教材,这篇 Blog 就主要记载我阅读这本 textbook 的 reading notes。 Chapter 2: Introduction to Operating Systems The main goal of an operating system is just to make the system easy to use. Abstraction 在计算机领域一直是一个非常重要的概念,正是一层一层的 abstraction,我们才能制造出当今如此强大的计算机。 在 OS 里,我们当然也用了这样的一个强大的概念,virtualization 就是一个非常重要的具体体现。我们会把物理层面上的各种 resources 进行 virtualization,来制造一个更通用的 interface 来给用户去使用,同时也方便 OS 在用户看不见的地方进行各种 “wild...
一个 CS 大三学生的碎碎念
在这里随便写点东西,做一个小小的总结吧。 感觉这三年学了很多东西,但还是很迷茫,不知道以后应该干什么。马上就大四了,感觉工作也找不到,博士也很难伸到,暑研也伸不到,唯一感觉做的比较好的就是绩点维持的挺好,而且大部分课都是有比较认真的学,确实是会了一些东西,但感觉都很理论,也不知道怎么用。找工作的时候需要的技术栈基本都不会,或者只会一点皮毛,真的遇到大型项目就啥也不会,也无从下手;找 research 也是,要读很多导师方向的论文,感觉之前学的一些东西也基本用不上,就感觉很多东西都匹配不上。但其实也没什么可抱怨的,毕竟感觉自己确实是有点三天打鱼两天晒网,很多东西想要自学但是从没有坚持做完过,虽然已经快大四了,感觉再开始自学一些东西已经有点晚了,但还是希望自己在最后一年真的完整的自学完几门网课,毕竟现在感觉已经明确了自己未来的方向了,就不能在松懈了。 最近也看到了很多大佬的总结,感觉大部分都是大一大二就已经很强,至少也是有明确道路了,空闲时间大部分都在提升自己的技术。我大一的时候在想,刚上大学,不用对自己太苛刻。应该只有在上大学之前的暑假系统的学了一下C语言,又因为要...
Statistics---Why We Use the t-Distribution to Estimate the Population Mean
In the world of statistics, one of our primary goals is to understand a large population by examining a small sample. A classic example is trying to figure out the average height of all adults in a country. We can’t measure everyone, so we take a sample and calculate the sample mean, Xˉ\bar{X}Xˉ. But how confident can we be that our sample mean is close to the true population mean, μ\muμ? This is where statistical inference comes in, and it leads us directly to the t-distribution. The Ideal...
Statistics---Sufficiency
这篇 blog 主要讲一讲 statistics 里面的 sufficiency 这一个概念,主要是根据《Mathematical Statistics and Data Analysis》第 8.8 节的内容写的。充分性是统计推断中的一个核心概念,是一个用于衡量一个统计量对数据中关于未知参数信息的概括能力的指标。 1. 核心思想 充分性的核心思想是数据的无损压缩。教材在第 305 页开头提出了一个关键问题: 有没有一个统计量(它是样本的函数),能够包含样本中关于未知参数 θ\thetaθ 的所有信息? 如果这样的统计量存在,我们就可以用它来替代整个原始数据集,而不会损失任何与推断 θ\thetaθ 相关的信息。这个包含了所有信息的统计量,就被称为充分统计量 (sufficient statistic)。 例如,在分析一系列独立的伯努利试验时,我们的直觉是,只需要知道成功的总次数就可以推断成功的概率 θ\thetaθ,而不需要关心成功和失败发生的具体顺序。在这个例子中,“成功的总次数”就是一个充分统计量。 当然这只是理论上如此,实际上顺序还是涵盖很多信息的,比如如果你扔...
Statistics---Unbiasedness and Consistency
这篇 blog 我们讨论一下统计里的 unbiasedness 与 consistency。这是我们在衡量一个 estimator 的时候,经常用,也可以说是最重要的两个指标。本文的主要内容也还是依据《Mathematical Statistics and Data Analysis, 3rd Ed.》这本书。 Unbiasedness (无偏性) 1. 定义 (Definition) 教材在第7章的7.3.1节和第8章的8.4节中都提到了这个概念。一个估计量 θ^\hat{\theta}θ^ 如果被称为是参数 θ\thetaθ 的无偏估计量,那么它的期望值(即其抽样分布的均值)必须等于它所估计的真实参数值。 用数学公式表达就是: E(θ^)=θE(\hat{\theta}) = \theta E(θ^)=θ 如果 E(θ^)≠θE(\hat{\theta}) \neq \thetaE(θ^)=θ,那么这个估计量就是有偏的 (biased) ,其偏差为 E(θ^)−θE(\hat{\theta}) - \thetaE(θ^)−θ。 2....
Statistics---置信区间 (CI) vs. 预测区间 (PI)
学习笔记: 置信区间 (CI) vs. 预测区间 (PI) 1. 核心区别与目的 这两个区间都以回归线在某一点 x0x_0x0 的预测值 y^x0\hat{y}_{x_0}y^x0 为中心,但它们的目的和回答的问题完全不同。 特征 均值置信区间 (Confidence Interval for the Mean) 单个观测值的预测区间 (Prediction Interval) 关注对象 群体的平均趋势(即回归线本身) 一个未来的、独立的个体 回答的问题 “在 x0x_0x0 点,均值 E(y)E(y)E(y) 的真实范围可能在哪里?” “在 x0x_0x0 点,下一个新观测值 ynewy_{new}ynew 可能会落在哪里?” 简单类比 预测所有18岁男性的平均身高。 预测下一个你将见到的18岁男性的具体身高。 2. 直观理解:射箭的比喻 想象一个弓箭手(我们的回归模型)对着靶子射箭。 置信区间 (CI): 我们想知道这位弓箭手的真实平均水平(所有箭的平均落点)在哪里。我们让他射了一组箭(我们的样本),计算出这组箭的中心点...
Operating Systems Notes: The Path to the Kernel
Operating Systems Notes: The Path to the Kernel 1. 核心概念与关系 Interrupt (中断): 异步事件,由外部硬件(键盘、网卡、定时器)触发。它的发生与程序执行流无关。 比喻: 外来的电话打断了你当前的工作。 Trap (陷阱): 同步事件,由内部软件(当前正在执行的指令)主动触发。它是可预测的,是程序逻辑的一部分。 比喻: 你在工作中遇到一个需要老板审批的环节,于是你主动放下工作去敲老板的门。 Exception (异常): 同步事件,由内部软件执行出错时被动触发。 比喻: 你在工作中算错了一个数字,导致流程无法继续,被动地需要老板介入。 System Call (系统调用): 一个高层概念,是操作系统提供给用户程序的服务接口(如读写文件、创建进程)。它不是一个硬件机制。 最重要的关系: 用户程序通过主动触发一次 Trap 来向内核发起一次 System Call 请求。 Trap 是实现 System Call 的底层机制。 2. int 指令的“身份”之谜 int 指令是 Trap:...
Reaction---WhynotTV(陈天奇:机器学习系统,长期主义,初心,XGBoost,MXNet,TVM,MLC LLM,OctoML,CMU,UW,ACM班)
WhynotTV 看了很久了,虽然可能不是老粉,我是被当时那个“机器人博士前两年总结——任尔东西南北风”这个视频吸引过去的,然后发现没过多久,这个个人账号就变成了一个 Podcast channel,而且质量非常高啊,不管是时长还是内容广度深度,更新频率也不算慢的,来的嘉宾都是一个比一个重量级。这个 Blog 主要就是我对 WhynotTV 第三期的一个 reaction,作为一个不那么成功的,但是想要去实现一些有影响力的工作的 senior 本科生。看这样的视频真的是会让我万分感慨,也算是一个契机对自己做一个系统的反思。 这已经是 WhynotTV 第三期了,前两期也都是很顶尖的人,除了第一期的杨硕我不太知道,但可能是 robotics 比较强的人,剩下这两个胡渊鸣和陈天奇都是有非常有影响力的工作的人。胡渊明的 Taichi,然后陈天奇的 XGBoost,MXNet,感觉基本上就是梦想中,我希望我能在学术领域达到的...