请问在windows中,一个文件(比如word文件)被访问的流程是怎样的,其中涉及了哪些windows系统的知识?
从应用层看,就是资源管理器先根据文件后缀,找到文件关联程序,然后启动对应程序,打开这个文件。
文件系统知识:windows根据路径会访问文件分配表(nrfs文件系统叫做mft)从而定位这个文件在磁盘上的位置。
然后是文件读写知识,windows提供openfile和readfile api去打开和读取文件内容。
然后是文件格式的知识,word读取文件,首先读取文件头,判断是否是合法的doc文件,然后解析诸如代码页等信息,并且读取流。word使用面向对象的存储结构,你的文档被分成很多独立的层次,叫做流,word读取它们,并且渲染成文档。
ole知识,word使用对象嵌入链接技术,比如word的公式等,它们还需要调用ole服务器,去读取和加载。
不同的操作系统和word版本不同,在windows 7+word 2013上,会留下如下痕迹:
(1)文件最后读取时间
(2)resent文件夹
(3)jumplist
(4)word最近打开文件列表(mur list)
(5)如果是通过打开对话框打开的,会有打开对话框的下拉记录
(6)浏览器打开的,有历史记录