Темы

Операционные системы

Operating Systems · 80 статей

  1. Переключение контекста в вычислительных системах

    Переключение контекста в компьютерах: что это такое и зачем нужно? Объяснение процесса сохранения и восстановления состояния задач для многозадачности.

    #1525 · 8 мин чтения

  2. Прерывания в компьютерных системах

    Прерывания в компьютерах: запрос на приостановку выполнения кода для обработки событий. Аппаратные и программные сигналы, обработчики, многозадачность.

    #3649 · 18 мин чтения

  3. Операционные системы: управление аппаратными ресурсами компьютера

    Операционные системы (ОС): управление аппаратными ресурсами ПК, телефонами и серверами. Windows лидирует (68% рынка в 2023). Обзор и функции ОС.

    #5325 · 32 мин чтения

  4. Процессы-зомби в Unix-подобных системах

    Зомби-процессы в Unix: что это, почему возникают и как избежать утечек ресурсов. Объяснение состояния "terminated" и важности вызова wait().

    #8228 · 5 мин чтения

  5. Процесс в вычислительных системах: исполнение и управление

    Процесс в программировании: что это такое? Изучите понятие процесса как выполняемой программы, потоки, ресурсы ОС и отличие от программы-файла.

    #10638 · 4 мин чтения

  6. Бесконечные циклы в программировании

    Бесконечный цикл в программировании: что это, причины возникновения и последствия. Остановка только внешним вмешательством. Проблема останова.

    #10662 · 5 мин чтения

  7. Понятие параллелизма и потоки выполнения

    Потоки выполнения в программировании: наименьшая независимая последовательность инструкций, управляемая планировщиком ОС. Многопоточность, ресурсы процессов.

    #10669 · 12 мин чтения

  8. Обработка исключений в программировании

    Обработка исключений в программировании: как реагировать на ошибки и особые условия в коде. CPU, OS, языковые исключения – обзор и механизмы.

    #13841 · 2 мин чтения

  9. Пользовательское пространство в компьютерной памяти

    Виртуальная память: разделение на пользовательское и ядро. Защита от ошибок и вредоносного ПО. Области памяти для приложений и ОС. 💻🛡️

    #21252 · 1 мин чтения

  10. Системные вызовы: интерфейс между программой и ядром ОС

    Системные вызовы (syscall) – способ доступа программ к ядру ОС. Обеспечивают интерфейс для работы с оборудованием, процессами и службами ядра.

    #23788 · 8 мин чтения

  11. Повторный вход в функции и подпрограммы

    Повторный вход (reentrancy) в программировании: функция может быть прервана и возобновлена. Безопасность многопоточности, обработка прерываний.

    #48625 · 6 мин чтения

  12. Нагрузка системы в UNIX: анализ и интерпретация показателей.

    Нагрузка системы в UNIX: что это такое? Узнайте, как измеряется вычислительная работа, что такое load average и как интерпретировать его значения для CPU.

    #61715 · 2 мин чтения

  13. Ядро паники в Unix-подобных системах

    Ядро паники (Kernel Panic) в Unix-подобных ОС: причины, диагностика и восстановление после критических ошибок. Информация для системных администраторов и разработчиков.

    #62078 · 3 мин чтения

  14. Фоновые процессы и службы: обзор и управление

    Фоновые процессы: что это такое? Узнайте о задачах, выполняемых в фоновом режиме без участия пользователя – логирование, мониторинг, уведомления в Windows.

    #63472 · 4 мин чтения

  15. Сбой и аварийное завершение программного обеспечения

    Сбой программы: причины и последствия. Что такое краш системы, ошибки памяти, переполнение буфера и как это влияет на работу компьютера и ОС.

    #71846 · 4 мин чтения

  16. Операция Fork в Unix-подобных системах

    Форк в Unix: создание копии процесса. Основной метод создания процессов в Unix-подобных ОС, соответствующий стандартам POSIX и Single UNIX.

    #74956 · 5 мин чтения

  17. Изменение "на лету": принцип работы и применение.

    Изменение "на ходу": что это значит? Узнайте, как меняют настройки во время работы в авто, IT и кулинарии. Переключение режимов, запись дисков и многое другое!

    #83260 · 3 мин чтения

  18. Выполнение компьютерных программ

    Выполнение программ компьютером: процесс интерпретации и выполнения инструкций. Цикл "извлечение-декодирование-выполнение". Batch-режим и интерактивные сессии.

    #94994 · 2 мин чтения

  19. Абстракция аппаратного обеспечения в программном обеспечении

    Абстракция оборудования: программные интерфейсы для доступа к аппаратным ресурсам. Независимость от устройств, высокая производительность, ISA CPU.

    #99394 · 4 мин чтения

  20. Дочерние процессы в вычислительных системах

    Дочерние процессы в программировании: создание процессов родительским процессом, fork/spawn. История и реализация в Unix, Windows и OS/360.

    #99793 · 2 мин чтения

  21. Родительские и дочерние процессы в вычислительных системах.

    Родительский процесс в программировании: создание дочерних процессов через fork. Идентификация процессов по ID в Unix-подобных ОС. Основы многозадачности.

    #99794 · 3 мин чтения

  22. Идентификатор процесса (PID) в операционных системах

    Идентификатор процесса (PID) – уникальный номер, используемый ОС для отслеживания активных процессов. Важен для управления, завершения и мониторинга задач.

    #99798 · 3 мин чтения

  23. Механизм спулинга в компьютерных системах

    Спулинг в компьютерах: эффективный метод многопрограммности для обмена данными с устройствами, особенно медленными (принтеры, считыватели). Оптимизация задач!

    #103763 · 4 мин чтения

  24. Быстрая смена пользователей в многопользовательских операционных системах.

    Многопользовательские ОС: быстрая смена пользователей без выхода из приложений. Linux поддерживает multi-seat через kmscon/systemd, несмотря на ограничения ядра.

    #104341 · 3 мин чтения

  25. Загрузчик в операционных системах

    Загрузчик в ОС: что это такое? Как загружает программы и библиотеки в память для выполнения. Важный этап запуска приложений. Основы работы с загрузчиками.

    #105973 · 6 мин чтения

  26. Команда time в Unix-подобных системах

    Команда `time` в Unix: измеряет время выполнения команд, показывает затраты CPU (пользовательское и системное время). Полезно для оптимизации скриптов.

    #118883 · 1 мин чтения

  27. Справедливое распределение процессорного времени: алгоритм и реализация.

    Справедливое планирование задач в ОС: равное распределение CPU между пользователями/группами, а не процессами. Алгоритм Fair Share, Round Robin.

    #122082 · 2 мин чтения

  28. Файловые дескрипторы в Unix-подобных операционных системах

    Файловые дескрипторы в Unix: уникальные идентификаторы файлов и ресурсов ввода/вывода. POSIX API, стандартные потоки (stdin, stdout, stderr).

    #123347 · 3 мин чтения

  29. Единое системное пространство в кластерных системах

    Кластерная ОС с единым системным образом (SSI): упрощение управления и администрирования распределенных вычислений. Обзор, преимущества и особенности SSI.

    #125612 · 3 мин чтения

  30. Обработчики прерываний в системном программировании

    Обработчики прерываний в системном программировании: что это, как работают, роль в драйверах и переходе между режимами. Асинхронная обработка и приоритеты.

    #128050 · 8 мин чтения

  31. Занятая ожидание в программировании

    Ожидание в цикле (busy waiting) в программировании: что это, почему неэффективно и как избежать. Антипаттерн, тратящий ресурсы процессора.

    #132326 · 1 мин чтения

  32. top: Мониторинг процессов в Unix-подобных системах

    top – утилита для мониторинга системы в Unix/Linux. Отображает процессы, использование CPU и памяти, позволяет сортировать по разным критериям.

    #134051 · 2 мин чтения

  33. Сиротские процессы в Unix-подобных системах

    Сиротский процесс в Unix: что это такое, как работает переусыновление и что происходит, когда родительский процесс завершается. Объяснение и примеры.

    #151111 · 3 мин чтения

  34. Сторожевой таймер: обнаружение и восстановление после сбоев компьютера.

    Сторожевой таймер (WDT) для компьютеров: обнаружение и восстановление после сбоев. Принцип работы, "пинок" таймера, применение в RTOS и микроконтроллерах PIC.

    #152204 · 4 мин чтения

  35. Сигналы в межпроцессном взаимодействии

    Сигналы в межпроцессном взаимодействии: что это, как работают и для чего используются в Unix/POSIX системах. Управление процессами и обработка ошибок.

    #162170 · 5 мин чтения

  36. Команда kill: завершение процессов в операционных системах.

    Команда `kill` в ОС: завершение процессов, отправка сигналов. Узнайте о назначении, PID/PGID и системном вызове kill в Unix и других системах.

    #162427 · 4 мин чтения

  37. Утилита nice в Unix-подобных системах

    nice – утилита Unix/Linux для изменения приоритета процессов. Позволяет влиять на выделяемое CPU время, повышая или понижая приоритет задач.

    #167890 · 1 мин чтения

  38. Код завершения процесса и его родительский процесс

    Код завершения процесса: что это такое? Узнайте, как родительский процесс получает числовой статус завершения дочернего процесса в Unix, Linux и DOS.

    #182886 · 1 мин чтения

  39. Идентификатор группы в Unix-системах (GID)

    GID в Unix/POSIX: числовой идентификатор группы пользователей для управления доступом к файлам и ресурсам. Разберитесь в группах и правах доступа!

    #186742 · 3 мин чтения

  40. Планировщик процессов Linux 2.6: O(1) и его особенности

    O(1) планировщик Linux 2.6: постоянное время планирования процессов, улучшение O(n). История, преимущества и замена на CFS. Ядро Linux, RTOS.

    #188936 · 3 мин чтения

  41. Уровни выполнения в операционных системах

    Уровни запуска (runlevel) в Unix-подобных ОС: режимы работы системы после загрузки. 7 уровней (0-6) определяют состояние машины. Инициализация System V.

    #189777 · 3 мин чтения

  42. Немаскируемые прерывания: особенности и применение.

    Немаскируемое прерывание (NMI) в компьютерах: аппаратный сигнал критических ошибок, не блокируемый стандартными методами. Приоритет, SPARC, время отклика.

    #198760 · 4 мин чтения

  43. BIOS: Функции, режимы работы и взаимодействие с оборудованием.

    BIOS: вызовы, прерывания и режимы работы на IBM PC. Устаревшие DOS-программы и загрузчики используют BIOS. Современные ОС – реже, в основном при загрузке.

    #199905 · 14 мин чтения

  44. QIO: Очередной ввод-вывод в операционных системах DEC

    QIO: что это такое? Объяснение технологии асинхронного ввода/вывода, разработанной DEC. QIO с ожиданием и без – ключевые особенности и принципы работы.

    #204253 · 2 мин чтения

  45. MERT: Операционная система реального времени с поддержкой Unix

    MERT: Операционная система реального времени, сочетающая Unix и возможности для критически важных вычислений. Модульное ядро, IPC, файловая система для баз данных.

    #210038 · 2 мин чтения

  46. Сигнал SIGHUP в Unix: История и современное использование

    SIGHUP: сигнал в POSIX системах при закрытии терминала. История возникновения связана с отключением последовательной линии RS-232. Подробности здесь!

    #219645 · 3 мин чтения

  47. Процесс Init в Unix-системах

    Init в Unix: первый процесс, запускаемый при загрузке ОС. Daemon, предок всех процессов, PID 1. Важен для стабильной работы системы.

    #227911 · 4 мин чтения

  48. Задача в вычислительной технике

    Задача в программировании: единица выполнения или работы. Различия между задачами, процессами, потоками и запросами. Оптимизация производительности.

    #238697 · 2 мин чтения

  49. Режим безопасной загрузки операционных систем: диагностика и применение

    Безопасный режим: диагностика и исправление ошибок ОС Windows, macOS, Android, Linux. Загрузка с минимальным набором драйверов для решения проблем.

    #257669 · 4 мин чтения

  50. Асинхронный ввод/вывод: принципы и реализация

    Асинхронный ввод/вывод (I/O) в компьютерных науках: ускорение обработки данных за счет продолжения работы до завершения операций I/O. Оптимизация производительности.

    #260698 · 13 мин чтения

  51. Функция sigaction в POSIX: надежная обработка сигналов.

    Системный вызов sigaction в POSIX: обработка сигналов ОС в Unix-подобных системах. Настройка поведения программы при получении сигналов через указатель функции.

    #266738 · 1 мин чтения

  52. Singularity: Экспериментальная операционная система от Microsoft Research

    Singularity: экспериментальная ОС от Microsoft Research на C#, Spec# и C++. Высокая надежность, безопасность через типизацию, управляемый код.

    #276145 · 2 мин чтения

  53. Механизм управления службами в Solaris (SMF)

    SMF в Solaris и illumos: управление сервисами, зависимости и замена init.d. Обеспечивает надёжный запуск и остановку служб в ОС.

    #281383 · 3 мин чтения

  54. inetd: суперсервер и диспетчер служб Unix

    inetd: демон суперсервера Unix для предоставления интернет-сервисов. Запускает процессы для обработки запросов клиентов, поддерживая echo и другие службы.

    #287341 · 2 мин чтения

  55. Sleep mode

    #288404 · 5 мин чтения

  56. Interrupt storm

    #297736 · 4 мин чтения

  57. Планировщики заданий: управление фоновым выполнением программ

    Планировщик задач: ПО для автоматизации и управления фоновым выполнением заданий в сети компьютеров. Batch-обработка, DRMS, WLA – ключевые функции.

    #303391 · 2 мин чтения

  58. Очереди процессов и планирование задач ЦП

    Очереди процессов: что это такое? Узнайте о планировании задач в ОС, распределении ресурсов и повышении производительности системы. FIFO принцип работы.

    #306388 · 4 мин чтения

  59. Anacron: Планировщик заданий для не постоянно работающих систем.

    Anacron: планировщик задач для Linux/Unix, запускающий команды периодически, даже если система не работает постоянно. Альтернатива cron, зависимость cronie.

    #307723 · 2 мин чтения

  60. Аппаратные прерывания: Сигналы и обработка в процессоре

    Прерывания (IRQ) в компьютере: аппаратный сигнал для приостановки программы и обработки ввода. Ключи, мышь, сеть – всё через IRQ0-IRQ15.

    #318692 · 4 мин чтения

  61. Протопотоки: Лёгковесные сопрограммы для ограниченных систем.

    Протопотоки: легковесные, безстековые потоки для конкурентного программирования. Кооперативная многозадачность, Duff's device, минимальное потребление памяти.

    #343052 · 2 мин чтения

  62. Системный вызов ioctl для работы с устройствами

    ioctl: системный вызов для специфичных операций ввода/вывода устройств. Управление устройствами, доступ к ядру, разработка драйверов. Подробности здесь!

    #348651 · 8 мин чтения

  63. Легковесные процессы в операционных системах: реализация многозадачности.

    Легковесные процессы (LWP) в Erlang: эффективный многозадачный режим в ОС. Оптимизация ресурсов, разделяемая память и преимущества производительности.

    #350605 · 2 мин чтения

  64. Алгоритм планирования «Оставшееся минимальное время»

    Алгоритм SRTF: планирование процессов по кратчайшему оставшемуся времени. Прерывистый метод, оптимизирующий скорость выполнения и снижающий нагрузку на систему.

    #357657 · 1 мин чтения

  65. Межпроцессорные прерывания (IPI)

    Прерывания между процессорами (IPI): что это такое, для чего нужны и как работают. Управление кэшем, остановка системы, уведомления о задачах. SEO-оптимизация.

    #374587 · 1 мин чтения

  66. Режим системного управления процессоров x86 (SMM)

    Системный режим управления (SMM) процессоров x86: приостановка ОС и запуск ПО из прошивки с повышенными привилегиями. Intel 386SL, AMD Am386.

    #379859 · 3 мин чтения

  67. Профилировщики системы: от перфокарт до современных инструментов

    Программа-профайлер системы: подробная информация об оборудовании и ПО компьютера. Мониторинг CPU, GPU, USB и других устройств в реальном времени.

    #381704 · 1 мин чтения

  68. Принцип Lusering счётчика команд (PCLSRing) в ITS: обеспечение возобновляемости системных вызовов.

    PCLSRing в ITS: принцип согласованности доступа процессов. Обеспечивает возобновление системных вызовов после прерываний, сохраняя контекст и обновляя аргументы.

    #384539 · 3 мин чтения

  69. Уровни приоритета прерываний: принципы и применение.

    Уровень приоритета прерываний (IPL) в системах: назначение, реализация (аппаратно/программно), влияние на производительность и задержки.

    #385281 · 3 мин чтения

  70. Анонимные каналы: механизмы межпроцессного взаимодействия

    Анонимные каналы (pipes) в Linux/Unix: однонаправленная связь между процессами. Реализация в ОС, создание pipelines, двунаправленная связь – два канала.

    #388221 · 2 мин чтения

  71. Сообщения ядра: утилита dmesg и анализ системных логов

    dmesg: утилита UNIX для просмотра буфера сообщений ядра. Отображает сообщения драйверов и информацию о загрузке системы. Полезно для диагностики!

    #403515 · 2 мин чтения

  72. Режимы работы центрального процессора

    Режимы работы CPU: уровни привилегий, защита системы от программ. Как ОС и приложения работают в разных режимах для безопасности и стабильности.

    #417957 · 2 мин чтения

  73. Состояния процессов в многозадачной системе

    Состояния процессов в компьютерных системах: обзор типичных состояний, не всегда распознаваемых ядром ОС. Важно для понимания работы процессов и памяти.

    #439946 · 3 мин чтения

  74. Опрос устройств: принципы и методы

    Опрос устройств в программировании: что это такое, как работает и где применяется. Синхронная проверка статуса оборудования, polled I/O, watchdog timer.

    #447256 · 4 мин чтения

  75. Резидентный монитор: предшественник современных операционных систем.

    Резидентный монитор: системное ПО 1950-70х, предшественник ОС. Загрузка программ, управление памятью и ввод/вывод. Основа встраиваемых систем.

    #448273 · 3 мин чтения

  76. Замена исполняемого файла в процессе (Exec)

    Выполнение файлов в ОС: функция exec заменяет текущий процесс новым, не создавая новый PID. Важно в Unix-системах, доступно в разных языках программирования.

    #453432 · 3 мин чтения

  77. Job control (Unix)

    #482877 · 6 мин чтения

  78. Transitive dependency

    #488469 · 1 мин чтения

  79. Chain loading

    #493144 · 2 мин чтения

  80. Cooperative multitasking

    #499654 · 1 мин чтения