Visopsys: OS maintained by a single developer since 1997 🔥 Горячее
Visopsys - это альтернативная операционная система для PC-совместимых компьютеров, разрабатываемая с 1997 года. Система отличается небольшим размером, высокой производительностью и открытым исходным кодом. Она оснащена простым, но функциональным графическим интерфейсом, поддерживает многозадачность с вытеснением и виртуальную память. Хотя Visopsys стремится к совместимости, она не является клоном ни одной другой ОС. Пользователи могут протестировать систему с загрузочного USB-накопителя, CD/DVD или дискеты.
Система работает в 100% защищенном режиме и предлагает полный набор современных функций. Последняя версия 0.92 была выпущена в сентябре 2023 года. Visopsys позиционируется как быстрая и легкая альтернатива для пользователей, интересующихся альтернативными операционными системами или желающих изучить основы ОС изнутри.
Комментарии (122)
- Visopsys — одна из немногих «одиночных» ОС, существующих с 1997 года и до сих пор получающих обновления.
- Проект ведётся одним человеком, что делает его уникальным, но также ограничивает его развитие.
- Система предназначена для образовательных целей и энтузиастов, а не для повседневного использования.
- Несмотря на это, она может быть полезна для базовых задач на старом оборудовании.
- Проект продолжает существовать благодаря энтузиазму автора и сообщества.
Show HN: MyraOS – My 32-bit operating system in C and ASM (Hack Club project)
Проект MyraOS представляет собой операционную систему Unix-подобного типа для архитектуры x86, созданную с нуля без использования стороннего кода. Автор проекта Dvir Biton разработал ядро системы, файловую систему, драйверы и пользовательские утилиты самостоятельно, что делает его впечатляющим достижением в области разработки ОС.
Система поддерживает базовые функции Unix, включая многозадачность, управление памятью и взаимодействие с пользователем через командную строку. Проект открыт на GitHub и может быть использован для образовательных целей или как основа для дальнейших разработок. Код написан на ассемблере и C, что обеспечивает эффективную работу на аппаратном уровне.
Комментарии (47)
- Проект получил много похвал за качество кода и полезность, но также вызвал критику за использование устаревших ресурсов и отсутствие современных инструментов.
- Участники обсуждали, что в 2025 году нужно обновить учебные материалы для новичков в разработке ОС, чтобы они не ориентировались на 32-битный x86 и устаревшие устройства.
- Предложения включали: предоставление ISO-образов для тестирования, создание обучающего видео, и сотрудничество с такими проектами как copy.sh.
- Также обсуждались проблемы, такие как управление памятью и отладка, и как они масштабируются в контексте разработки ОС.
- В конце обсуждение сошлось на то, что проект является вдохновляющим примером, но может быть улучшен с использованием современных практик и инструментов.
A brief history of threads and threading
Первые Mac 1984 года с одноядерным процессором Motorola 68000 выполняли только одно приложение за раз. Переломным моментом стал Switcher (1985), позволявший переключаться между программами, но не запускать их одновременно. В 1987 году MultiFinder представил кооперативную многозадачность, где приложения добровольно уступали процессорное время — однако плохо написанный код мог заблокировать систему.
С появлением A/UX (1988) и Multiprocessing Services (1996) macOS перешла к вытесняющей многозадачности, где планировщик ОС сам распределяет ресурсы. К 2000 году Power Mac G4 с двумя процессорами и Mac OS X принесли поддержку потоков (threads) — легковесных задач в рамках процесса. Сегодня приложение (process) имеет главный поток и может создавать дополнительные, разделяя память, но с отдельными стеками. Это позволяет эффективно использовать многоядерные процессоры современным Mac.
Комментарии (20)
- Участники отмечают неточности в статье о первых многопроцессорных Mac и истории потоков.
- Обсуждается, что для изучения истории потоков более релевантны ОС, отличные от Apple, например, NT, VMS или Solaris.
- Упоминаются ранние реализации потоков (нитей) в таких системах, как UNIVAC EXEC 8 (1966 г.) и библиотека «зеленых потоков» из Apache.
- Подчеркивается, что концепция потоков (threading) не обязательно связана с симметричной многопроцессорностью (SMP).
- Отмечается, что заголовок статьи может вводить в заблуждение, вызвав ожидания обсуждения другой темы.
Inside OS/2 (1987)
OS/2: ядро и сервисы
OS/2 — многозадачная ОС для 286/386, API-ориентированная, расширяемая. Архитектура: ядро, Windows Presentation Manager, LAN Manager. Достаточно ядра для многозадачности; WPM и LAN не обязательны.
SDK
Поставляется с оптимизирующим С-компилятором, макро-ассемблером, линковщиком, отладчиком CodeView, редактором. Документация по вызовам и драйверам.
Планировщик
Превентивный, вытесняющий: по таймеру ядро перехватывает CPU и переключает задачи. Приоритеты + кванты времени; при переключении сохраняются регистры и режимы.
Динамические библиотеки
API реализован в DLL; адреса 32-битные, параметры через стек. Экономия диска и RAM: код загружается и разделяется между процессами. Ошибки в DLL исправляются без пересборки приложений. Повторный запуск той же программы переиспользует код, выделяя только данные/стек/кучу.
Режимы процессора
- Protected: многозадачность, изоляция процессов.
- Real: совместимость с MS-DOS, прямой доступ ко всей памяти.
Комментарии (48)
- OS/2 2.1 умело загружаться и многозадачно работать даже с одной 1,44 МБ дискеты без GUI, чем восхищались участники.
- Обсуждали преимущества вытесняющей многозадачности OS/2 над кооперативной Windows 3.x и особенности Pascal-calling convention, экономившей 3 байта и такты на вызов.
- Вспомнили, что ранний OS/2 создавался совместно IBM и Microsoft, но к 1990 г. Microsoft переключилась на Windows NT, а IBM осталась с OS/2.
- Отметили долгие годы работы OS/2 в терминалах MetroCard нью-йоркского метро и вспомнили SOM как более продвинутую альтернативу COM.