文件系统:

虚拟文件系统层:负责转换成相应的文件系统,需要文件系统驱动,让本操作系统认识该文件系统。
数据放在磁盘中,文件系统和磁盘中有。
Xv6:直接对文件系统中的文件和目录操作,驱动只有一个,调硬件的操作。
进程文件系统:将运行的进程映射到文件系统中。
大文件时,4G文件内容时:间接指针指向数据块。
超级块:用0,1标志块的使用情况。讲超级块缓存到内存中,再操作。
数据块:根据指针找数据块,多进程时,文件逻辑上是连续的,物理上不是连续的。碎片管理:在物理分布上做连续处理。
访问控制列表:ACL。针对每一个人设置对文件的访问权限。存在i节点中。
日志文件系统: 数据往磁盘写时没电了,写的过程掉电。解决:写操作时,先写日志文件,根据日志文件找,对文件系统结构做日志,不是对内容做日志。数据库是:只要是数据库数据做修改,就记录日志文件。
加载到可扩大的分区上,磁盘分区不能动态分配大小。
块数分配空间:如果块大,浪费空间。块大:浪费空间
块小:I/O太多,读的效率低。
树状结构存储:B树
找文件myfile: 在根目录下打开,找到temp目录的i结点,找到myfile的i结点,根据i结点找到文件详细信息。
物理链表的形式:(逻辑连续,物理不连续)文件第一块,通过指针指向文件第二块,文件扩大:直接找一个空块,用链表链过去。
间接指针,一个指针指向一个地址块。可以访问文件指定的位置。

Xv6文件系统:类似UNX文件,
要解决的问题:
 目录:树状结构,记录哪个区域是空心啊的
 支持崩溃恢复
 不同的进程可同时操作文件系统,保证并行不会破坏文件系统的正常工作。
 维护一个内存的Cache
文件系统结构:
自底向上:
底层:磁盘块,用cache数据,对应源码bio.c
事务:支持文件崩溃,log.c
i结点和数据块的分配:fs.c
目录i结点:fs.c
递归查找,找目录:fs.c
系统函数调用:打开文件,file.c

对cache层,cache层的每一块同一时间内只有一个线程。缓存常用的块提高性能。
Bread:从磁盘中取出一块
Bwrite:把缓存区中的一块写到磁盘中
Log层:日志文件,使读写操作要么全完成,要么全不完成。先写日志,再写磁盘,磁盘上写完之后,清除日志。如果日志为空:代表磁盘写成功。如果日志非空:说明有问题。
问题:日志没写完,就崩溃,就算成该操作没做就行。
日志写完,数据块没写完:根据日志文件写到磁盘中,清空日志文件。
块分配:超级块,i结点指针,Log指针。
Balloc分配空间,首先计算块的位图,哪块空闲,
i结点:file.h,操作:读文件readsb();

2019.5.22

用户:用户ID号,口令,
Group权限:同一组的用户,对文件有相同的访问权限。上下文。
操作系统中存放用户信息:etc文件中,每个合法用户占一行,
Username:password: 对passwd文件中,把数字ID号改成0,就变成了root.(不安全)
Cd /etc
more命令类似与cat命令,却比cat命令强大,不过会以一页一页的形式显示,支持vi中的关键字定位操作。cat命令主要用来查看文件内容,创建文件,文件合并,追加文件内容等功能。
More passwd
Su 切到root
/etc/group:查看定义了哪些
Vi group
grep student group(在group中找student字符串)
获得root权限:root对操作系统有完全控制权,Root不受权限控制,所以显示用户使用root权限,不允许root远程登陆,使用root必须用su切换,可以设置哪些用户组可以使用su root,出现的问题:很多命令需要root权限。
Sudo命令以系统管理者的身份执行指令,也就是说,经由 sudo 所执行的指令就好像是 root 亲自执行。使用权限:在 /etc/sudoers 中有出现的使用者。临时获得root权限,会过期失效
Su – root:root是没有密码,需要先用sudo passwd设置密码。需要切换root下:su – root,用su切换,不是完全的root文件下。
Su ycy:切换用户
$表示普通用户
#表示超级用户,也就是root用户
chmod----改变一个或多个文件的存取模式(mode) https://www.runoob.com/linux/linux-comm-chmod.html
alias: Linux alias命令用于设置指令的别名。alias[别名]=[指令名称]
操作系统课堂Linux
/ect/sudoers
用户名/用户组(%) 机器名(all代表多有机器)执行的命令
%wheel ALL =(ALL) ALL
Wheel组可以可以执行所有机器名的所有指令。
用过sudo会在var/log/secure中记录。
增加用户:useradd,改用户:usermod,删除:userdel
文件的权限:r,w,x(执行),读权限是基本权限,x对目录来说是cd权限。写:创建目录。Ls -l查看文件权限。改权限:chmod
改文件主人需要root权限。Chown student foofile
touch命令用于修改文件或者目录的时间属性,包括存取时间和更改时间。若文件不存在,系统会建立一个新的文件。
ls -l 可以显示档案的时间记录。
操作系统课堂Linux
使用指令"touch"时,如果指定的文件不存在,则将创建一个新的空白文件。例如,在当前目录下,使用该指令创建一个空白文件"file",输入如下命令:
操作系统课堂Linux
mkdir命令用于建立子目录
在工作目录下,建立一个名为 AAA 的子目录:
mkdir AAA
在工作目录下的 BBB 目录中,建立一个名为 Test 的子目录。若 BBB 目录原本不存在,则建立一个。(注:本例若不加 -p,且原本 BBB目录不存在,则产生错误。)
mkdir -p BBB/Test

进程:
ps aux
ps -l:

作业:通过lab acl grade
Data

相关文章:

  • 2021-06-02
  • 2021-09-22
  • 2021-05-15
  • 2021-09-28
  • 2021-12-29
  • 2022-01-02
  • 2022-01-10
  • 2021-08-05
猜你喜欢
  • 2021-10-01
  • 2021-04-25
  • 2021-12-27
  • 2021-10-21
  • 2022-02-17
  • 2022-03-05
  • 2022-01-20
相关资源
相似解决方案