Telegram Group & Telegram Channel
Презентация.pdf
7.1 MB
🔈 Во вторник прочитал доклад на Podlodka iOS Crew.

Доклад технический, про устройство потоков на уровне приложения и ядра ОС. При подготовке ставил целью покопаться во внутренностях, понять лучше, что происходит под капотом. Приятный челлендж.

Выделю несколько тезисов про многозадачность (хотя доклад шире: любопытствующие - посмотрите слайды)

✍️ Есть два алгоритма переключения между задачами потоков (многозадачности) на уровне операционной системы: кооперативный (задача сама решает, когда уступить процессорное время другим задачам) и принудительный (операционная система контролирует переключение между задачами).
✍️ В iOS используется принудительная многозадачность, которая контролируется операционной системой на уровне ядра XNU.
✍️ Для управления переключением в принудительной многозадачности в ОС существует планировщик. Он записывает статистику использования CPU на поток и вычисляет и изменяет относительные приоритеты выполнения.
✍️ Swift Concurrency, используя async-await и Task, применяет элементы кооперативной многозадачности на уровне языка. Получается гибридная модель: есть легкие «потокоподобные» Tasks, о которых ядро ​​ничего не знает, и Concurrency решает, какие из них будут выполняться на небольшом числе «реальных» потоков, поддерживаемых ядром. На уровне ядра продолжает работать принудительная многозадачность.

P.S. Обещал выложить в канал список литературы из доклада

Concurrency & Multithreading in iOS
Concurrency and Parallelism: Understanding I/O
The Little Book of Semaphores by Allen B. Downey
Apple’s Open Source Roots: The BSD Heritage Behind macOS and iOS
macOS Kernel & System Extensions
Kernel Architecture Overview
GCD Internals
Threading Programming Guide
What’s the difference between a Thread and a Task?
Закон Амдала
Please open Telegram to view this post
VIEW IN TELEGRAM



group-telegram.com/headOfMobile/104
Create:
Last Update:

🔈 Во вторник прочитал доклад на Podlodka iOS Crew.

Доклад технический, про устройство потоков на уровне приложения и ядра ОС. При подготовке ставил целью покопаться во внутренностях, понять лучше, что происходит под капотом. Приятный челлендж.

Выделю несколько тезисов про многозадачность (хотя доклад шире: любопытствующие - посмотрите слайды)

✍️ Есть два алгоритма переключения между задачами потоков (многозадачности) на уровне операционной системы: кооперативный (задача сама решает, когда уступить процессорное время другим задачам) и принудительный (операционная система контролирует переключение между задачами).
✍️ В iOS используется принудительная многозадачность, которая контролируется операционной системой на уровне ядра XNU.
✍️ Для управления переключением в принудительной многозадачности в ОС существует планировщик. Он записывает статистику использования CPU на поток и вычисляет и изменяет относительные приоритеты выполнения.
✍️ Swift Concurrency, используя async-await и Task, применяет элементы кооперативной многозадачности на уровне языка. Получается гибридная модель: есть легкие «потокоподобные» Tasks, о которых ядро ​​ничего не знает, и Concurrency решает, какие из них будут выполняться на небольшом числе «реальных» потоков, поддерживаемых ядром. На уровне ядра продолжает работать принудительная многозадачность.

P.S. Обещал выложить в канал список литературы из доклада

Concurrency & Multithreading in iOS
Concurrency and Parallelism: Understanding I/O
The Little Book of Semaphores by Allen B. Downey
Apple’s Open Source Roots: The BSD Heritage Behind macOS and iOS
macOS Kernel & System Extensions
Kernel Architecture Overview
GCD Internals
Threading Programming Guide
What’s the difference between a Thread and a Task?
Закон Амдала

BY Head of mobile


Warning: Undefined variable $i in /var/www/group-telegram/post.php on line 260

Share with your friend now:
group-telegram.com/headOfMobile/104

View MORE
Open in Telegram


Telegram | DID YOU KNOW?

Date: |

For Oleksandra Tsekhanovska, head of the Hybrid Warfare Analytical Group at the Kyiv-based Ukraine Crisis Media Center, the effects are both near- and far-reaching. Individual messages can be fully encrypted. But the user has to turn on that function. It's not automatic, as it is on Signal and WhatsApp. The Security Service of Ukraine said in a tweet that it was able to effectively target Russian convoys near Kyiv because of messages sent to an official Telegram bot account called "STOP Russian War." He floated the idea of restricting the use of Telegram in Ukraine and Russia, a suggestion that was met with fierce opposition from users. Shortly after, Durov backed off the idea. "We as Ukrainians believe that the truth is on our side, whether it's truth that you're proclaiming about the war and everything else, why would you want to hide it?," he said.
from nl


Telegram Head of mobile
FROM American