Библиотека knigago >> Компьютеры и Интернет >> Аппаратное обеспечение, компьютерное железо >> Linux и Go. Эффективное низкоуровневое программирование.

Олег Иванович Цилюрик - Linux и Go. Эффективное низкоуровневое программирование.

Linux и Go. Эффективное низкоуровневое программирование.
Книга - Linux и Go. Эффективное низкоуровневое программирование..  Олег Иванович Цилюрик  - прочитать полностью в библиотеке КнигаГо
Название:
Linux и Go. Эффективное низкоуровневое программирование.
Олег Иванович Цилюрик

Жанр:

Аппаратное обеспечение, компьютерное железо, Базы данных, Учебники и самоучители по компьютеру

Изадано в серии:

неизвестно

Издательство:

неизвестно

Год издания:

-

ISBN:

неизвестно

Отзывы:

Комментировать

Рейтинг:

Поделись книгой с друзьями!

Помощь сайту: донат на оплату сервера

Краткое содержание книги "Linux и Go. Эффективное низкоуровневое программирование."

Это 2-е издание книги, показанной здесь под названием "Linux: эффективная многопроцессорность. Используем Go" (http://flibusta.is/b/664396). Издание сильно, более 25%, дополнено в сравнении с исходным вариантом.

2-е издание (в бумаге) готовится издательством BHV, Санкт-Петербург, проходит предиздательскую технологическую подготовку - выход в продажу прогнозируется (в планах издательства) в марте-апреле 2024 года.



Читаем онлайн "Linux и Go. Эффективное низкоуровневое программирование.". [Страница - 67]

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



И увеличение числа параллельных ветвей, процессоров, не только улучшает, но даже
несколько ухудшает цифры, потому что всё больше ветвей (потоков ядра системы, по
существу говоря) «толкутся» у мютексов, ограждающих критическую секцию.
Выводы:

278



Механическое распараллеливание задачи, даже хорошо и грамотно выполненное, не
всегда улучшает временные характеристики задачи, может быть и наоборот.



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

Источники информации
[1] Простой пример использования goroutines в языке Go, Владимира Солонин, 3 апреля 2015 —
https://eax.me/go-goroutines/
[2] Использование пакета Flag в Go, January 24, 2020 —
https://www.digitalocean.com/community/tutorials/how-to-use-the-flag-package-in-go-ru
[3] ПЛК — что это такое? — https://habr.com/ru/post/139425/?

279

Заключение
В Go ещё множество интересных «фишек»… Но книга эта не столько про Go, сколько про то, как
в своём программном коде использовать множество процессоров одновременно,
предоставляемых оборудование. И о том, что именно Go изначально «заточен» на такое
использование — его авторы предвосхитили именно такое направление развитие компьютерных
тенденций.
Эра повышения производительности компьютерных систем за счёт скорости (тактовой частоты)
процессора, протяжённостью в 50-60 лет, завершилась. Началась эра повышения
производительности за счёт числа процессоров. И вопрос того как использовать эту
изменившуюся реальность ещё требует осмысления...

280

Об авторе
Цилюрик Олег Иванович — практик-разработчик архитектуры (системотехники) и, главным
образом, программного обеспечения крупных компьютерных проектов со стажем практических
разработок больше 40 лет. Ещё в последние десятилетие существования СССР участвовал в
больших проектах области ВПК СССР, в составе крупнейших инженерно-научных центров:
ВНИИ РТ, КБ ПМ г.Москва.
С того времени непрерывно работал в самых разнообразных разработческих проектах. Как
обобщение этого опыта издал 2 книги в издательствах Москвы и С.-Петербурга, и около 20 книг в
электронном виде, достаточно известных в программистских кругах.
Параллельно работал 5-6 лет научным редактором переводной компьютерной литературы
издательства «Символ-Плюс» — хорошо известная серия компьютерной литературы «со
зверушками на обложке».
Автор известного курса по разработке модулей ядра, драйверов Linux, гуляющего по Интернет в
виде конспекта на протяжении 10 лет, который разрабатывался для проведения учебных
тренингов программистов-разработчиков известной международной софтверной фирмы Global
Logic.
Работу с языком Go начал с 2013 года, по заказу той же компании Global Logic учебный курс,
известный (гуляющий по Интернет) в электронных публикациях как «Go конспект» — адаптация
в Go практикующих программистов C/C++, и хронологически первый в русскоязычных
публикациях обстоятельный курс Go.
Настоящий текст является радикальной переработкой того, что было написано в 2012-2014 годах,
но, более того, он является «уклоном» в другую сторону — использование Go в
многопроцессорных системах для их эффективного использования.

281

--">

Оставить комментарий:


Ваш e-mail является приватным и не будет опубликован в комментарии.