diff options
| author | 2026-07-28 21:30:06 +0300 | |
|---|---|---|
| committer | 2026-07-28 21:30:06 +0300 | |
| commit | c59a354218fe3c449a4aef3121139faff592cadc (patch) | |
| tree | 27edc91a86726f30d3c895e482015cf835f1aed4 | |
| parent | snapshot: 2026-07-26 (diff) | |
| download | zk-master.tar.gz zk-master.tar.bz2 zk-master.tar.lz zk-master.tar.xz zk-master.tar.zst zk-master.zip | |
| -rw-r--r-- | 3zcrkq.md | 79 | ||||
| -rw-r--r-- | 58od0r.md | 73 | ||||
| -rw-r--r-- | 8lkhw5.md | 52 | ||||
| -rw-r--r-- | bizlko.md | 3 | ||||
| -rw-r--r-- | dfsxq8.md | 36 | ||||
| -rw-r--r-- | ku6i9v.md | 29 | ||||
| -rw-r--r-- | l5tv9f.md | 23 | ||||
| -rw-r--r-- | lprw2w.md | 42 | ||||
| -rw-r--r-- | n4rgy1.md | 50 | ||||
| -rw-r--r-- | pul5h6.md | 37 | ||||
| -rw-r--r-- | qg4sae.md | 42 | ||||
| -rw-r--r-- | ttq9ul.md | 28 | ||||
| -rw-r--r-- | v572a0.md | 41 | ||||
| -rw-r--r-- | wf8w22.md | 2 | ||||
| -rw-r--r-- | wvtwaf.md | 32 |
15 files changed, 568 insertions, 1 deletions
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) @@ -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) @@ -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) |
