When a child is forked then it inherits parent's file descriptors, if child closes the file descriptor what will happen ?
Ele herda uma cópia do descritor de arquivo. Então, fechar o descritor na criança irá fechá-lo para a criança, mas não para o pai e vice-versa.
If child starts writing what shall happen to the file at the parent's end ? Who manages these inconsistencies , kernel or user ?
É exatamente (como em, exatamente literalmente) o mesmo que dois processos gravando no mesmo arquivo. O kernel agenda os processos de forma independente, portanto, você provavelmente obterá dados intercalados no arquivo.
when a process call close function to close a particular open file through file descriptor.The file table of process decrement the reference count by one.But since parent and child both are holding the same file(there refrence count is 2 and after close it reduces to 1)since it is not zero so process still continue to use file without any problem.
Existem DOIS processos, o pai e o filho. Não há "contagem de referência" comum a ambos. Eles são independentes. WRT o que acontece quando um deles fecha um descritor de arquivo, veja a resposta para a primeira pergunta.