Значение «Примитив» в контексте операционной системы / алгоритма - PullRequest
3 голосов
/ 05 ноября 2011

Я привык к слову примитив , используемому для основных типов данных: булевы, целочисленные, с плавающей точкой и т. Д. Однако в Уильям Сталлингс Операционные системы: внутренние компоненты и принципы проектирования он использует его в контексте алгоритмов операционной системы, относящихся к некоторой вызываемой (функция или инструкция); например, он говорит, что send и receive - это пара примитивов, которая «является минимальным набором операций, необходимых для процессов, участвующих в передаче сообщений» (7 th edition, 233). Правильно ли я понимаю, что это означает «базовый строительный блок» (как и при обращении к типам данных), операция, которая считается само собой разумеющейся при построении алгоритма? Это широко распространенное использование или что-то своеобразное для Stallings? Каков наилучший способ определения примитива для данного использования?

1 Ответ

4 голосов
/ 05 ноября 2011

Для меня это означает что-то, что не может быть разложено (люди используют также слово atomic иногда в этом смысле, но atomic часто также используется для объяснения параллелизма или параллелизма с другое значение).

Например, в Unix (или Linux) системные вызовы , как видно из приложения, являются примитивными или атомарными, они либо случаются, либо нет (иногда они прерываются и дают EINTR или ERESTART ошибка).

А внутри интерпретатора или даже в формальной спецификации языка примитивом являются те операции, которые вы не можете определить, и с которыми интерпретатор имеет дело специально. Очень часто cons является примитивной операцией для диалектов Лисп.

...