ucore文件系统详解】的更多相关文章

最近一直在mooc上学习清华大学的操作系统课程,也算是复习下基本概念和原理,为接下来的找工作做准备. 每次深入底层源码都让我深感操作系统实现的琐碎,即使像ucore这样简单的kernel也让我烦躁不已,文件系统相比于中断子系统.调度子系统.进程管理子系统等等,要复杂很多,因此被称为文件系统而不是文件子系统.参看网络上的资料有时会增加我的困惑,很多人只是简单转载,很多细节描述的很模糊,实验环境也各不相同,最终很难深入理解文件系统的本质,参考源码我觉得有点像从三维世界进入到二维世界,一切变得清晰但是…
本文分为两部分: 第一部分将详细分析JOS的文件系统及文件描述符的实现方法. 第二部分将实现工作路径,提供新的系统调用,完善用户空间工具. 本文中支持的新特性: 支持进程工作目录 提供getcwd与chdir 新的syscall SYS_env_set_workpath 修改工作路径 新的用户程序 ls 功能完善 pwd 输出当前工作目录 cat 接入工作目录 touch 由于文件属性没啥可改的,用于创建文件 mkdir 创建目录文件 msh 更高级的shell 还未完全完工 支持cd 支持默认…
Linux文件系统详解 https://www.cnblogs.com/alantu2018/p/8461749.html 贼复杂.. 从操作系统的角度详解Linux文件系统层次.文件系统分类.文件系统的存储结构.不同存储介质的区别(RAM.ROM.Flash).存储节点inode.本文参考: http://blog.chinaunix.net/uid-8698570-id-1763151.html http://www.iteye.com/topic/816268 http://soft.ch…
Linux系统上的/proc目录是一种文件系统,即proc文件系统.与其它常见的文件系统不同的是,/proc是一种伪文件系统(也即虚拟文件系统),存储的是当前内核运行状态的一系列特殊文件,用户可以通过这些文件查看有关系统硬件及当前正在运行进程的信息,甚至可以通过更改其中某些文件来改变内核的运行状态. 基于/proc文件系统如上所述的特殊性,其内的文件也常被称作虚拟文件,并具有一些独特的特点.例如,其中有些文件虽然使用查看命令查看时会返回大量信息,但文件本身的大小却会显示为0字节.此外,这些特殊文…
1. HDFS概述 Hadoop 分布式系统框架中,首要的基础功能就是文件系统,在 Hadoop 中使用 FileSystem 这个抽象类来表示我们的文件系统,这个抽象类下面有很多子实现类,究竟使用哪一种,需要看我们具体的实现类,在我们实际工作中,用到的最多的就是HDFS(分布式文件系统)以及LocalFileSystem(本地文件系统)了. 在现代的企业环境中,单机容量往往无法存储大量数据,需要跨机器存储.统一管理分布在集群上的文件系统称为分布式文件系统. HDFS(Hadoop Distri…
什么是文件系统 文件系统是操作系统用于在磁盘或分区上组织文件的方法和数据结构.磁盘空间是什么样的我们并不清楚,但文件系统可以给我们呈现一个非常清晰的表象,我们可以创建.删除.修改和复制这些文件,而实现这些功能的软件就是文件系统.操作系统中负责管理和存储文件信息的软件被称为文件管理系统,简称文件系统. 文件系统是操作系统的一个重要组成部分,通过对操作系统所管理的存储空间的抽象,向用户提供统一的.对象化的访问接口,屏蔽对物理设备的直接操作和资源管理.也就是说,文件系统解决了普通用户使用磁盘存储数据的…
文件系统: rootfs:根文件系统 /boot:系统启动相关的文件,如内核.initrd以及grub /dev:设备文件 块设备:随机访问 字符设备:线性访问,按字符为单位 设备号:主设备号(major)和此设备号(minor) /etc:配置文件 /home:用户的家目录,每一个用户的家目录通常为/home/USERNAME /lib:库文件 静态库:.a 动态库:windows是.dll linux是.so(share object) /lib/modules:内核模块文件 /media:…
根据马哥Linux初级视频2-3 1. 根文件下的一级目录 #ls / 1. / boot 系统启动相关的文件.如内核.initrd   (initialization run directory) 2.  /dev 设备文件:里面包括块设备(随机访问).字符设备(线性访问,按字符为单位).设备号(主设备号和次设备号) 3. /etc 配置文件 4. /home 用户的家目录,默认为  /home/USERNAME 我的想法是,既然是home了,那么这个下面就包含所有用户的信息,如Windows…
最近在做磁盘性能优化,需要结合文件系统原理去思考优化方向,因此借此机会进一步加深了对文件系统的认识.在看这篇文章之前,建议先看下前面一篇关于磁盘工作原理的解读.下面简单总结一些要点分享出来: 一.文件系统层次分析 由上而下主要分为用户层.VFS层.文件系统层.磁盘驱动层.磁盘物理层 用户层:最上面用户层就是我们日常使用的各种程序,需要的接口主要是文件的创建.删除.打开.关闭.写.读等. VFS层:我们知道Linux分为用户态和内核态,用户态请求硬件资源需要调用System Call通过内核态去实…
上几章我们讲到了Linux启动的一些问题,接下来我们来看一下硬盘分割和EXT格式文件系统的问题.前面提到了分区表的问题,分区表位于MBR, 占用64个字节.所谓的硬盘分区也就是对硬盘进行规划,填写分区表的配置.硬盘默认分区表仅能写入四组分区信息.这四个主要分区我们称之为主分区和拓展分区,而后拓展分区里面又可以划分多个逻辑分区. 先让我们模拟一块硬盘: dd if=/dev/zero of=zero bs=1M count=100 这样就创建了一个数据块,我们将之看待为一块硬盘,对它进行分区.先看…
转载: Linux ext2/ext3文件系统使用索引节点来记录文件信息,作用像windows的文件分配表.索引节点是一个结构,它包含了一个文件的长度.创建及修改时间.权限.所属关系.磁盘中的位置等信息.一个文件系统维护了一个索引节点的数组,每个文件或目录都与索引节点数组中的唯一一个元素对应.系统给每个索引节点分配了一个号码,也就是该节点在数组中的索引号,称为索引节点号. linux文件系统将文件索引节点号和文件名同时保存在目录中.所以,目录只是将文件的名称和它的索引节点号结合在一起的一张表,目…
第1章 NFS基本概述 1.1 什么是nfs NFS是Network File System的缩写及网络文件系统. 主要功能是通过局域网络让不同的主机系统之间可以共享文件或目录. NFS系统和Windows网络共享.网络驱动器类似, 只不过windows用于局域网, NFS用于企业集群架构中, 如果是大型网站, 会用到更复杂的分布式文件系统FastDFS,glusterfs,HDFS 1.2 为什么要使用NFS服务进行数据存储 1.实现多台服务器之间数据共享 2.实现多台服务器之间数据的一致 1…
本文转载自:https://blog.csdn.net/FadeFarAway/article/details/53959639 我们知道,一个磁盘可以划分成多个分区,每个分区必须先用格式化工具(例如某种mkfs命令)格式化成某种格式的文件系统,然后才能存储文件,格式化的过程会在磁盘上写一些管理存储布局的信息.下图是一个磁盘分区格式化成ext2文件系统后的存储布局:  文件系统中存储的最小单位是块(Block),一个块究竟多大是在格式化时确定的,例如mke2fs的-b选项可以设定块大小为1024…
硬盘是用来存储数据的,为了使用和管理方便,这些数据以文件的形式存储在硬盘上.任何操作系统都有自己的文件管理系统,不同的文件系统又有各自不同的逻辑组织方式.例如:常见的文件系统有FAT,NTFS,EXT,UFS,HFS+等等.作者后面的文章会一一讲到,下面就来学习一下基于Windows的FAT32文件系统. FAT32文件系统由DBR及其保留扇区,FAT1,FAT2 和 DATA 四个部分组成,其机构如下图:   这些结构是在分区被格式化时创建出来的,含义解释如下: DBR及其保留扇区:DBR的含…
作者: Paul Brown 译者: LCTT amwps290 这篇教程将帮你快速了解 Linux 文件系统. 早在 1996 年,在真正理解文件系统的结构之前,我就学会了如何在我崭新的 Linux 上安装软件.这是一个问题,但对程序来说不是大问题,因为即使我不知道实际的可执行文件在哪里,它们也会神奇地工作.问题在于文档. 你知道,那时候,Linux 不是像今天这样直观.用户友好的系统.你必须读很多东西.你必须知道你的 CRT 显示器的扫描频率以及拨号调制解调器的噪音来龙去脉,以及其他数以百计…
0x00 机械硬盘 机械磁盘由磁头(head).磁道(track).柱面(cylinder).扇区(sector)和盘片(platter)组成.其中,磁头悬浮在盘片上,并且每张盘片上下各有一个磁头:每张盘片的磁道数是相同的,每张盘片相同位置的磁道组成柱面:而每一个磁道由数量相同的扇区组成,我们知道离主轴越远的扇区面积越大,而扇区大小一般为512B,必然导致存储密度越低,这样做明显浪费空间,为了解决问题,我们将磁盘密度改为等密度结构,这就意味着外围磁道的扇区数量要大于内圈的数量. 物理图 逻辑图…
/proc 文件系统是一个虚拟文件系统,通过它可以使用一种新的方法在 Linux内核空间和用户间之间进行通信.在 /proc 文件系统中,我们可以将对虚拟文件的读写作为与内核中实体进行通信的一种手段,但是与普通文件不同的是,这些虚拟文件的内容都是动态创建的.本文对 /proc 虚拟文件系统进行了介绍,并展示了它的用法. 最初开发 /proc 文件系统是为了提供有关系统中进程的信息.但是由于这个文件系统非常有用,因此内核中的很多元素也开始使用它来报告信息,或启用动态运行时配置.清单 1 是对 /p…
前言: Btrfs文件系统是CentOS7.x系列系统上的技术预览版,但是现在还是有公司在使用. btrfs 文件系统(又称B-tree.Butter FS.Better FS等文件系统)   理解btrfs文件系统的功能特性: 1.支持多物理卷:btrfs可由多个底层物理卷组成 2.支持RAID:btrfs内建raid,可在线增删磁盘设备,可在线扩展和缩减磁盘空间 3.写时复制更新机制(CoW:write and copy);原理是:复制.更新及替换指针,而非"就地"更新(如:每次写…
<大 数据技术丛书:Hadoop应用开发技术详解>共12章.第1-2章详细地介绍了Hadoop的生态系统.关键技术以及安装和配置:第3章是 MapReduce的使用入门,让读者了解整个开发过程:第4-5章详细讲解了分布式文件系统HDFS和Hadoop的文件I/O:第6章分析了 MapReduce的工作原理:第7章讲解了如何利用Eclipse来编译Hadoop的源代码,以及如何对Hadoop应用进行测试和调试:第8-9章 细致地讲解了MapReduce的开发方法和高级应用:第10-12章系统地讲…
<Hadoop应用开发技术详解> 基本信息 作者: 刘刚 丛书名: 大数据技术丛书 出版社:机械工业出版社 ISBN:9787111452447 上架时间:2014-1-10 出版日期:2014 年1月 开本:16开 页码:1 版次:1-1 所属分类:计算机 更多关于>>> <Hadoop应用开发技术详解> 内容简介 书籍 计算机书籍 <hadoop应用开发技术详解>由资深hadoop技术专家撰写,系统.全面.深入地讲解了hadoop开发者需要掌握的技…
一.NFS服务简介 NFS是Network File System(网络文件系统).主要功能是通过网络让不同的服务器之间可以共享文件或者目录.NFS客户端一般是应用服务器(比如web,负载均衡等),可以通过挂载的方式将NFS服务器端共享的目录挂载到NFS客户端本地的目录下.NFS在文传送过程中依赖与RPC(远程过程调用)协议.NFS本身是没有提供信息传送的协议和功能的,但是能够用过网络进行图片,视频,附件等分享功能.只要用到NFS的地方都需要启动RPC服务,不论是NFS的服务端还是客户端.NFS…
Linux系统一般有4个主要部分: 内核.shell.文件系统和应用程序.内核.shell和文件系统一起形成了基本的操作系统结构,它们使得用户可以运行程序.管理文件并使用系统.部分层次结构如图1-1所示.  1. linux内核 Linux内核是世界上最大的开源项目之一,内核是与计算机硬件接口的易替换软件的最低级别.它负责将所有以“用户模式”运行的应用程序连接到物理硬件,并允许称为服务器的进程使用进程间通信(IPC)彼此获取信息. 内核是操作系统的核心,具有很多最基本功能,它负责管理系统的进程.…
http://blog.163.com/he_junwei/blog/static/19793764620152743325659/ http://www.01yun.com/other/20130422/366044.html   使用 /proc 文件系统来访问 Linux 内核的内容 这个虚拟文件系统在内核空间和用户空间之间打开了一个通信窗口 简介: /proc 文件系统是一个虚拟文件系统,通过它可以使用一种新的方法在 Linux? 内核空间和用户空间之间进行通信.在 /proc 文件系统…
hdfs文件系统架构详解 官方hdfs分布式介绍 NameNode *Namenode负责文件系统的namespace以及客户端文件访问 *NameNode负责文件元数据操作,DataNode负责文件内容的处理,跟文件有关的额数据不会经过NameNode *NameNode负责安排数据存在那台机器上,负责控制和调配最近的副本给用户读取(调节hdfs的balance属性,执行balance命令) For the common case, when the replication factor is…
Linux文件系统的目录结构详解   一.前 言 文章对Linux下所有目录一一说明,对比较重要的目录加以重点解说,以帮助初学者熟练掌握Linux的目录结构. 二.目 录 1.什么是文件系统 2.文件系统的类型 3.目录结构的详细解读 4.一些重要子目录的解读 5.附录:目录结构的简明查阅手册 三.正 文 我想,不光是我,对于每一个Linux学习者来说,了解Linux文件系统的目录结构,是学好Linux的至关重要的一步.下面大家跟飘扬一起来学习吧…………. 1.什么是文件系统 当您使用Linux…
原文地址:OK6410之tftp下载内核,nfs挂载文件系统全过程详解[转]作者:千山我独行 由于工作的平台也是嵌入式,差不多的平台,所以一直就没有把自己买过来的ok6410板子好好玩玩.以前一直都是sd卡去进行实验的.想着,如果和公司实验室里的开发平台一样的话,那多好啊,既方便,又快捷.磨刀不误砍柴工嘛,好的开发环境可以提高很多效率的.好了,下面开始讲讲怎么去实现的吧.下文很多是参考网上的资料的,很多是雷同,我只是记录自己的过程. 首先是tftp下载内核吧.网上也都说了,ok6410的uboo…
高可用,多路冗余GFS2集群文件系统搭建详解 2014.06 标签:GFS2 multipath 集群文件系统 cmirror 实验拓扑图: 实验原理: 实验目的:通过RHCS集群套件搭建GFS2集群文件系统,保证不同节点能够同时对GFS2集群文件系统进行读取和写入,其次通过multipath实现node和FC,FC和Share Storage之间的多路冗余,最后实现存储的mirror复制达到高可用. GFS2:全局文件系统第二版,GFS2是应用最广泛的集群文件系统.它是由红帽公司开发出来的,允…
一.tracker配置文件详解: # is this config file disabled# false for enabled# true for disableddisabled=false# 这个配置文件是否不生效,呵呵(改成是否生效是不是会让人感觉好点呢?) false 为生效(否则不生效) true反之 # bind an address of this host# empty for bind all addresses of this hostbind_addr=# 是否绑定I…
一.下篇开头的废话 终于开写下篇了,这也是我写远程调用框架的第三篇文章,前两篇都被博客园作为[编辑推荐]的文章,很兴奋哦,嘿嘿~~~~,本人是个很臭美的人,一定得要截图为证: 今天是2014年的第一天,按中国辞旧迎新的传统,也作为我2014年第一篇博客,我想开篇前要总结下2013年的技术学习.今年我当爸爸了,当爸爸的人是没啥时间研究什么技术和写博客的,所以2013年上半年我的文章很少很少,直到老婆5月回家待产才有重新拿起书,提起笔写技术博客.今年老婆要回上海了,估计2014年的博客数量又会少点,…
注:本文是对众多博客的学习和总结,可能存在理解错误.请带着怀疑的眼光,同时如果有错误希望能指出. 同步IO和异步IO,阻塞IO和非阻塞IO分别是什么,到底有什么区别?不同的人在不同的上下文下给出的答案是不同的.所以先限定一下本文的上下文. 本文讨论的背景是Linux环境下的network IO. 一 概念说明 在进行解释之前,首先要说明几个概念:- 用户空间和内核空间- 进程切换- 进程的阻塞- 文件描述符- 缓存 I/O 用户空间与内核空间 现在操作系统都是采用虚拟存储器,那么对32位操作系统…