chore(*): add details
All checks were successful
continuous-integration/drone/push Build is passing

This commit is contained in:
Карпич Дмитрий Александрович 2025-05-28 14:53:10 +03:00
parent 85c22d77ee
commit 456b3cb8c0
2 changed files with 71 additions and 1 deletions

View File

@ -24,6 +24,7 @@ const { title } = Astro.props;
/> />
<title>{title}</title> <title>{title}</title>
<slot name="head" /> <slot name="head" />
<link rel="stylesheet" href="https://cdnjs.cloudflare.com/ajax/libs/font-awesome/6.0.0/css/all.min.css">
</head> </head>
<body> <body>
<slot /> <slot />

View File

@ -6,6 +6,15 @@ export const description =
"Cигналы, их типы и как они используются в Node.js для управления процессами и обработки событий."; "Cигналы, их типы и как они используются в Node.js для управления процессами и обработки событий.";
--- ---
<style>
.fa-circle {
font-size: 0.5em; /* Размер маркера */
vertical-align: middle;
margin-right: 8px;
color: #2ecc71; /* Цвет маркера */
}
</style>
<section> <section>
<section> <section>
<h2>Что такое сигналы?</h2> <h2>Что такое сигналы?</h2>
@ -101,6 +110,62 @@ export const description =
</section> </section>
</section> </section>
<section>
<section>
<h2>Чем являются сигналы на базовом уровне</h2>
</section>
<section>
<p>
Сигналы в Linux <em>на уровне ядра</em> — это механизм асинхронного уведомления
процессов, реализованный через прерывания на уровне ОС.
</p>
</section>
<section>
<h3>Реализация</h3>
<h4><i class="fas fa-circle"></i>Очередь сигналов в ядре</h4>
<p>
Ядро поддерживает очередь непрочитанных сигналов для каждого
процесса.
</p>
<h4><i class="fas fa-circle"></i>Обработка сигналов в процессе</h4>
<p>
Каждый процесс хранит информацию о полученных сигналах в полях <code
>sigaction</code
>, <code>pending_signals</code> и <code>blocked</code>.
</p>
</section>
<section>
<h3>Жизненный цикл сигнала</h3>
<ol>
<li>
<strong>Генерация</strong>
<p>
Например: через <code>kill()</code>, аппаратное прерывание,
исключение.
</p>
</li>
<li>
<strong>Доставка</strong>
<p>
Ядро помечает сигнал как "ожидающий" в <code>pending</code> маске
процесса.
</p>
</li>
<li>
<strong>Обработка</strong>
<p>
При переключении контекста ядро проверяет <code
>pending</code
> и вызывает обработчик (если не заблокирован).
</p>
</li>
</ol>
</section>
</section>
<section> <section>
<section> <section>
<h2>Обработка сигналов в node.js</h2> <h2>Обработка сигналов в node.js</h2>
@ -181,5 +246,9 @@ export const description =
<section> <section>
<h3>Ссылка на репозитарий с кодом и презентацией</h3> <h3>Ссылка на репозитарий с кодом и презентацией</h3>
<p><a href="https://gitea.meettya.ru/Meettya/signal-slides">https://gitea.meettya.ru/Meettya/signal-slides</a></p> <p>
<a href="https://gitea.meettya.ru/Meettya/signal-slides"
>https://gitea.meettya.ru/Meettya/signal-slides</a
>
</p>
</section> </section>