I found table definition of P_S storage engine is:
There is a directory named performance_schema in var directory, which has lots of .frm
files and each stands for one table of P_S.
After perform command "mysql_install_db", performance_schema directory is created.
When user issue a query, like "SELECT * from performance_schema.PROCESSLIST", rnd_init
generates table_processlist object and rnd_next gets data. What I want to piont out here
is rnd_next uses TABLE *table. The member table of handler contains lots of definitions
of opened table. The MySQL server must get all P_S tables definitions from .frm files in
performance_schema directory. How can P_S do that? How .frm files can be pre-created? I
want I_S to implement like this. I think it works well. It just has some .frm files.