Құрылғы ағашы - Device tree

Жылы есептеу, а құрылғы ағашы (сонымен бірге жазылған девисетрия) Бұл мәліметтер құрылымы нақты компьютердің аппараттық компоненттерін сипаттайтын етіп операциялық жүйе Келіңіздер ядро сол компоненттерді қолдана алады және басқара алады Орталық Есептеуіш Бөлім немесе процессорлар жады, автобустар және перифериялық құрылғылар.

Құрылғы ағашы SPARC негізінде алынған жұмыс станциялары және серверлер арқылы Микробағдарламаны ашыңыз жоба. Ағымдағы Devicetree сипаттамасы[1]кішігірім жүйелерге бағытталған, бірақ әлі де кейбір серверлік жүйелерде қолданылады (мысалы, Қуат сәулеті платформасы туралы анықтама ).

Дербес компьютерлер бірге x86 архитектура, әдетте, жабдықты табу үшін әр түрлі автоматты конфигурация протоколдарына сүйене отырып, құрылғы ағаштарын пайдаланбайды. Құрылғы ағаштарын қолданатын жүйелер, әдетте, статикалық құрылғы ағашынан өтеді (мүмкін сақталған) Тұрақты Жадтау Құрылғысы ) операциялық жүйеге, бірақ сонымен қатар құрылғының ағашын алғашқы кезеңдерде жасай алады жүктеу. Мысал ретінде, Das U-Boot және кексек жаңа амалдық жүйені іске қосқанда құрылғы ағашын өткізе алады. Құрылғы ағаштарын қолдамайтын жүктеушісі бар жүйелерде амалдық жүйемен бірге статикалық құрылғы ағашын орнатуға болады; The Linux ядросы бұл тәсілді қолдайды.

Devicetree спецификациясын қазіргі уақытта басқалармен байланысты devicetree.org атты қауымдастық басқарады, Линаро және Қол.

Құрылғының ағаш форматтары

Құрылғы ағашы кез-келген типтегі мәліметтерді сақтай алады, өйткені ішкі а ағаш және қасиеттері. Түйіндерде қасиеттер және еншілес түйіндер бар, ал қасиеттерде аты-мән жұптары.

Құрылғы ағаштарында а екілік формат операциялық жүйелерді пайдалану және ыңғайлы редакциялау мен басқару үшін мәтіндік формат.[1]

Linux-те қолдану

Құрылғының дұрыс ағашын ескере отырып, бірдей жинақталған ядро ​​кең архитектуралық отбасында әртүрлі аппараттық конфигурацияларды қолдай алады. The Linux ядросы үшін ARC, ҚОЛ, C6x, H8 / 300, MicroBlaze, MIPS, NDS32, Nios II, OpenRISC, PowerPC, RISC-V, SuperH, және Ксенса сәулет құрылғы ағашының ақпаратын оқиды; ARM-де құрылғы ағаштары барлық жаңа үшін міндетті болды SoCs 2012 жылдан бастап.[2] Бұл әр түрлі ARM тақталарын (шекті) қолдау үшін құрылған көптеген шанышқылардың (Linux және Das U-Boot) құралы ретінде қарастырылуы мүмкін. Мақсат аппараттық сипаттаманың маңызды бөлігін екілік ядродан шығарып, жинақталған құрылғы ағашының шоғырына көшіру болып табылады, ол ядроға ядроға беріледі. жүктеуші, тақтаға тән диапазонды ауыстыру C бастапқы файлдар және ядродағы компиляция уақытының параметрлері.[2]

Бұл ARM-ге негізделген болды Linux таратылымдары мысалы, нақты тақталар үшін міндетті түрде теңшелген жүктеуші құралын қосу Таңқурай Pi немесе Hackberry A10. Бұл Linux дистрибутивтерін жасаушыларға қиындықтар туғызды, өйткені амалдық жүйенің кейбір бөліктері әр тақтаның нұсқалары үшін арнайы жинақталуы немесе жаңа тақталарға қолдау көрсету үшін жаңартылуы керек. Алайда, кейбір заманауи SoC (мысалы, Freescale i.MX6 ) операциялық жүйеден бөлек чипте құрылғы ағашы бар сатушы ұсынған жүктеушіге ие болыңыз.[3]

Ұқсас мақсаттар үшін пайдаланылатын жеке конфигурация файлының форматы, FEX файл форматы,[4] Бұл іс жүзінде стандарт арасында Allwinner SoCs.

Windows жүйесінде қолдану

Windows жүйесінде Plug-and-Play менеджері құрылғыларды қауіпсіз шығаруға болатындығын бағалау үшін құрылғы ағашын қолдайды.[5]

Сондай-ақ қараңыз

Әдебиеттер тізімі

  1. ^ а б «Devicetree сипаттамасы» (PDF). V0.3 шығарылымы. devicetree.org. 2020-02-13.
  2. ^ а б «ARM SoC Linux қолдау тізімі» (PDF).
  3. ^ «шекаралық құрылғылар тақталарына арналған жүктеуді жаңарту».
  4. ^ «Fex Guide». linux-sunxi.org. 2014-05-30. Алынған 2014-06-12.
  5. ^ Худек, Тед; Шерер, Тим (2017-06-16). «Device Tree - Windows драйверлері». docs.microsoft.com. Microsoft. Алынған 2020-02-08.

Сыртқы сілтемелер