From c59a354218fe3c449a4aef3121139faff592cadc Mon Sep 17 00:00:00 2001 From: Mora Unie Youer Date: Tue, 28 Jul 2026 21:30:06 +0300 Subject: snapshot: 2026-07-28 --- 3zcrkq.md | 79 +++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ 58od0r.md | 73 ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ 8lkhw5.md | 52 +++++++++++++++++++++++++++++++++++++++++ bizlko.md | 3 +++ dfsxq8.md | 36 +++++++++++++++++++++++++++++ ku6i9v.md | 29 +++++++++++++++++++++++ l5tv9f.md | 23 +++++++++++++++++++ lprw2w.md | 42 +++++++++++++++++++++++++++++++++ n4rgy1.md | 50 ++++++++++++++++++++++++++++++++++++++++ pul5h6.md | 37 ++++++++++++++++++++++++++++++ qg4sae.md | 42 +++++++++++++++++++++++++++++++++ ttq9ul.md | 28 ++++++++++++++++++++++ v572a0.md | 41 +++++++++++++++++++++++++++++++++ wf8w22.md | 2 +- wvtwaf.md | 32 ++++++++++++++++++++++++++ 15 files changed, 568 insertions(+), 1 deletion(-) create mode 100644 3zcrkq.md create mode 100644 58od0r.md create mode 100644 8lkhw5.md create mode 100644 dfsxq8.md create mode 100644 ku6i9v.md create mode 100644 l5tv9f.md create mode 100644 lprw2w.md create mode 100644 n4rgy1.md create mode 100644 pul5h6.md create mode 100644 qg4sae.md create mode 100644 ttq9ul.md create mode 100644 v572a0.md create mode 100644 wvtwaf.md diff --git a/3zcrkq.md b/3zcrkq.md new file mode 100644 index 0000000..988e65f --- /dev/null +++ b/3zcrkq.md @@ -0,0 +1,79 @@ +--- +id: 3zcrkq +date: 2026-07-28T17:41:31+0300 +languages: [ru] +aliases: + +reviews: + +tags: +- draft +- knowledge +--- +# Архитектруные особенности ОС + +Под архитектурой ОС понимают то, как организованы её компоненты, как они взаимодействуют друг с +другом и с аппаратурой. + +Основная задача архитектуры - разделить ответственность между компонентами ОС, обеспечить защиту и +предоставить приложениям удобный интерфейс к аппаратным ресурсам. + +## Пользовательский режим и режим ядра +Современные ОС обычно разделяют выполнение на два основных уровня: +- User mode ограничивает возможности приложения: оно не может произвольно обращаться к памяти других + процессов, устройствам или выполнять привилегированные инструкции +- Kernel mode имеет полный доступ к аппаратуре: в этом уровне чаще всего работают планировщики, + модули управления памятью и другие системные модули + +## Ядро ОС +Ядро (kernel) - привилегированная часть ОС, управляющая аппаратными ресурсами. + +## Модульная архитектура +Модульная архитектура ядра ОС - это подход, при котором ядро состоит из относительно независимых +компонентов (модулей), которые можно подключать, отключать или заменять без полной пересборки и +перезапуска всей системы. + +Монолитное ядро не обязательно означает, что весь код должен быть статически встроен в ядро. Оно +также может являться модульным. Например, Linux поддерживает загружаемые модули ядра. Это позволяет +динамически добавлять драйверы и другие компоненты. + +## Виртуализация ресурсов +Важная архитектурная особенность ОС - предоставление программам абстракций, скрывающих физическое +устройство компьютера. + +Программы работают с виртуальными адресами, и не обязаны знать, где физически находятся +соответствующие страницы ОЗУ. + +Таким образом, ОС превращает сложные аппаратные ресурсы в более удобные абстрактные ресурсы. + +## Системный вызов +Приложения находятся в пользовательском режиме, который не даёт возможность управлять аппаратурой. +Поэтому ОС предоставляет системный вызов - контролируемый интерфейс между user space и kernel space. + +## Прерывания и исключения +ОС активно использует прерывания для взаимодействия с аппаратурой. +Например, сетевой контроллер получил пакет -> генерирует прерывание -> CPU временно передаёт +управление обработчику ядра. + +## Защита памяти +Каждый процесс обычно получает собственное виртуальное адресное пространство. Хотя виртуальные +адреса могут совпадать, физические страницы памяти могут быть совершенно разными. + +Это обеспечивает: +- изоляцию процессов +- защиту от случайного повреждения памяти +- невозможность обычному процессу читать память другого процесса + +## Многозадачность и планирование +ОС должна распределять CPU между потоками для выполнения нескольких задач в одно время. + +Планировщик определяет: +- какой поток запускать +- когда переключать потоки +- на каком ядре выполнять поток +- какой приоритет ему предоставить + +На многоядерном процессоре несколько потоков могут выполняться физически параллельно. + +# Up +- [Операционные системы](wvtwaf) diff --git a/58od0r.md b/58od0r.md new file mode 100644 index 0000000..00ebbc9 --- /dev/null +++ b/58od0r.md @@ -0,0 +1,73 @@ +--- +id: 58od0r +date: 2026-07-28T17:43:34+0300 +languages: [ru] +aliases: + +reviews: + +tags: +- draft +- knowledge +--- +# Микро-ядро + +Микроядерная архитектура (microkernel) - архитектура ОС, в которой в kernel space оставляют только +минимально необходимый набор механизмов, а большинство системных служб выносят в user space. + +Ядро предоставляет механизмы, а системные серверы реализуют службы. + +Конкретный набор зависит от реализации, но обычно в микроядре находятся: +- планировщик потоков +- управление адресными пространствами и базовыми механизмами памяти +- IPC (Inter-Process Communication) +- обработка аппаратных прерываний +- базовые механизмы синхронизации +- механизмы защиты и управления привилегиями + +А вот такие компоненты, как: +- драйверы +- файловые системы +- сетевые протоколы +- системные серверы +по возможности работают в user space. + +Поскольку компоненты находятся в разных адресных пространствах, они не могут просто обращаться к +общей памяти друг друга. +Поэтому для взаимодействия между приложениями, сервисами и драйверами используется IPC. +Микроядро обеспечивает передачу сообщений между этими компонентами. + +## Преимущества +- Изоляция компонентов + Если драйвер работает в user space и аварийно завершается, то другие системные компоненты могут + продолжать работать. + +- Надёжность + Компоненты имеют минимальные права и не получают полного доступа к системе. + +- Безопасность + Чем меньше кода работает с привилегиями ядра, тем меньше доверенная вычислительная база. + +- Модульность + Системные серверы можно разрабатывать и обновлять независимо от микроядра. + +## Недостатки +- Накладные расходы IPC + Переходы между отдельными процессами и передача сообщений требуют ресурсов. + Это потенциально дороже простого вызова функции внутри монолитного ядра. + +- Сложность взаимодействия + Вместо обычного вызова системной функции может потребоваться создание сообщения серверу, передача + его через IPC, ожидание обработки и отдельное получение ответа. + +- Производительность + Исторически микроядерные системы считались более медленными из-за большого количества IPC и + переключений контекста. Современные микроядра значительно уменьшают эти расходы, поэтому + утверждение «микроядро всегда медленнее» слишком категорично. + +# Up +- [Операционные системы](wvtwaf) +- [Ядро ОС](qg4sae) + +# Related +- [Нано-ядро](dfsxq8) diff --git a/8lkhw5.md b/8lkhw5.md new file mode 100644 index 0000000..975ac2a --- /dev/null +++ b/8lkhw5.md @@ -0,0 +1,52 @@ +--- +id: 8lkhw5 +date: 2026-07-28T17:44:06+0300 +languages: [ru] +aliases: + +reviews: + +tags: +- draft +- knowledge +--- +# Экзо-ядро + +Экзо-ядро - ядро операционной системы, предоставляющее лишь функции для взаимодействия между +процессами и безопасного выделения и освобождения ресурсов. + +Экзо-ядро (Exokernel) - архитектура ОС, в которой ядро стремится быть максимально тонким слоем +защиты и мультиплексирования аппаратных ресурсов, не скрывая их за высокоуровневыми абстракциями. + +Экзо-ядро не столько управляет ресурсами вместо приложения, сколько безопасно предоставляет +приложению прямой и контролируемый доступ к ним. + +Например, вместо управления ресурсами через драйверные серверы, как в микроядре, экзо-ядро позволяет +приложению самостоятельно реализовать драйвер (например, файловую систему) с помощью библиотеки +пользовательского уровня (libOS). + +## Преимещуства +- Высокая производительность + Приложение может оптимизировать использование ресурсов под конкретную задачу. + +- Гибкость + Разным приложениям не обязательно использовать одну и ту же модель файловой системы, памяти или + сети. + +- Минимизация ядра + Экзо-ядро содержит сравнительно мало политики и концентрируется на: + - кто имеет право использовать ресурс + - кому ресурс выделен + - как ресурс разделяется между клиентами + +## Недостатки +- Сложность приложений + Часть функций, которые обычно предоставляет ОС, приходится реализовывать самому или в библиотеке + пользовательского уровня. + +- Сложность разработки + Приложению требуется больше знаний о ресурсах и механизмах системы. + +# Up +- [Операционные системы](wvtwaf) +- [Ядро ОС](qg4sae) diff --git a/bizlko.md b/bizlko.md index 80c4742..5bf2ee7 100644 --- a/bizlko.md +++ b/bizlko.md @@ -60,3 +60,6 @@ $A_1 A_2 + B_1 B_2 = 0$ # Up - [Аналитическая геометрия](6nuvmj) + +# Related +- [Уравнения прямых и плоскостей в пространстве](suelaw) diff --git a/dfsxq8.md b/dfsxq8.md new file mode 100644 index 0000000..80b73ba --- /dev/null +++ b/dfsxq8.md @@ -0,0 +1,36 @@ +--- +id: dfsxq8 +date: 2026-07-28T17:43:48+0300 +languages: [ru] +aliases: + +reviews: + +tags: +- draft +- knowledge +--- +# Нано-ядро + +Нано-ядро (nanokernel) - ещё более минималистичный вариант архитектуры ядра, чем микроядро. Его +задача - предоставить самый базовый слой абстракции над аппаратурой, оставляя практически все +функции ОС за пределами ядра. + +Термин используется не столь строго, как «микроядро», поэтому в разных источниках под ним могут +понимать немного разные архитектуры. + +Главная идея - минимизировать количество кода, работающего с максимальными привилегиями. + +## Преимещства +- Очень маленькая доверенная вычислительная база +- Высокая изоляция + +## Недостатки +- Больше взаимодействий между компонентами - меньшая производительность + +# Up +- [Операционные системы](wvtwaf) +- [Ядро ОС](qg4sae) + +# Related +- [Микро-ядро](58od0r) diff --git a/ku6i9v.md b/ku6i9v.md new file mode 100644 index 0000000..f5c3d10 --- /dev/null +++ b/ku6i9v.md @@ -0,0 +1,29 @@ +--- +id: ku6i9v +date: 2026-07-28T18:43:51+0300 +languages: [ru] +aliases: + +reviews: + +tags: +- draft +- knowledge +--- +# Поток ОС + +Поток (thread) — это минимальная единица выполнения, которой ОС может непосредственно назначить +процессорное время. + +Если процесс можно рассматривать как контейнер ресурсов, то поток — это поток выполнения инструкций +внутри этого контейнера. + +Потоки одного процесса обычно используют общее адресное пространство и ресурсы процесса. + +Основная причина необходимости потоков — параллельное или конкурентное выполнение нескольких частей +одной программы. + +Поскольку потоки имеют общую память, возникает проблема конкурентного доступа. + +# Up +- [Операционные системы](wvtwaf) diff --git a/l5tv9f.md b/l5tv9f.md new file mode 100644 index 0000000..169d7f4 --- /dev/null +++ b/l5tv9f.md @@ -0,0 +1,23 @@ +--- +id: l5tv9f +date: 2026-07-28T17:47:40+0300 +languages: [ru] +aliases: + +reviews: + +tags: +- draft +- knowledge +--- +# Гибридное ядро + +Гибридное ядро (hybrid kernel) - архитектура операционной системы, которая сочетает идеи монолитного +и микроядерного подходов. + +В гибридном ядре часть компонентов формально относится к микроядерной архитектуре, но физически +работает внутри kernel space, чтобы избежать накладных расходов IPC и переключений контекста. + +# Up +- [Операционные системы](wvtwaf) +- [Ядро ОС](qg4sae) diff --git a/lprw2w.md b/lprw2w.md new file mode 100644 index 0000000..6046c33 --- /dev/null +++ b/lprw2w.md @@ -0,0 +1,42 @@ +--- +id: lprw2w +date: 2026-07-28T18:43:41+0300 +languages: [ru] +aliases: + +reviews: + +tags: +- draft +- knowledge +--- +# Контекст процесса ОС + +Контекст процесса — совокупность данных, описывающих текущее состояние процесса, которые ОС должна +сохранить, чтобы позднее возобновить его выполнение с того же места. + +Современная ОС обычно планирует потоки, поэтому точнее говорить о контексте потока. +Поэтому у каждого потока есть собственный CPU-контекст, тогда как адресное пространство и +большинство ресурсов принадлежат процессу и разделяются его потоками. + +Контекст можно разделить на несколько частей. + +## Контекст процессора +Состояние регистров CPU: +- PC (Program Counter) — адрес следующей инструкции +- SP (Stack Pointer) — указатель стека +- регистры общего назначения +- регистр флагов/состояния +- регистры сопроцессора и SIMD/FPU — если они используются + +Чаще всего в ОС это реализовано для каждого потока в составе процессора. + +## Контекст памяти +Описывает адресное пространство процесса: +- таблицы страниц +- информация о виртуальной памяти +- сегменты/области памяти +- права доступа + +# Up +- [Операционные системы](wvtwaf) diff --git a/n4rgy1.md b/n4rgy1.md new file mode 100644 index 0000000..1e28507 --- /dev/null +++ b/n4rgy1.md @@ -0,0 +1,50 @@ +--- +id: n4rgy1 +date: 2026-07-28T17:43:11+0300 +languages: [ru] +aliases: + +reviews: + +tags: +- draft +- knowledge +--- +# Монолитное ядро + +Монолитное ядро (monolithic kernel) - архитектура ОС, в которой основные системные службы работают +внутри единого адресного пространства ядра и имеют привилегированный доступ к аппаратуре. + +То есть планировщик, управление памятью, файловые системы, сетевой стек и драйверы выполняются в +kernel space. + +В монолитной архитектуре компоненты ядра могут непосредственно взаимодействовать друг с другом. + +## Преимущества +- Высокая производительность + Взаимодействие между подсистемами ядра обычно не требует отдельных IPC-сообщений и переходов между + изолированными процессами. + +- Простая коммуникация между компонентами + Компоненты ядра могут непосредственно вызывать функции друг друга и обращаться к общим структурам + данных. + +- Эффективная работа с аппаратурой + Драйверы и другие подсистемы имеют непосредственный доступ к необходимым ресурсам ядра и + аппаратным механизмам. + +## Недостатки +- Низкая изоляция компонентов + Если драйвер содержит серьёзную ошибку и обращается к неправильному адресу памяти, он потенциально + может повредить память всего ядра. + +- Большой размер ядра + В ядре находится много различных подсистем, поэтому его разработка, тестирование и сопровождение + сложнее. + +- Безопасность сложнее обеспечить + Большое количество кода работает с максимальными привилегиями. + +# Up +- [Операционные системы](wvtwaf) +- [Ядро ОС](qg4sae) diff --git a/pul5h6.md b/pul5h6.md new file mode 100644 index 0000000..a0c0771 --- /dev/null +++ b/pul5h6.md @@ -0,0 +1,37 @@ +--- +id: pul5h6 +date: 2026-07-28T18:43:26+0300 +languages: [ru] +aliases: + +reviews: + +tags: +- draft +- knowledge +--- +# Процесс ОС + +Процесс — это экземпляр выполняемой программы вместе с её состоянием и ресурсами, выделенными ОС. + +У процесса обычно есть: +- PID — идентификатор +- PPID — идентификатор родительского процесса +- состояние +- приоритет +- адресное пространство +- открытые файловые дескрипторы +- права доступа +- один или несколько потоков +- информация для планировщика +- ресурсы процесса + +Классическая модель процесса содержит пять состояний: +1. New - новый +2. Ready - готовый для исполнения +3. Running - процесс непосредственно выполняется на CPU +4. Waiting/Blocked - процесс ожидает события, для продолжения работы (I/O, освобождение ресурса) +5. Terminated - выполнение процесса завершено + +# Up +- [Операционные системы](wvtwaf) diff --git a/qg4sae.md b/qg4sae.md new file mode 100644 index 0000000..3378fee --- /dev/null +++ b/qg4sae.md @@ -0,0 +1,42 @@ +--- +id: qg4sae +date: 2026-07-28T18:02:36+0300 +languages: [ru] +aliases: + +reviews: + +tags: +- draft +- knowledge +--- +# Ядро ОС + +Ядро (kernel) - привилегированная часть ОС, управляющая аппаратными ресурсами. + +В ядре обычно находятся: +- планировщик процессов и потоков +- менеджер виртуальной памяти +- подсистема ввода-вывода +- драйверы +- файловые системы +- сетевой стек +- механизмы IPC +- подсистема безопасности + +Типы ядра: +- монолитное ядро +- микро-ядро +- нано-ядро +- экзо-ядро +- гибридное ядро + +# Up +- [Операционные системы](wvtwaf) + +# Down +- [Монолитное ядро](n4rgy1) +- [Микро-ядро](58od0r) +- [Нано-ядро](dfsxq8) +- [Экзо-ядро](8lkhw5) +- [Гибридное ядро](l5tv9f) diff --git a/ttq9ul.md b/ttq9ul.md new file mode 100644 index 0000000..f592386 --- /dev/null +++ b/ttq9ul.md @@ -0,0 +1,28 @@ +--- +id: ttq9ul +date: 2026-07-28T17:19:45+0300 +languages: [ru] +aliases: + +reviews: + +tags: +- draft +- knowledge +--- +# Операционная система + +Операционная система (ОС) - системное программное обеспечение, которое управляет аппаратными +ресурсами компьютера и предоставляет приложениям интерфейс для работы с ними. + +Основные функции ОС: +- управление процессами и потоками +- управление оперативной памятью +- управление файлами и файловыми системами +- управление устройствами ввода-вывода +- обеспечение защиты и разграничения доступа +- предоставление системных вызовов приложениям +- планирование использования ресурсов процессора + +# Up +- [Операционные системы](wvtwaf) diff --git a/v572a0.md b/v572a0.md new file mode 100644 index 0000000..a3eb5fd --- /dev/null +++ b/v572a0.md @@ -0,0 +1,41 @@ +--- +id: v572a0 +date: 2026-07-28T18:44:18+0300 +languages: [ru] +aliases: + +reviews: + +tags: +- draft +- knowledge +--- +# Операции над процессами + +## Одноразовые операции +Выполняются один раз для конкретного процесса. + +### Создание и запуск процесса +При создании процесса ОС: +- создаёт адресное пространство +- устанавливает начальное состояние процесса +- создаёт начальный поток +- выделяет необходимые ресурсы + +### Завершение и удаление процесса +При завершении процесса ОС освобождает: +- память +- открытые файлы +- другие ресурсы +- структуры управления процессом + +## Многоразовые операции +Могут выполняться многократно в течение жизни процесса. + +- приостановка и возобновление +- блокировка и разблокировка +- ожидание дочернего процесса +- переключение контекста + +# Up +- [Операционные системы](wvtwaf) diff --git a/wf8w22.md b/wf8w22.md index 7f35059..c08f286 100644 --- a/wf8w22.md +++ b/wf8w22.md @@ -36,7 +36,7 @@ tags: - Программирование - Базы данных -- Операционные системы +- [Операционные системы](wvtwaf) - Сети и телекоммуникации - Интернет-технологии - Компьютерная графика diff --git a/wvtwaf.md b/wvtwaf.md new file mode 100644 index 0000000..eac9f94 --- /dev/null +++ b/wvtwaf.md @@ -0,0 +1,32 @@ +--- +id: wvtwaf +date: 2026-07-28T17:10:50+0300 +languages: [ru] +aliases: + +reviews: + +tags: +- draft +- directory +--- +# Операционные системы + +# Up +- [Вступительные экзамены в магистратуру](wf8w22) + +# Down +- [Операционная система](ttq9ul) +- [Архитектруные особенности ОС](3zcrkq) + +- [Ядро ОС](qg4sae) + - [Монолитное ядро](n4rgy1) + - [Микро-ядро](58od0r) + - [Нано-ядро](dfsxq8) + - [Экзо-ядро](8lkhw5) + - [Гибридное ядро](l5tv9f) + +- [Процесс ОС](pul5h6) +- [Контекст процесса ОС](lprw2w) +- [Поток ОС](ku6i9v) +- [Операции над процессами](v572a0) -- cgit v1.2.3-70-g09d2