![](https://img-blog.csdnimg.cn/direct/e13c786777c74cb785fc1cd92d709feb.png?x-oss-process=image/resize,m_fixed,h_224,w_224)
操作系统与Linux内核
文章平均质量分 70
主要介绍操作系统的一些基本知识
黒猫.
这个作者很懒,什么都没留下…
展开
-
操作系统之文件存储空间管理
如果第一个块不够100个,缺少x个,那么将x个回收的块加入到第一组中,并将第一组的块数量+x直到够100个块为止,如果第一组的块已经达到数量上线,然而还要在回收1块,此时需要将超级块中的数据复制到新回收的第一个块中,让新回收的块称为第一个分组,而超级块包含的块数量置为1,并指向新回收的块;如果需要分配的盘块数原创 2022-11-13 16:56:41 · 1124 阅读 · 0 评论 -
操作系统之文件的基本操作
2.用户进程表可以有多个,其中由于对文件读写指针和访问权限不同而被放在表项之中,另外有系统表索引号,用来指向系统的打开文件表中的某一个表项,表示用户对指向的文件进行某些操作;3.用户进程的读写指针记录了该进程对用户的读写操作进行到的位置,不同用户的读写指针进行到的位置不一样,因此不同进程的读写指针也不一样;在正式开始读文件的时候,记事本进程已经有了该文件对应的表项,因此记事本进程只需要知道要读的文件对应的文件编号就可以了;2.根据用户提供的文件的路径,os一层层的查找目录,找到文件对应的目录项;原创 2022-11-13 11:05:09 · 937 阅读 · 0 评论 -
操作系统文件管理-----索引分配
那么假设是上图中的两极索引表,第一层最多有1024/4=256个索引项,每个索引项指向下一层的一个索引表,第二层最多也有256个索引项,每个索引项指向一个1KB大小的文件记录(每条文件记录也由一个块保存,一个文件占有多个块),那么这种条件下的两级索引最大支持的文件大小是256。假设有多个索引块,而各个索引块是通过这种链接的方式连起来,所以,为了找到第二个索引块的块号,操作系统需要先将第一个索引块读入内存,然后才能根据这个索引块中的指针找到第二个索引块号,并且把第二个索引块读入内存;1KB=64MB大小;原创 2022-11-10 22:43:27 · 2846 阅读 · 0 评论 -
文件管理系统----文件目录
存在的问题:当用户需要频繁的访问某同一目录下的多个文件的时候,如果使用绝对路径进行查找,那么每次访问该路径下的文件都要从根目录开始查找,每次都需要3次读磁盘I/O操作,是非常麻烦和耗时间的;用一个目录表来表示这个目录下都存放了哪些东西,在D盘的每一个文件,文件夹都会对应D盘当中的一个表项,所以一条条的目录项本身就是一条条的记,所以目录本身就是一种有结构的文件;当找到了对应的文件目录项之后,需要将索引结点调入内存,索引结点中及记录了各种信息,包括在外村中的位置,根据外村中的位置便可以找到该文件;原创 2022-11-08 23:11:16 · 836 阅读 · 0 评论 -
文件管理系统-----文件的逻辑结构
100)/100=50次,找到所属的低级索引表之后,需要在低级索引表中查找对应的记录所属的分组,需要50次,找到分组之后,需要在分组中查找对应的记录,平均需要50次,因此总共需要50+50+50=150次相对于100w次,检索速度提高了非常之多;顺序结构,这些记录的顺序和关键字的顺序存在一定的关系,此时说明这些文件是按照某种关键字的顺序来排列的,此时可以通过诸如二分法,哈希表等方式来快速的查找某一个关键字对应的记录。文件中的记录一个接一个的顺序排列(逻辑上),记录是定长的或可变长的。原创 2022-11-08 22:13:56 · 466 阅读 · 0 评论 -
文件管理系统概述
一组有意义的信息/数据的集合;文件应该有哪些属性?1.文件名:由创建文件的用户决定文件名,同一目录下不允许有重名文件;2.标识符,尽管同一级目录下不允许有重名文件,但是不同目录下可以有重名的文件,为了区别这些文件,系统给每一个文件都有一个唯一 的标识符,通常表示为文件名后边一大串的字母/数字,3.类型,设置不同的文件类型的好处:如操作系统可以为不同类型的文件设置默认的打开方式。原创 2022-11-08 20:52:39 · 1629 阅读 · 0 评论 -
终端无法通过code .命令打开vscode的解决方案(windows)
path"什么的那个,然后安装命令就可以了,这个仅适用于Mac,我当时还纠结了好久为啥我的vscode没有,甚至怀疑我开始的安装是不是出了什么问题,实际上windows系统是没有这个shell…什么的命令的,直接“我的电脑/此电脑”右键,点击属性,然后点击“高级系统设置”比如我的,因为vscode的bin目录下是有code命令的,所以添加进去之后就可以使用code .命令直接打开终端了;将你vscode的bin目录的路径分别添加到用户变量的path还有系统变量的path变量中就行了,原创 2022-11-02 19:45:30 · 5027 阅读 · 0 评论 -
OS死锁详解
看p2,r1给了p2一个,r2给了P2一个,给了p1一个,还剩一个,但是p1,p2都向他请求这一个,这种情况下是默认不会阻塞的,你可以假设r2给了不会阻塞的那个,所以p2不会阻塞,执行完之后,释放资源,然后p1也顺利执行;p4顺利执行,释放p4占有的资源,W=W+U4=2466+0632=2 10 9 8,F[4]=true;进程pi可以得到所有需要的资源,顺利执行完成,并释放它所占用的资源,执行系统可供给各个进程的资源向量W=W+Ui此前进程Pi占用的资源,并将进程i的F[i]置为true;原创 2022-10-17 22:03:05 · 284 阅读 · 0 评论 -
Linux系统常见文件管理命令与文件结构
"cd -"表示返回上一次待过的路径,比如我现在/home/bin目录下,刚才待的是家目录/home,那么fcd -会切换到/home,再输入cd - 又会回到/home/bin。“cp 要复制的文件的路径 目标路径” 复制命令,比如要将目录a下的tmp.txt文件复制到目录b下(目录a,b在同一级目录下):cp a/tmp.txt b。“mv a/tmp.txt b/” 将a目录下的文件移动到b目录下,实际上就是剪切操作,剪切+重命名,和cp命令的格式基本相同。原创 2022-09-03 20:57:05 · 915 阅读 · 0 评论