Автор во многих вопросах плывет. Сегмент данных не изменяется в размере, это чаще всего обычные константы, и глобальные переменные фиксированной длины. .data .bss .text загружаются ровно так в память как они прописаны в исполняемом файле, с единственной разницей, что размер сегмента в бинарнике ради экономии места сокращается в местах где нули, а при запуске считывается в заголовке размер сегмента, и в памяти происходит заполнение до нужного размера нулями. Хип живет отдельно, и может выделяться в разных адресах где-то посредине между стеком - верхними адресами и нижними адресам заполненными кодом ОС, и программами с их сегментами кода и данных. Отсюда же возникает известная проблема, как фрагментация памяти, и снижение производительности из-за нее, последовательное чтение и запись памяти всегда быстрее чем случайные. ОС просто ищет свободный участок и выделяет программе по запросу, так же ОС при получении запроса на освобождение памяти не старается ее сразу освободить, а старается кешировать выделение и делит память на поколения, и по запросу старается вернуть программе память в том же участке памяти, если памяти достаточно для других программ. И еще ОС может дефрагментировать хип, и перемещать блоки памяти, чтобы снизить фрагментацию, когда у одной программы блоки памяти в разных участках физической памяти. И лектор не знает system v abi calling convention, что параметры в функции передаются как раз чаще всего не через стек, а через регистры 1-параметр rax, 2-параметр rdi, 3-параметр rsi, 4-параметр rdx, 5-параметр rcx, 6-параметр r8, 7-параметр r9 и от 8 параметра передаются уже через стек, но в обратно порядке т.е. сначала идет 10 параметр, потом 9 и 8. Так же регистры по этой же причины делятся на те, что сохраняются вызвавшей функцией и те что сохраняются вызываемой функцией, поэтому в зависимости от регистра кто-то из них должен сохранить регистр в стеке, а потом восстановить при выходе из функции, чтобы исключить ситуацию когда один изменил регистр, а другой функции нужно было значение регистра которое было затерто. Ну и код на ASM там бредовый на слайде...
А по моему отзыв писал какой то обосранец. у него нет базы общения и понимания структуры общества и все что есть это зазубренный материал по технологии и то который он взял из сети а книг по теме прочитал 0.3. автор отзыва не понимает для кого этот курс и кто перед ним и он строчил в пустоту лист как последний птушник. фу :) автор отзыва кретин отстой и неуч. и все что бы он не взял из чата джипити по жизни с бабами ему не помогут он так и будет в яндексе смотреть видео и мечтать о железе....фу на таких....
Кирилл Владимирович, здравствуйте. После просмотра первой лекции уже есть вопросы. Т.е. libc является библиотекой которая предоставляет интерфейс приложениям, для общения с ос? Получается, если удалить libc, то сама ос будет работать? А если я такое сделаю, как я узнаю что она работает? Получается у мени ни shell, ни тем паче gui не заведется, так?
Очень странно что в базе людям это в мозг, ОС GNU (весь мир это знает как свободное программное обеспечение в соответствии с лицензией GNU) Linux ЯДРО для ОС GNU. Ричард Мэттью Столлман мог взять и другое яро а вернее и брал. Для понимания GNU = GNU's Not Unix , XNU = X - Not Unix . В первом случае ОС, а во втором ЯДРО для ОС macOS, Ядро NT (NexT) для ОС Windows существует и в современных ОС но мало кто об этом догадываются, думаю это не маловажное замечание не валить все в оду кучу Проект Debian на OS GNU + ядро Linux Проект Debian на OS GNU + ядро Hurd (здесь Линус Торвальдс даже близко не стоял :))) Так Дебиан это Линуск подобная ОС или нет (риторический вопрос) единственное исключение не GNU это Андроид
Все лекции Кирилла Владимировича - просто великолепны.
Речь спокойная, прямо внутрь заходит очень много, а не мимо.
@@PEACE.- р
Благодарю. Кириллу Владимировичу здравия!
Ох! Если бы у меня в универе были все такие преподы. Я б на выходе знал больше.
Если бы у меня были такие преподы, я бы туда вообще не ходил!
Я бы там жил.
если бы у меня был такой препод, я, может, и не женился бы никогда (с)
@@прокрастинатор-я8в что если он you know ... straight?
Какая же вкусная лекция
Я снова хочу жить, спасибо!
Мое почтение преподавателю.
спасибо. смотреть на 1,5х
1.25 достаточно
Такой тормоз, его мозг зависает. Смотреть на скорости 2.0 надо.
Отдельное спасибо за Ultrawide! И это было в 2017!!
Спасибо за интересную лекцию!
на 0:01 взмах лайтсейбера Оби Вана?
против биомусора а на 0:05 вздох Дарта Вейдера в маске
Полезная часть начинается с 14:00
Скорее 13:00
Автор во многих вопросах плывет. Сегмент данных не изменяется в размере, это чаще всего обычные константы, и глобальные переменные фиксированной длины. .data .bss .text загружаются ровно так в память как они прописаны в исполняемом файле, с единственной разницей, что размер сегмента в бинарнике ради экономии места сокращается в местах где нули, а при запуске считывается в заголовке размер сегмента, и в памяти происходит заполнение до нужного размера нулями. Хип живет отдельно, и может выделяться в разных адресах где-то посредине между стеком - верхними адресами и нижними адресам заполненными кодом ОС, и программами с их сегментами кода и данных. Отсюда же возникает известная проблема, как фрагментация памяти, и снижение производительности из-за нее, последовательное чтение и запись памяти всегда быстрее чем случайные. ОС просто ищет свободный участок и выделяет программе по запросу, так же ОС при получении запроса на освобождение памяти не старается ее сразу освободить, а старается кешировать выделение и делит память на поколения, и по запросу старается вернуть программе память в том же участке памяти, если памяти достаточно для других программ. И еще ОС может дефрагментировать хип, и перемещать блоки памяти, чтобы снизить фрагментацию, когда у одной программы блоки памяти в разных участках физической памяти. И лектор не знает system v abi calling convention, что параметры в функции передаются как раз чаще всего не через стек, а через регистры 1-параметр rax, 2-параметр rdi, 3-параметр rsi, 4-параметр rdx, 5-параметр rcx, 6-параметр r8, 7-параметр r9 и от 8 параметра передаются уже через стек, но в обратно порядке т.е. сначала идет 10 параметр, потом 9 и 8. Так же регистры по этой же причины делятся на те, что сохраняются вызвавшей функцией и те что сохраняются вызываемой функцией, поэтому в зависимости от регистра кто-то из них должен сохранить регистр в стеке, а потом восстановить при выходе из функции, чтобы исключить ситуацию когда один изменил регистр, а другой функции нужно было значение регистра которое было затерто. Ну и код на ASM там бредовый на слайде...
Звучит, как будто глубоко разбираетесь в вопросе. А где вы этому научились, если не секрет?
А по моему отзыв писал какой то обосранец. у него нет базы общения и понимания структуры общества и все что есть это зазубренный материал по технологии и то который он взял из сети а книг по теме прочитал 0.3. автор отзыва не понимает для кого этот курс и кто перед ним и он строчил в пустоту лист как последний птушник. фу :) автор отзыва кретин отстой и неуч. и все что бы он не взял из чата джипити по жизни с бабами ему не помогут он так и будет в яндексе смотреть видео и мечтать о железе....фу на таких....
Кирил круто и не надо тут пердеть на него.
Спасибо за лекцию
Где он раньше был :( Многие вещи стал только щас понимать
А вы слышали про ReactOS?
Спасибо за видео.
Здравствуйте. Когда будет доступен курс "Разработка модулей ядра Linux"? Можно ли где-то получить доступ к старой версии (0.8)?
Он запустится в течение 1-2 недель. Следите за анонсами на сайте CSC
У меня возникло желание, а главное - уверенность, попробовать создать свою ОС
BolgenOS? ))
@@black_swan_777 главное - чтобы были не скучные обои
И чтобы иконки на рабочем столе, не смотря на советскую власть. И чтобы мышью открывать окна!
Год прошел, ну как успехи?
Видимо ошибка в названии системного вызова Read n byes... вместо Read n bytes
в конце несколько я понял вы сказали что ioctl( ) это плохо, но также для многих файлов это необходимо, тогда какую бы вы предложили альтернативу?
Спасибо!
Кирилл Владимирович, здравствуйте. После просмотра первой лекции уже есть вопросы.
Т.е. libc является библиотекой которая предоставляет интерфейс приложениям, для общения с ос?
Получается, если удалить libc, то сама ос будет работать? А если я такое сделаю, как я узнаю что она работает? Получается у мени ни shell, ни тем паче gui не заведется, так?
Фантастика!!!
Можно ссылочку на этот курс в stepik'е?
Vadim Slepich Спасибо :)
27:00
19:00
+
Есть слайды, есть проектор, надо конечно же рисовать свою мелкую хуйнюшку на доске.
Программисты такие программисты.
Очень странно что в базе людям это в мозг, ОС GNU (весь мир это знает как свободное программное обеспечение в соответствии с лицензией GNU) Linux ЯДРО для ОС GNU. Ричард Мэттью Столлман мог взять и другое яро а вернее и брал. Для понимания GNU = GNU's Not Unix , XNU = X - Not Unix . В первом случае ОС, а во втором ЯДРО для ОС macOS, Ядро NT (NexT) для ОС Windows существует и в современных ОС но мало кто об этом догадываются, думаю это не маловажное замечание не валить все в оду кучу
Проект Debian на OS GNU + ядро Linux
Проект Debian на OS GNU + ядро Hurd (здесь Линус Торвальдс даже близко не стоял :))) Так Дебиан это Линуск подобная ОС или нет (риторический вопрос)
единственное исключение не GNU это Андроид
испражнений которые вы делаете дома. все в прошлом. А виртуализация привела к мультиядерным ОС. Ядро активизируется исходя из состава железа...
Курс очень расплывчатый и довольно малоинформативный
все-таки он несистематичен.
погугли кирилл петраш. конечно, его курс гораздо более базовый, но там все четко. первое впечатление нудности скоро пропадет, чуточку терпения.
Спасибо большое!
@@АльтаирФилиппов Спасибо, этот лектор просто сбивчиво пересказал 1 лекцию Петраша.
Скучная подача
какой же занудный препод боже.... сколько воды... ужасно
Спасибо большое за лекцию