Тёмный

Основы Linux: процессы и их свойства 

Dmitry Ketov
Подписаться 17 тыс.
Просмотров 28 тыс.
50% 1

Что такое процесс и как он связан с программами и библиотеками
* сегменты процесса: text, data, stack, heap
* загрузка программ и библиотек в виртуальную память процесса
* ELF секции и права доступа сегментов памяти
* динамическая и статическая линковка
* виртуальная, резидентная и разделяемая память процесса
Атрибуты процесса
* wd, umask, environment
* pid, ppid, tty, sid, pgid, tpgid
* nice, pri
* ruid, euid, rgid, egid и их связь с SUID и SGID
Порождение процессов и запуск программ
* системные вызовы fork() и exec()
* системные вызовы wait() и exit()
* процессы-зомби и прародитель процессов
* параллельные программы
Об этом и о многом другом см. books.google.r...

Опубликовано:

 

26 сен 2024

Поделиться:

Ссылка:

Скачать:

Готовим ссылку...

Добавить в:

Мой плейлист
Посмотреть позже
Комментарии : 59   
@amalexey
@amalexey 6 лет назад
Вы мой сенсей! Вы Сократ от IT - знание это высшее Благо и оно должно быть доступно всем! Учился и учусь у Вас
@brand_style_moscow
@brand_style_moscow 10 месяцев назад
Как же долго я искал подобное видео, и вот, наконец-то картинка в моей голове собрана воедино, и я обрел столь желанное понимание! Тысяча благодарностей
@DmitryKetov
@DmitryKetov 10 месяцев назад
Этим и отличается классическое образование от "инфоцыганских видео" из интерента 😁
@ultimate_truth_society
@ultimate_truth_society 4 месяца назад
@@DmitryKetov это прямо душа в душу от души, пятка к пятке, тютелька в тютельку сказано!
@АлексейСирик-в2т
Я вообще в шоке от того что так мало просмотров, мне друг подкинул . Я удивляюсь как этот человек все чуть ли не до атомов раскладывает и при этом еще понятно и даже что-то запоминается.
@sergeywhite8897
@sergeywhite8897 5 лет назад
Спасибо вам огромное, такой труд записали!!! Сейчас вспоминаю курс операционных систем из далекого студенчества!
@fluffyliberta
@fluffyliberta 10 месяцев назад
Спасибо огромное! Прям камень с души сняли, заполнили кратер в знаниях :D Информация очень высокого качества
@DmitryKetov
@DmitryKetov 10 месяцев назад
😁
@ygrigoriev
@ygrigoriev 3 года назад
Отличный материал, однозначно в избранное!
@ТарасПетрович
@ТарасПетрович 5 лет назад
О, а я этот курс платно проходил в политехе лет пять назад. Тысячу раз уже вспоминал, жалел что нет в открытом доступе. И вот, аллилуйя! Спасибо за шэйр. Курс офигенно составлен. А в конце сдавал курсач Дмитрию. Приятно вспомнить. Теперь микросервисы, хайлоад, го, тарантул, но UNICS незыблим =)
@dmitrii.zhiliaev
@dmitrii.zhiliaev 3 года назад
unix
@ТарасПетрович
@ТарасПетрович 3 года назад
@@dmitrii.zhiliaev а что значит этот X ?)
@nazargavrilov873
@nazargavrilov873 4 дня назад
@@ТарасПетровичда он не шарит за замену на X)
@Tattoson
@Tattoson 9 месяцев назад
Просто супер! Нет слов! Подписка, лайки и дальше буду по мере времени вас смотреть!
@joemash4549
@joemash4549 Год назад
Отличная лекция! Спасибо!
@ТуманянТигран
@ТуманянТигран 3 года назад
Уважаемый, лекция - огонь. Спасибо вам за труд.
@myhandle370
@myhandle370 4 года назад
Шикарно объяснено про процессы, спасибо
@фокусмокус-я2з
@фокусмокус-я2з 5 лет назад
параллельно пытаюсь изучать питон после просмотра этого видео стало понятно как он работает автору спасибо смотрел видео о питоне на других каналах ничего не понял здесь видео о процессах на линукс и всё стало ясно это удивительно , большое спасибо
@bulba1995
@bulba1995 2 года назад
Спасибо за полезное видео , я вам признателен.
@dvsidelnikov
@dvsidelnikov 4 года назад
Дмитрий Кетов в топе лучших преподавателей. Правда грустно слышать в лекции фразы на подобии "вчера мы с вами проходили", а ты в свою очередь упомянутый материал в предыдущем видео не видел... Дмитрий, подскажите есть где-нибудь ваш онлайн курс (пусть и платный) с где таких обидных камбеков не будет и где есть лабораторные работы, домашние задания?! На Степике каком-нибудь?!
@leonidmarkov7725
@leonidmarkov7725 2 года назад
Присоединюсь к вопросу. Это ценнейший материал!
@alexyemelianchikov3068
@alexyemelianchikov3068 5 лет назад
очень достойное объяснение
@moplpoi
@moplpoi 2 года назад
Спасибо
@_RUDE_
@_RUDE_ 3 года назад
Демоны в греческой мифологии это низшин божества, помошники богов. Отсюда и название служб, которые служат на благо юзера) Например cron от греческого кронос (время)
@sashashad
@sashashad Месяц назад
кто тогда такие админы?)
@_RUDE_
@_RUDE_ Месяц назад
@@sashashad Когда это создавалось админы и были юзерами. Да и сейчас с большенством демонов полноценно могут работать только админы.
@sashashad
@sashashad Месяц назад
@@_RUDE_ Соглашусь, даже программисты до сих пор плохо представляют устройство операционных систем (если они не системные программисты).
@АнгелИнокентий
Nice
@sashashad
@sashashad Месяц назад
10:08 - а почему в 64 bit разрядной системе всего возможно выделить памяти 2^48? Почему мы её тогда не называем 48 битовой
@DmitryKetov
@DmitryKetov Месяц назад
Потому что процессор оперирует с 64 разрядными числами, АЛУ у него такое и шина данных. А шина адреса имеет "всего" 48бит (что позволяет иметь доступ к 256Тб [теребайт] байт-адресуемой памяти). Можно сделать шину адреса и 64 бит, но зачем усложнять и так непростую и недешевую реализацию, если даже при 48битном адресе используются жалкие проценты от его полного потенциала? Лишние биты это лишние транзисторы и лишнее энергопотребление, нагрев и прочее.
@sashashad
@sashashad Месяц назад
@@DmitryKetov Спасибо за развёрнутый ответ! Среди информационного шума сложно быстро найти нужное. Использую вашу книгу в работе.
@sonny23ization
@sonny23ization 4 месяца назад
а в 1:12:10 что значит программа устала и решила ее заместить?
@ВиталийЧемизов
Очень хорошо рассказано о библиотеках и о возможности иметь в мистеме несколько версий библиотек. Однако на практике остается проблема неудовлетаоренных зависимостей, когда при установке какой либо программы она ругается на отсутствие необходимых библиотек, а когда пробуешь их в свою очередь установить, возникает проблема, что есть новые зависимости или что существующая версия библиотеки не подходит и в итоге уже нисего установить невозможно, тупик. Можно ли устанавливать несколько программ, использующих разные версии библиотек, притом, что программы используют линки, указывающие на расположение библиотеки?
@DmitryKetov
@DmitryKetov 9 месяцев назад
Можно, но только нештатным образом, что требует некоторых спец. усилий. На практике это решается контейнерами docker или snap.
@ВиталийЧемизов
@ВиталийЧемизов 9 месяцев назад
@@DmitryKetov Дмитрий, спасибо за ответ, вы один из самых лучших преподавателей! Даете глубину знаний, потому что сами знаете глубоко.
@sashashad
@sashashad Месяц назад
ну или использовать виртуальные окружения
@djsosbxbdirndxnkcbebxhxbe
@djsosbxbdirndxnkcbebxhxbe 3 года назад
Видео достаточно длинное, добавьте, пожалуйста, таймкоды, будет в разы удобнее
@suhomlinov-vitaliy
@suhomlinov-vitaliy Год назад
Дмитрий, подскажите пожалуйста, а вы сейчас где то преподаете? Возможно даете частные уроки?
@DmitryKetov
@DmitryKetov Год назад
Нет, уже отошел от дел :)
@suhomlinov-vitaliy
@suhomlinov-vitaliy Год назад
@@DmitryKetov Понял, спасибо за ответ и за этот материал :)
@MAS150MD200
@MAS150MD200 6 лет назад
Огромное спасибо за лекции! Не могли бы вы более подробно рассказать что хранится в секции DATA?
@DmitryKetov
@DmitryKetov 6 лет назад
Данные программы, например текстовые строки, которые она выводит в процессе работы
@Ast4rt3s
@Ast4rt3s 6 лет назад
Еще уточнил бы что это глобальные или статические переменные, которые не меняются в контексте функций программы, т.к. размер этого сегмента фиксированный
@DmitryKetov
@DmitryKetov 6 лет назад
Могут и меняться, никто им не запрещает. Просто их начальные значения известны на момент запуска программы.
@DmitryKetov
@DmitryKetov 4 года назад
​@@Maksim-nu8hbДа, примерно так - для глобальных переменных и локальных статических, насколько я помню, это верно для большинства C-компиляторов. А вот локальные автоматические переменные - всегда в стэке.
@danjilov3965
@danjilov3965 6 лет назад
Я правильно понимаю, что терминал, получается, при исполнение команды Х делает: 1. fork() 2. exec() - вставляя туда путь до файла Х, аргументы переданные в командной строки и т.д. 3. wait() - причем делает данный вызов сразу, посколько мы не можем пользоваться терминалом, пока дочерний процесс Х не завершится ?
@DmitryKetov
@DmitryKetov 6 лет назад
Нет, ни терминал ни его драйвер не делают ничего. Все верно вышеперечисленное делает ваш командный интерпретатор, только если вы ему не скажете "не делать wait()" путем добавления амперсанда в конец команды: X &
@_RUDE_
@_RUDE_ 3 года назад
Ubuntu 20.4 все LSB sared object, и ls и date и echo.🤷‍♂️Вот и полусается что учим старый материал.
@DmitryKetov
@DmitryKetov 3 года назад
А вы не учите, вы в корень зрите ;) насколько я помню в одном из моих видео (возможно правда не в этом) говорится что между ними (ELF executable и ELF shared) очень тооооонкая разница и показывается что SO можно..... тадам! запускать как программу :)
@_RUDE_
@_RUDE_ 3 года назад
@@DmitryKetov как я понял sared это библиотека (тоже программа) и запускается она, когда к ней обращается другая программа, которая нуждается в данной библиотеке. То есть в моем случае с ls, утилита file немного запуталась?
@DmitryKetov
@DmitryKetov 3 года назад
@@_RUDE_ Да, с большой вероятностью file как раз не справилась с этой тонкой разницей. Попробуйте readelf -h :)
@david_shiko
@david_shiko 4 года назад
Здесь ошибка на слайде. Насколько я знаю, stack идет ниже heap.
@DmitryKetov
@DmitryKetov 4 года назад
Этот слайд в принципе концептуален, ибо кучи как таковой нет уж давно. Под ней стоит на текущий момент понимать набор разбросанных в адресном пространстве анонимных сегментов. В т.ч. тот, который создан при загрузке программы в процесс потому что в заголовке ELF файла программы есть секция .bss и в котором работают brk(), sbrk() и malloc(). Но в одном вы правы, в адресном пространстве он имеет адреса младше, чем стек.
@maximfinojenok228
@maximfinojenok228 3 года назад
+
@michaeljordan1283
@michaeljordan1283 3 года назад
Кто ставит дизлайки?!
@sashashad
@sashashad Месяц назад
а они существуют?
Далее
Основы Linux: командная строка
40:44
Офицер, я всё объясню
01:00
Просмотров 1,6 млн
Я ИДЕАЛЬНО ПОЮ
00:31
Просмотров 250 тыс.
Linux by Rebrain Процессы в Linux
1:40:38
Просмотров 7 тыс.
ОС #2-7. Процессы и потоки Linux
58:27
Состояния процесса
18:58
Просмотров 9 тыс.