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
👍2010



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: |

Continuing its crackdown against entities allegedly involved in a front-running scam using messaging app Telegram, Sebi on Thursday carried out search and seizure operations at the premises of eight entities in multiple locations across the country. Such instructions could actually endanger people — citizens receive air strike warnings via smartphone alerts. The SC urges the public to refer to the SC’s I nvestor Alert List before investing. The list contains details of unauthorised websites, investment products, companies and individuals. Members of the public who suspect that they have been approached by unauthorised firms or individuals offering schemes that promise unrealistic returns Crude oil prices edged higher after tumbling on Thursday, when U.S. West Texas intermediate slid back below $110 per barrel after topping as much as $130 a barrel in recent sessions. Still, gas prices at the pump rose to fresh highs. The regulator took order for the search and seizure operation from Judge Purushottam B Jadhav, Sebi Special Judge / Additional Sessions Judge.
from nl


Telegram Head of mobile
FROM American