2. Системное программирование. Лаборатория Tarantool. Процесс. Память. Ресурсы | Технострим

preview_player
Показать описание


Цель курса — улучшить понимание работы операционной системы Linux, научиться использовать знания для системного программирования.

На курсе освещается устройство операционной системы на базе ядра GNU/Linux, ядра и его подсистем. Приводятся и описываются способы взаимодействия с ОС. Материал курса максимально приближен к реальности, наполнен примерами.

Смотрите также:

___

ТЕХНОСТРИМ - образовательный канал для IT специалистов.
___

ПОДПИСЫВАЙСЯ, ЕСЛИ ТЕБЕ ИНТЕРЕСНО УЗНАТЬ:

✔ реальные примеры из практики с анализом их достоинств и недостатков
✔ современные технологии, которые применяются в проектах-лидера Рунета
✔ о митапах, мастер-классах, вебинарах и других мероприятиях, которые проводятся на базе вузов и Mail.Ru Group.

Все наши лекции проходят в ведущих вузах страны: МГУ, МГТУ, МФТИ, МИФИ, СПбПУ.
___

ТЫ СТУДЕНТ?

Вступай в наши образовательные проекты и участвуй в чемпионатах. Лучшие студенты получают возможность стажировки в Mail.Ru Group. Отбор - каждые полгода!

Рекомендации по теме
Комментарии
Автор

Осталась непонятной разница между понятиями "сегмент" и "секция" памяти. На слайдах эти термины упоминаются вроде бы как синонимы. А также связь этих понятий с "сегментами" виртуальной памяти x86 процессоров и "сегментами" в ELF. Было бы круто, если бы добавились пояснения в слайды

mikhailmokrushin
Автор

Не могли бы сделать playlist, чтобы на него можно было подписаться, смотреть разом все лекции, если пропустил выпуск, а потом уже по обновлениям на него смотреть видео из playlist? Возможно это есть, надо просто ссылку под видео положить в описание. Спасибо.

aleksay
Автор

На вопрос про lseek + write правильный ответ конечно же был дан почти сразу - что нужна синхронизация. Возражения лектора на это я просто не понял.

__-xnxr
Автор

очень интересно, но ничего не понятно

yabarm
Автор

"Для пользователя вся память процесса - это один непрерывный интервал от 0 до 2^32/64 - 1 "
Не поняла, всего 64 бита на на вот это все: (text секция), инициализированные данные (data), неинициализированные (bss), куча (heap), стек (stack)? Не поместится же. Или в этих 64 битах указатели на вот это все? Или это не 64 бита...
Может это диапазон адресов от 0 до 2^64 с номерами байтов (а сам адрес 64 бита занимает)? (То есть вся память процесса - 2^64 байт)

ekaterinagalkina
Автор

Не ядро делает exit, а start файл (типа crt0), если мы его не позвали явно
Константы попадают в rodata, а не bss или data
Строка в функции не в стеке и не удалится при выходе из функции, она действительно может попасть в text и быть считана оттуда этой функцией по относительному адресу, но на стеке она не появляется.
Объектник != исполняемый файл. Объектник - релоцируемый, а исполняемый файл не факт. У исполняемого файла есть точка входа и тд и тп..
И не могли бы вы пожалуйста уточнить, что значит "fork сделает копию главного потока" (это же не так) и "делать форк в многопоточной программе это UF" (это же тоже не так).

hrorxmc
Автор

Вот бесит такая подача информации. Общего накидали, и чтобы самому это потом применить на практике - нужно гуглить всё. Лучше бы на работающей программе показали с примерами.

bipyc