TGViewer
Евгений Козлов пишет про IT Евгений Козлов пишет про IT @careerunderhood · 2.84K subscribers
Post #305 6.54K
Неделя постов о CPU, Memory Models, Concurrency, Multiprocess, Multithreading и Async

Каждый день буду делать посты с развернутыми (и не очень) разборами статей и материалов на тему. Постараюсь выдерживать последовательность от простого и фундаментального к сложному и узкоспециализированному.

И первый пост будет посвящен - процессору и операционной системе . Если говорить максимально простым языком процессор - это исполнитель инструкций запрограммированных разработчиком. Процессор обладает тактовой частотой - количество операций которое способен обработать в секунду.

В первоначальном своем виде имел процессор только одно ядро - и как следствие все инструкции выполнялись последовательно. В остальные детали устройства CPU пока погружаться нет смысла, раскрою их в следующих постах.

Для того чтобы утилизировать наш одногоядерный процеесор нам нужна операционная система.

В контексте производительности нас интересует как ОС будет работать с запросами пользователя и какие ограничения будет накладывать.

Выделяют 2 типа ОС - однозадачные и мультизадачные.
Для однозадачных ОС одноядерный процессор это идеальный мэтч. В однозадачных ОС нет возможности создавать дополнительные процеесы и треды и всегда приоритет у одной задачи. Пример такой ОС - MS-DOS.

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

Операционная система выделяет процессу «слайс» времени на ЦП, затем перемещает процесс обратно в очередь готовности и позволяет другому процессу получить свой «слайс» времени. «Слайс» обычно находится в диапазоне от 1/1000 до 1/100 секунды. Это намного быстрее, чем мы можем наблюдать, поэтому даже при использовании одного процессора может показаться, что все процессы выполняются одновременно.


Такой подход называется Вытесняющая многозадачность. Реализован в большинстве современных ОС. Существует еще подход с кооперативной многозадачностью, но он присутствовал в старых версиях ОС, не прошел проверку временем и от него отказались.

На этом всё, в данной заметке мы на примитивном уровне разобрались как связаны ОС и CPU. Спасибо что читали, завтра будет следующий пост в котором мы разберемся с многоядерностью и многопроцессорностью.😊

Доп ссылки:
- https://www.geeksforgeeks.org/difference-between-preemptive-and-cooperative-multitasking/
- https://www.quora.com/What-are-some-examples-of-a-single-tasking-operating-system
- https://www.quora.com/Can-a-single-processor-run-multiple-processes-simultaneously
-----

Напоминаю, что моя личка открыта для всех, а если в личку неудобно то можно написать через Google Forms.

Предлагайте темы для будущих постов, задавайте вопросы или оставляйте отзывы/пожелания.😊
  • 🔥 34
  • 👍 13
  • ❤ 6
More from @careerunderhood
  1. Oct 2, 2026Пока от темы Concurrency далеко не ушли. В последнем цикле я если и упоминал вопросы произ…
  2. Sep 30, 2026Результаты опроса меня впечатлили. Большинству интересны истории из работы. Поехали, начне…
  3. Sep 25, 2026Post #470
  4. Sep 21, 2026Concurrency, Synchronization and Consistency. Non-blocking. Оглавление Введение - Блокирую…
  5. Sep 21, 2026Concurrency and Consistency. Non-blocking, lock-free and async. Пост №12. Заключение. Когд…
  6. Sep 20, 2026Concurrency and Consistency. Non-blocking, lock-free and async. Пост №11. Самые важные фак…
Threads Profile ViewerView any public Threads profile without an account.Open ThreadLook →Writing with AI? Make it sound human.Metric37 rewrites AI drafts so they read naturally. Free AI detector, 1,500 words free.Try Metric37 →