37、从内核到应用:网络数据在内核中如何流转

你好,我是 LMOS。 上节课我们对一次请求到响应的过程积累了一些宏观认识,相信你已经对整个网络架构有了一个整体蓝图。这节课,让我们来仔细研究一下网络数据是如何在内核中流转的,让你开阔视野,真正理解底层工程的实现思路。 凡事先问目的,在网络数据在内核...

操作系统实战45讲

36、从URL到网卡:如何全局观察网络数据流动

你好,我是 LMOS。 从这节课起,我们就要开始学习网络篇的内容了。网络是一个极其宏大的知识结构,我会通过五节课带你了解计算机网络的关键内容。 具体我们是这样安排的。作为网络篇的开始,今天这节课我会从一个面试中高频出现的问题切入,带你梳理从输入URL...

操作系统实战45讲

35、瞧一瞧Linux:虚拟文件系统如何管理文件

你好,我是LMOS。 在前面的课程中,我们已经实现了Cosmos下的文件系统rfs,相信你已经感受到了一个文件系统是如何管理文件的。今天我们一起来瞧一瞧Linux是如何管理文件,也验证一下Linux那句口号:一切皆为文件。 为此,我们需要首先搞清楚什...

操作系统实战45讲

34、仓库管理:如何实现文件的六大基本操作

你好,我是LMOS。 我们在上一节课中,已经建立了仓库,并对仓库进行了划分,就是文件系统的格式化。有了仓库就需要往里面存取东西,对于我们的仓库来说,就是存取应用程序的文件。 所以今天我们要给仓库增加一些相关的操作,这些操作主要用于新建、打开、关闭、读...

操作系统实战45讲

33、仓库划分:文件系统的格式化操作

你好,我是LMOS。 上一节课中,我们已经设计好了文件系统数据结构,相当于建好了仓库的基本结构。 今天,我将和你一起探索仓库的划分,即什么地方存放仓库的管理信息,什么地方存放进程的“劳动成果”(也就是文件),对应于文件系统就是文件系统的格式化操作。 ...

操作系统实战45讲

32、仓库结构:如何组织文件

你好,我是LMOS。 你有没有想过,蜜蜂把劳动成果变成蜜糖存放在蜂巢中,人类把劳动成果量化成财富存放在银行,但一个进程的劳动成果放在哪里呢? 看到这里,你可能有疑问,进程有劳动成果吗?当然有,进程加工处理的数据就是进程的劳动成果,可是这个“劳动成果”...

操作系统实战45讲

31、瞧一瞧Linux:如何获取所有设备信息

你好,我是LMOS。 前面我们已经完成了Cosmos的驱动设备的建立,还写好了一个真实的设备驱动。 今天,我们就来看看Linux是如何管理设备的。我们将从Linux如何组织设备开始,然后研究设备驱动相关的数据结构,最后我们还是要一起写一个Linux设...

操作系统实战45讲

30、部门响应:设备如何处理内核I-O包

你好,我是LMOS。 在上一课中,我们实现了建立设备的接口,这相当于制定了部门的相关法规,只要遵守这些法规就能建立一个部门。当然,建立了一个部门,是为了干活的,吃空饷可不行。 其实一个部门的职责不难确定,它应该能对上级下发的任务作出响应,并完成相关工...

操作系统实战45讲

29、部门建立:如何在内核中注册设备

你好,我是LMOS。 在上节课里,我们对设备进行了分类,建立了设备与驱动的数据结构,同时也规定了一个驱动程序应该提供哪些标准操作方法,供操作系统内核调用。这相当于设计了行政部门的规章制度,一个部门叫什么,应该干什么,这些就确定好了。 今天我们来继续探...

操作系统实战45讲

28、部门分类:如何表示设备类型与设备驱动

你好,我是LMOS。 小到公司,大到国家,都有各种下属部门,比如我们国家现在有教育部、科学技术部、外交部,财政部等,这些部门各自负责完成不同的职能工作,如教育部负责教育事业和语言文字工作,科学技术部负责推动解决经济社会发展的重大科技问题。 既然大道相...

操作系统实战45讲