首页
学习
活动
专区
工具
TVP
发布

原创分享

专栏作者
363
文章
397128
阅读量
34
订阅数
好玩的lua
前言:最近体验了一下Openresty,了解到Openresty里使用lua语言来增强了Nginx的能力,所以又去了解了一下lua,lua语言小而精悍,lua引擎也值得学习。周末看了一下lua引擎的一些实现,也体验了一下lua语言的一些东西,本文简单介绍一下,后续有时间的话再写文章分析引擎的实现。
theanarkh
2021-08-24
6040
当创建一个文件的时候,操作系统发生了什么
操作文件是我们平时经常有的操作。但是我们可能并不是很了解他们原理,比如为什么删除一个很大的文件,会非常快?创建一个文件的时候,系统发生了什么?为什么删除的文件,还可以恢复?知其然知其所以然。我们一起深入探索文件系统的一些原理。这篇先分析一下创建文件的过程。
theanarkh
2020-03-12
7280
文件系统杂谈
文件系统中重要的概念有大概有超级块、inode、file、文件描述符、文件缓存系统、目录。下面我们逐个说一下。
theanarkh
2020-02-25
1.5K0
揭开虚拟文件系统的云雾(1)(基于linux1.2.13)
这一篇我们来看看,虚拟文件系统是如何抹平各个文件系统的差异,又是如何和具体的文件系统串起来的。 我们先来回顾一下之前的讲的内容。
theanarkh
2020-01-02
4570
系统调用之mmap源码分析(基于linux1.2.13)
mmap涉及到操作系统底层很多知识,目前粗略介绍一下大概的逻辑,等深入理解后再继续。操作系统用vma链表管理内存,mmap就是申请一个新的vma供进程使用。可以当作内存使用,也可以当做文件来使用vma对应的这片空间。但是申请的vma,还不会分配物理地址。等到真正访问这片地址的时候,由缺页处理程序作物理页的映射。
theanarkh
2019-07-30
1.8K0
深入浅出文件系统原理之根文件系统挂载(基于linux0.11)
看完文件系统的基础数据结构。我们接着解析的根文件系统的挂载,因为这是文件系统被使用的起点。根文件系统的挂载是在操作系统初始化的时候进行的。对应的函数是mount_root。
theanarkh
2019-07-30
2.2K0
深入浅出文件系统原理之文件读取(基于linux0.11)
这篇文章讲的是文件系统树,我们知道,文件系统的数据是存在硬盘里的,这里来看一下,这些数据是怎么组织成一棵树,又是怎么进行遍历的。下面就是这棵树。
theanarkh
2019-07-30
1.4K0
linux系统调用之read源码解析(基于linux0.11)
进程通过系统调用,从而进入中断处理,中断处理从系统调用表里找到sys_read函数执行。
theanarkh
2019-05-14
2.6K0
linux系统调用之write源码解析(基于linux0.11)
创建新块就是在文件系统的超级块结构中,根据当前块的使用情况,申请一个新的块,并标记这个块已经使用。然后把超级块的信息回写到硬盘,并且返回新建的块号。 我们回到file_write函数,处理完块的逻辑后,就需要把块的内容读进来,因为是新块,所以内容都是0。其中bread函数的逻辑可以参考read函数分析那篇文章。内容读进来后,存在buffer中,我们就可以把用户的数据写进去了,然后标记这个buffer是脏的,等待回写到硬盘。所以我们看到,我们写文件的时候,数据不是直接到硬盘的,只是在缓存里,系统会有线程定期更新缓存到硬盘。
theanarkh
2019-05-14
3.5K0
linux系统调用之sync源码解析(基于linux0.11)
我们知道write函数写入的数据不是实时同步硬盘的,系统提供了一个函数让我们的数据可以实时地同步到硬盘,那就是sync。但这个实时也是相对的,毕竟同步数据也需要时间的,如果正在同步,就断电,那同步就会失败。
theanarkh
2019-05-14
2.7K0
express框架route.js源码解析
route.js并不是express里真正的路由代码,他只是其中的一个组成部分,和router(router/index.js)是有区别的。下面先看一下重要的代码。
theanarkh
2019-03-06
6390
没有更多了
社区活动
腾讯技术创作狂欢月
“码”上创作 21 天,分 10000 元奖品池!
Python精品学习库
代码在线跑,知识轻松学
博客搬家 | 分享价值百万资源包
自行/邀约他人一键搬运博客,速成社区影响力并领取好礼
技术创作特训营·精选知识专栏
往期视频·千货材料·成员作品 最新动态
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档