Элементарные операции ввода-вывода системы UNIX были заимствованы из первых операционных систем, например из системы Multics и других. При их создании разработчики руководствовались принципом, который иногда называют open-read-write-close (открыть-прочитать-записать-закрыть). Прежде чем пользовательский процесс сможет выполнять операции ввода-вывода, он должен вызвать функцию open. В качестве параметров ей передается имя файла или устройства, которое предполагается использовать, а также атрибуты прав доступа, которые должны быть назначены при открытии этому файлу или устройству. Функция open возвращает небольшое целое число - дескриптор файла2 (file descriptor), который используется процессом при выполнении операций ввода-вывода на открытом файле или устройстве.