LKD 文件系统部分
内存
操作系统原理的frame就是下图定义的linux物理页
page被分为zones:
使用alloc_page()
或alloc_pages()
获取页(struct page*) ,而用void* page_address(struct page* page)
返回页的逻辑地址
- kmalloc/kfree:内核用于申请和释放内存的方法,返回的是连续的逻辑内存
- vmalloc:类似,但不是连续的
buddy system allocator:管理物理连续的大块内存的机制,以frame为单位
课件:从大到小二分寻找能装下自己的内存块,size从小到大查起
用free-list和bitmap巧妙实现
当有frame被free时,相邻的页面会被检查,查看能不能组成更大的空闲帧
文件
/var:多变信息,如日志
/etc:配置文件
/dev:设备,以文件形式存在这一目录下面,如/dev/sda2,表示链接的SCSI格式硬盘的第二个分区
linux的文件控制块也叫inode
符号链接: ln -s <source> <target>
VFS是文件系统互操作的实现,是介于文件系统和OS之间的媒介:
VFS的inode和文件系统中的inode不相同,VFS的inode是内存的索引节点
LKD 文件系统部分相关推荐
- linux 文件系统简析
最近在看APUE,其中的一章谈到了文件系统,所以我在这里把linux 虚拟文件系统的相关内容做一个简单总结,其中会有部分源码,但不是很深入. 书接上回:http://blog.csdn.net/u01 ...
- LKD-虚拟文件系统
虚拟文件系统 Unix使用了四种传统的文件系统相关抽象概念:文件.目录项.索引节点和安装点(挂载点). VFS有四类主要的对象类型,分别是: 超级块对象,代表一个具体的已安装文件系统: 索引节点对象, ...
- 2021年大数据Hadoop(七):HDFS分布式文件系统简介
2021大数据领域优质创作博客,带你从入门到精通,该博客每天更新,逐渐完善大数据各个知识体系的文章,帮助大家更高效学习. 有对大数据感兴趣的可以关注微信公众号:三帮大数据 目录 HDFS分布式文件系统 ...
- Linux系统中创建大文件,并作为文件系统使用
在LInux系统的使用过程中,有时候会遇到诸如某个磁盘分区的大小不够用了,导致其下的文件系统不能正常写入数据.亦或者是系统swap分区太小,不够用或者不满足条件而导致的其他一系列问题.如果我们系统上挂 ...
- Linux 文件系统及 ext2 文件系统
linux 支持的文件系统类型 Ext2: 有点像 UNIX 文件系统.有 blocks,inodes,directories 的概念. Ext3: Ext2 的加强版,添加了日志的功 ...
- 使用Uboot启动内核并挂载NFS根文件系统
配置编译好内核之后,将生成的内核文件uImage拷贝到/tftpboot/下,通过tftp服务器将内核下载到开发板,使用命令:tftp 31000000 uImage.下载完成之后配置bootargs ...
- Bqq服务器的缓存文件放什么目录,如何使文件系统缓存失效? - How to invalidate the file system cache? - 开发者知识库...
30 At least on Windows 7, it seems that attempting to open a volume handle without FILE_SHARE_WRITE ...
- 镁光ssd管理工具 linux,在 SSD 上使用 Btrfs 文件系统的相关优化
优化挂载参数 在 Linux 中挂载 SSD 上的 btrfs,可以采用各种参数进行优化: # UUID=/btrfs defaults,ssd,discard,noatime,compress=lz ...
- php文本计数器源码,php 简单文本计数器[基于文件系统的页面计数器范例]
我们的计数器经常会用到文本文件来实现,定义计数器写入的文件是当前目录下count.txt,然后我们应当测试该文件能否打开 基于文件系统的页面计数器范例 $countfile = "num.t ...
最新文章
- C# 常用正责表达式
- Juniper EX3400
- Renascence架构原理——遗传规划算法
- 【Kotlin】Kotlin 中使用 ButterKnife ( 仅用于适配 Kotlin 语言 | 不推荐新项目使用 )
- Java中封装的全局日期处理工具类
- Boost:排序的bimap双图的测试程序
- swift:创建表格UITableView
- JavaSE之Java基础(1)
- python3 爬虫 requests安装_BOSS直聘招聘信息获取之爬虫工具分析
- 内存压力测试软件_日常游戏,毫无压力,荣耀Magicbook 14锐龙版性能测试
- C/C++语言函数学习(3)STL中map容器
- php操作elasticsearch
- SQL 数据库操作类
- Node.js:express设置全局变量
- python sqlserver 数据操作_python上手--python操作数据库
- html毕业答辩ppt,毕业答辩ppt
- EMC信号完整性落地实测1---走出玄学
- html微博图片上传,如何使上传新浪微博照片更清晰
- 存折和银行卡的区别?
- 成都开发者看过来!百度资深研发工程师将出席超级账本成都见面会
热门文章
- html5 video css样式修改,Video controls 属性 -HTML教程,css5.net
- 自动化测试框架之Pytest
- 专题分纲目录 学习方法-学霸学习法
- 计算机的桌面窗户是什么,怎么设置电脑桌面便签小窗口,电脑桌面归纳事情的小窗口...
- openGauss数据库JDBC环境连接配置(Eclipse)
- 爱普生Epson Stylus Photo TX700W 一体机驱动
- 精细化财务管理案例-蒙牛
- Android怎么集成支付宝支付和微信支付功能(上)
- python安装docx模块_python___docx模块
- 明年新iphone使用增强版5nm芯片_三星5nm旗舰手机芯片新爆料!性能超高通骁龙875,明年量产...