<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE article
PUBLIC "-//NLM//DTD JATS (Z39.96) Journal Publishing DTD v1.4 20190208//EN"
       "JATS-journalpublishing1.dtd">
<article xmlns:mml="http://www.w3.org/1998/Math/MathML" xmlns:xlink="http://www.w3.org/1999/xlink" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" article-type="research-article" dtd-version="1.4" xml:lang="en">
 <front>
  <journal-meta>
   <journal-id journal-id-type="publisher-id">Transport automation research</journal-id>
   <journal-title-group>
    <journal-title xml:lang="en">Transport automation research</journal-title>
    <trans-title-group xml:lang="ru">
     <trans-title>Автоматика на транспорте</trans-title>
    </trans-title-group>
   </journal-title-group>
   <issn publication-format="print">2412-9186</issn>
  </journal-meta>
  <article-meta>
   <article-id pub-id-type="publisher-id">6aad1b63f4b8448604190b82</article-id>
   <article-id pub-id-type="doi">10.20295/2412-9186-2026-12-03-193-201</article-id>
   <article-categories>
    <subj-group subj-group-type="toc-heading" xml:lang="ru">
     <subject>Живучесть, надежность, безопасность</subject>
    </subj-group>
    <subj-group subj-group-type="toc-heading" xml:lang="en">
     <subject>VIABILITY, RELIABILITY, SAFETY</subject>
    </subj-group>
    <subj-group>
     <subject>Живучесть, надежность, безопасность</subject>
    </subj-group>
   </article-categories>
   <title-group>
    <article-title xml:lang="en">Adaptation of the Linux Operating System Kernel for Microprocessor-Based  Interlocking  System</article-title>
    <trans-title-group xml:lang="ru">
     <trans-title>АДАПТАЦИЯ ЯДРА ОПЕРАЦИОННОЙ СИСТЕМЫ LINUX ДЛЯ МИКРОПРОЦЕССОРНОЙ ЦЕНТРАЛИЗАЦИИ МПЦ-МПК</trans-title>
    </trans-title-group>
   </title-group>
   <contrib-group content-type="authors">
    <contrib contrib-type="author">
     <name-alternatives>
      <name xml:lang="ru">
       <surname>Козлов</surname>
       <given-names>Аркадий Александрович</given-names>
      </name>
      <name xml:lang="en">
       <surname>Kozlov</surname>
       <given-names>Arkadiy Aleksandrovich</given-names>
      </name>
     </name-alternatives>
     <email>arkadiikozlov@gmail.com</email>
     <xref ref-type="aff" rid="aff-1"/>
    </contrib>
   </contrib-group>
   <aff-alternatives id="aff-1">
    <aff>
     <institution xml:lang="ru">Петербургский государственный университет путей сообщения Императора Александра I</institution>
     <country country="RU" xml:lang="ru">Россия</country>
    </aff>
    <aff>
     <institution xml:lang="en">Emperor Alexander I St. Petersburg State Transport University</institution>
     <country country="RU" xml:lang="en">Russian Federation</country>
    </aff>
   </aff-alternatives>
   <pub-date publication-format="print" date-type="pub" iso-8601-date="2026-09-20T11:36:16+03:00">
    <day>20</day>
    <month>09</month>
    <year>2026</year>
   </pub-date>
   <pub-date publication-format="electronic" date-type="pub" iso-8601-date="2026-09-20T11:36:16+03:00">
    <day>20</day>
    <month>09</month>
    <year>2026</year>
   </pub-date>
   <volume>12</volume>
   <issue>3</issue>
   <fpage>193</fpage>
   <lpage>201</lpage>
   <history>
    <date date-type="received" iso-8601-date="2026-09-18T00:00:00+03:00">
     <day>18</day>
     <month>09</month>
     <year>2026</year>
    </date>
   </history>
   <permissions>
    <copyright-statement xml:lang="ru">© 2026 Козлов А.А.</copyright-statement>
    <copyright-statement xml:lang="en">© 2026 Kozlov A.A.</copyright-statement>
    <copyright-year>2026</copyright-year>
    <copyright-holder xml:lang="ru">Козлов Аркадий Александрович</copyright-holder>
    <copyright-holder xml:lang="en">Kozlov Arkadiy Aleksandrovich</copyright-holder>
   </permissions>
   <self-uri xlink:href="https://atjournal.ru/en/nauka/publications/6aad1b63f4b8448604190b82/view">https://atjournal.ru/en/nauka/publications/6aad1b63f4b8448604190b82/view</self-uri>
   <abstract xml:lang="ru">
    <p>В статье рассматриваются особенности применения операционной системы Linux в микропроцессорной централизации на базе микроЭВМ и программируемых контроллеров МПЦ-МПК, построенной на основе промышленных контроллеров с процессорами архитектуры x86. Основное внимание уделено обеспечению требуемых временных характеристик программной платформы, необходимых для функционирования дублированной структуры контроллеров логики централизации по принципу «два из двух». Показано, что применение стандартной конфигурации Linux не является оптимальным для специализированной промышленной системы, предъявляющей жесткие требования к времени реакции. Рассмотрены подходы к масштабированию ядра Linux, включению механизма вытеснения ядра CONFIG_PREEMPT, использованию высокоточных таймеров (high-resolution timers) и режимов планирования реального времени SCHED_FIFO для критичных прикладных процессов. Для оценки временных характеристик программной платформы предлагается использовать как стандартный тест cyclictest, так и специализированное тестовое программное обеспечение, выполняющее обмен данными между контроллерами и логику централизации по Ethernet. Приводится подход к экспериментальной оценке времени реакции операционной системы и времени взаимодействия прикладных процессов.</p>
   </abstract>
   <trans-abstract xml:lang="en">
    <p>the article examines the specific aspects of using the Linux operating system in a microprocessorbased interlocking system built on microcomputers and programmable controllers using industrial controllers with x86 architecture processors. Particular attention is paid to ensuring the required timing characteristics of the software platform necessary for the operation of a duplicated central logic controller structure based on the 2oo2 architecture. It is shown that the use of a standard Linux configuration is not optimal for a specialized industrial system with stringent responsetime requirements. The approaches to scaling the Linux kernel, enabling kernel preemption using CONFIG_PREEMPT, using high-resolution timers, and applying the realtime scheduling policy SCHED_FIFO for timecritical application processes are considered. To evaluate the timing characteristics of the software platform, both the standard cyclictest benchmark and specialized test software performing data exchange between central logic controllers via Ethernet are proposed. An approach to the experimental evaluation of operating system response time and the interaction time between application processes is presented.</p>
   </trans-abstract>
   <kwd-group xml:lang="ru">
    <kwd>Linux</kwd>
    <kwd>CONFIG_PREEMPT</kwd>
    <kwd>SCHED_FIFO</kwd>
    <kwd>высокоточный таймер</kwd>
    <kwd>система реального времени</kwd>
    <kwd>время реакции системы</kwd>
    <kwd>системы железнодорожной автоматики и телемеханики</kwd>
    <kwd>безопасные системы управления</kwd>
   </kwd-group>
   <kwd-group xml:lang="en">
    <kwd>Linux</kwd>
    <kwd>CONFIG_PREEMPT</kwd>
    <kwd>SCHED_FIFO</kwd>
    <kwd>high-resolution timer</kwd>
    <kwd>real-time system</kwd>
    <kwd>system response time</kwd>
    <kwd>railway automation and remote control systems</kwd>
    <kwd>safety-critical control systems</kwd>
    <kwd>train control system</kwd>
   </kwd-group>
  </article-meta>
 </front>
 <body>
  <p></p>
 </body>
 <back>
  <ref-list>
   <ref id="B1">
    <label>1.</label>
    <citation-alternatives>
     <mixed-citation xml:lang="ru">Сапожников В. В., Никитин А. Б. Микропроцессорная система электрической централизации МПЦ-МПК // Наука и транспорт. 2009. № S. С. 18–21. EDN VBNHVV</mixed-citation>
     <mixed-citation xml:lang="en">Sapozhnikov V. V., Nikitin A. B. Mikroprocessornaya sistema elektricheskoy centralizacii MPC-MPK // Nauka i transport. 2009. № S. S. 18–21. EDN VBNHVV</mixed-citation>
    </citation-alternatives>
   </ref>
   <ref id="B2">
    <label>2.</label>
    <citation-alternatives>
     <mixed-citation xml:lang="ru">Дауд А., Квашнин В. М. Linux в системах реального времени: подходы, возможности и анализ производительности // Вестник науки. 2024. Т. 4, № 12 (81). С. 1580–1591. EDN DKXHYC</mixed-citation>
     <mixed-citation xml:lang="en">Daud A., Kvashnin V. M. Linux v sistemah real'nogo vremeni: podhody, vozmozhnosti i analiz proizvoditel'nosti // Vestnik nauki. 2024. T. 4, № 12 (81). S. 1580–1591. EDN DKXHYC</mixed-citation>
    </citation-alternatives>
   </ref>
   <ref id="B3">
    <label>3.</label>
    <citation-alternatives>
     <mixed-citation xml:lang="ru">Якушев А. Я., Плакс А. В., Опарина Е. В. Повышение безопасности микропроцессорной подсистемы управления аппаратами электроподвижного соста- ва // Известия Петербургского университета путей сообщения. 2015. № 4 (45). С. 85–92. EDN VJKBYT</mixed-citation>
     <mixed-citation xml:lang="en">Yakushev A. Ya., Plaks A. V., Oparina E. V. Povyshenie bezopasnosti mikroprocessornoy podsistemy upravleniya apparatami elektropodvizhnogo sosta- va // Izvestiya Peterburgskogo universiteta putey soobscheniya. 2015. № 4 (45). S. 85–92. EDN VJKBYT</mixed-citation>
    </citation-alternatives>
   </ref>
   <ref id="B4">
    <label>4.</label>
    <citation-alternatives>
     <mixed-citation xml:lang="ru">Волосатова Т. М., Киселев И. А., Князева С. В. Много- поточная обработка в POSIX-стандарте // Восточно- Европейский научный журнал. 2021. № 12–3 (76). С. 37–39. DOI: 10.31618/ESSA.2782-1994.2021.3.76.214. EDN CDWIMS</mixed-citation>
     <mixed-citation xml:lang="en">Volosatova T. M., Kiselev I. A., Knyazeva S. V. Mnogo- potochnaya obrabotka v POSIX-standarte // Vostochno- Evropeyskiy nauchnyy zhurnal. 2021. № 12–3 (76). S. 37–39. DOI: 10.31618/ESSA.2782-1994.2021.3.76.214. EDN CDWIMS</mixed-citation>
    </citation-alternatives>
   </ref>
   <ref id="B5">
    <label>5.</label>
    <citation-alternatives>
     <mixed-citation xml:lang="ru">Linux Kernel Documentation. High-ResolutionTimersand Dynamic Ticks Design Notes. URL: https://docs.kernel. org/timers/highres.html (дата обращения: 25.05.2026).</mixed-citation>
     <mixed-citation xml:lang="en">Linux Kernel Documentation. High-ResolutionTimersand Dynamic Ticks Design Notes. URL: https://docs.kernel. org/timers/highres.html (data obrascheniya: 25.05.2026).</mixed-citation>
    </citation-alternatives>
   </ref>
   <ref id="B6">
    <label>6.</label>
    <citation-alternatives>
     <mixed-citation xml:lang="ru">Linux Kernel Documentation. Hrtimers — Subsystem for High-Resolution Kernel Timers. URL: https://docs. kernel.org/timers/hrtimers.html (дата обращения: 25.05.2026).</mixed-citation>
     <mixed-citation xml:lang="en">Linux Kernel Documentation. Hrtimers — Subsystem for High-Resolution Kernel Timers. URL: https://docs. kernel.org/timers/hrtimers.html (data obrascheniya: 25.05.2026).</mixed-citation>
    </citation-alternatives>
   </ref>
   <ref id="B7">
    <label>7.</label>
    <citation-alternatives>
     <mixed-citation xml:lang="ru">Девянин П. Н., Тележников В. Ю., Хорошилов А. В. Формирование методологии разработки безопасного системного программного обеспечения на примере операционных систем // Труды Института системного программирования РАН. 2021. Т. 33, № 5. С. 25–40. DOI: 10.15514/ISPRAS-2021-33(5)-2. EDN WBXBTQ</mixed-citation>
     <mixed-citation xml:lang="en">Devyanin P. N., Telezhnikov V. Yu., Horoshilov A. V. Formirovanie metodologii razrabotki bezopasnogo sistemnogo programmnogo obespecheniya na primere operacionnyh sistem // Trudy Instituta sistemnogo programmirovaniya RAN. 2021. T. 33, № 5. S. 25–40. DOI: 10.15514/ISPRAS-2021-33(5)-2. EDN WBXBTQ</mixed-citation>
    </citation-alternatives>
   </ref>
   <ref id="B8">
    <label>8.</label>
    <citation-alternatives>
     <mixed-citation xml:lang="ru">Linux Kernel Documentation. RealTime Preemption (PREEMPT_RT). URL: https://docs.kernel.org/core-api/ realtime/ (дата обращения: 25.05.2026).</mixed-citation>
     <mixed-citation xml:lang="en">Linux Kernel Documentation. RealTime Preemption (PREEMPT_RT). URL: https://docs.kernel.org/core-api/ realtime/ (data obrascheniya: 25.05.2026).</mixed-citation>
    </citation-alternatives>
   </ref>
   <ref id="B9">
    <label>9.</label>
    <citation-alternatives>
     <mixed-citation xml:lang="ru">Linux Kernel Documentation. How Realtime Kernels Differ. URL: https://www.kernel.org/doc/html/latest/ corapi/realtime/differences.html (дата обращения: 25.05.2026).</mixed-citation>
     <mixed-citation xml:lang="en">Linux Kernel Documentation. How Realtime Kernels Differ. URL: https://www.kernel.org/doc/html/latest/ corapi/realtime/differences.html (data obrascheniya: 25.05.2026).</mixed-citation>
    </citation-alternatives>
   </ref>
   <ref id="B10">
    <label>10.</label>
    <citation-alternatives>
     <mixed-citation xml:lang="ru">Overview of CPU Scheduling. Linux Man-Pages. URL: https://man7.org/linux/man-pages/man7/sched.7.html (дата обращения: 25.05.2026).</mixed-citation>
     <mixed-citation xml:lang="en">Overview of CPU Scheduling. Linux Man-Pages. URL: https://man7.org/linux/man-pages/man7/sched.7.html (data obrascheniya: 25.05.2026).</mixed-citation>
    </citation-alternatives>
   </ref>
   <ref id="B11">
    <label>11.</label>
    <citation-alternatives>
     <mixed-citation xml:lang="ru">Linux Kernel Documentation. Clock Sources, Clock Events, Sched_Clock() and Delay Timers. URL: https://docs.ker- nel.org/timers/timekeeping.html (дата обращения: 25.05.2026).</mixed-citation>
     <mixed-citation xml:lang="en">Linux Kernel Documentation. Clock Sources, Clock Events, Sched_Clock() and Delay Timers. URL: https://docs.ker- nel.org/timers/timekeeping.html (data obrascheniya: 25.05.2026).</mixed-citation>
    </citation-alternatives>
   </ref>
   <ref id="B12">
    <label>12.</label>
    <citation-alternatives>
     <mixed-citation xml:lang="ru">Cyclictest. High-Resolution Test Program. URL: https:// github.com/jlelli/rt-tests/blob/master/src/cyclictest/ cyclictest.8 (дата обращения: 25.05.2026).</mixed-citation>
     <mixed-citation xml:lang="en">Cyclictest. High-Resolution Test Program. URL: https:// github.com/jlelli/rt-tests/blob/master/src/cyclictest/ cyclictest.8 (data obrascheniya: 25.05.2026).</mixed-citation>
    </citation-alternatives>
   </ref>
   <ref id="B13">
    <label>13.</label>
    <citation-alternatives>
     <mixed-citation xml:lang="ru">Real-Time Field Bus Systems with Linux. URL: https://pub. tik.ee.ethz.ch/students/2015-HS/SA-2015-21.pdf (дата обращения: 25.05.2026).</mixed-citation>
     <mixed-citation xml:lang="en">Real-Time Field Bus Systems with Linux. URL: https://pub. tik.ee.ethz.ch/students/2015-HS/SA-2015-21.pdf (data obrascheniya: 25.05.2026).</mixed-citation>
    </citation-alternatives>
   </ref>
   <ref id="B14">
    <label>14.</label>
    <citation-alternatives>
     <mixed-citation xml:lang="ru">Overview of CPU Scheduling. Linux Man-Pages. URL: https://man7.org/linux/man-pages/man7/sched.7.html (дата обращения: 25.05.2026).</mixed-citation>
     <mixed-citation xml:lang="en">Overview of CPU Scheduling. Linux Man-Pages. URL: https://man7.org/linux/man-pages/man7/sched.7.html (data obrascheniya: 25.05.2026).</mixed-citation>
    </citation-alternatives>
   </ref>
   <ref id="B15">
    <label>15.</label>
    <citation-alternatives>
     <mixed-citation xml:lang="ru">An EEVDF CPU Scheduler for Linux. URL: https://lwn.net/ Articles/925371/ (дата обращения: 25.05.2026).</mixed-citation>
     <mixed-citation xml:lang="en">An EEVDF CPU Scheduler for Linux. URL: https://lwn.net/ Articles/925371/ (data obrascheniya: 25.05.2026).</mixed-citation>
    </citation-alternatives>
   </ref>
  </ref-list>
 </back>
</article>
