Что правильный путь состоит в том, чтобы установить “динамический” ПУТЬ в ударе? (для андроида sdk)

Чтобы подробно остановиться на первом ответе о POSIX, понять, что "подобный Unix" означает, хорошо сначала, нужно попытаться понять то, что точно является UNIX. Смотря на документацию от Open Group, которая владеет товарным знаком Unix, Вы найдете, что детали о Единственной эволюции спецификации UNIX - вот являются UNIX03:

Стандарт продукта UNIX 03 является меткой систем, соответствующих Версии 3 Единственной Спецификации UNIX. Это - значительно расширенная версия Стандарта продукта UNIX 98. Обязательные улучшения включают выравнивание с Языком программирования ISO/IEC 9989:1999 C, Станд. IEEE 1003.1-2001 и ISO/IEC 9945:2002. Этот Стандарт продукта включает следующие обязательные Стандарты продукта: Интернационализировавшие Системные вызовы и Библиотеки Расширенный V3, Команды и Утилиты V4, язык C V2 и Интернационализировавшие Терминальные интерфейсы.

UNIX98:

Стандарт продукта UNIX 98 является значительно расширенной версией Стандарта продукта UNIX 95. Обязательные улучшения включают (1) Интерфейсы потоков, (2) Многобайтовое расширение поддержки (MSE), (3) Большую Поддержку Файла, (4) Динамическое подключение, (5) изменения для удаления аппаратных зависимостей длины данных или ограничений и 6-летних изменений 2000 года. Кроме того, следующие дополнительные улучшения включены: средства администрации программного обеспечения и ряд API для поддержки в реальном времени. Этот Стандарт продукта включает следующие обязательные Стандарты продукта: Интернационализировавшие Системные вызовы и Библиотеки Расширенный V2, Команды и Утилиты V3, язык C, Транспортная служба (XTI) V2, Сокеты V2 и Интернационализировавшие Терминальные интерфейсы. Кроме того, это может также соответствовать Стандарту продукта администрации программного обеспечения.

UNIX95 (мой акцент):

Этот Стандарт продукта определяет консолидированную платформу для поддержки широкого спектра приложений, первоначально разработанных для одного из класса операционных систем, которые были получены на основании кода Операционной системы UNIX и/или интерфейсов, первоначально разработанных AT&T, в дополнение к услугам, предоставленным Стандартом Основного продукта. Это имеет более широкий объем, чем Основа. Этот Стандарт продукта включает следующие Стандарты продукта: Интернационализировавшие Системные вызовы и Расширенные Библиотеки, Команды и Утилиты V2, язык C, Транспортная служба (XTI), Сокеты и Интернационализировавшие Терминальные интерфейсы.

Серверные версии стандарта добавляют Интернет-сервер и IPv6 в некоторых случаях.

Таким образом, конечно, мы видим ссылку на AT&T, которая Bell Laboratories и язык C в основе того, каков UNIX: язык C, модульные основные инструменты и оболочка и как ядро, файловая система и другие ключевые компоненты ОС были разработаны и реализованы.

enter image description here

enter image description here

Это - то, где книга, Дизайн Операционной системы UNIX Maurice J. Bach становится неоценимым чтением, потому что это - исторические вопросы в этой точке. Знаменитый, конечно, то, как это связано с другими изобретениями как язык C действительно. C был разработан Звонком AT&T для реализации Unix с языком, который мог быть с такой скоростью, как блок, но портативный через другие аппаратные средства, и много POSIX является расширением стандарта C.

Поскольку само ядро затронуто, Вы будете часто находить, что концептуальная схема, такая как этот иллюстрирует то, о чем традиционно было ядро UNIX:

enter image description here

Вот некоторые выборки из классической книги (1986) г-на Bach, которые обсуждают основы ядра System V UNIX:

Однако они [подсистемы приложения и программы] все использование услуги низшего уровня, в конечном счете предоставленные ядром, и они пользуются теми сервисами через набор системных вызовов. В System V существует приблизительно 64 системных вызова, которой меньше чем 32 часто используются. У них есть простые опции, которые делают их простыми в использовании, но предоставляют пользователю много питания. Набор системных вызовов и внутренних алгоритмов, которые реализуют их, формирует тело ядра [...]

[...] его два главных компонента являются подсистемой файла и подсистемой процесса.

Файлы организованы в файловые системы, которые рассматривают как логические устройства; физическое устройство, такое как диск может содержать несколько логических устройств (файловые системы). Каждая файловая система имеет суперблок, который описывает структуру и содержание файловой системы, и каждый файл в файловой системе описан inode, который дает атрибуты файла. Системные вызовы, которые управляют файлами, делают так через inodes. [и пул буферов]

