Ну потому что так во всех системах программирования, когда программа получает доступ к какому-то аппаратному ресурсу, файлу на диске и т. д., она работает с его дескриптором, и он почти всегда разный.