在桌面上双击一个txt文件后,系统调依次用了哪些API?
RT~我所知道的是系统会打开文件,创建notepad.exe进程等等,但这些太笼统,哪位大牛能详细阐述一下?
-風見一姬-
12 years, 8 months ago
Answers
我以linux为例简单解释。
首先在linux的shell界面下找到位置,就是桌面中,创建文件,shell进行fork创建进程,执行touch命令,touch命令实际上是一个可执行文件,就是创建文件的程序,他的内部实现我没有研究,大概我猜测应该是这样的:首先调用系统调用open去创建文件,open再去调用kernel里面的open(kernel里面的代码是写好的,这部分程序员不用管),然后调用驱动程序最后实现的open函数,到这里一个文件穿件就完成了。
当然,你说他是怎样写进磁盘的,那就要研究下ext2文件系统了,linux和其他的文件系统不一样,他是一个vfs(虚拟文件系统),他存储的文件内容和文件的属性信息(如:大小,创建时间,类别。。。)。
轻点妹子。疼
answered 12 years, 8 months ago