[...] существует две версии inode: дисковая копия, которая хранит inode информацию, когда файл не используется и копия в ядре, которая записывает информацию об активных файлах.

Выполнение пользовательских процессов в системах UNIX разделено на два уровня: пользователь и ядро. Когда процесс выполняет системный вызов, режим выполнения процесса изменяется от непривилегированного режима до привилегированного режима: операционная система выполняется и пытается обслужить пользовательский запрос [...]

[...] философия системы UNIX должна обеспечить примитивы операционной системы, которые позволяют пользователям записать маленькие, модульные программы, которые могут использоваться в качестве стандартных блоков для создания более сложных программ. Один такой примитив, видимый для окружения пользователей, является возможностью перенаправить ввод-вывод.

[...] В дополнение к обслуживанию системных вызовов, ядро делает общую бухгалтерию для пользовательского сообщества, управляя диспетчеризацией процессов, управляя устройством хранения данных и защитой процессов в оперативной памяти, выставляя прерывания, руководящие файлы и устройства и заботящийся об условиях системной ошибки.

Если Вам интересно с различными реализациями ядер в подобных Unix операционных системах, можно также смотреть реализация FreeBSD (4.4BSD) или в ядре Маха или посмотреть на это сравнение их функций.

Чем больше Вы знаете о дизайне UNIX, тем больше Вы понимаете то, что произошло в следующей схеме о родословной UNIX и его истории. Г-н Bach говорит главным образом о System V в своей книге, но он обсуждает BSD также:

enter image description here

Существует больше к этому, чем поймал взгляд действительно. Например, MAC OSX является сертифицированным UNIX03, но Вы видите, что это соединилось с каким-либо из чистых UNIXes (в красном главным образом)?

enter image description here

Выше Вас видят как BSD, GNU, Microsoft и разнообразные люди, внесенные этой вселенной. Даже при том, что GNU и в конечном счете Linux не имеет никакого прямого происхождения к UNIX, Вы видите, что GNU является усилием повторно спроектировать в мире с открытым исходным кодом инструменты и программное обеспечение от коммерческого UNIX, который стал закрытым. Так рассмотрение сохраняемого программного обеспечения GNU дает общее представление, например, в первоначальных опытных приложениях и библиотеках.

Лицензирование войн играло роль в эволюции (и застой иногда) UNIX. Вы сразу видите, что UNIXes выстроены в линию согласно типу лицензии - закрытый по сравнению с BSD (BSD допускает то, чтобы заставлять закрытый исходный код кода... видеть OSX), и GPL, который позволяет Linux и GNU дополнять себя в разрешенном для копирования мире. Вот классическая карта ядра Linux, первоначально разработанного Linus Torvalds, который также показывает то, чем ядро "может" быть в подобной Unix операционной системе:

enter image description here

Это подсказывает при мысли, что тип дизайна "ядра" не то, что делает стандарт UNIX или что определяет подобную Unix ОС. Это свидетельствуется тем, что много подобных Unix Ose могут иметь или монолитное ядро или микроядро - монолитный, был классический тип дизайна для UNIX. На самом деле, даже в чистом UNIXes, HPUX имеет монолитное ядро, тогда как AIX использует микроядро. Эти дебаты о дизайне о производительности и не связаны с родословной Unix или идентификационными данными. С другой стороны, существует традиционный концептуальный подход к предоставлению услуг программному обеспечению, имея дело с файловыми системами и т.д. под операционными системами UNIX/unix-like.

Я полагаю, что такие соображения добавят контекст к части ОС Вашего вопроса.

4
30.03.2014, 23:42
3 ответа
[118212] Идеальным способом является создание каталога мягких ссылок под названием [118749]adt[118750], и его повторное создание после изменения SDK.[12160] Таким образом, ваш [118751]PATH[118752] останется прежним.[118215].
3
27.01.2020, 20:58
[118226]В этом подходе, в двух случаях вывод [118757]ls[118758], отсортированный по времени и только для каталогов ([118759]-td[118760]), передается на команду [118761]head[118762], которая затем выбирает первую строку. В результате для модификации переменной окружения PATH следует использовать самую последнюю версию как [118763]adt-bundle-linux-x86_64-*/sdk[118764], так и [118765]build-tools/android-*/[118766]. [12171]
0
27.01.2020, 20:58
[12161] Должно работать.[12162] Это использует преимущества обработки сорта [12163] -Version[12164], что должно гарантировать, что позиционный параметр [12165] "$1"[12166] всегда установлен на последнюю версию вашего Android SDK. Например:[12167]БЕЗ СОРТА:[12168]БЕЗ ИТ:[12169]И РЕВЕРСИРОВАН:[12170]
0
27.01.2020, 20:58

Теги

Похожие вопросы