Я думаю, что другой ответ от Petar - это то, что правильно, но я также хотел бы добавить, что для меня самый простой способ объяснить, почему open считается системным вызовом, потому что системные вызовы не гарантируются одинаковыми во всех ОС. Например, если мы представим ОС, в которой открыт системный вызов 1, другие ОС могут использовать системный вызов 1 для записи (как это делает linux x64), поэтому для совместимости были добавлены такие функции, как open()
, где ОС обеспечивала бы реализацию open()
как вызов соответствующего значения системного вызова, и программисту не придется беспокоиться о вызове правильного номера системного вызова между различными ОС