操作系统-文件打开过程

综述

操作系统的理论学习也算结束了,考试其实对自己并不是很满意。后面继续努力吧。先前基地班学长给了一个复习的资料关于文件打开过程的,感觉很不错

正文

文件打开的过程如下图所示(从右往左看)
操作系统-文件打开过程_第1张图片
首先,操作系统根据文件名a,在系统文件打开表中查找
第一种情况:
如果文件a已经打开,则在进程文件打开表中为文件a分配一个表项,然后将该表项的指针指向系统文件打开表中和文件a对应的一项;
然后再PCB中为文件分配一个文件描述符fd,作为进程文件打开表项的指针,文件打开完成。
第二种情况:
如果文件a没有打开,查看含有文件a信息的目录项是否在内存中,如果不在,将目录表装入到内存中,作为cache;
根据目录表中文件a对应项找到FCB在磁盘中的位置;
将文件a的FCB装入到内存中的Active inode中;
然后在系统文件打开表中为文件a增加新的一个表项,将表项的指针指向Active Inode中文件a的FCB;
然后在进程的文件打开表中分配新的一项,将该表项的指针指向系统文件打开表中文件a对应的表项;
然后在PCB中,为文件a分配一个文件描述符fd,作为进程文件打开表项的指针,文件打开完成。
为了保证进程有独立的内存空间:基地址寄存器、界限地址寄存器

你可能感兴趣的:(操作系统)