home.social

#системные_вызовы — Public Fediverse posts

Live and recent posts from across the Fediverse tagged #системные_вызовы, aggregated by home.social.

  1. Как программа попадает в память: от execve до main

    Вы когда-нибудь задумывались, что происходит после того, как вы нажимаете Enter в терминале Linux? Вводите ./myprogram и... Что именно происходит дальше? Как ядро находит файл? Как загружает его в память? Кто вызывает main ? И как на всё это посмотреть вживую? Разберемся на примере пустой программы empty_sleep . Она ничего не делает, просто запускается и завершается через 30 секунд. В ней нет лишнего кода и мы сможем сосредоточиться только на процессе загрузки. Всё, что мы увидим, относится к большинству динамически скомпилированных программ в Linux. В этой статье покажу как с помощью strace в реальном времени проследить путь программы от execve до _start и main .

    habr.com/ru/articles/1036444/

    #Linux #strace #ELF #загрузка_программ #системные_вызовы #execve #mmap #анализ_файлов #компоновщик

  2. Как программа попадает в память: от execve до main

    Вы когда-нибудь задумывались, что происходит после того, как вы нажимаете Enter в терминале Linux? Вводите ./myprogram и... Что именно происходит дальше? Как ядро находит файл? Как загружает его в память? Кто вызывает main ? И как на всё это посмотреть вживую? Разберемся на примере пустой программы empty_sleep . Она ничего не делает, просто запускается и завершается через 30 секунд. В ней нет лишнего кода и мы сможем сосредоточиться только на процессе загрузки. Всё, что мы увидим, относится к большинству динамически скомпилированных программ в Linux. В этой статье покажу как с помощью strace в реальном времени проследить путь программы от execve до _start и main .

    habr.com/ru/articles/1036444/

    #Linux #strace #ELF #загрузка_программ #системные_вызовы #execve #mmap #анализ_файлов #компоновщик

  3. Как программа попадает в память: от execve до main

    Вы когда-нибудь задумывались, что происходит после того, как вы нажимаете Enter в терминале Linux? Вводите ./myprogram и... Что именно происходит дальше? Как ядро находит файл? Как загружает его в память? Кто вызывает main ? И как на всё это посмотреть вживую? Разберемся на примере пустой программы empty_sleep . Она ничего не делает, просто запускается и завершается через 30 секунд. В ней нет лишнего кода и мы сможем сосредоточиться только на процессе загрузки. Всё, что мы увидим, относится к большинству динамически скомпилированных программ в Linux. В этой статье покажу как с помощью strace в реальном времени проследить путь программы от execve до _start и main .

    habr.com/ru/articles/1036444/

    #Linux #strace #ELF #загрузка_программ #системные_вызовы #execve #mmap #анализ_файлов #компоновщик

  4. Как программа попадает в память: от execve до main

    Вы когда-нибудь задумывались, что происходит после того, как вы нажимаете Enter в терминале Linux? Вводите ./myprogram и... Что именно происходит дальше? Как ядро находит файл? Как загружает его в память? Кто вызывает main ? И как на всё это посмотреть вживую? Разберемся на примере пустой программы empty_sleep . Она ничего не делает, просто запускается и завершается через 30 секунд. В ней нет лишнего кода и мы сможем сосредоточиться только на процессе загрузки. Всё, что мы увидим, относится к большинству динамически скомпилированных программ в Linux. В этой статье покажу как с помощью strace в реальном времени проследить путь программы от execve до _start и main .

    habr.com/ru/articles/1036444/

    #Linux #strace #ELF #загрузка_программ #системные_вызовы #execve #mmap #анализ_файлов #компоновщик

  5. strace: отладка Linux-приложений через системные вызовы

    Когда процесс зависает, молчит в логах и при этом продолжает жить своей странной жизнью, обычные инструменты наблюдения быстро упираются в потолок. В таких ситуациях strace полезен не как «ещё одна консольная утилита», а как прямой способ увидеть, чем процесс занят на уровне системных вызовов: что он открывает, чего ждёт, куда пишет и на чём реально тормозит. В статье — коротко и по делу о том, как читать этот поток событий и применять strace в типовых продовых расследованиях, где дебаггер, исходники и лишние эксперименты недоступны.

    habr.com/ru/companies/otus/art

    #linux #системное_администрирование #itинфраструктура #системные_вызовы #трассировка #strace

  6. strace: отладка Linux-приложений через системные вызовы

    Когда процесс зависает, молчит в логах и при этом продолжает жить своей странной жизнью, обычные инструменты наблюдения быстро упираются в потолок. В таких ситуациях strace полезен не как «ещё одна консольная утилита», а как прямой способ увидеть, чем процесс занят на уровне системных вызовов: что он открывает, чего ждёт, куда пишет и на чём реально тормозит. В статье — коротко и по делу о том, как читать этот поток событий и применять strace в типовых продовых расследованиях, где дебаггер, исходники и лишние эксперименты недоступны.

    habr.com/ru/companies/otus/art

    #linux #системное_администрирование #itинфраструктура #системные_вызовы #трассировка #strace

  7. strace: отладка Linux-приложений через системные вызовы

    Когда процесс зависает, молчит в логах и при этом продолжает жить своей странной жизнью, обычные инструменты наблюдения быстро упираются в потолок. В таких ситуациях strace полезен не как «ещё одна консольная утилита», а как прямой способ увидеть, чем процесс занят на уровне системных вызовов: что он открывает, чего ждёт, куда пишет и на чём реально тормозит. В статье — коротко и по делу о том, как читать этот поток событий и применять strace в типовых продовых расследованиях, где дебаггер, исходники и лишние эксперименты недоступны.

    habr.com/ru/companies/otus/art

    #linux #системное_администрирование #itинфраструктура #системные_вызовы #трассировка #strace

  8. strace: отладка Linux-приложений через системные вызовы

    Когда процесс зависает, молчит в логах и при этом продолжает жить своей странной жизнью, обычные инструменты наблюдения быстро упираются в потолок. В таких ситуациях strace полезен не как «ещё одна консольная утилита», а как прямой способ увидеть, чем процесс занят на уровне системных вызовов: что он открывает, чего ждёт, куда пишет и на чём реально тормозит. В статье — коротко и по делу о том, как читать этот поток событий и применять strace в типовых продовых расследованиях, где дебаггер, исходники и лишние эксперименты недоступны.

    habr.com/ru/companies/otus/art

    #linux #системное_администрирование #itинфраструктура #системные_вызовы #трассировка #strace

  9. Mini-Shell: Часть 2 — Pipes, фоновые процессы и управление задачами

    Это продолжение серии. Если вы не читали первую часть, рекомендую начать с неё: habr.com/ru/articles/1000766/

    habr.com/ru/articles/1007988/

    #shell #fork #exec #wait #системные_вызовы #процессы #linux #c++

  10. Mini-Shell: Часть 2 — Pipes, фоновые процессы и управление задачами

    Это продолжение серии. Если вы не читали первую часть, рекомендую начать с неё: habr.com/ru/articles/1000766/

    habr.com/ru/articles/1007988/

    #shell #fork #exec #wait #системные_вызовы #процессы #linux #c++

  11. Mini-Shell: Часть 2 — Pipes, фоновые процессы и управление задачами

    Это продолжение серии. Если вы не читали первую часть, рекомендую начать с неё: habr.com/ru/articles/1000766/

    habr.com/ru/articles/1007988/

    #shell #fork #exec #wait #системные_вызовы #процессы #linux #c++

  12. Mini-Shell: Часть 2 — Pipes, фоновые процессы и управление задачами

    Это продолжение серии. Если вы не читали первую часть, рекомендую начать с неё: habr.com/ru/articles/1000766/

    habr.com/ru/articles/1007988/

    #shell #fork #exec #wait #системные_вызовы #процессы #linux #c++

  13. Контейнер под капотом, или Как четыре syscall'а изменили подход к эксплуатации ПО

    Привет, Хабр! Меня зовут Олег, я работаю в VK Cloud в команде Key Management Service. Есть у меня такая привычка: когда пользуюсь каким-то инструментом изо дня в день, то рано или поздно хочется залезть внутрь и посмотреть, как оно там устроено. С контейнерами так и вышло: docker run , docker build — всё это прекрасно работает, но что именно происходит, когда мы «запускаем контейнер»? В этой статье разберём контейнеры не на уровне «вот вам YAML, отправляйте в прод», а чуть глубже — на уровне системных вызовов Linux. По ходу дела напишем свой примитивный контейнер на Go, используя буквально четыре syscall'а, а в конце посмотрим, куда эта история развивалась дальше (сети, файловые системы) и почему виртуальные машины всё ещё живы.

    habr.com/ru/companies/vk/artic

    #Docker #Linux #go #golang #системные_вызовы #контейнеры #виртуальные_машины

  14. Контейнер под капотом, или Как четыре syscall'а изменили подход к эксплуатации ПО

    Привет, Хабр! Меня зовут Олег, я работаю в VK Cloud в команде Key Management Service. Есть у меня такая привычка: когда пользуюсь каким-то инструментом изо дня в день, то рано или поздно хочется залезть внутрь и посмотреть, как оно там устроено. С контейнерами так и вышло: docker run , docker build — всё это прекрасно работает, но что именно происходит, когда мы «запускаем контейнер»? В этой статье разберём контейнеры не на уровне «вот вам YAML, отправляйте в прод», а чуть глубже — на уровне системных вызовов Linux. По ходу дела напишем свой примитивный контейнер на Go, используя буквально четыре syscall'а, а в конце посмотрим, куда эта история развивалась дальше (сети, файловые системы) и почему виртуальные машины всё ещё живы.

    habr.com/ru/companies/vk/artic

    #Docker #Linux #go #golang #системные_вызовы #контейнеры #виртуальные_машины

  15. Контейнер под капотом, или Как четыре syscall'а изменили подход к эксплуатации ПО

    Привет, Хабр! Меня зовут Олег, я работаю в VK Cloud в команде Key Management Service. Есть у меня такая привычка: когда пользуюсь каким-то инструментом изо дня в день, то рано или поздно хочется залезть внутрь и посмотреть, как оно там устроено. С контейнерами так и вышло: docker run , docker build — всё это прекрасно работает, но что именно происходит, когда мы «запускаем контейнер»? В этой статье разберём контейнеры не на уровне «вот вам YAML, отправляйте в прод», а чуть глубже — на уровне системных вызовов Linux. По ходу дела напишем свой примитивный контейнер на Go, используя буквально четыре syscall'а, а в конце посмотрим, куда эта история развивалась дальше (сети, файловые системы) и почему виртуальные машины всё ещё живы.

    habr.com/ru/companies/vk/artic

    #Docker #Linux #go #golang #системные_вызовы #контейнеры #виртуальные_машины

  16. Контейнер под капотом, или Как четыре syscall'а изменили подход к эксплуатации ПО

    Привет, Хабр! Меня зовут Олег, я работаю в VK Cloud в команде Key Management Service. Есть у меня такая привычка: когда пользуюсь каким-то инструментом изо дня в день, то рано или поздно хочется залезть внутрь и посмотреть, как оно там устроено. С контейнерами так и вышло: docker run , docker build — всё это прекрасно работает, но что именно происходит, когда мы «запускаем контейнер»? В этой статье разберём контейнеры не на уровне «вот вам YAML, отправляйте в прод», а чуть глубже — на уровне системных вызовов Linux. По ходу дела напишем свой примитивный контейнер на Go, используя буквально четыре syscall'а, а в конце посмотрим, куда эта история развивалась дальше (сети, файловые системы) и почему виртуальные машины всё ещё живы.

    habr.com/ru/companies/vk/artic

    #Docker #Linux #go #golang #системные_вызовы #контейнеры #виртуальные_машины

  17. Внутреннее устройство веб-сервера. Часть 1: От syscalls до WSGI

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

    habr.com/ru/articles/1002550/

    #сервер #backend #python #сокет #socket #sockets #системное_программирование #linux_kernel #ядро_линукс #системные_вызовы

  18. Внутреннее устройство веб-сервера. Часть 1: От syscalls до WSGI

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

    habr.com/ru/articles/1002550/

    #сервер #backend #python #сокет #socket #sockets #системное_программирование #linux_kernel #ядро_линукс #системные_вызовы

  19. Внутреннее устройство веб-сервера. Часть 1: От syscalls до WSGI

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

    habr.com/ru/articles/1002550/

    #сервер #backend #python #сокет #socket #sockets #системное_программирование #linux_kernel #ядро_линукс #системные_вызовы

  20. Внутреннее устройство веб-сервера. Часть 1: От syscalls до WSGI

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

    habr.com/ru/articles/1002550/

    #сервер #backend #python #сокет #socket #sockets #системное_программирование #linux_kernel #ядро_линукс #системные_вызовы

  21. Linux Landlock — песочница для приложений без root

    Landlock — редкий для Linux случай, когда «песочницу» можно включить руками самого приложения: без root, без километров политик и с понятной логикой «по умолчанию запрещено всё». В этой статье разбираем, что это за LSM, какие три системных вызова нужны, как выбрать минимальный набор прав и почему открытые до ограничений файловые дескрипторы способны тихо обнулить всю задумку. Открыть разбор

    habr.com/ru/companies/otus/art

    #Landlock #песочница_приложений #Linux #sandboxing #безопасность_приложений #ограничение_прав #системные_вызовы

  22. Linux Landlock — песочница для приложений без root

    Landlock — редкий для Linux случай, когда «песочницу» можно включить руками самого приложения: без root, без километров политик и с понятной логикой «по умолчанию запрещено всё». В этой статье разбираем, что это за LSM, какие три системных вызова нужны, как выбрать минимальный набор прав и почему открытые до ограничений файловые дескрипторы способны тихо обнулить всю задумку. Открыть разбор

    habr.com/ru/companies/otus/art

    #Landlock #песочница_приложений #Linux #sandboxing #безопасность_приложений #ограничение_прав #системные_вызовы

  23. Linux Landlock — песочница для приложений без root

    Landlock — редкий для Linux случай, когда «песочницу» можно включить руками самого приложения: без root, без километров политик и с понятной логикой «по умолчанию запрещено всё». В этой статье разбираем, что это за LSM, какие три системных вызова нужны, как выбрать минимальный набор прав и почему открытые до ограничений файловые дескрипторы способны тихо обнулить всю задумку. Открыть разбор

    habr.com/ru/companies/otus/art

    #Landlock #песочница_приложений #Linux #sandboxing #безопасность_приложений #ограничение_прав #системные_вызовы

  24. Linux Landlock — песочница для приложений без root

    Landlock — редкий для Linux случай, когда «песочницу» можно включить руками самого приложения: без root, без километров политик и с понятной логикой «по умолчанию запрещено всё». В этой статье разбираем, что это за LSM, какие три системных вызова нужны, как выбрать минимальный набор прав и почему открытые до ограничений файловые дескрипторы способны тихо обнулить всю задумку. Открыть разбор

    habr.com/ru/companies/otus/art

    #Landlock #песочница_приложений #Linux #sandboxing #безопасность_приложений #ограничение_прав #системные_вызовы

  25. Я пишу свой терминал с нуля, чтобы понять как работает компьютер

    Что происходит, когда вы вводите ls в терминале? Как 2 буквы превращаются в список файлов на экране? Я решил разобраться и написал свой терминал с нуля на C++. В этой статье я объясняю через метафору ресторана, как работают три магических системных вызова — fork() , exec() и wait() — которые лежат в основе любого терминала. Вы узнаете, почему cd нельзя сделать обычной программой, как работает перенаправление > , и какой коварный баг я поймал из-за непонимания процессов. Без сложной теории — только практика и понятные объяснения.

    habr.com/ru/articles/1000766/

    #shell #fork #exec #wait #системные_вызовы #процессы #linux #c++

  26. Я пишу свой терминал с нуля, чтобы понять как работает компьютер

    Что происходит, когда вы вводите ls в терминале? Как 2 буквы превращаются в список файлов на экране? Я решил разобраться и написал свой терминал с нуля на C++. В этой статье я объясняю через метафору ресторана, как работают три магических системных вызова — fork() , exec() и wait() — которые лежат в основе любого терминала. Вы узнаете, почему cd нельзя сделать обычной программой, как работает перенаправление > , и какой коварный баг я поймал из-за непонимания процессов. Без сложной теории — только практика и понятные объяснения.

    habr.com/ru/articles/1000766/

    #shell #fork #exec #wait #системные_вызовы #процессы #linux #c++

  27. Я пишу свой терминал с нуля, чтобы понять как работает компьютер

    Что происходит, когда вы вводите ls в терминале? Как 2 буквы превращаются в список файлов на экране? Я решил разобраться и написал свой терминал с нуля на C++. В этой статье я объясняю через метафору ресторана, как работают три магических системных вызова — fork() , exec() и wait() — которые лежат в основе любого терминала. Вы узнаете, почему cd нельзя сделать обычной программой, как работает перенаправление > , и какой коварный баг я поймал из-за непонимания процессов. Без сложной теории — только практика и понятные объяснения.

    habr.com/ru/articles/1000766/

    #shell #fork #exec #wait #системные_вызовы #процессы #linux #c++

  28. Я пишу свой терминал с нуля, чтобы понять как работает компьютер

    Что происходит, когда вы вводите ls в терминале? Как 2 буквы превращаются в список файлов на экране? Я решил разобраться и написал свой терминал с нуля на C++. В этой статье я объясняю через метафору ресторана, как работают три магических системных вызова — fork() , exec() и wait() — которые лежат в основе любого терминала. Вы узнаете, почему cd нельзя сделать обычной программой, как работает перенаправление > , и какой коварный баг я поймал из-за непонимания процессов. Без сложной теории — только практика и понятные объяснения.

    habr.com/ru/articles/1000766/

    #shell #fork #exec #wait #системные_вызовы #процессы #linux #c++

  29. [Перевод] Почему системные вызовы обходятся дорого: углубляемся в дебри Linux

    Здесь рассказано, как именно Linux обрабатывает системные вызовы в архитектуре x86-64, и почему при профилировании они выглядят как дорогостоящие операции.

    habr.com/ru/articles/996600/

    #ядро_linux #системные_вызовы #оптимизация #производительность #профилирование

  30. [Перевод] Почему системные вызовы обходятся дорого: углубляемся в дебри Linux

    Здесь рассказано, как именно Linux обрабатывает системные вызовы в архитектуре x86-64, и почему при профилировании они выглядят как дорогостоящие операции.

    habr.com/ru/articles/996600/

    #ядро_linux #системные_вызовы #оптимизация #производительность #профилирование

  31. [Перевод] Почему системные вызовы обходятся дорого: углубляемся в дебри Linux

    Здесь рассказано, как именно Linux обрабатывает системные вызовы в архитектуре x86-64, и почему при профилировании они выглядят как дорогостоящие операции.

    habr.com/ru/articles/996600/

    #ядро_linux #системные_вызовы #оптимизация #производительность #профилирование

  32. [Перевод] Почему системные вызовы обходятся дорого: углубляемся в дебри Linux

    Здесь рассказано, как именно Linux обрабатывает системные вызовы в архитектуре x86-64, и почему при профилировании они выглядят как дорогостоящие операции.

    habr.com/ru/articles/996600/

    #ядро_linux #системные_вызовы #оптимизация #производительность #профилирование

  33. [Перевод] Управление нагрузкой на периферии: масштабирование мониторинга файлов на базе eBPF

    Мониторинг целостности файлов выглядит простым ровно до тех пор, пока не пытаешься сделать его полезным для расследований и одновременно не убить прод. Сканы пропускают «изменил и откатил», inotify не даёт нужного контекста, auditd начинает стоить слишком дорого. В Datadog пошли через eBPF и получили то, чего не хватало: реальные события с привязкой к процессам и контейнерам — а вместе с ними и новую проблему масштаба, когда счёт идёт на миллиарды событий в минуту. В статье разберем, как они перенесли часть логики фильтрации в ядро, научились отсеивать шум ещё до user space и превратили поток телеметрии в сигнал, который можно выдержать. Открыть разбор

    habr.com/ru/companies/otus/art

    #devops #linux #мониторинг_целостности_файлов #File_Integrity_Monitoring #eBPF #безопасность_Linux #системные_вызовы #наблюдаемость #производительность_агента

  34. [Перевод] Управление нагрузкой на периферии: масштабирование мониторинга файлов на базе eBPF

    Мониторинг целостности файлов выглядит простым ровно до тех пор, пока не пытаешься сделать его полезным для расследований и одновременно не убить прод. Сканы пропускают «изменил и откатил», inotify не даёт нужного контекста, auditd начинает стоить слишком дорого. В Datadog пошли через eBPF и получили то, чего не хватало: реальные события с привязкой к процессам и контейнерам — а вместе с ними и новую проблему масштаба, когда счёт идёт на миллиарды событий в минуту. В статье разберем, как они перенесли часть логики фильтрации в ядро, научились отсеивать шум ещё до user space и превратили поток телеметрии в сигнал, который можно выдержать. Открыть разбор

    habr.com/ru/companies/otus/art

    #devops #linux #мониторинг_целостности_файлов #File_Integrity_Monitoring #eBPF #безопасность_Linux #системные_вызовы #наблюдаемость #производительность_агента

  35. [Перевод] Управление нагрузкой на периферии: масштабирование мониторинга файлов на базе eBPF

    Мониторинг целостности файлов выглядит простым ровно до тех пор, пока не пытаешься сделать его полезным для расследований и одновременно не убить прод. Сканы пропускают «изменил и откатил», inotify не даёт нужного контекста, auditd начинает стоить слишком дорого. В Datadog пошли через eBPF и получили то, чего не хватало: реальные события с привязкой к процессам и контейнерам — а вместе с ними и новую проблему масштаба, когда счёт идёт на миллиарды событий в минуту. В статье разберем, как они перенесли часть логики фильтрации в ядро, научились отсеивать шум ещё до user space и превратили поток телеметрии в сигнал, который можно выдержать. Открыть разбор

    habr.com/ru/companies/otus/art

    #devops #linux #мониторинг_целостности_файлов #File_Integrity_Monitoring #eBPF #безопасность_Linux #системные_вызовы #наблюдаемость #производительность_агента

  36. [Перевод] Управление нагрузкой на периферии: масштабирование мониторинга файлов на базе eBPF

    Мониторинг целостности файлов выглядит простым ровно до тех пор, пока не пытаешься сделать его полезным для расследований и одновременно не убить прод. Сканы пропускают «изменил и откатил», inotify не даёт нужного контекста, auditd начинает стоить слишком дорого. В Datadog пошли через eBPF и получили то, чего не хватало: реальные события с привязкой к процессам и контейнерам — а вместе с ними и новую проблему масштаба, когда счёт идёт на миллиарды событий в минуту. В статье разберем, как они перенесли часть логики фильтрации в ядро, научились отсеивать шум ещё до user space и превратили поток телеметрии в сигнал, который можно выдержать. Открыть разбор

    habr.com/ru/companies/otus/art

    #devops #linux #мониторинг_целостности_файлов #File_Integrity_Monitoring #eBPF #безопасность_Linux #системные_вызовы #наблюдаемость #производительность_агента

  37. Создание легкого shell на си

    Многие начинающие разработчики которые начинаю писать на языке C сталкиваются с проблемой : Какой 1 пет-проект написать на C ? И вопрос то логичный ведь проекты на C никогда не славились легкостью по сравнению с проектами на python или JavaScript . И как по мне отличная идей написать shell ведь там не надо знать ассемблер или иметь глубокие знание в работе OC , и он относительно легок в понимании . В этой статье мы с вами подробно разберем написание shell на языке C , как он устроен ,в чем отличия bash shell и cmd. И напишем свой shell на 450 строк кода Начнем пожалуй с самыx базовых вопросах .

    habr.com/ru/articles/979674/

    #shell_на_C #петпроект #fork_exec #системные_вызовы #процессы_Linux #свой_shell #учебный_проект #консоль_на_C #системное_программирование #исходный_код_C

  38. Создание легкого shell на си

    Многие начинающие разработчики которые начинаю писать на языке C сталкиваются с проблемой : Какой 1 пет-проект написать на C ? И вопрос то логичный ведь проекты на C никогда не славились легкостью по сравнению с проектами на python или JavaScript . И как по мне отличная идей написать shell ведь там не надо знать ассемблер или иметь глубокие знание в работе OC , и он относительно легок в понимании . В этой статье мы с вами подробно разберем написание shell на языке C , как он устроен ,в чем отличия bash shell и cmd. И напишем свой shell на 450 строк кода Начнем пожалуй с самыx базовых вопросах .

    habr.com/ru/articles/979674/

    #shell_на_C #петпроект #fork_exec #системные_вызовы #процессы_Linux #свой_shell #учебный_проект #консоль_на_C #системное_программирование #исходный_код_C

  39. Создание легкого shell на си

    Многие начинающие разработчики которые начинаю писать на языке C сталкиваются с проблемой : Какой 1 пет-проект написать на C ? И вопрос то логичный ведь проекты на C никогда не славились легкостью по сравнению с проектами на python или JavaScript . И как по мне отличная идей написать shell ведь там не надо знать ассемблер или иметь глубокие знание в работе OC , и он относительно легок в понимании . В этой статье мы с вами подробно разберем написание shell на языке C , как он устроен ,в чем отличия bash shell и cmd. И напишем свой shell на 450 строк кода Начнем пожалуй с самыx базовых вопросах .

    habr.com/ru/articles/979674/

    #shell_на_C #петпроект #fork_exec #системные_вызовы #процессы_Linux #свой_shell #учебный_проект #консоль_на_C #системное_программирование #исходный_код_C

  40. Создание легкого shell на си

    Многие начинающие разработчики которые начинаю писать на языке C сталкиваются с проблемой : Какой 1 пет-проект написать на C ? И вопрос то логичный ведь проекты на C никогда не славились легкостью по сравнению с проектами на python или JavaScript . И как по мне отличная идей написать shell ведь там не надо знать ассемблер или иметь глубокие знание в работе OC , и он относительно легок в понимании . В этой статье мы с вами подробно разберем написание shell на языке C , как он устроен ,в чем отличия bash shell и cmd. И напишем свой shell на 450 строк кода Начнем пожалуй с самыx базовых вопросах .

    habr.com/ru/articles/979674/

    #shell_на_C #петпроект #fork_exec #системные_вызовы #процессы_Linux #свой_shell #учебный_проект #консоль_на_C #системное_программирование #исходный_код_C

  41. [Перевод] Как memory maps (mmap) обеспечивают в 25 раз более быстрый доступ к файлам в Go

    Команда Go for Devs подготовила перевод статьи о том, как memory maps (mmap) обеспечивают молниеносный доступ к файлам в Go. Автор показывает, что замена обычного чтения и записи на работу с памятью может ускорить программу в 25 раз — и объясняет, почему это почти магия, но с нюансами.

    habr.com/ru/articles/960120/

    #Go #mmap #производительность #память #файлы #Unix #системные_вызовы #оптимизация #Varnish_Cache #io_uring

  42. [Перевод] Как memory maps (mmap) обеспечивают в 25 раз более быстрый доступ к файлам в Go

    Команда Go for Devs подготовила перевод статьи о том, как memory maps (mmap) обеспечивают молниеносный доступ к файлам в Go. Автор показывает, что замена обычного чтения и записи на работу с памятью может ускорить программу в 25 раз — и объясняет, почему это почти магия, но с нюансами.

    habr.com/ru/articles/960120/

    #Go #mmap #производительность #память #файлы #Unix #системные_вызовы #оптимизация #Varnish_Cache #io_uring

  43. [Перевод] Как memory maps (mmap) обеспечивают в 25 раз более быстрый доступ к файлам в Go

    Команда Go for Devs подготовила перевод статьи о том, как memory maps (mmap) обеспечивают молниеносный доступ к файлам в Go. Автор показывает, что замена обычного чтения и записи на работу с памятью может ускорить программу в 25 раз — и объясняет, почему это почти магия, но с нюансами.

    habr.com/ru/articles/960120/

    #Go #mmap #производительность #память #файлы #Unix #системные_вызовы #оптимизация #Varnish_Cache #io_uring

  44. [Перевод] Как memory maps (mmap) обеспечивают в 25 раз более быстрый доступ к файлам в Go

    Команда Go for Devs подготовила перевод статьи о том, как memory maps (mmap) обеспечивают молниеносный доступ к файлам в Go. Автор показывает, что замена обычного чтения и записи на работу с памятью может ускорить программу в 25 раз — и объясняет, почему это почти магия, но с нюансами.

    habr.com/ru/articles/960120/

    #Go #mmap #производительность #память #файлы #Unix #системные_вызовы #оптимизация #Varnish_Cache #io_uring

  45. Системные вызовы Linux, которые должен знать каждый разработчик

    Многие разработчики работают в Linux-среде, но не всегда глубоко понимают, как взаимодействие с ОС происходит на низком уровне. На собеседованиях всё чаще спрашивают про системные вызовы Linux. В этой статье мы рассмотрим, какие вызовы встречаются чаще всего и как они работают.

    habr.com/ru/companies/beget/ar

    #системные_вызовы #собеседование_в_it #операционные_системы #Системные_вызовы_Linux #вопросы_на_собеседовании

  46. Системные вызовы Linux, которые должен знать каждый разработчик

    Многие разработчики работают в Linux-среде, но не всегда глубоко понимают, как взаимодействие с ОС происходит на низком уровне. На собеседованиях всё чаще спрашивают про системные вызовы Linux. В этой статье мы рассмотрим, какие вызовы встречаются чаще всего и как они работают.

    habr.com/ru/companies/beget/ar

    #системные_вызовы #собеседование_в_it #операционные_системы #Системные_вызовы_Linux #вопросы_на_собеседовании

  47. Системные вызовы Linux, которые должен знать каждый разработчик

    Многие разработчики работают в Linux-среде, но не всегда глубоко понимают, как взаимодействие с ОС происходит на низком уровне. На собеседованиях всё чаще спрашивают про системные вызовы Linux. В этой статье мы рассмотрим, какие вызовы встречаются чаще всего и как они работают.

    habr.com/ru/companies/beget/ar

    #системные_вызовы #собеседование_в_it #операционные_системы #Системные_вызовы_Linux #вопросы_на_собеседовании

  48. Системные вызовы Linux, которые должен знать каждый разработчик

    Многие разработчики работают в Linux-среде, но не всегда глубоко понимают, как взаимодействие с ОС происходит на низком уровне. На собеседованиях всё чаще спрашивают про системные вызовы Linux. В этой статье мы рассмотрим, какие вызовы встречаются чаще всего и как они работают.

    habr.com/ru/companies/beget/ar

    #системные_вызовы #собеседование_в_it #операционные_системы #Системные_вызовы_Linux #вопросы_на_собеседовании

  49. [Перевод] Операционная система в 1 000 строк кода (часть 4)

    Перед вами четвёртая часть серии, посвящённой написанию собственной ОС. Здесь мы реализуем и запустим собственный исполняемый файл в пространстве пользователя, а также системные вызовы для вывода символов на экран и их считывания при вводе на клавиатуре. Навигация по вышедшим частям Часть 1 Часть 2 Часть 3 Часть 4 < — вы здесь

    habr.com/ru/companies/ruvds/ar

    #ruvds_перевод #программирование #операционные_системы #разработка_ос #qemu #системные_вызовы #режим_пользователя

  50. [Перевод] Операционная система в 1 000 строк кода (часть 4)

    Перед вами четвёртая часть серии, посвящённой написанию собственной ОС. Здесь мы реализуем и запустим собственный исполняемый файл в пространстве пользователя, а также системные вызовы для вывода символов на экран и их считывания при вводе на клавиатуре. Навигация по вышедшим частям Часть 1 Часть 2 Часть 3 Часть 4 < — вы здесь

    habr.com/ru/companies/ruvds/ar

    #ruvds_перевод #программирование #операционные_системы #разработка_ос #qemu #системные_вызовы #режим_пользователя