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

But Telegram says people want to keep their chat history when they get a new phone, and they like having a data backup that will sync their chats across multiple devices. And that is why they let people choose whether they want their messages to be encrypted or not. When not turned on, though, chats are stored on Telegram's services, which are scattered throughout the world. But it has "disclosed 0 bytes of user data to third parties, including governments," Telegram states on its website. False news often spreads via public groups, or chats, with potentially fatal effects. The S&P 500 fell 1.3% to 4,204.36, and the Dow Jones Industrial Average was down 0.7% to 32,943.33. The Dow posted a fifth straight weekly loss — its longest losing streak since 2019. The Nasdaq Composite tumbled 2.2% to 12,843.81. Though all three indexes opened in the green, stocks took a turn after a new report showed U.S. consumer sentiment deteriorated more than expected in early March as consumers' inflation expectations soared to the highest since 1981. Sebi said data, emails and other documents are being retrieved from the seized devices and detailed investigation is in progress. "There are several million Russians who can lift their head up from propaganda and try to look for other sources, and I'd say that most look for it on Telegram," he said.
from vn


Telegram Head of mobile
FROM American