#системные_вызовы — Public Fediverse posts
Live and recent posts from across the Fediverse tagged #системные_вызовы, aggregated by home.social.
-
Как программа попадает в память: от execve до main
Вы когда-нибудь задумывались, что происходит после того, как вы нажимаете Enter в терминале Linux? Вводите ./myprogram и... Что именно происходит дальше? Как ядро находит файл? Как загружает его в память? Кто вызывает main ? И как на всё это посмотреть вживую? Разберемся на примере пустой программы empty_sleep . Она ничего не делает, просто запускается и завершается через 30 секунд. В ней нет лишнего кода и мы сможем сосредоточиться только на процессе загрузки. Всё, что мы увидим, относится к большинству динамически скомпилированных программ в Linux. В этой статье покажу как с помощью strace в реальном времени проследить путь программы от execve до _start и main .
https://habr.com/ru/articles/1036444/
#Linux #strace #ELF #загрузка_программ #системные_вызовы #execve #mmap #анализ_файлов #компоновщик
-
Как программа попадает в память: от execve до main
Вы когда-нибудь задумывались, что происходит после того, как вы нажимаете Enter в терминале Linux? Вводите ./myprogram и... Что именно происходит дальше? Как ядро находит файл? Как загружает его в память? Кто вызывает main ? И как на всё это посмотреть вживую? Разберемся на примере пустой программы empty_sleep . Она ничего не делает, просто запускается и завершается через 30 секунд. В ней нет лишнего кода и мы сможем сосредоточиться только на процессе загрузки. Всё, что мы увидим, относится к большинству динамически скомпилированных программ в Linux. В этой статье покажу как с помощью strace в реальном времени проследить путь программы от execve до _start и main .
https://habr.com/ru/articles/1036444/
#Linux #strace #ELF #загрузка_программ #системные_вызовы #execve #mmap #анализ_файлов #компоновщик
-
Как программа попадает в память: от execve до main
Вы когда-нибудь задумывались, что происходит после того, как вы нажимаете Enter в терминале Linux? Вводите ./myprogram и... Что именно происходит дальше? Как ядро находит файл? Как загружает его в память? Кто вызывает main ? И как на всё это посмотреть вживую? Разберемся на примере пустой программы empty_sleep . Она ничего не делает, просто запускается и завершается через 30 секунд. В ней нет лишнего кода и мы сможем сосредоточиться только на процессе загрузки. Всё, что мы увидим, относится к большинству динамически скомпилированных программ в Linux. В этой статье покажу как с помощью strace в реальном времени проследить путь программы от execve до _start и main .
https://habr.com/ru/articles/1036444/
#Linux #strace #ELF #загрузка_программ #системные_вызовы #execve #mmap #анализ_файлов #компоновщик
-
Как программа попадает в память: от execve до main
Вы когда-нибудь задумывались, что происходит после того, как вы нажимаете Enter в терминале Linux? Вводите ./myprogram и... Что именно происходит дальше? Как ядро находит файл? Как загружает его в память? Кто вызывает main ? И как на всё это посмотреть вживую? Разберемся на примере пустой программы empty_sleep . Она ничего не делает, просто запускается и завершается через 30 секунд. В ней нет лишнего кода и мы сможем сосредоточиться только на процессе загрузки. Всё, что мы увидим, относится к большинству динамически скомпилированных программ в Linux. В этой статье покажу как с помощью strace в реальном времени проследить путь программы от execve до _start и main .
https://habr.com/ru/articles/1036444/
#Linux #strace #ELF #загрузка_программ #системные_вызовы #execve #mmap #анализ_файлов #компоновщик
-
strace: отладка Linux-приложений через системные вызовы
Когда процесс зависает, молчит в логах и при этом продолжает жить своей странной жизнью, обычные инструменты наблюдения быстро упираются в потолок. В таких ситуациях strace полезен не как «ещё одна консольная утилита», а как прямой способ увидеть, чем процесс занят на уровне системных вызовов: что он открывает, чего ждёт, куда пишет и на чём реально тормозит. В статье — коротко и по делу о том, как читать этот поток событий и применять strace в типовых продовых расследованиях, где дебаггер, исходники и лишние эксперименты недоступны.
https://habr.com/ru/companies/otus/articles/1013812/
#linux #системное_администрирование #itинфраструктура #системные_вызовы #трассировка #strace
-
strace: отладка Linux-приложений через системные вызовы
Когда процесс зависает, молчит в логах и при этом продолжает жить своей странной жизнью, обычные инструменты наблюдения быстро упираются в потолок. В таких ситуациях strace полезен не как «ещё одна консольная утилита», а как прямой способ увидеть, чем процесс занят на уровне системных вызовов: что он открывает, чего ждёт, куда пишет и на чём реально тормозит. В статье — коротко и по делу о том, как читать этот поток событий и применять strace в типовых продовых расследованиях, где дебаггер, исходники и лишние эксперименты недоступны.
https://habr.com/ru/companies/otus/articles/1013812/
#linux #системное_администрирование #itинфраструктура #системные_вызовы #трассировка #strace
-
strace: отладка Linux-приложений через системные вызовы
Когда процесс зависает, молчит в логах и при этом продолжает жить своей странной жизнью, обычные инструменты наблюдения быстро упираются в потолок. В таких ситуациях strace полезен не как «ещё одна консольная утилита», а как прямой способ увидеть, чем процесс занят на уровне системных вызовов: что он открывает, чего ждёт, куда пишет и на чём реально тормозит. В статье — коротко и по делу о том, как читать этот поток событий и применять strace в типовых продовых расследованиях, где дебаггер, исходники и лишние эксперименты недоступны.
https://habr.com/ru/companies/otus/articles/1013812/
#linux #системное_администрирование #itинфраструктура #системные_вызовы #трассировка #strace
-
strace: отладка Linux-приложений через системные вызовы
Когда процесс зависает, молчит в логах и при этом продолжает жить своей странной жизнью, обычные инструменты наблюдения быстро упираются в потолок. В таких ситуациях strace полезен не как «ещё одна консольная утилита», а как прямой способ увидеть, чем процесс занят на уровне системных вызовов: что он открывает, чего ждёт, куда пишет и на чём реально тормозит. В статье — коротко и по делу о том, как читать этот поток событий и применять strace в типовых продовых расследованиях, где дебаггер, исходники и лишние эксперименты недоступны.
https://habr.com/ru/companies/otus/articles/1013812/
#linux #системное_администрирование #itинфраструктура #системные_вызовы #трассировка #strace
-
Mini-Shell: Часть 2 — Pipes, фоновые процессы и управление задачами
Это продолжение серии. Если вы не читали первую часть, рекомендую начать с неё: https://habr.com/ru/articles/1000766/
https://habr.com/ru/articles/1007988/
#shell #fork #exec #wait #системные_вызовы #процессы #linux #c++
-
Mini-Shell: Часть 2 — Pipes, фоновые процессы и управление задачами
Это продолжение серии. Если вы не читали первую часть, рекомендую начать с неё: https://habr.com/ru/articles/1000766/
https://habr.com/ru/articles/1007988/
#shell #fork #exec #wait #системные_вызовы #процессы #linux #c++
-
Mini-Shell: Часть 2 — Pipes, фоновые процессы и управление задачами
Это продолжение серии. Если вы не читали первую часть, рекомендую начать с неё: https://habr.com/ru/articles/1000766/
https://habr.com/ru/articles/1007988/
#shell #fork #exec #wait #системные_вызовы #процессы #linux #c++
-
Mini-Shell: Часть 2 — Pipes, фоновые процессы и управление задачами
Это продолжение серии. Если вы не читали первую часть, рекомендую начать с неё: https://habr.com/ru/articles/1000766/
https://habr.com/ru/articles/1007988/
#shell #fork #exec #wait #системные_вызовы #процессы #linux #c++
-
Контейнер под капотом, или Как четыре syscall'а изменили подход к эксплуатации ПО
Привет, Хабр! Меня зовут Олег, я работаю в VK Cloud в команде Key Management Service. Есть у меня такая привычка: когда пользуюсь каким-то инструментом изо дня в день, то рано или поздно хочется залезть внутрь и посмотреть, как оно там устроено. С контейнерами так и вышло: docker run , docker build — всё это прекрасно работает, но что именно происходит, когда мы «запускаем контейнер»? В этой статье разберём контейнеры не на уровне «вот вам YAML, отправляйте в прод», а чуть глубже — на уровне системных вызовов Linux. По ходу дела напишем свой примитивный контейнер на Go, используя буквально четыре syscall'а, а в конце посмотрим, куда эта история развивалась дальше (сети, файловые системы) и почему виртуальные машины всё ещё живы.
https://habr.com/ru/companies/vk/articles/1004422/
#Docker #Linux #go #golang #системные_вызовы #контейнеры #виртуальные_машины
-
Контейнер под капотом, или Как четыре syscall'а изменили подход к эксплуатации ПО
Привет, Хабр! Меня зовут Олег, я работаю в VK Cloud в команде Key Management Service. Есть у меня такая привычка: когда пользуюсь каким-то инструментом изо дня в день, то рано или поздно хочется залезть внутрь и посмотреть, как оно там устроено. С контейнерами так и вышло: docker run , docker build — всё это прекрасно работает, но что именно происходит, когда мы «запускаем контейнер»? В этой статье разберём контейнеры не на уровне «вот вам YAML, отправляйте в прод», а чуть глубже — на уровне системных вызовов Linux. По ходу дела напишем свой примитивный контейнер на Go, используя буквально четыре syscall'а, а в конце посмотрим, куда эта история развивалась дальше (сети, файловые системы) и почему виртуальные машины всё ещё живы.
https://habr.com/ru/companies/vk/articles/1004422/
#Docker #Linux #go #golang #системные_вызовы #контейнеры #виртуальные_машины
-
Контейнер под капотом, или Как четыре syscall'а изменили подход к эксплуатации ПО
Привет, Хабр! Меня зовут Олег, я работаю в VK Cloud в команде Key Management Service. Есть у меня такая привычка: когда пользуюсь каким-то инструментом изо дня в день, то рано или поздно хочется залезть внутрь и посмотреть, как оно там устроено. С контейнерами так и вышло: docker run , docker build — всё это прекрасно работает, но что именно происходит, когда мы «запускаем контейнер»? В этой статье разберём контейнеры не на уровне «вот вам YAML, отправляйте в прод», а чуть глубже — на уровне системных вызовов Linux. По ходу дела напишем свой примитивный контейнер на Go, используя буквально четыре syscall'а, а в конце посмотрим, куда эта история развивалась дальше (сети, файловые системы) и почему виртуальные машины всё ещё живы.
https://habr.com/ru/companies/vk/articles/1004422/
#Docker #Linux #go #golang #системные_вызовы #контейнеры #виртуальные_машины
-
Контейнер под капотом, или Как четыре syscall'а изменили подход к эксплуатации ПО
Привет, Хабр! Меня зовут Олег, я работаю в VK Cloud в команде Key Management Service. Есть у меня такая привычка: когда пользуюсь каким-то инструментом изо дня в день, то рано или поздно хочется залезть внутрь и посмотреть, как оно там устроено. С контейнерами так и вышло: docker run , docker build — всё это прекрасно работает, но что именно происходит, когда мы «запускаем контейнер»? В этой статье разберём контейнеры не на уровне «вот вам YAML, отправляйте в прод», а чуть глубже — на уровне системных вызовов Linux. По ходу дела напишем свой примитивный контейнер на Go, используя буквально четыре syscall'а, а в конце посмотрим, куда эта история развивалась дальше (сети, файловые системы) и почему виртуальные машины всё ещё живы.
https://habr.com/ru/companies/vk/articles/1004422/
#Docker #Linux #go #golang #системные_вызовы #контейнеры #виртуальные_машины
-
Внутреннее устройство веб-сервера. Часть 1: От syscalls до WSGI
В этой статье мы разберём, какие механизмы предоставляет Linux для работы с сетью и как на их основе строятся фреймворки и библиотеки, которыми мы пользуемся каждый день. К концу статьи мы напишем минималистичный WSGI -веб-сервер, с помощью которого можно запускать произвольные WSGI -приложения.
https://habr.com/ru/articles/1002550/
#сервер #backend #python #сокет #socket #sockets #системное_программирование #linux_kernel #ядро_линукс #системные_вызовы
-
Внутреннее устройство веб-сервера. Часть 1: От syscalls до WSGI
В этой статье мы разберём, какие механизмы предоставляет Linux для работы с сетью и как на их основе строятся фреймворки и библиотеки, которыми мы пользуемся каждый день. К концу статьи мы напишем минималистичный WSGI -веб-сервер, с помощью которого можно запускать произвольные WSGI -приложения.
https://habr.com/ru/articles/1002550/
#сервер #backend #python #сокет #socket #sockets #системное_программирование #linux_kernel #ядро_линукс #системные_вызовы
-
Внутреннее устройство веб-сервера. Часть 1: От syscalls до WSGI
В этой статье мы разберём, какие механизмы предоставляет Linux для работы с сетью и как на их основе строятся фреймворки и библиотеки, которыми мы пользуемся каждый день. К концу статьи мы напишем минималистичный WSGI -веб-сервер, с помощью которого можно запускать произвольные WSGI -приложения.
https://habr.com/ru/articles/1002550/
#сервер #backend #python #сокет #socket #sockets #системное_программирование #linux_kernel #ядро_линукс #системные_вызовы
-
Внутреннее устройство веб-сервера. Часть 1: От syscalls до WSGI
В этой статье мы разберём, какие механизмы предоставляет Linux для работы с сетью и как на их основе строятся фреймворки и библиотеки, которыми мы пользуемся каждый день. К концу статьи мы напишем минималистичный WSGI -веб-сервер, с помощью которого можно запускать произвольные WSGI -приложения.
https://habr.com/ru/articles/1002550/
#сервер #backend #python #сокет #socket #sockets #системное_программирование #linux_kernel #ядро_линукс #системные_вызовы
-
Linux Landlock — песочница для приложений без root
Landlock — редкий для Linux случай, когда «песочницу» можно включить руками самого приложения: без root, без километров политик и с понятной логикой «по умолчанию запрещено всё». В этой статье разбираем, что это за LSM, какие три системных вызова нужны, как выбрать минимальный набор прав и почему открытые до ограничений файловые дескрипторы способны тихо обнулить всю задумку. Открыть разбор
https://habr.com/ru/companies/otus/articles/1001910/
#Landlock #песочница_приложений #Linux #sandboxing #безопасность_приложений #ограничение_прав #системные_вызовы
-
Linux Landlock — песочница для приложений без root
Landlock — редкий для Linux случай, когда «песочницу» можно включить руками самого приложения: без root, без километров политик и с понятной логикой «по умолчанию запрещено всё». В этой статье разбираем, что это за LSM, какие три системных вызова нужны, как выбрать минимальный набор прав и почему открытые до ограничений файловые дескрипторы способны тихо обнулить всю задумку. Открыть разбор
https://habr.com/ru/companies/otus/articles/1001910/
#Landlock #песочница_приложений #Linux #sandboxing #безопасность_приложений #ограничение_прав #системные_вызовы
-
Linux Landlock — песочница для приложений без root
Landlock — редкий для Linux случай, когда «песочницу» можно включить руками самого приложения: без root, без километров политик и с понятной логикой «по умолчанию запрещено всё». В этой статье разбираем, что это за LSM, какие три системных вызова нужны, как выбрать минимальный набор прав и почему открытые до ограничений файловые дескрипторы способны тихо обнулить всю задумку. Открыть разбор
https://habr.com/ru/companies/otus/articles/1001910/
#Landlock #песочница_приложений #Linux #sandboxing #безопасность_приложений #ограничение_прав #системные_вызовы
-
Linux Landlock — песочница для приложений без root
Landlock — редкий для Linux случай, когда «песочницу» можно включить руками самого приложения: без root, без километров политик и с понятной логикой «по умолчанию запрещено всё». В этой статье разбираем, что это за LSM, какие три системных вызова нужны, как выбрать минимальный набор прав и почему открытые до ограничений файловые дескрипторы способны тихо обнулить всю задумку. Открыть разбор
https://habr.com/ru/companies/otus/articles/1001910/
#Landlock #песочница_приложений #Linux #sandboxing #безопасность_приложений #ограничение_прав #системные_вызовы
-
Я пишу свой терминал с нуля, чтобы понять как работает компьютер
Что происходит, когда вы вводите ls в терминале? Как 2 буквы превращаются в список файлов на экране? Я решил разобраться и написал свой терминал с нуля на C++. В этой статье я объясняю через метафору ресторана, как работают три магических системных вызова — fork() , exec() и wait() — которые лежат в основе любого терминала. Вы узнаете, почему cd нельзя сделать обычной программой, как работает перенаправление > , и какой коварный баг я поймал из-за непонимания процессов. Без сложной теории — только практика и понятные объяснения.
https://habr.com/ru/articles/1000766/
#shell #fork #exec #wait #системные_вызовы #процессы #linux #c++
-
Я пишу свой терминал с нуля, чтобы понять как работает компьютер
Что происходит, когда вы вводите ls в терминале? Как 2 буквы превращаются в список файлов на экране? Я решил разобраться и написал свой терминал с нуля на C++. В этой статье я объясняю через метафору ресторана, как работают три магических системных вызова — fork() , exec() и wait() — которые лежат в основе любого терминала. Вы узнаете, почему cd нельзя сделать обычной программой, как работает перенаправление > , и какой коварный баг я поймал из-за непонимания процессов. Без сложной теории — только практика и понятные объяснения.
https://habr.com/ru/articles/1000766/
#shell #fork #exec #wait #системные_вызовы #процессы #linux #c++
-
Я пишу свой терминал с нуля, чтобы понять как работает компьютер
Что происходит, когда вы вводите ls в терминале? Как 2 буквы превращаются в список файлов на экране? Я решил разобраться и написал свой терминал с нуля на C++. В этой статье я объясняю через метафору ресторана, как работают три магических системных вызова — fork() , exec() и wait() — которые лежат в основе любого терминала. Вы узнаете, почему cd нельзя сделать обычной программой, как работает перенаправление > , и какой коварный баг я поймал из-за непонимания процессов. Без сложной теории — только практика и понятные объяснения.
https://habr.com/ru/articles/1000766/
#shell #fork #exec #wait #системные_вызовы #процессы #linux #c++
-
Я пишу свой терминал с нуля, чтобы понять как работает компьютер
Что происходит, когда вы вводите ls в терминале? Как 2 буквы превращаются в список файлов на экране? Я решил разобраться и написал свой терминал с нуля на C++. В этой статье я объясняю через метафору ресторана, как работают три магических системных вызова — fork() , exec() и wait() — которые лежат в основе любого терминала. Вы узнаете, почему cd нельзя сделать обычной программой, как работает перенаправление > , и какой коварный баг я поймал из-за непонимания процессов. Без сложной теории — только практика и понятные объяснения.
https://habr.com/ru/articles/1000766/
#shell #fork #exec #wait #системные_вызовы #процессы #linux #c++
-
[Перевод] Почему системные вызовы обходятся дорого: углубляемся в дебри Linux
Здесь рассказано, как именно Linux обрабатывает системные вызовы в архитектуре x86-64, и почему при профилировании они выглядят как дорогостоящие операции.
https://habr.com/ru/articles/996600/
#ядро_linux #системные_вызовы #оптимизация #производительность #профилирование
-
[Перевод] Почему системные вызовы обходятся дорого: углубляемся в дебри Linux
Здесь рассказано, как именно Linux обрабатывает системные вызовы в архитектуре x86-64, и почему при профилировании они выглядят как дорогостоящие операции.
https://habr.com/ru/articles/996600/
#ядро_linux #системные_вызовы #оптимизация #производительность #профилирование
-
[Перевод] Почему системные вызовы обходятся дорого: углубляемся в дебри Linux
Здесь рассказано, как именно Linux обрабатывает системные вызовы в архитектуре x86-64, и почему при профилировании они выглядят как дорогостоящие операции.
https://habr.com/ru/articles/996600/
#ядро_linux #системные_вызовы #оптимизация #производительность #профилирование
-
[Перевод] Почему системные вызовы обходятся дорого: углубляемся в дебри Linux
Здесь рассказано, как именно Linux обрабатывает системные вызовы в архитектуре x86-64, и почему при профилировании они выглядят как дорогостоящие операции.
https://habr.com/ru/articles/996600/
#ядро_linux #системные_вызовы #оптимизация #производительность #профилирование
-
[Перевод] Управление нагрузкой на периферии: масштабирование мониторинга файлов на базе eBPF
Мониторинг целостности файлов выглядит простым ровно до тех пор, пока не пытаешься сделать его полезным для расследований и одновременно не убить прод. Сканы пропускают «изменил и откатил», inotify не даёт нужного контекста, auditd начинает стоить слишком дорого. В Datadog пошли через eBPF и получили то, чего не хватало: реальные события с привязкой к процессам и контейнерам — а вместе с ними и новую проблему масштаба, когда счёт идёт на миллиарды событий в минуту. В статье разберем, как они перенесли часть логики фильтрации в ядро, научились отсеивать шум ещё до user space и превратили поток телеметрии в сигнал, который можно выдержать. Открыть разбор
https://habr.com/ru/companies/otus/articles/984738/
#devops #linux #мониторинг_целостности_файлов #File_Integrity_Monitoring #eBPF #безопасность_Linux #системные_вызовы #наблюдаемость #производительность_агента
-
[Перевод] Управление нагрузкой на периферии: масштабирование мониторинга файлов на базе eBPF
Мониторинг целостности файлов выглядит простым ровно до тех пор, пока не пытаешься сделать его полезным для расследований и одновременно не убить прод. Сканы пропускают «изменил и откатил», inotify не даёт нужного контекста, auditd начинает стоить слишком дорого. В Datadog пошли через eBPF и получили то, чего не хватало: реальные события с привязкой к процессам и контейнерам — а вместе с ними и новую проблему масштаба, когда счёт идёт на миллиарды событий в минуту. В статье разберем, как они перенесли часть логики фильтрации в ядро, научились отсеивать шум ещё до user space и превратили поток телеметрии в сигнал, который можно выдержать. Открыть разбор
https://habr.com/ru/companies/otus/articles/984738/
#devops #linux #мониторинг_целостности_файлов #File_Integrity_Monitoring #eBPF #безопасность_Linux #системные_вызовы #наблюдаемость #производительность_агента
-
[Перевод] Управление нагрузкой на периферии: масштабирование мониторинга файлов на базе eBPF
Мониторинг целостности файлов выглядит простым ровно до тех пор, пока не пытаешься сделать его полезным для расследований и одновременно не убить прод. Сканы пропускают «изменил и откатил», inotify не даёт нужного контекста, auditd начинает стоить слишком дорого. В Datadog пошли через eBPF и получили то, чего не хватало: реальные события с привязкой к процессам и контейнерам — а вместе с ними и новую проблему масштаба, когда счёт идёт на миллиарды событий в минуту. В статье разберем, как они перенесли часть логики фильтрации в ядро, научились отсеивать шум ещё до user space и превратили поток телеметрии в сигнал, который можно выдержать. Открыть разбор
https://habr.com/ru/companies/otus/articles/984738/
#devops #linux #мониторинг_целостности_файлов #File_Integrity_Monitoring #eBPF #безопасность_Linux #системные_вызовы #наблюдаемость #производительность_агента
-
[Перевод] Управление нагрузкой на периферии: масштабирование мониторинга файлов на базе eBPF
Мониторинг целостности файлов выглядит простым ровно до тех пор, пока не пытаешься сделать его полезным для расследований и одновременно не убить прод. Сканы пропускают «изменил и откатил», inotify не даёт нужного контекста, auditd начинает стоить слишком дорого. В Datadog пошли через eBPF и получили то, чего не хватало: реальные события с привязкой к процессам и контейнерам — а вместе с ними и новую проблему масштаба, когда счёт идёт на миллиарды событий в минуту. В статье разберем, как они перенесли часть логики фильтрации в ядро, научились отсеивать шум ещё до user space и превратили поток телеметрии в сигнал, который можно выдержать. Открыть разбор
https://habr.com/ru/companies/otus/articles/984738/
#devops #linux #мониторинг_целостности_файлов #File_Integrity_Monitoring #eBPF #безопасность_Linux #системные_вызовы #наблюдаемость #производительность_агента
-
Создание легкого shell на си
Многие начинающие разработчики которые начинаю писать на языке C сталкиваются с проблемой : Какой 1 пет-проект написать на C ? И вопрос то логичный ведь проекты на C никогда не славились легкостью по сравнению с проектами на python или JavaScript . И как по мне отличная идей написать shell ведь там не надо знать ассемблер или иметь глубокие знание в работе OC , и он относительно легок в понимании . В этой статье мы с вами подробно разберем написание shell на языке C , как он устроен ,в чем отличия bash shell и cmd. И напишем свой shell на 450 строк кода Начнем пожалуй с самыx базовых вопросах .
https://habr.com/ru/articles/979674/
#shell_на_C #петпроект #fork_exec #системные_вызовы #процессы_Linux #свой_shell #учебный_проект #консоль_на_C #системное_программирование #исходный_код_C
-
Создание легкого shell на си
Многие начинающие разработчики которые начинаю писать на языке C сталкиваются с проблемой : Какой 1 пет-проект написать на C ? И вопрос то логичный ведь проекты на C никогда не славились легкостью по сравнению с проектами на python или JavaScript . И как по мне отличная идей написать shell ведь там не надо знать ассемблер или иметь глубокие знание в работе OC , и он относительно легок в понимании . В этой статье мы с вами подробно разберем написание shell на языке C , как он устроен ,в чем отличия bash shell и cmd. И напишем свой shell на 450 строк кода Начнем пожалуй с самыx базовых вопросах .
https://habr.com/ru/articles/979674/
#shell_на_C #петпроект #fork_exec #системные_вызовы #процессы_Linux #свой_shell #учебный_проект #консоль_на_C #системное_программирование #исходный_код_C
-
Создание легкого shell на си
Многие начинающие разработчики которые начинаю писать на языке C сталкиваются с проблемой : Какой 1 пет-проект написать на C ? И вопрос то логичный ведь проекты на C никогда не славились легкостью по сравнению с проектами на python или JavaScript . И как по мне отличная идей написать shell ведь там не надо знать ассемблер или иметь глубокие знание в работе OC , и он относительно легок в понимании . В этой статье мы с вами подробно разберем написание shell на языке C , как он устроен ,в чем отличия bash shell и cmd. И напишем свой shell на 450 строк кода Начнем пожалуй с самыx базовых вопросах .
https://habr.com/ru/articles/979674/
#shell_на_C #петпроект #fork_exec #системные_вызовы #процессы_Linux #свой_shell #учебный_проект #консоль_на_C #системное_программирование #исходный_код_C
-
Создание легкого shell на си
Многие начинающие разработчики которые начинаю писать на языке C сталкиваются с проблемой : Какой 1 пет-проект написать на C ? И вопрос то логичный ведь проекты на C никогда не славились легкостью по сравнению с проектами на python или JavaScript . И как по мне отличная идей написать shell ведь там не надо знать ассемблер или иметь глубокие знание в работе OC , и он относительно легок в понимании . В этой статье мы с вами подробно разберем написание shell на языке C , как он устроен ,в чем отличия bash shell и cmd. И напишем свой shell на 450 строк кода Начнем пожалуй с самыx базовых вопросах .
https://habr.com/ru/articles/979674/
#shell_на_C #петпроект #fork_exec #системные_вызовы #процессы_Linux #свой_shell #учебный_проект #консоль_на_C #системное_программирование #исходный_код_C
-
[Перевод] Как memory maps (mmap) обеспечивают в 25 раз более быстрый доступ к файлам в Go
Команда Go for Devs подготовила перевод статьи о том, как memory maps (mmap) обеспечивают молниеносный доступ к файлам в Go. Автор показывает, что замена обычного чтения и записи на работу с памятью может ускорить программу в 25 раз — и объясняет, почему это почти магия, но с нюансами.
https://habr.com/ru/articles/960120/
#Go #mmap #производительность #память #файлы #Unix #системные_вызовы #оптимизация #Varnish_Cache #io_uring
-
[Перевод] Как memory maps (mmap) обеспечивают в 25 раз более быстрый доступ к файлам в Go
Команда Go for Devs подготовила перевод статьи о том, как memory maps (mmap) обеспечивают молниеносный доступ к файлам в Go. Автор показывает, что замена обычного чтения и записи на работу с памятью может ускорить программу в 25 раз — и объясняет, почему это почти магия, но с нюансами.
https://habr.com/ru/articles/960120/
#Go #mmap #производительность #память #файлы #Unix #системные_вызовы #оптимизация #Varnish_Cache #io_uring
-
[Перевод] Как memory maps (mmap) обеспечивают в 25 раз более быстрый доступ к файлам в Go
Команда Go for Devs подготовила перевод статьи о том, как memory maps (mmap) обеспечивают молниеносный доступ к файлам в Go. Автор показывает, что замена обычного чтения и записи на работу с памятью может ускорить программу в 25 раз — и объясняет, почему это почти магия, но с нюансами.
https://habr.com/ru/articles/960120/
#Go #mmap #производительность #память #файлы #Unix #системные_вызовы #оптимизация #Varnish_Cache #io_uring
-
[Перевод] Как memory maps (mmap) обеспечивают в 25 раз более быстрый доступ к файлам в Go
Команда Go for Devs подготовила перевод статьи о том, как memory maps (mmap) обеспечивают молниеносный доступ к файлам в Go. Автор показывает, что замена обычного чтения и записи на работу с памятью может ускорить программу в 25 раз — и объясняет, почему это почти магия, но с нюансами.
https://habr.com/ru/articles/960120/
#Go #mmap #производительность #память #файлы #Unix #системные_вызовы #оптимизация #Varnish_Cache #io_uring
-
Системные вызовы Linux, которые должен знать каждый разработчик
Многие разработчики работают в Linux-среде, но не всегда глубоко понимают, как взаимодействие с ОС происходит на низком уровне. На собеседованиях всё чаще спрашивают про системные вызовы Linux. В этой статье мы рассмотрим, какие вызовы встречаются чаще всего и как они работают.
https://habr.com/ru/companies/beget/articles/903650/
#системные_вызовы #собеседование_в_it #операционные_системы #Системные_вызовы_Linux #вопросы_на_собеседовании
-
Системные вызовы Linux, которые должен знать каждый разработчик
Многие разработчики работают в Linux-среде, но не всегда глубоко понимают, как взаимодействие с ОС происходит на низком уровне. На собеседованиях всё чаще спрашивают про системные вызовы Linux. В этой статье мы рассмотрим, какие вызовы встречаются чаще всего и как они работают.
https://habr.com/ru/companies/beget/articles/903650/
#системные_вызовы #собеседование_в_it #операционные_системы #Системные_вызовы_Linux #вопросы_на_собеседовании
-
Системные вызовы Linux, которые должен знать каждый разработчик
Многие разработчики работают в Linux-среде, но не всегда глубоко понимают, как взаимодействие с ОС происходит на низком уровне. На собеседованиях всё чаще спрашивают про системные вызовы Linux. В этой статье мы рассмотрим, какие вызовы встречаются чаще всего и как они работают.
https://habr.com/ru/companies/beget/articles/903650/
#системные_вызовы #собеседование_в_it #операционные_системы #Системные_вызовы_Linux #вопросы_на_собеседовании
-
Системные вызовы Linux, которые должен знать каждый разработчик
Многие разработчики работают в Linux-среде, но не всегда глубоко понимают, как взаимодействие с ОС происходит на низком уровне. На собеседованиях всё чаще спрашивают про системные вызовы Linux. В этой статье мы рассмотрим, какие вызовы встречаются чаще всего и как они работают.
https://habr.com/ru/companies/beget/articles/903650/
#системные_вызовы #собеседование_в_it #операционные_системы #Системные_вызовы_Linux #вопросы_на_собеседовании
-
[Перевод] Операционная система в 1 000 строк кода (часть 4)
Перед вами четвёртая часть серии, посвящённой написанию собственной ОС. Здесь мы реализуем и запустим собственный исполняемый файл в пространстве пользователя, а также системные вызовы для вывода символов на экран и их считывания при вводе на клавиатуре. Навигация по вышедшим частям Часть 1 Часть 2 Часть 3 Часть 4 < — вы здесь
https://habr.com/ru/companies/ruvds/articles/877474/
#ruvds_перевод #программирование #операционные_системы #разработка_ос #qemu #системные_вызовы #режим_пользователя
-
[Перевод] Операционная система в 1 000 строк кода (часть 4)
Перед вами четвёртая часть серии, посвящённой написанию собственной ОС. Здесь мы реализуем и запустим собственный исполняемый файл в пространстве пользователя, а также системные вызовы для вывода символов на экран и их считывания при вводе на клавиатуре. Навигация по вышедшим частям Часть 1 Часть 2 Часть 3 Часть 4 < — вы здесь
https://habr.com/ru/companies/ruvds/articles/877474/
#ruvds_перевод #программирование #операционные_системы #разработка_ос #qemu #системные_вызовы #режим_пользователя