La création d'un fichier s'effectue en fait en 2 étapes : le système cherche d'abord dans le répertoire où l'on veut créer le fichier, une occurrence du nom du fichier. Si le nom n'est pas déjà utilisé, il crée une entrée dans le répertoire correspondant au nom du fichier, crée un nouvel inode et effectue le lien entre cet inode et ce nom de fichier.
Lorsque le fichier est déjà créé, la procédure d'ouverture consiste simplement à renvoyer le numéro du déscripteur du fichier dans la tableau u_ofile des fichiers ouverts (définie dans la structure U du processus). A l'origine 3 fichiers standards sont préalablement ouverts :
Par ailleurs, le tableau file[] contient les informations sur tous les fichiers ouverts à un instant donné. Une entrée y est utilisée à chaque définition des paramètres d'un fichier (type, mode, etc...).
Chaque entrée de cette table contient :
int open(char *path, int mode, int droits)
modes :