Привет, Хабр! После написания двух статей про недостатки Windows и непонимание развития системы, я решил устроить бунт на своем компьютере, пересев на Линукс. Не то, чтобы я прям планировал всерьёз менять операционную систему, но чётко осознавал, что мои «знания» о линуксе сильно устарели, так как помимо хостинга и деплоя, я им пользовался дома очень давно, практически 15 лет назад. Тогда было много проблем со стабильностью как различных приложений, так и графический окружений в частности. Ну и как-то не очень объективно сравнивать современные версии от майкрософт со своими старыми воспоминаниями о линуксе, ведь прогресс не стоит на месте, дистрибутивы развиваются, а интерфейс приложений становится все более дружелюбным и приятным для использования. Так ведь?
Операционные системы
Без них как-то неудобно, ощущения не те
Новости
Xv6: учебная Unix-подобная ОС. Глава 6. Блокировки
Ядро ОС выполняет программы параллельно и переключает потоки по таймеру. Каждый процессор выполняет поток независимо от других. Процессоры используют оперативную память совместно, поэтому важно защитить структуры данных от одновременного доступа. Потоки испортят данные, если процессор переключится на другой поток, когда первый поток еще не завершил запись.
Потоки конкурируют за доступ к структуре данных. Ядро кишит структурами, которые потоки используют совместно. Блокировки защищают данные при конкурентном доступе.
Глава расскажет, зачем нужны блокировки, как xv6 реализует и использует блокировки.
Генерация beacon’ов под Linux для Cobalt Strike
CrossC2 - фреймворк, включающий в себя генератор beacon’ов для различных систем (Linux, MacOS и т.п.), а также набор скриптов для Cobalt Strike. В этой статье мы рассмотрим данное решение.
Wubuntu: Linux с интерфейсом Windows 11 и возможностью запускать «виндовый» софт. А ещё и Windows 95
Дистрибутивов Linux достаточно много — на любой запрос, вероятно, можно найти подходящий вариант. Не так давно появился ещё один дистрибутив, который внешне является почти полной копией Windows 11. Также он способен запускать Windows-программы и работает на относительно старых компьютерах и ноутбуках. Называется он Wubuntu, и подробности о нём — под катом.
Истории
Xv6: учебная Unix-подобная ОС. Глава 5. Прерывания и драйверы устройств
Драйвер управляет устройством - настраивает, отправляет команды, обрабатывает прерывания и общается с процессами, которые ожидают завершения ввода-вывода. Код драйвера зависит от конкретного устройства, поэтому изучайте документацию на устройство, чтобы понять код драйвера.
Устройство прерывает процессор, когда требует внимания. Обработчик прерывания опознает устройство и вызовет процедуру драйвера. В xv6 это делает процедура devintr
.
Файл kernel/console.c
содержит код драйвера терминала. Драйвер обрабатывает символы из последовательного порта UART на RISC-V, которые человек вводит на клавиатуре.
QEMU эмулирует микросхему 16550 UART и подключает клавиатуру и экран к UART. На реальном компьютере 16550
управляет портом RS232
, который работает с терминалом или другим компьютером.
Драйвер накапливает символы в кольцевом буфере cons.buf
. Индекс cons.r
указывает на первый символ, который прочтет функция consoleread
. Буфер хранит строки символов, а индекс cons.w
указывает на начало последней строки, которую еще вводит человек. Индекс cons.e
указывает позицию курсора в последней строке для ввода следующего символа.
ChromeOS Flex vs Windows 11 для старых ПК и ноутбуков: альтернатива от Google
Корпорация Google пока что не достигла особого успеха в продвижении своей операционной системы ChromeOS Flex. Но, возможно, в скором времени ситуация изменится — дело в том, что именно эту ОС предлагается использовать в качестве альтернативы Windows 11. Правда, на морально устаревших ПК, которые просто не потянут операционную систему от Microsoft. Подробности — под катом.
1989: Марс атакует или символы-фантомы оранжевой плазмы лэптопа Toshiba T3100E
Здравствуйте, уважаемые ценители старого компьютерного железа!
Бывает такое, что попадаются экземпляры ретро-техники, мимо которых нельзя равнодушно пройти мимо. На мой взгляд, описываемый далее лэптоп Toshiba T3100e относится к данной категории.
Первое, что бросается в глаза — это дисплей с его морковно-апельсиновым свечением и технологией GAS-Plasma. Он привлекает и притягивает взор. Его я и вынес на заставку для красоты. В статье узнаем принцип работы газо-плазменного дисплея и заодно измерим температуру его поверхности, глянув на экран в тепловизор.
Из аппаратных «вкусностей», описываемый лэптоп оснащен внешней полноценной 8-ми битной ISA — шиной, которую я использовал, загрузившись с ее помощью и проприетарным слотом для подключения модема.
Ради эксперимента были загружены следующие операционные системы: MS-DOS, оболочка Windows 3.0 и крошечный Linux ELKS v0.7.0, а также MS-DOS игры.
Под катом ряд фотографий, отражающих процедуру профилактики, видеоработы, «видеовзгляд» через тепловизор. Фото кликабельны.
Надеюсь, будет интересно!
Спасти Linux
Некоторое время назад я написал статью, в которой критически высказался о Linux-разработчиках, не желающих поддерживать дистрибутив, если он предназначен для работы на компьютерах, которым более 15 лет. За это я получил немало критики от читателей с Hacker News. Кто-то указывал, что я не понимаю, насколько же это сложно – создать и поддерживать дистрибутив Linux. Были и такие, кто советовали мне просто накатить на старый компьютер старую версию Windows. Я же начал пользоваться Linux в первую очередь для избегания Windows, так как считал её монструозным порождением Билла Гейтса. Фактически, разработчики операционной системы, ранее обещавшие освободить меня от Windows, теперь склоняют меня вернуться к Windows, как только мой компьютер настолько состарится, что им станет неудобно его поддерживать. Ответы, которые я получаю от Linux-разработчиков, явно свидетельствуют, что Linux больше не является операционной системы для технарей-компьютерщиков, желающих сохранить на ходу свои любимые винтажные машины. Напротив, Linux превратился в операционную систему, которую разработчик рассматривает как средство для прокачки карьеры. Те, кому интересно подробнее разобраться в нарастающей дисфункциональности Linux и узнать, почему сложилась такая ситуация, могут посмотреть это видео на YouTube.
Xv6: учебная Unix-подобная ОС. Глава 4. Прерывания и системные вызовы
Глава расскажет, как xv6 обрабатывает прерывания на RISC-V и о хитростях виртуальной памяти: как использовать ошибки доступа к страницам, чтобы оптимизировать работу ОС.
Глава расскажет о копировании страниц при записи, ленивой выдаче страниц, выдаче страниц по необходимости и сбросе страниц на диск.
Компьютер для первоклассника
Отправить ребёнка в 1-й класс — удовольствие само по себе недешёвое даже без всяких компьютеров. Но внезапно выясняется, что есть портал «Учи.ру», который активно продвигает сама школа. Это не строго обязательно, но когда всех детей награждают за какие-то достижения на этой платформе, а твоего нет, то поневоле задумаешься. И начнёшь искать максимально антикризисное решение. Благо, что вариантов много.
Почему вам не нужна Kali Linux
Многие хотят поработать с Kali linux. По-прежнему в интернете множество запросов посвящено ей . Она всегда на слуху, когда говорят о взломах и хакерах, а также о совершенных мастерах IT( тех самых, что и микропроцессор запрогают и сеть настроят, и чайник со стиралкой отремонтируют).
Но, насколько оправдано восхищение ей? Так ли она безупречна и необходима? Нужна ли она конкретно вам? В этих вопросах мы и попробуем разобраться.
Мониторим работу Windows с помощью Powershell
Для эффективной работы любой операционной системы необходимо вести мониторинг ее состояния, для того, чтобы своевременно выявлять проблемы и узкие места в производительности. Еще лучше лучше, когда такой мониторинг ведется в автоматическом режиме, с помощью скриптов.
В операционных системах семейства Windows для автоматизации выполнения задач мониторинга лучше всего использовать Powershell. И далее в этой статье мы рассмотрим несколько полезных скриптов, которые могут упростить мониторинг состояния различных компонентов ОС.
Начнем с мониторинга состояния сетевых портов и взаимодействующих с ними процессов.
Check Point Quantum R81.20 (Titan) Release. Возможности и изменения Gaia OS
В ноябре 2022 года компания Check Point представила релиз новой версии операционной системы Gaia OS, которая получила название R81.20 Titan.
Помимо всех функций и исправлений предыдущих версий, операционная система обзавелась новыми возможностями, которые сочетают в себе использование технологии Deep Learning и Cloud Computing. Также в ОС повысили общую производительность для шлюзов Quantum Security.
В этой статье мы рассмотрим основные, наиболее интересные возможности и изменения Gaia OS.
Ближайшие события
Не пора ли валить с gnu libc на что‑то другое?
Пользуюсь открытым ПО значительное время. Сижу на Линуксе.
Но в последнее время настолько часто сталкиваюсь с различными багами, что думается иногда, а как оно вообще в принципе работает?
Последний эпизод коснулся совсем уж системного кода - стандартной библиотеки libc от GNU. Системнее может быть только ядро.
История такая. Собрал Хромиум (не быстро). Когда наконец сборка завершилась с попутным решением проблем, думал: ну вот наконец щас запущу, посмотрю как работают интересующие меня вещи. И тут произошёл облом. Хром падал почти в самом начале запуска с ошибкой доступа к памяти. Довольно быстро удалось выяснить, что падение происходит из-за ошибки обращения по нулевому указателю. И происходит оно в динамическом загрузчике, то бишь в libdl, при загрузке библиотеки через dlopen. libdl.so является одной из компонент пакета стандартной библиотеки и понятно, самой системной библиотекой в ОС. Подробности всей ситуации я описал в вопросе на stackoverflow.
Вкратце: при загрузке библиотеки libXcursor.so подтягиваются непонятно откуда взявшиеся зависимости, не имеющие никакого отношения к упомянутой библиотеке. И зависимости эти не инициализированы корректно. Откуда и происходит обращение по нулевому указателю. Впоследствии выяснилось, что проблема начинается с несовпадающих версий библиотек libQt5Core, в результате чего libdl делает полный отбой с попыткой отката всех изменений.
Но, видимо, этот откат реализован из рук вон плохо, поскольку после него начинают происходить весьма странные вещи. И загрузка неинициализированной зависимости с нулевыми указателями лишь одна из них. Я ещё сделал пробник в виде простого приложения, которое пытается воспроизвести ситуацию. И в этом пробнике также происходил сбой, но уже при инициализации (вызов init или конструктор в их терминологии) либы libpthread.so (тоже очень системная) - потерян адрес глобального на процесс хранилища либ.
Новая архитектура в интерпретации древних
Здравствуйте. В прошлой тематической (не касающейся биографических отступлений) публикации может я ничего особо интересного и не написал, впрочем - возможно я вообще ничего интересного не пишу, но у меня свой путь и прошу меня за это не судить - каждый имеет право выбора. Можно было-бы написать много чего интересного, но всё-же предпочитаю серии одной темы, от одного аккаунта, пока нет на портале функции нескольких галерей одного автора.
Не рассчитываю собрать много плюсов, рассчитываю собрать вычислительную машину своей архитектуры, с своей ОС и процессорами собственной архитектуры. Многие наверное задались-бы вопросом - в чём логика, когда IT отрасль так развита. Давайте посмотрим кому она развита..., хотя нет, скажу только что решил что будет так тогда, когда в общем-то думал как конвейеры своего GPU пристраивать к вычислительной машине, и хотел назвать конвейеры эти - препроцессорами. Проверил термин и обнаружил, что термин пропроцессор занят под название программы. Подумал - ну хорошо, раз одни уже называют чёрное белым, то самое время создавать другое пространство, где такой необходимости попробовать избежать и создать что-то такое, где граблей валяться под ногами будет поменьше.
Xv6: учебная Unix-подобная ОС. Глава 3. Таблицы страниц
ОС управляет виртуальной памятью с помощью таблиц страниц. Виртуальная память процесса - адресное пространство, защищенное от других процессов. ОС делит память на страницы одинакового размера и отображает страницы виртуальной памяти на страницы физической памяти. Так ОС предоставит процессу непрерывное адресное пространство, даже если страницы физической памяти расположены в другом порядке. Таблица страниц хранит для виртуальной страницы номер соответствующей физической страницы. Каждый процесс владеет личной таблицей страниц.
Глава рассказывает, как xv6 работает с виртуальной памятью и об устройстве виртуальной памяти RISC-V.
ChromeOS: почему я отказал своей мечте
Листая ленту Ютуба я наткнулся на видео, которое рассказывало про ChromeOS, систему-браузер для слабых ноутбуков. И тогда я загорелся идеей купить себе такое устройство. Меня привлекала идея полной синхронизации и бесшовности, как у Apple, но в рамках моей любимой системы.
Astra Linux Embedded – мифы о продукте и вопросы о тонкостях его лицензирования
Больше года прошло с момента старта операционной системы для устройств фиксированного функционала Astra Linux Embedded (подробнее про этот продукт мы писали ранее), и за это время родилось изрядное количество "мифов" вокруг этого варианта лицензирования. В живом общении и в комментариях к постам и роликам нам задавали множество вопросов о продукте, и мы решили собрать самые популярные, дать ответы на них, а также развеять распространенные заблуждения.
Ведь "мифы" – это прекрасно, но мы предпочитаем им факты.
Готовы услышать правду? Сейчас мы ее вам откроем!
Xv6: учебная Unix-подобная ОС. Инструменты для сборки и запуска xv6 под QEMU
Эта инструкция - приложение к книге об учебной ОС xv6.
Xv6 работает на RISC-V. Для сборки кода xv6 и запуска под QEMU понадобятся RISC-V версии инструментов: QEMU 5.1+, GDB 8.3+, GCC, и Binutils.
Xv6: учебная Unix-подобная ОС. Глава 2. Устройство операционной системы
Операционная система выполняет несколько процессов одновременно. ОС распределяет время работы с ресурсами компьютера между процессами. ОС даст каждому процессу шанс на выполнение, даже если число процессов больше числа процессоров.
ОС изолирует процессы друг от друга так, что ошибка в одном процессе не нарушит работу других.
ОС позволяет процессам взаимодействовать - обмениваться данными и работать совместно.
Глава 2 рассказывает, как xv6 выполняет эти требования, о процессах xv6 и как xv6 запускает первый процесс.
Вклад авторов
-
Vasjen 198.0 -
DrArgentum 194.0 -
imbasoft 179.0 -
milabs 127.0 -
Seleditor 121.0 -
divolko3 111.0 -
petr97 110.0 -
MountainGoat 98.0 -
SergeyNovak 74.0 -
SkywardFire 65.0