htop и многое другое на пальцах
На протяжении долгого времени я не до конца понимал htop. Я думал, что средняя загрузка [load average] в 1.0 означает, что процессор загружен на 50%, но это не совсем так. Да и потом, почему именно 1.0?
Затем я решил во всём разобраться и написать об этом. Говорят, что лучший способ научиться новому — попытаться это объяснить.
https://habr.com/ru/post/316806/
👉 @sysadminof
На протяжении долгого времени я не до конца понимал htop. Я думал, что средняя загрузка [load average] в 1.0 означает, что процессор загружен на 50%, но это не совсем так. Да и потом, почему именно 1.0?
Затем я решил во всём разобраться и написать об этом. Говорят, что лучший способ научиться новому — попытаться это объяснить.
https://habr.com/ru/post/316806/
👉 @sysadminof
👍8
ПРИГЛАШАЕМ ВАС НА БЕСПЛАТНЫЙ ВЕБИНАР
"Отказоустойчивость СХД АЭРОДИСК: зачем она нужна и как ее повысить?"
Который состоится 21 февраля в 15:00 (МСК)
Спикеры: Фарух Шаймарданов - Менеджер по продукту, АЭРОДИСК
Алексей Меркулов - Руководитель отдела разработки СХД, АЭРОДИСК
Программа вебинара:
— Для чего это нужно? Обзор сценариев отказоустойчивости СХД АЭРОДИСК
— Как это работает? Настройка и демонстрация отказоустойчивости СХД АЭРОДИСК
— Ответы на вопросы и анонс следующих тем ОколоИТ
Регистрация по ссылке: https://clck.ru/33XWn3
"Отказоустойчивость СХД АЭРОДИСК: зачем она нужна и как ее повысить?"
Который состоится 21 февраля в 15:00 (МСК)
Спикеры: Фарух Шаймарданов - Менеджер по продукту, АЭРОДИСК
Алексей Меркулов - Руководитель отдела разработки СХД, АЭРОДИСК
Программа вебинара:
— Для чего это нужно? Обзор сценариев отказоустойчивости СХД АЭРОДИСК
— Как это работает? Настройка и демонстрация отказоустойчивости СХД АЭРОДИСК
— Ответы на вопросы и анонс следующих тем ОколоИТ
Регистрация по ссылке: https://clck.ru/33XWn3
Управление сервисами systemd через утилиту systemctl
systemctl start name.service – запуск сервиса.
systemctl stop name.service — остановка сервиса
systemctl restart name.service — перезапуск сервиса
systemctl try-restart name.service — перезапуск сервиса только, если он запущен
systemctl reload name.service — перезагрузка конфигурации сервиса
systemctl status name.service — проверка, запущен ли сервис с детальным выводом состояния сервиса
systemctl is-active name.service — проверка, запущен ли сервис с простым ответом: active или inactive
systemctl list-units --type service --all – отображение статуса всех сервисов
systemctl enable name.service – активирует сервис (позволяет стартовать во время запуска системы)
systemctl disable name.service – деактивирует сервис
systemctl reenable name.service – деактивирует сервис и сразу активирует его
systemctl is–enabled name.service – проверяет, активирован ли сервис
systemctl list-unit-files --type service – отображает все сервисы и проверяет, какие из них активированы
systemctl mask name.service – заменяет файл сервиса симлинком на /dev/null, делая юнит недоступным для systemd
systemctl unmask name.service – возвращает файл сервиса, делая юнит доступным для systemd
👉 @sysadminof
systemctl start name.service – запуск сервиса.
systemctl stop name.service — остановка сервиса
systemctl restart name.service — перезапуск сервиса
systemctl try-restart name.service — перезапуск сервиса только, если он запущен
systemctl reload name.service — перезагрузка конфигурации сервиса
systemctl status name.service — проверка, запущен ли сервис с детальным выводом состояния сервиса
systemctl is-active name.service — проверка, запущен ли сервис с простым ответом: active или inactive
systemctl list-units --type service --all – отображение статуса всех сервисов
systemctl enable name.service – активирует сервис (позволяет стартовать во время запуска системы)
systemctl disable name.service – деактивирует сервис
systemctl reenable name.service – деактивирует сервис и сразу активирует его
systemctl is–enabled name.service – проверяет, активирован ли сервис
systemctl list-unit-files --type service – отображает все сервисы и проверяет, какие из них активированы
systemctl mask name.service – заменяет файл сервиса симлинком на /dev/null, делая юнит недоступным для systemd
systemctl unmask name.service – возвращает файл сервиса, делая юнит доступным для systemd
👉 @sysadminof
👍14
Утилиты linux
rsync
-v — выводит подробную информацию о процессе копирования;
[-a] — сохраняет все атрибуты оригинальных файлов;
-u — не перезаписывать более новые файлы;
-l — копирует символьные ссылки;
-L — копирует содержимое ссылок;
-p — сохраняет права для файлов;
-t — сохраняет время модификации;
-e — использовать другой транспорт, например, ssh;
[-z] — cжимает файлы перед передачей;
—recursive — перебирать директории рекурсивно;
—exclude — Исключить файлы по шаблону;
Примеры:
rsync -avz skillproject/data/ . — из подкаталога в текущий каталог
rsync -avz skillproject/data/ aaa/ — из подпапки в подпапку aaa/
rsync -avz skillproject/data/ digita6d@digita6d.beget.tech:/home/d/digita6d/code-skills.ru/public_html/sources/skillproject/data/ — передача на удаленный сервер
rsync -avze ssh skillproject/data/ digita6d@digita6d.beget.tech:/home/d/digita6d/code-skills.ru/public_html/sources/skillproject/data/ — то же самое м явным указанием ssh
ss
-l или —listening — посмотреть только прослушиваемые порты;
-p или —program — показать имя программы и ее PID;
-t или —tcp — показать tcp порты;
-u или —udp показать udp порты;
-n или —numeric показывать ip адреса в числовом виде.
Примеры:
ss -tlpn — проверить все прослушивающие tcp-порты
ss -tulpn | grep :80 — показать все процессы, работающие на 80-м порту
ps
ps -e — показать все процессы
ps -ef — показать подробную информацию о каждом процессе
ps -ef | grep phantom — найти все процессы с именем phantom
mpstat
Показывает статистику загрузки процессора. Команды:
mpstat — показывает общую информацию
mpstat -P ALL — по каждому ядру
free
Показывает потребление ОЗУ на текущий момент:
free -h — показывает информацию в гигабайтах (более человеко читаемо, чем в байтах)
top
Что-то наподобие диспетчера задач, только для линукс, показывает попроцессное потребление озу
dpkg
Пакетный менеджер для debian систем (не путать с системой управления пакетами — apt/apt-get)
dpkg -s <packname> — проверить, установлен ли пакет
dpkg -l — список всех пакетов
dpkg -l | grep apache2 — проверить, установлен ли конкретный пакет
dpkg -i <package.deb> — установить пакет
netstat
netstat -pnltu — посмотреть список используемых портов
👉 @sysadminof
rsync
-v — выводит подробную информацию о процессе копирования;
[-a] — сохраняет все атрибуты оригинальных файлов;
-u — не перезаписывать более новые файлы;
-l — копирует символьные ссылки;
-L — копирует содержимое ссылок;
-p — сохраняет права для файлов;
-t — сохраняет время модификации;
-e — использовать другой транспорт, например, ssh;
[-z] — cжимает файлы перед передачей;
—recursive — перебирать директории рекурсивно;
—exclude — Исключить файлы по шаблону;
Примеры:
rsync -avz skillproject/data/ . — из подкаталога в текущий каталог
rsync -avz skillproject/data/ aaa/ — из подпапки в подпапку aaa/
rsync -avz skillproject/data/ digita6d@digita6d.beget.tech:/home/d/digita6d/code-skills.ru/public_html/sources/skillproject/data/ — передача на удаленный сервер
rsync -avze ssh skillproject/data/ digita6d@digita6d.beget.tech:/home/d/digita6d/code-skills.ru/public_html/sources/skillproject/data/ — то же самое м явным указанием ssh
ss
-l или —listening — посмотреть только прослушиваемые порты;
-p или —program — показать имя программы и ее PID;
-t или —tcp — показать tcp порты;
-u или —udp показать udp порты;
-n или —numeric показывать ip адреса в числовом виде.
Примеры:
ss -tlpn — проверить все прослушивающие tcp-порты
ss -tulpn | grep :80 — показать все процессы, работающие на 80-м порту
ps
ps -e — показать все процессы
ps -ef — показать подробную информацию о каждом процессе
ps -ef | grep phantom — найти все процессы с именем phantom
mpstat
Показывает статистику загрузки процессора. Команды:
mpstat — показывает общую информацию
mpstat -P ALL — по каждому ядру
free
Показывает потребление ОЗУ на текущий момент:
free -h — показывает информацию в гигабайтах (более человеко читаемо, чем в байтах)
top
Что-то наподобие диспетчера задач, только для линукс, показывает попроцессное потребление озу
dpkg
Пакетный менеджер для debian систем (не путать с системой управления пакетами — apt/apt-get)
dpkg -s <packname> — проверить, установлен ли пакет
dpkg -l — список всех пакетов
dpkg -l | grep apache2 — проверить, установлен ли конкретный пакет
dpkg -i <package.deb> — установить пакет
netstat
netstat -pnltu — посмотреть список используемых портов
👉 @sysadminof
👍11
👨💻 По данным Роскомнадзора, в прошлом году произошло более 150 крупных утечек персональных данных. Как такое происходит?
Ответ прост — нарушение простых требований информационной безопасности. Очень часто сотрудники передают пароли от важнейших корпоративных сервисов через мессенджеры или по почте, а иногда используют один и тот же пароль для нескольких аккаунтов. Причем все знают, что так делать не стоит, но всё равно делают. Всё это приводит к взломам и утечкам.
Чтобы защитить бизнес от подобных инцидентов, используйте Пассворк.
Он упрощает совместную работу с корпоративными доступами. В Пассворк можно создавать общие папки, добавлять туда доступы от разных сервисов и приглашать своих коллег. Сотрудники будут быстро находить нужные пароли, а администратор сможет управлять правами пользователей и отслеживать все действия — кто какой пароль открыл, скопировал или передал.
Подробнее тут — passwork.ru
Ответ прост — нарушение простых требований информационной безопасности. Очень часто сотрудники передают пароли от важнейших корпоративных сервисов через мессенджеры или по почте, а иногда используют один и тот же пароль для нескольких аккаунтов. Причем все знают, что так делать не стоит, но всё равно делают. Всё это приводит к взломам и утечкам.
Чтобы защитить бизнес от подобных инцидентов, используйте Пассворк.
Он упрощает совместную работу с корпоративными доступами. В Пассворк можно создавать общие папки, добавлять туда доступы от разных сервисов и приглашать своих коллег. Сотрудники будут быстро находить нужные пароли, а администратор сможет управлять правами пользователей и отслеживать все действия — кто какой пароль открыл, скопировал или передал.
Подробнее тут — passwork.ru
👍1💯1
Информация о пользователях и системе в Linux
whoami или echo $USER- выведем имя юзера
groups - выведет группы пользователя
id - выведет User IDentifier, его имя, Group IDentifier и группы данного юзера с их GID
(Обычно первая сотка/тысяча юзеров зарезервирована для системных)
В /etc/passwd записываются UIDs пользователей
В /etc/groups записываются GIDs пользователей
last - список последних логинов в систему
last reboot - список перезагрузок хоста по времени
last user1 - отобразить историю регистрации пользователя в системе и время его нахождения в ней
w - показывает активные сессии (дата, время, ip, простой, сколько было потреблено процессорного времени и что выполняет)
echo $XDG_CURRENT_DESKTOP - узнать какая графическая оболочка
hostname - выведет имя хоста, hostname -i - IP адреса
uname -a - выводит ОС, версию ядра, архитектуру и дату сборки, процессор, лицензию и так далее, т.е. вся информация о системе, сборке или lsb_release -a или пакет neofetch с полной информацией о системе или cat /etc/os-release
dmidecode - информация о железе
free -w -t --mega - выводит данные об использовании ОЗУ и swap в мегабайтах (поле shared значит разделенная между процессами память, кэш это то, что часто используется и хранится, буфер это то, что приготовлено для записи, кэш и буфера это условно свободная память)
date - полная дата с часовым поясом
ifconfig -a - Настройки всех сетевых адаптеров
ip addr show - Список всех сетевых интерфейсов и связанных IP-адресов
wget -qO- eth0.me - Узнать внешний IP
uptime
man ls - документация/инструкция по указанному пакету
👉 @sysadminof
whoami или echo $USER- выведем имя юзера
groups - выведет группы пользователя
id - выведет User IDentifier, его имя, Group IDentifier и группы данного юзера с их GID
(Обычно первая сотка/тысяча юзеров зарезервирована для системных)
В /etc/passwd записываются UIDs пользователей
В /etc/groups записываются GIDs пользователей
last - список последних логинов в систему
last reboot - список перезагрузок хоста по времени
last user1 - отобразить историю регистрации пользователя в системе и время его нахождения в ней
w - показывает активные сессии (дата, время, ip, простой, сколько было потреблено процессорного времени и что выполняет)
echo $XDG_CURRENT_DESKTOP - узнать какая графическая оболочка
hostname - выведет имя хоста, hostname -i - IP адреса
uname -a - выводит ОС, версию ядра, архитектуру и дату сборки, процессор, лицензию и так далее, т.е. вся информация о системе, сборке или lsb_release -a или пакет neofetch с полной информацией о системе или cat /etc/os-release
dmidecode - информация о железе
free -w -t --mega - выводит данные об использовании ОЗУ и swap в мегабайтах (поле shared значит разделенная между процессами память, кэш это то, что часто используется и хранится, буфер это то, что приготовлено для записи, кэш и буфера это условно свободная память)
date - полная дата с часовым поясом
ifconfig -a - Настройки всех сетевых адаптеров
ip addr show - Список всех сетевых интерфейсов и связанных IP-адресов
wget -qO- eth0.me - Узнать внешний IP
uptime
man ls - документация/инструкция по указанному пакету
👉 @sysadminof
👍7
Использование ps, kill и nice для управления процессами в Linux
Сервер Linux, как и любой другой компьютер, использует приложения. Компьютер рассматривает эти приложения как процессы.
Хотя Linux автоматически выполняет все скрытые низкоуровневые задачи жизненного цикла процесса, нам необходим способ взаимодействия с операционной системой для управления на более высоком уровне.
В этом учебном модуле мы расскажем о некоторых простых аспектах управления процессами. Linux предоставляет широкий выбор инструментов для этой цели.
В качестве примера мы используем Ubuntu 12.04 VPS, но любые современные дистрибутивы Linux будут работать аналогичным образом.
https://www.digitalocean.com/community/tutorials/how-to-use-ps-kill-and-nice-to-manage-processes-in-linux-ru#linux
👉 @sysadminof
Сервер Linux, как и любой другой компьютер, использует приложения. Компьютер рассматривает эти приложения как процессы.
Хотя Linux автоматически выполняет все скрытые низкоуровневые задачи жизненного цикла процесса, нам необходим способ взаимодействия с операционной системой для управления на более высоком уровне.
В этом учебном модуле мы расскажем о некоторых простых аспектах управления процессами. Linux предоставляет широкий выбор инструментов для этой цели.
В качестве примера мы используем Ubuntu 12.04 VPS, но любые современные дистрибутивы Linux будут работать аналогичным образом.
https://www.digitalocean.com/community/tutorials/how-to-use-ps-kill-and-nice-to-manage-processes-in-linux-ru#linux
👉 @sysadminof
Digitalocean
Использование ps, kill и nice для управления процессами в Linux | DigitalOcean
Управление процессами — необходимый навык при работе с любыми компьютерными системами. Особенно он актуален при управлении серверной средой. В этой статье мы…
👍3
Командная оболочка PowerShell
1.0. Превью PowerShell: путь к силе
1.1. Рекомендация и учебня площадка
1.2. Установка и обновление PowerShell
1.3. Знакомство с оболочкой, настройка и навигация
1.4. Новые возможности и приятные мелочи
1.5. Справочная система ч.1
1.5. Справочная система ч.2
1.6. PowerShell ISE – это путь мастера
2.1. Адрес курсора, поставщики дисков и вывод информацииR
2.2. Манипуляция над объектами и билдер сценариевR
2.3. Маски или как фильтровать запрос в PowerShellR
2.4. Конвейер – тёмная сторонаRuFrame
Все видео доступны на youtube
👉 @sysadminof
1.0. Превью PowerShell: путь к силе
1.1. Рекомендация и учебня площадка
1.2. Установка и обновление PowerShell
1.3. Знакомство с оболочкой, настройка и навигация
1.4. Новые возможности и приятные мелочи
1.5. Справочная система ч.1
1.5. Справочная система ч.2
1.6. PowerShell ISE – это путь мастера
2.1. Адрес курсора, поставщики дисков и вывод информацииR
2.2. Манипуляция над объектами и билдер сценариевR
2.3. Маски или как фильтровать запрос в PowerShellR
2.4. Конвейер – тёмная сторонаRuFrame
Все видео доступны на youtube
👉 @sysadminof
👍8❤1
Очистить кэш на CentOS/ RHEL/ Fedora
Для того чтобы очистить page-cache:
Для того чтобы очистить dentrie а так же кеш для inode:
Для того чтобы очистить все вместе (pagecache и dentrie и inode):
Для автоматического выполнения каждый час, добавьте задание в crontab.
👉 @sysadminof
Для того чтобы очистить page-cache:
# sync; echo 1 > /proc/sys/vm/drop_cachesДля того чтобы очистить dentrie а так же кеш для inode:
# sync; echo 2 > /proc/sys/vm/drop_cachesДля того чтобы очистить все вместе (pagecache и dentrie и inode):
# sync; echo 3 > /proc/sys/vm/drop_cachesДля автоматического выполнения каждый час, добавьте задание в crontab.
0 * * * * sync; echo 1 > /proc/sys/vm/drop_caches
0 * * * * sync; echo 2 > /proc/sys/vm/drop_caches
0 * * * * sync; echo 3 > /proc/sys/vm/drop_caches👉 @sysadminof
👍4
Облегчаем жизнь айтишников - пишем про облака, IT-бизнес, кейсы цифровой трансформации, IaaS-BaaS и всё подобное.
Сделали подборку полезного:
- Полезные комбинации горячих клавиш в терминале Linux
- Подборка полезных приложений от команды инженеров
- Возможности работы с командной строкой. Терминал linux
- Что лучше из облачных дисков? Сравним: Nextcloud, Яндекс.Диск, OneDrive, Google.Drive
- Как правильно сделать рабочий бекап
А ещё розыгрыши! Рекомендуем подписаться → @mclouds
Сделали подборку полезного:
- Полезные комбинации горячих клавиш в терминале Linux
- Подборка полезных приложений от команды инженеров
- Возможности работы с командной строкой. Терминал linux
- Что лучше из облачных дисков? Сравним: Nextcloud, Яндекс.Диск, OneDrive, Google.Drive
- Как правильно сделать рабочий бекап
А ещё розыгрыши! Рекомендуем подписаться → @mclouds
👍3
Media is too big
VIEW IN TELEGRAM
Лабораторка по BGP
Пробуем сделать лабораторную работу по BGP. Начинаю изучать BGP и как он работает. Записываю видео в стиле лайв для того "чтобы не забыть" как это работает.
👉 @sysadminof
Пробуем сделать лабораторную работу по BGP. Начинаю изучать BGP и как он работает. Записываю видео в стиле лайв для того "чтобы не забыть" как это работает.
👉 @sysadminof
👍3
VPN, RDP, VDI — это прошлый век. Попробуйте ZTNA для удаленного доступа!
Избавьтесь от лишнего «железа» и сложных схем туннелирования, администрируйте из личного кабинета без привязки к офису, создайте безопасную и удобную среду для работы сотрудников всего за 10 минут.
Оставьте заявку на бесплатную презентацию сервиса до конца февраля и получите 1 месяц демо-доступа ко всем функциям сервиса: https://clck.ru/33bZ3V
Избавьтесь от лишнего «железа» и сложных схем туннелирования, администрируйте из личного кабинета без привязки к офису, создайте безопасную и удобную среду для работы сотрудников всего за 10 минут.
Оставьте заявку на бесплатную презентацию сервиса до конца февраля и получите 1 месяц демо-доступа ко всем функциям сервиса: https://clck.ru/33bZ3V
👎2
PowerShell, дамп моего опыта
Эта статья адресована тем, кто уже познакомился с основами PowerShell, запускал какие-то скрипты со stackexchange и, вероятно, имеет свой текстовый файл с теми или иными сниппетами облегчающими повседневную работу. Целью её написания есть уменьшение энтропии, увеличение читаемости и поддерживаемости кода PowerShell используемого в вашей компании и, как следствие, повышение продуктивности администратора работающего с ним.
https://habr.com/ru/post/443256/
👉 @sysadminof
Эта статья адресована тем, кто уже познакомился с основами PowerShell, запускал какие-то скрипты со stackexchange и, вероятно, имеет свой текстовый файл с теми или иными сниппетами облегчающими повседневную работу. Целью её написания есть уменьшение энтропии, увеличение читаемости и поддерживаемости кода PowerShell используемого в вашей компании и, как следствие, повышение продуктивности администратора работающего с ним.
https://habr.com/ru/post/443256/
👉 @sysadminof
👍9
Forwarded from Книги для Системного Администратора
Основы компьютерных сетей. Тема №1. Основные сетевые термины и сетевые модели
https://habr.com/ru/post/307252/
Основы компьютерных сетей. Тема №2. Протоколы верхнего уровня
https://habr.com/ru/post/307714/
Основы компьютерных сетей. Тема №3. Протоколы нижних уровней (транспортного, сетевого и канального)
https://habr.com/ru/post/308636/
Основы компьютерных сетей. Тема №4. Сетевые устройства и виды применяемых кабелей
https://habr.com/ru/post/312340/
Основы компьютерных сетей. Тема №5. Понятие IP адресации, масок подсетей и их расчет
https://habr.com/ru/post/314484/
Основы компьютерных сетей. Тема №6. Понятие VLAN, Trunk и протоколы VTP и DTP
https://habr.com/ru/post/319080/
Основы компьютерных сетей. Тема №7. Протокол связующего дерева: STP
https://habr.com/ru/post/321132/
Основы компьютерных сетей. Тема №8. Протокол агрегирования каналов: Etherchannel
https://habr.com/ru/post/334778/
Основы компьютерных сетей. Тема №9. Маршрутизация: статическая и динамическая на примере RIP, OSPF и EIGRP
https://habr.com/ru/post/335090/
👉 @i_odmin_book
https://habr.com/ru/post/307252/
Основы компьютерных сетей. Тема №2. Протоколы верхнего уровня
https://habr.com/ru/post/307714/
Основы компьютерных сетей. Тема №3. Протоколы нижних уровней (транспортного, сетевого и канального)
https://habr.com/ru/post/308636/
Основы компьютерных сетей. Тема №4. Сетевые устройства и виды применяемых кабелей
https://habr.com/ru/post/312340/
Основы компьютерных сетей. Тема №5. Понятие IP адресации, масок подсетей и их расчет
https://habr.com/ru/post/314484/
Основы компьютерных сетей. Тема №6. Понятие VLAN, Trunk и протоколы VTP и DTP
https://habr.com/ru/post/319080/
Основы компьютерных сетей. Тема №7. Протокол связующего дерева: STP
https://habr.com/ru/post/321132/
Основы компьютерных сетей. Тема №8. Протокол агрегирования каналов: Etherchannel
https://habr.com/ru/post/334778/
Основы компьютерных сетей. Тема №9. Маршрутизация: статическая и динамическая на примере RIP, OSPF и EIGRP
https://habr.com/ru/post/335090/
👉 @i_odmin_book
👍11🔥1
⚡️Подписывайтесь на канал @jetinfosystems и будьте в курсе происходящего в Enterprise IT:
▪️Новости рынка и что о них думают эксперты
▪️Технические материалы и истории о масштабных IT-проектах
▪️Посты на жизненные темы и инсайты от айтишников
▪️Качественные мероприятия, никакого маркетинга
▪️Новости рынка и что о них думают эксперты
▪️Технические материалы и истории о масштабных IT-проектах
▪️Посты на жизненные темы и инсайты от айтишников
▪️Качественные мероприятия, никакого маркетинга
Внутренности Linux: как /proc/self/mem пишет в недоступную для записи память
Странная причудливость псевдофайла /proc/*/mem заключается в его «пробивной» семантике. Операции записи через этот файл будут успешными даже если целевая виртуальная память помечена как недоступная для записи. Это сделано намеренно, и такое поведение активно используется проектами вроде компилятора Julia JIT или отладчика rr.
Но возникают вопросы: подчиняется ли привилегированный код разрешениям виртуальной памяти? До какой степени оборудование может влиять на доступ к памяти ядра?
Мы постараемся ответить на эти вопросы и рассмотрим нюансы взаимодействия между операционной системой и оборудованием, на котором она исполняется. Изучим ограничения процессора, которые могут влиять на ядро, и узнаем, как ядро может их обходить.
https://habr.com/ru/company/vk/blog/559322/
👉 @sysadminof
Странная причудливость псевдофайла /proc/*/mem заключается в его «пробивной» семантике. Операции записи через этот файл будут успешными даже если целевая виртуальная память помечена как недоступная для записи. Это сделано намеренно, и такое поведение активно используется проектами вроде компилятора Julia JIT или отладчика rr.
Но возникают вопросы: подчиняется ли привилегированный код разрешениям виртуальной памяти? До какой степени оборудование может влиять на доступ к памяти ядра?
Мы постараемся ответить на эти вопросы и рассмотрим нюансы взаимодействия между операционной системой и оборудованием, на котором она исполняется. Изучим ограничения процессора, которые могут влиять на ядро, и узнаем, как ядро может их обходить.
https://habr.com/ru/company/vk/blog/559322/
👉 @sysadminof
👍3