Helpers - компьютеры, интернет, программирование

Можно ли рассматривать ядро ​​Linux как единый процесс

Можно ли рассматривать ядро ​​Linux как единый процесс с множеством возможных потоков? Также то, что определяет переключение между модулями управления памятью, планировщиком, файловой системой и т. д. в ядре.


  • @MarcusJohansson Не вопрос домашнего задания 17.07.2013
  • Ядро по определению не является процессом (поскольку работает на голом железе). Процессам нужно ядро ​​для управления! Голое оборудование не знает процессов. 17.07.2013
  • Однако ядро ​​является многопоточным! 17.07.2013

Ответы:


1

Ядро Linux нельзя рассматривать как процесс, потому что это одна из его обязанностей по управлению процессами.

Вы можете рассматривать ядро ​​как большой обработчик прерываний. После того как ядро ​​предоставило потоку процессор, единственным способом вернуть управление являются прерывания (или системные вызовы, которые также являются прерываниями). Когда происходит прерывание, ядро ​​немедленно получает управление и соответствующим образом обрабатывает прерывание. В этот момент могут быть вызваны различные части ядра.

Ядро является многопоточным, поскольку оно может одновременно обрабатывать различные прерывания на разных процессорах. С другой стороны, есть потоки ядра, которые управляются так же, как и пользовательские потоки (для планировщика нет никакой разницы между потоками ядра и пользовательскими потоками).

17.07.2013
  • There is no difference between kernel and user threads for scheduler. Тогда как планируются эти потоки ядра? 18.07.2013
  • Эти потоки ядра запланированы так же, как и пользовательские потоки, в той же очереди, по тем же правилам. Планировщик даже не знает, является ли поток пользовательским потоком или потоком ядра. 18.07.2013
  • @ user567879 Я ответил на твой вопрос? 23.07.2013
  • Потоки ядра планируются полностью так же, как и пользовательские. Чтобы вызвать планировщик, ядро ​​выдало schedule() вызов функции. Но планирование процесса само по себе довольно большая тема, чтобы описывать ее в комментариях. 23.07.2013
  • Новые материалы

    Интуитивное понимание тензоров в машинном обучении
    Тензор является важной концепцией во многих научных областях, таких как математика, физика, обработка сигналов и компьютерное зрение, и это лишь некоторые из них. В математике тензор — это..

    Использование машинного обучения для диагностики болезни Альцгеймера, часть 4
    Маркеры семантической согласованности для ранней диагностики болезни Альцгеймера (arXiv) Автор: Давиде Колла , Маттео Дельсанто , Марко Агосто , Бенедетто Витиелло , Даниэле Паоло Радичони..

    Почему объяснимость так важна прямо сейчас?
    По мере того, как системы искусственного интеллекта и инструменты на основе машинного обучения распространяются в нашей повседневной жизни, как практики, так и критики все чаще заявляют о..

    Анимированный математический анализ
    Использование Manim для создания математических анимированных визуализаций Визуализация данных помогает понять скрытые закономерности в данных, которые невозможно визуализировать..

    Создание простого слайдера изображений с помощью JavaScript
    Узнайте, как создать базовый слайдер изображений с помощью HTML, CSS и JavaScript. Введение В этом уроке мы создадим удобный слайдер изображений, используя JavaScript, HTML и CSS. Ползунок..

    Создание базы данных с помощью супергероя «Python»
    В этом посте мы узнаем, как создать «базу данных SQLite с помощью модуля python sqlite3, создав простую функцию входа и регистрации. Готовы ли вы к этому путешествию? Если да , давайте приступим..

    ИИ для чайников: руководство для начинающих по пониманию будущего технологий
    Вы чувствуете, что остались позади в мире ИИ? Не волнуйтесь, вы не одиноки! Со всей этой шумихой вокруг искусственного интеллекта может быть трудно понять, с чего начать. Но не позволяйте сленгу..